max_siteID = intersections.siteid.max() progress_bar = tqdm(range(max_siteID)) progress_bar.set_description("splitting sites on mgras") for i in progress_bar: sites.append(find_sites(intersections, i + 1)) # we now have sites as a list of dataframes. # for each frame # if there are no entries, skip # if there is one, put all development on the mgra # if there are multiple determine split. progress_bar = tqdm(sites) progress_bar.set_description('allocating development for each site') for frame in progress_bar: if len(frame) == 0: pass elif len(frame) == 1: add_to_mgra(mgras, frame) else: distribute_units(mgras, frame) save_to_file(mgras, output_dir, 'scheduled_development_added.csv') return if __name__ == "__main__": if parameters is not None: use_database = parameters['use_database'] run(open_mgra_io_file(from_database=use_database), open_sites_file(from_database=use_database))
# os.path.join(output_dir,"..","scheduled_development_"+str(forecast_year)+".csv"),) # finish meeting demand as needed print('developing to meet remaining demand:') mgra_dataframe = develop(mgra_dataframe) if mgra_dataframe is None: print('program terminated early') return # save output file save_to_file(mgra_dataframe, output_dir, 'forecasted_year_{}.csv'.format(forecast_year)) # create aa export if crosswalk is available print('updating AA floorspace file ...') update_floorspace(mgra_dataframe, forecast_year) return if __name__ == "__main__": import sys sys.tracebacklimit = 0 sys.excepthook = exception_handler if parameters is not None: # load dataframe(s) use_database = parameters['use_database'] mgra_dataframe = open_mgra_io_file( from_database=use_database, filename=parameters['input_filename']) planned_sites = open_sites_file(from_database=True) # start simulation run(mgra_dataframe, planned_sites)
from modeling.develop import develop from utils.interface import save_to_file, open_mgra_io_file from utils.parameter_access import parameters def run(mgra_dataframe): output_dir = parameters['output_directory'] simulation_begin = parameters['simulation_begin'] forecast_year = simulation_begin + 1 print('simulating year {}'.format(forecast_year)) # develop enough land to meet demand for this year. mgra_dataframe = develop(mgra_dataframe) if mgra_dataframe is None: print('program terminated early') return # save output file save_to_file(mgra_dataframe, output_dir, 'forecasted_year_{}.csv'.format(forecast_year)) return if __name__ == "__main__": if parameters is not None: run(open_mgra_io_file(from_database=parameters['use_database']))
# add scheduled development if available if planned_sites is not None: print('adding scheduled development:') add_scheduled_development(mgra_dataframe, planned_sites, year=simulation_begin) # finish meeting demand as needed print('developing to meet remaining demand:') mgra_dataframe = develop(mgra_dataframe) if mgra_dataframe is None: print('program terminated early') return # save output file save_to_file(mgra_dataframe, output_dir, 'forecasted_year_{}.csv'.format(forecast_year)) # create aa export if crosswalk is available print('creating AA commodity export file ...') export_luz_data(mgra_dataframe) return if __name__ == "__main__": if parameters is not None: use_database = parameters['use_database'] # load dataframe(s) mgra_dataframe = open_mgra_io_file(from_database=use_database) planned_sites = open_sites_file(from_database=use_database) # start simulation run(mgra_dataframe, planned_sites)