From 78e3c0e8d2d238168f6979f2487f998bbaaadd88 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 10:09:37 -0400 Subject: [PATCH 01/33] Remove instances of GSw_RegionResolution and agglevel variables --- hourlize/qaqc/summarize_supply_curves.py | 4 +- hourlize/reeds_to_rev.py | 23 +- inputs/userinput/futurefiles.csv | 4 - postprocessing/input_plots.py | 4 +- postprocessing/plots/level_map.csv | 2 +- postprocessing/reValue/reValue.py | 28 +- postprocessing/tableau/tableau_viz_suite.py | 18 +- reeds/input_processing/copy_files.py | 489 +++++------------- reeds/input_processing/hourly_repperiods.py | 16 +- reeds/input_processing/mcs_sampler.py | 69 +-- reeds/input_processing/outage_rates.py | 7 +- reeds/input_processing/recf.py | 19 +- reeds/input_processing/transmission.py | 4 +- reeds/input_processing/writecapdat.py | 73 +-- reeds/input_processing/writesupplycurves.py | 52 +- reeds/inputs.py | 12 - reeds/io.py | 62 ++- reeds/reedsplots.py | 21 +- reeds/resource_adequacy/prep_data.py | 5 +- .../src/utils/reeds_data_parsing.jl | 2 +- reeds/results.py | 31 +- reeds/spatial.py | 124 +---- runreeds.py | 29 +- 23 files changed, 288 insertions(+), 810 deletions(-) diff --git a/hourlize/qaqc/summarize_supply_curves.py b/hourlize/qaqc/summarize_supply_curves.py index 4522abcf..e1f864b6 100644 --- a/hourlize/qaqc/summarize_supply_curves.py +++ b/hourlize/qaqc/summarize_supply_curves.py @@ -83,8 +83,6 @@ def load_raw_supply_curves(rev_paths): args = parser.parse_args() rev_paths_files = args.rev_paths techs = args.techs - # only summarize ba supply curves for now - resolution = {'GSw_RegionResolution': 'ba'} ## set paths hourlize_path = os.path.dirname(os.path.realpath(__file__)) @@ -105,7 +103,7 @@ def load_raw_supply_curves(rev_paths): sys.exit(1) else: rev_path = pd.read_csv(rp) - rev_path = runreeds.get_rev_paths(rev_path, resolution) + rev_path = runreeds.get_rev_paths(rev_path) # subset to base name for sc_path rev_path['sc_folder'] = rev_path['sc_path'].apply(lambda row: os.path.basename(row)) # subset to relevant columns and techs diff --git a/hourlize/reeds_to_rev.py b/hourlize/reeds_to_rev.py index 38be1570..196b3d71 100644 --- a/hourlize/reeds_to_rev.py +++ b/hourlize/reeds_to_rev.py @@ -217,22 +217,13 @@ def reaggregate_supply_curve_regions(df_sc_in, run_folder): ``df_sc_in`` where values of "region" are remapped to aggregated regions. If not, returns ``df_sc_in`` unchanged. """ - sw = reeds.io.get_switches(run_folder) - if sw["GSw_RegionResolution"] == "county": - ### Map original sc regions to county - # pylint: disable-next=consider-using-f-string - df_sc_in["region"] = "p" + df_sc_in.FIPS.astype(str).map("{:>05}".format) - - elif sw["GSw_RegionResolution"] == "aggreg": - ### Load hierarchy file - hierarchy = pd.read_csv( - os.path.join(run_folder, "inputs_case", "hierarchy_original.csv"), - index_col="ba", - ) - if "aggreg" in hierarchy.columns: - r2aggreg = hierarchy.aggreg.copy() - ### Map original regions to new aggreg's - df_sc_in["region"] = df_sc_in["region"].map(r2aggreg) + county2zone = reeds.io.get_county2zone(run_folder) + df_sc_in["region"] = ( + df_sc_in.FIPS + .astype(str) + .map("{:>05}".format) + .map(county2zone) + ) return df_sc_in diff --git a/inputs/userinput/futurefiles.csv b/inputs/userinput/futurefiles.csv index 5ce71c1b..ce01a12b 100644 --- a/inputs/userinput/futurefiles.csv +++ b/inputs/userinput/futurefiles.csv @@ -2,7 +2,6 @@ filename,filetype,ignore,key,year_col,fix_cols,wide,header,forecast_fit,clip_min aclike.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, acp_disallowed.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, acp_prices.csv,.csv,0,None,wide,st,1,0,constant,None,None,done,constant -agglevels.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, allout_RSC.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant allt.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, alpha.csv,.csv,0,None,t,None,1,0,constant,None,None,done,linear_10 @@ -364,7 +363,6 @@ pvbcapcostmult.csv,.csv,0,None,t,None,0,0,constant,None,None,done,constant pvf_cap.csv,.csv,1,None,*t,None,0,0,linear_5,0,None,done (but double-check that it is written correctly by calc_financial_inputs.py),linear_5 pvf_onm_int.csv,.csv,1,None,*t,None,0,0,linear_10,0,None,done (but double-check that it is written correctly by calc_financial_inputs.py),linear_10 quarter.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, -r_ba.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, r_cendiv.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, r_county.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, r_cs_distance_mi.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, @@ -479,8 +477,6 @@ upgrade_mult_mid.csv,.csv,0,None,wide,dummy,1,0,linear_5,0,None,new, upgradelink_water.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant uranium_price.csv,.csv,0,None,year,None,0,0,linear_5,0,None,new, va_ng_crf_penalty.csv,.csv,0,None,0,None,0,None,constant,None,None,done,constant -val_ba.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, -county.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, val_cs.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, val_r_all.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, var_map.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant diff --git a/postprocessing/input_plots.py b/postprocessing/input_plots.py index e5b32f10..3005b9f1 100644 --- a/postprocessing/input_plots.py +++ b/postprocessing/input_plots.py @@ -556,7 +556,7 @@ def plot_existing_unitsize( 'ReEDS_generator_database_final_EIA-NEMS.csv', ) ) - dfunits['reeds_ba'] = dfunits.FIPS.str.strip('p').map(county2zone) + dfunits['r'] = dfunits.FIPS.str.strip('p').map(county2zone) else: dfunits = pd.read_csv(os.path.join(case, 'inputs_case', 'unitdata.csv')) @@ -566,7 +566,7 @@ def plot_existing_unitsize( & (dfunits.RetireYear > year) & (dfunits.tech.isin(techs)) ].copy() - dfplot['region'] = dfplot.reeds_ba.map(hierarchy[level]) + dfplot['region'] = dfplot.r.map(hierarchy[level]) ### Set up plot regions = hierarchy[level].unique() diff --git a/postprocessing/plots/level_map.csv b/postprocessing/plots/level_map.csv index bab54797..d63da622 100644 --- a/postprocessing/plots/level_map.csv +++ b/postprocessing/plots/level_map.csv @@ -1,4 +1,5 @@ raw,display +r,Model Zones county,County ba,Balancing Area nercr,NERC regions @@ -13,4 +14,3 @@ usda_region,USDA (Biomass Supply Curve) Region h2ptcreg,Hydrogen Production Tax Credit Regions hurdlereg,Hurdle Regions ccreg,Capacity Credit Regions -aggreg,Aggregated Regions diff --git a/postprocessing/reValue/reValue.py b/postprocessing/reValue/reValue.py index 064376b2..5341e029 100644 --- a/postprocessing/reValue/reValue.py +++ b/postprocessing/reValue/reValue.py @@ -47,7 +47,7 @@ def get_prices(): df_pq = df_pq[df_pq['year']==year].copy() df_h_num_hrs = df_hmap.groupby('h')['hour'].count().reset_index().rename(columns={'hour':'num_hrs'}) #Gather region map for mapping of bas to ccreg for reserve_margin - df_ba_cc_map = df_hier_run[['*r','ccreg']].copy() + df_ba_cc_map = df_hier[['r','ccreg']].copy() df_ba_cc_map.columns = ['reeds_ba','ccreg'] print('- Load prices and quantities') @@ -193,25 +193,12 @@ def get_prices(): #Roll prices from CST to UTC (this will bring prices from end of year to beginning of year) for col in df_p_h_serv[s]: df_p_h_serv[s][col] = np.roll(df_p_h_serv[s][col], 6) - if sw_reg != 'ba': - #In this case, we need to map prices to bas - df_hier_red = df_hier[df_hier[sw_reg].isin(df_p_h_serv[s].columns)] - df_p_h_serv[s] = df_p_h_serv[s][df_hier_red[sw_reg].tolist()] - df_p_h_serv[s].columns = df_hier_red['ba'].tolist() return df_pq, df_q_load, df_p_h_serv def calculate_benchmarks(): print('Calculating benchmark annual average prices and system-wide price profile') #Calculate annual load by region and total load load_ba = df_q_load.drop(columns=['h']).sum() - if sw_reg != 'ba': - #In this case, we need to map load_ba from aggreg to ba, incorrectly assuming equal load for all bas in the same aggreg - df_load_ba = df_hier[df_hier['aggreg'].isin(load_ba.index)].copy() - df_load_ba['load'] = df_load_ba['aggreg'].map(load_ba.to_dict()) - df_load_ba['ba_count'] = df_load_ba.groupby('aggreg')['ba'].transform('count') - df_load_ba['load'] = df_load_ba['load'] / df_load_ba['ba_count'] - df_load_ba = df_load_ba.set_index('ba') - load_ba = df_load_ba['load'] load_nat = load_ba.sum() #Calculate benchmark prices, assuming flat-block benchmark providing energy and firm capacity only, #so averages across time are simply time-weighted. But when averaging across space, we weight by load. @@ -282,7 +269,7 @@ def calculate_metrics(): print('Reducing profiles to only those that can be mapped to prices') #First find list of BAs associated with ReEDS run reg_set = df_pq['reeds_ba'].unique().tolist() - bas = reg_set if sw_reg == 'ba' else df_hier[df_hier[sw_reg].isin(reg_set)]['ba'].tolist() + bas = reg_set df_p_h_s = df_p_h_serv.copy() #Shallow copy so we don't duplicate so much data if r['meta_path'] != 'none': df_meta = df_meta_full[df_meta_full['reeds_ba'].isin(bas)].copy() @@ -367,12 +354,13 @@ def calculate_metrics(): reeds_run_path = r['reeds_run_path'].replace('"', '') year = r['year'] switches = reeds.io.get_switches(reeds_run_path) - sw_reg = switches['GSw_RegionResolution'] - hier_file = f'{this_dir_path}/../../inputs/zones/{switches.GSw_ZoneSet}/hierarchy_from134.csv' - df_hier = pd.read_csv(hier_file, usecols=['ba',sw_reg]).drop_duplicates() - df_hier_run = pd.read_csv(f'{reeds_run_path}/inputs_case/hierarchy.csv') - df_county_map = pd.read_csv(hier_file, usecols=['county','ba']) + df_hier = reeds.io.assemble_hierarchy(reeds_run_path) + + county2zone = reeds.io.get_county2zone(reeds_run_path, as_map=False) + county2zone['FIPS'] = 'p' + county2zone['FIPS'].astype(str).str.zfill(5) + df_county_map = county2zone[['FIPS', 'r']] df_county_map.columns = ['reeds_county', 'reeds_ba'] + df_hmap = pd.read_csv(f'{reeds_run_path}/inputs_case/rep/hmap_myr.csv') #Only fetch prices if we haven't already for this reeds run and year #TODO: Include tech here in the dct_prices tuple key? For now I disallow multiple techs diff --git a/postprocessing/tableau/tableau_viz_suite.py b/postprocessing/tableau/tableau_viz_suite.py index 36ce1b86..341fb255 100644 --- a/postprocessing/tableau/tableau_viz_suite.py +++ b/postprocessing/tableau/tableau_viz_suite.py @@ -90,7 +90,6 @@ def create_scenarios_csv(output_dir,cases): def produce_hierarchy_file(output_dir,basecase): hierarchy = reeds.io.get_hierarchy(cases[basecase]) - sw = reeds.io.get_switches(cases[basecase]) # hierarchy.csv has machine readable names - convert them to values from level_map for col in hierarchy.columns: @@ -100,7 +99,7 @@ def produce_hierarchy_file(output_dir,basecase): # clean up region names, ex. turn 'NorthernGrid_West' to 'NorthernGrid West', replace all instances of '_' with ' ' in the entire dataframe hierarchy = hierarchy.replace('_',' ',regex=True) - if sw.GSw_RegionResolution == "county" or sw.GSw_RegionResolution == "mixed": + if reeds.io.has_county_zones(cases[basecase]): # county2zone has the county FIPS to ReEDS BA mapping county2zone = pd.read_csv(os.path.join(reeds_path, 'inputs', 'county2zone.csv'), dtype={'FIPS':str},) county2zone['Region'] = 'p' + county2zone.FIPS @@ -110,7 +109,7 @@ def produce_hierarchy_file(output_dir,basecase): hierarchy = hierarchy[['Region'] + [col for col in hierarchy.columns if col != 'Region']] # export hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) - elif sw.GSw_RegionResolution == 'aggreg' or sw.GSw_RegionResolution == 'ba': + else: # add columns to match the county-level hierarchy.csv format hierarchy = hierarchy.reset_index() hierarchy['ba'] = hierarchy['r'] @@ -119,9 +118,6 @@ def produce_hierarchy_file(output_dir,basecase): hierarchy['county_name'] = '' # add a blank county_name column so that the hierarchy.csv has the same columns as when using county-level runs # then hierarchy.csv is already ready to export hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) - else: - print('All levels must be either county or ba now, all aggregation will be done via a hierarchy mapping.') - pass return @@ -155,8 +151,7 @@ def produce_transmission_endpoints(): os.mkdir(os.path.join(output_dir,'shapefiles','transmission_endpoints')) try: - if dictin_sw[basecase].GSw_RegionResolution == "county" or dictin_sw[basecase].GSw_RegionResolution == "mixed": - + if reeds.io.has_county_zones(GSw_ZoneSet=dictin_sw[basecase].GSw_ZoneSet): src_file = os.path.join(reeds_path,'inputs','shapefiles','US_COUNTY_2022','US_COUNTY_2022.shp') dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') @@ -295,7 +290,7 @@ def reformat(df,case,metric,years): df['Transmission Planning Subregion End'] = df['Transmission Planning Subregion End'].str.replace("_"," ") # turn NorthernGrid_West to 'NorthernGrid West' df['Transmission Planning Subregion Begin'] = df['Transmission Planning Subregion Begin'].str.replace("_"," ") - if sw.GSw_RegionResolution == "county": + if reeds.io.has_county_zones(cases[case]): # the 'r' column already has the 'p41003' format df = df.rename(columns={'r':'County'}) # add a column with the FIPS code (remove the 'p' prefix and turn the value into a integer from the CountyName column) @@ -307,14 +302,11 @@ def reformat(df,case,metric,years): # aggregate up to BA level using the hierarchy mapping df['BA'] = df['FIPS'].map(lambda x: county2zone['ba'][x]) del df['FIPS'] - elif sw.GSw_RegionResolution == 'aggreg' or sw.GSw_RegionResolution == 'ba': + else: # the 'r' column already has the 'p4' BA format df = df.rename(columns={'r':'BA'}) # make the county column blank as it will not be used when we are using BA-level runs df['County']='' - else: - print('All levels must be either county or ba now, all aggregation will be done via a hierarchy mapping.') - pass # add a column named 'Metric' which helps in the Tableau union df.loc[:,'Metric'] = metric diff --git a/reeds/input_processing/copy_files.py b/reeds/input_processing/copy_files.py index 5a74bdfa..9cd2612e 100644 --- a/reeds/input_processing/copy_files.py +++ b/reeds/input_processing/copy_files.py @@ -41,7 +41,7 @@ def is_required_file(runfiles_row, sw): return is_required -def read_runfiles(reeds_path, inputs_case, sw, agglevel_variables): +def read_runfiles(reeds_path, sw): """ Read runfiles.csv and return the runfiles dataframe Identify files that have a region index versus those that do not. @@ -64,50 +64,20 @@ def read_runfiles(reeds_path, inputs_case, sw, agglevel_variables): args=(sw,), ) - # If a filepath isn't specified, that means it is already in the - # inputs_case folder, otherwise use the filepath - # We leave the 'lvl' portion of 'full_filepath' unformatted because - # we may need to read multiple 'lvl' variants of the file at once later - runfiles['full_filepath'] = runfiles.apply( - axis=1, - func=lambda row: os.path.join(inputs_case, row['filename']) - if pd.isna(row['filepath']) - else os.path.join(reeds_path, row['filepath'].format(**{**sw, **{'lvl': '{lvl}'}})) - ) - - # Create a copy of runfiles that specifies the 'lvl' that applies to each file - # (only used to determine missing files, the original runfiles is used later). - # In general, the 'lvl' corresponds to GSw_RegionResolution. - # For mixed resolution, each 'lvl'-indexed file is split into two rows - - # one for the BA-level file and the other for the county-level file. - runfiles_with_lvls = runfiles.assign(lvl='') - lvl_indexed_file_mask = ( - (runfiles_with_lvls.filepath.notna()) - & (runfiles_with_lvls.filepath.str.contains('{lvl}')) - ) - if agglevel_variables['lvl'] == 'mult': - runfiles_with_lvls.loc[lvl_indexed_file_mask, 'lvl'] = 'ba,county' - runfiles_with_lvls['lvl'] = runfiles_with_lvls['lvl'].str.split(',') - runfiles_with_lvls = runfiles_with_lvls.explode('lvl') - else: - runfiles_with_lvls.loc[lvl_indexed_file_mask, 'lvl'] = agglevel_variables['lvl'] - # Determine existence of each file - runfiles_with_lvls['full_filepath'] = runfiles_with_lvls.apply( + runfiles['full_filepath'] = runfiles.apply( axis=1, - func=lambda x: x['full_filepath'].format(**{'lvl': x['lvl']}) + func=lambda row: os.path.join(reeds_path, row['filepath'].format(**sw)) ) - runfiles_with_lvls['file_exists'] = ( - runfiles_with_lvls['full_filepath'].apply(lambda x: os.path.exists(x)) + runfiles['file_exists'] = ( + runfiles['full_filepath'].apply(lambda x: os.path.exists(x)) ) - # Raise an error if any of the required files with specified filepaths are missing - missing_required_files = list( - runfiles_with_lvls.loc[( - runfiles_with_lvls['file_is_required'] - & ~runfiles_with_lvls['file_exists'] - & ~runfiles_with_lvls['filepath'].isna() - )]['filepath'] + # Raise an error if any of the required files are missing + missing_required_files = ( + runfiles.loc[runfiles['file_is_required'] & ~runfiles['file_exists']] + ['filepath'] + .tolist() ) if len(missing_required_files) > 0: raise FileNotFoundError( @@ -116,15 +86,6 @@ def read_runfiles(reeds_path, inputs_case, sw, agglevel_variables): .format('\n'.join(missing_required_files)) ) - # Add file existence information to runfiles (for lvl-indexed files, the file must exist - # at all resolutions required for the run). - # We have to add this to runfiles rather than using runfiles_with_lvls because later - # sections require the 'lvl' placeholder in the filename to be unformatted and the file - # to be represented by one row rather than the multiple split up rows in runfiles_with_lvls. - runfiles['file_exists'] = ( - runfiles['filename'].map(runfiles_with_lvls.groupby('filename')['file_exists'].min()) - ) - # Non-region files that need copied either do not have an entry in region_col # or have 'ignore' as the entry. They also have a filepath specified. non_region_files = ( @@ -193,20 +154,27 @@ def get_regions_and_agglevel( """ sw = reeds.io.get_switches(inputs_case) - ## TEMPORARY 20260402: Load the full regions list - ## Use the line below once we make the switch - # hierarchy = reeds.io.assemble_hierarchy(inputs_case) - hierarchy = pd.read_csv( - Path(reeds.io.reeds_path, 'inputs', 'zones', sw.GSw_ZoneSet, 'hierarchy_from134.csv') + hierarchy = ( + reeds.io.assemble_hierarchy(inputs_case) + .drop(columns=['md5', 'node_lat', 'node_lon']) ) hierarchy['offshore'] = 0 - # Append offshore zones if using + # Label offshore zones if using if int(sw.GSw_OffshoreZones): - hierarchy_offshore = reeds.io.assemble_hierarchy( - fpath=os.path.join(reeds_path, 'inputs', 'zones', 'hierarchy_offshore.csv'), - extra=False, - ).assign(offshore=1) - hierarchy = pd.concat([hierarchy, hierarchy_offshore], ignore_index=True) + offshore_zones = ( + reeds.io.assemble_hierarchy( + fpath=os.path.join( + reeds_path, + 'inputs', + 'zones', + 'hierarchy_offshore.csv' + ), + extra=False, + ) + ['ba'] + .tolist() + ) + hierarchy.loc[hierarchy.r.isin(offshore_zones), 'offshore'] = 1 # Save the original hierarchy file: used in recf.py and hourly_*.py scripts if save_regions_and_agglevel: @@ -216,9 +184,8 @@ def get_regions_and_agglevel( ) # Add a row for each county - ## TEMPORARY 20260402: Use the old 134-zone county2zone until the aggregation approach is updated county2zone = ( - reeds.io.get_county2zone(GSw_ZoneSet='z134', as_map=False) + reeds.io.get_county2zone(GSw_ZoneSet=sw['GSw_ZoneSet'], as_map=False) .rename(columns={'r':'ba'}) ) county2zone['county'] = 'p' + county2zone.FIPS @@ -228,7 +195,19 @@ def get_regions_and_agglevel( ) # Add county info to hierarchy - hierarchy = hierarchy.merge(county2zone.drop(columns=['FIPS','state']), on='ba', how='outer') + hierarchy = hierarchy.merge( + county2zone.drop(columns=['FIPS','state']), + left_on='r', + right_on='ba', + how='outer' + ) + + # Add legacy zone (z134) info to hierarchy + # This is needed because some inputs still have data at z134 resolution, + # so we need to capture these legacy zones when subsetting to valid regions + county2zone_z134 = reeds.io.get_county2zone(GSw_ZoneSet='z134', as_map=True) + county2zone_z134.index = 'p' + county2zone_z134.index + hierarchy['legacy_ba'] = hierarchy['county'].map(county2zone_z134) # Subset hierarchy for the region of interest (based on the GSw_Region switch) # Parse the GSw_Region switch. If it includes a '/' character, it has the format @@ -247,43 +226,8 @@ def get_regions_and_agglevel( hier_sub = pd.concat([hier_sub, hier_sub_partial]) - # Read region resolution switch to determine agglevel - agglevel = sw['GSw_RegionResolution'].lower() - - # Check if desired spatial resolution is mixed - if agglevel == 'mixed': - #Set value in resolution column of hier_sub to match value assigned in modeled_regions.csv - region_def = pd.read_csv( - os.path.join(reeds_path,'inputs','userinput','modeled_regions.csv') - )[['r', sw.GSw_ZoneSet]] - - res_map = region_def.set_index('r').squeeze(1).to_dict() - hier_sub['resolution'] = hier_sub['ba'].map(res_map) - else: - hier_sub['resolution'] = agglevel - - - # Write out all unique aggregation levels present in the hierarchy resolution column - agglevels = hier_sub['resolution'].unique() - - # Write agglevel - if save_regions_and_agglevel: - pd.DataFrame(agglevels, columns=['agglevels']).to_csv( - os.path.join(inputs_case, 'agglevels.csv'), index=False) - - - # Create an r column at the front of the dataframe and populate it with the - # county-level regions (overwritten if needed) - hier_sub.insert(0,'r',hier_sub['county']) - - # Overwrite the regions with the ba, state, or aggreg values as specififed - for level in ['ba','aggreg']: - hier_sub.loc[hier_sub['resolution'] == level, 'r'] = ( - hier_sub.loc[hier_sub['resolution'] == level, level]) - # Write out mappings of r and ba to all counties r_county = hier_sub[['r','county']].dropna(subset='county') - ba_county = hier_sub[['ba','county']] # Rewrite county2zone for this case county2zone_agg = county2zone.merge(r_county, on='county') @@ -296,23 +240,10 @@ def get_regions_and_agglevel( r_county.to_csv( os.path.join(inputs_case, 'r_county.csv'), index=False) - # Write out a mapping of r to ba regions - hier_sub[['r','ba']].drop_duplicates().to_csv( - os.path.join(inputs_case, 'r_ba.csv'), index=False) # Write out mapping of r to census divisions hier_sub[['r','cendiv']].drop_duplicates().to_csv( os.path.join(inputs_case, 'r_cendiv.csv'), index=False) - # Write out mapping of rb to aggreg (for writesupplycurves.py) - hier_sub[['ba','aggreg']].drop_duplicates().to_csv( - os.path.join(inputs_case, 'rb_aggreg.csv'), index=False) - - # Write out val_county and val_ba before collapsing to unique regions - hier_sub['county'].dropna().to_csv( - os.path.join(inputs_case, 'county.csv'), header=False, index=False) - hier_sub['ba'].drop_duplicates().to_csv( - os.path.join(inputs_case, 'val_ba.csv'), header=False, index=False) - # Find all the unique elements that might define a region val_r_all = [] for column in hier_sub.columns.drop('offshore', errors='ignore'): @@ -326,11 +257,11 @@ def get_regions_and_agglevel( os.path.join(inputs_case, 'val_r_all.csv'), header=False, index=False) # Rename columns and save as hierarchy_with_res.csv for use in agglevel_variables function - hier_sub.drop(columns='offshore', errors='ignore').rename(columns={'r':'*r'}).to_csv( + hier_sub.drop(columns=['legacy_ba', 'offshore'], errors='ignore').rename(columns={'r':'*r'}).to_csv( os.path.join(inputs_case, 'hierarchy_with_res.csv'), index=False) # Drop county name and resolution columns - hier_sub = hier_sub.drop(['county_name','resolution'],axis=1) + hier_sub = hier_sub.drop(['county_name'],axis=1) # Collapse to only unique regions @@ -341,18 +272,20 @@ def get_regions_and_agglevel( hier_sub['numeric_value'] = hier_sub['r'].str.extract('(\d+)').astype(float) hier_sub = hier_sub.sort_values(by='numeric_value').drop('numeric_value', axis=1) - # Output the itlgrp files for mixed and county resolution - - if sw.GSw_RegionResolution == 'aggreg': - hier_sub['itlgrp'] = hier_sub['aggreg'] - else: - hier_sub['itlgrp'] = hier_sub['ba'] - - if sw.GSw_RegionResolution == 'mixed': - mod_reg = pd.read_csv( - os.path.join(reeds_path,'inputs','userinput','modeled_regions.csv')) - if 'aggreg' in mod_reg[sw.GSw_ZoneSet].tolist(): - hier_sub['itlgrp'] = hier_sub['aggreg'] + ### TEMPORARY 20260402: Skip itlgrp functionality until we fix it + # # Output the itlgrp files for mixed and county resolution + # if sw.GSw_RegionResolution == 'aggreg': + # hier_sub['itlgrp'] = hier_sub['aggreg'] + # else: + # hier_sub['itlgrp'] = hier_sub['ba'] + + # if sw.GSw_RegionResolution == 'mixed': + # mod_reg = pd.read_csv( + # os.path.join(reeds_path,'inputs','userinput','modeled_regions.csv')) + # if 'aggreg' in mod_reg[sw.GSw_ZoneSet].tolist(): + # hier_sub['itlgrp'] = hier_sub['aggreg'] + # For now just assign 'itlgrp' hierarchy level to 'r' + hier_sub['itlgrp'] = hier_sub['r'] hier_sub[['r','itlgrp']].rename(columns={'r':'*r'}).to_csv( os.path.join(inputs_case, 'hierarchy_itlgrp.csv'), index=False) @@ -374,7 +307,6 @@ def get_regions_and_agglevel( # Note the conversion to a pd Series is necessary to leverage the to_csv function if save_regions_and_agglevel: comments = { - 'aggreg': 'aggregated region', 'cendiv': 'census division', 'country': 'nation', 'h2ptcreg': 'H2 production tax credit region', @@ -403,7 +335,7 @@ def get_regions_and_agglevel( ( hier_sub .rename(columns={'r':'*r'}) - .drop(columns=['aggreg','offshore'], errors='ignore') + .drop(columns=['legacy_ba', 'offshore'], errors='ignore') ).to_csv(os.path.join(inputs_case, 'hierarchy.csv'), index=False) # Write offshore zones @@ -430,7 +362,6 @@ def get_regions_and_agglevel( "val_r_all": val_r_all, "val_st": val_st, "r_county": r_county, - "ba_county": ba_county, "levels": levels } @@ -507,7 +438,6 @@ def read_banned_tech_file(full_path, filepath, inputs_case, r_county): def subset_to_valid_regions( sw, region_file_entry, - agglevel_variables, regions_and_agglevel, inputs_case=None, agg=True, @@ -531,145 +461,55 @@ def subset_to_valid_regions( region_col = region_file_entry['region_col'] fix_cols = [i for i in region_file_entry['fix_cols'].split(',') if i != ''] - sc_point_gid_index = False - if ( - filename.startswith('supplycurve') - or filename.startswith('exog_cap') - or filename.startswith('prescribed_builds') - ): - sc_point_gid_index = True - - # When running at mixed resolution we need to copy both ba and county resolution data - if (agglevel_variables['lvl'] == 'mult') and ('lvl' in filepath) and (not sc_point_gid_index): - full_path_ba = full_path.replace('{lvl}', 'ba') - full_path_county = full_path.replace('{lvl}', 'county') - match filetype_in: - case 'h5': - df_ba = reeds.io.read_file(full_path_ba, parse_timestamps=True) - df_county = reeds.io.read_file(full_path_county, parse_timestamps=True) - case 'csv': - df_ba = pd.read_csv( - full_path_ba, - dtype={'FIPS':str, 'fips':str, 'cnty_fips':str}, comment='#', - ) - df_county = pd.read_csv( - full_path_county, - dtype={'FIPS':str, 'fips':str, 'cnty_fips':str}, comment='#', - ) - case _: - raise TypeError(f'filetype for {full_path} is not .csv or .h5') - - # Single resolution procedure - else: - # Replace '{switchnames}' in full_path with corresponding switch values - full_path = full_path.format(**{**sw, **{'lvl':agglevel_variables['lvl']}}) - ## Filename conditions - if filename.startswith('supplycurve'): - df = reeds.io.assemble_supplycurve( - full_path, - case=os.path.dirname(os.path.normpath(inputs_case)), - agg=agg, - ).reset_index() - elif filename.startswith('exog_cap'): - df = reeds.io.assemble_exog_cap( - full_path, - case=os.path.dirname(os.path.normpath(inputs_case)), - ) - elif filename.startswith('prescribed_builds'): - df = reeds.io.assemble_prescribed_builds( - full_path, - case=os.path.dirname(os.path.normpath(inputs_case)), - ) - elif filename == 'techs_banned.csv': - df, nuclear_ban_regions = read_banned_tech_file( - full_path, - filepath, - inputs_case, - r_county=regions_and_agglevel['r_county'] - ) - nuclear_ban_regions.to_csv( - os.path.join(inputs_case,'nuclear_ba_ban_list.csv'), - index=False - ) - ## Filetype conditions - elif filetype_in == 'h5': - df = reeds.io.read_file(full_path, parse_timestamps=True) - elif filetype_in == 'csv': - df = pd.read_csv(full_path, dtype={'FIPS':str, 'fips':str, 'cnty_fips':str}, comment='#') - else: - raise ValueError(f'Unmatched filename ({filename}) or filetype ({filetype_in})') - - # ---- Filter data to valid regions ---- - # If running at mixed resolution we need to remove BA level data for regions that are being solved at county resolution - if (agglevel_variables['lvl'] == 'mult') and ('lvl' in filepath) and (not sc_point_gid_index): - hier = pd.read_csv(os.path.join(inputs_case,'hierarchy_with_res.csv')).rename(columns = {'*r':'r'}) - # Filter function parameters to only include BA resolution regions - valid_regions_ba = {level: list(hier[hier['r'] - .isin(agglevel_variables['ba_regions'])][level].unique()) for level in levels} - val_st_ba = valid_regions_ba['st'] - val_r_all_ba = [] - for value in valid_regions_ba.values(): - val_r_all_ba.extend(value) - val_r_all_ba = list(set(val_r_all_ba)) - # Add BA regions associated with states and aggregs being run at BA resolution - val_r_all_ba.extend(x for x in agglevel_variables['ba_regions']if x not in val_r_all_ba) - df_ba = filter_data( - df_ba, - region_col, - fix_cols,levels, - val_r_all=val_r_all_ba, - valid_regions=valid_regions_ba, - val_st=val_st_ba, - filename=filename + # Replace '{switchnames}' in full_path with corresponding switch values + full_path = full_path.format(**sw) + ## Filename conditions + if filename.startswith('supplycurve'): + df = reeds.io.assemble_supplycurve( + full_path, + case=os.path.dirname(os.path.normpath(inputs_case)), + agg=agg, + ).reset_index() + elif filename.startswith('exog_cap'): + df = reeds.io.assemble_exog_cap( + full_path, + case=os.path.dirname(os.path.normpath(inputs_case)), ) - # Filter function parameters to only include county resolution regions - valid_regions_county = {level: (hier[hier['r'] - .isin(agglevel_variables['county_regions'])][level].unique()) for level in levels} - val_st_county = valid_regions_county['st'] - val_r_all_county = [] - for value in valid_regions_county.values(): - val_r_all_county.extend(value) - val_r_all_county = list(dict.fromkeys(val_r_all_county)) - - df_county = filter_data( - df_county, - region_col, - fix_cols, - levels, - val_r_all=val_r_all_county, - valid_regions=valid_regions_county, - val_st=val_st_county, - filename=filename + elif filename.startswith('prescribed_builds'): + df = reeds.io.assemble_prescribed_builds( + full_path, + case=os.path.dirname(os.path.normpath(inputs_case)), ) - - # Combine BA and county data - # The filter data function returns a dataframe with NAN values to prevent empty H5 files - # If either the BA data or county data are populated we can drop the nan data - if df_county.isna().all().all() and not df_ba.isna().all().all(): - df = df_ba - elif not df_county.isna().all().all() and df_ba.isna().all().all(): - df = df_county - else: - # Combine BA and county data - if region_file_entry['wide'] == 1 : - df = pd.concat([df_ba,df_county],axis =1) - else: - df = pd.concat([df_ba,df_county]) - - # Single resolution procedure - # Or procedure for input data that exist at single resolution and - # are aggregated/disaggregated later - else: - df = filter_data( - df, - region_col, - fix_cols, - levels, - val_r_all, - valid_regions, - val_st, - filename=filename + elif filename == 'techs_banned.csv': + df, nuclear_ban_regions = read_banned_tech_file( + full_path, + filepath, + inputs_case, + r_county=regions_and_agglevel['r_county'] + ) + nuclear_ban_regions.to_csv( + os.path.join(inputs_case,'nuclear_ba_ban_list.csv'), + index=False ) + ## Filetype conditions + elif filetype_in == 'h5': + df = reeds.io.read_file(full_path, parse_timestamps=True) + elif filetype_in == 'csv': + df = pd.read_csv(full_path, dtype={'FIPS':str, 'fips':str, 'cnty_fips':str}, comment='#') + else: + raise ValueError(f'Unmatched filename ({filename}) or filetype ({filetype_in})') + + # Filter data to valid regions + df = filter_data( + df, + region_col, + fix_cols, + levels, + val_r_all, + valid_regions, + val_st, + filename=filename + ) return df @@ -999,9 +839,9 @@ def write_disagg_data_files(runfiles, inputs_case): # region-to-county fractions, and the latter is needed to calculate # state-to-county and BA-to-county fractions. county_r_map = reeds.io.get_county2zone(os.path.dirname(inputs_case)) - ## TEMPORARY 20260402: Use the old 134-zone county2zone until the aggregation approach is updated + sw = reeds.io.get_switches(inputs_case) county2zone = ( - reeds.io.get_county2zone(GSw_ZoneSet='z134', as_map=False) + reeds.io.get_county2zone(GSw_ZoneSet=sw['GSw_ZoneSet'], as_map=False) .rename(columns={'r':'ba'}) ) county2zone['county'] = 'p' + county2zone['FIPS'].astype(str).str.zfill(5) @@ -1036,42 +876,13 @@ def write_disagg_data_files(runfiles, inputs_case): return -def map_and_aggregate( - df, - regions_and_agglevel, - region_file_entry, - region_col, - aggfunc=None -): - ''' - Maps counties to BAs and aggregates according to aggfunc if provided. - ''' - merged = ( - df.set_index(region_col) - .merge(regions_and_agglevel['ba_county'], left_index=True, right_on='county') - .drop('county', axis=1) - .rename(columns={'ba': region_col}) - ) - - if aggfunc: - fix_cols = region_file_entry['fix_cols'].split(',') - if all([fix_col in merged.columns for fix_col in fix_cols]): - groupby_cols = list(set(fix_cols + [region_col])) - df = merged.groupby(groupby_cols, as_index=False).agg(aggfunc) - else: - df = merged.groupby(region_col, as_index=False).agg(aggfunc) - - - return df - def write_region_indexed_file( df, dir_dst, source_deflator_map, sw, - region_file_entry, - regions_and_agglevel + region_file_entry ): """ Write a single region-indexed file to the dir_dst directory @@ -1112,15 +923,17 @@ def write_region_indexed_file( # Adjust for inflation df['price'] = df['price'].astype(float) * source_deflator_map[filepath] case 'unitdata.csv': - fips_ba_map = regions_and_agglevel['ba_county'].dropna().set_index('county')['ba'] - df['reeds_ba'] = df['FIPS'].map(fips_ba_map) + # Map counties to zones + county2zone = reeds.io.get_county2zone(case=os.path.dirname(inputs_case)) + county2zone.index = 'p' + county2zone.index + df['r'] = df['FIPS'].map(county2zone) ## If using offshore zones, map offshore wind units from land to offshore zones if int(sw.GSw_OffshoreZones): df = reeds.spatial.assign_to_offshore_zones(df) - num_units_missing_bas = len(df.loc[df.reeds_ba.isna()]) - if num_units_missing_bas > 0: + num_units_missing_zones = len(df.loc[df.r.isna()]) + if num_units_missing_zones > 0: raise ValueError( - f"{num_units_missing_bas} units were not mapped to any BAs." + f"{num_units_missing_zones} units were not mapped to any zones." ) case _: pass @@ -1133,7 +946,6 @@ def write_region_indexed_files( sw, region_files, regions_and_agglevel, - agglevel_variables, source_deflator_map ): """ @@ -1155,7 +967,6 @@ def write_region_indexed_files( df = subset_to_valid_regions( sw, region_file_entry, - agglevel_variables, regions_and_agglevel, inputs_case ) @@ -1164,15 +975,12 @@ def write_region_indexed_files( inputs_case, source_deflator_map, sw, - region_file_entry, - regions_and_agglevel + region_file_entry ) def write_miscellaneous_files( sw, - regions_and_agglevel, - agglevel_variables, inputs_case, reeds_path ): @@ -1199,6 +1007,10 @@ def write_miscellaneous_files( ][0:len(sw['GSw_PVB_Types'].split('_'))]} ).to_csv(os.path.join(inputs_case, 'pvb_bir.csv'), index=False) + ### County-to-zone mapping + county2zone = reeds.io.get_county2zone(case=os.path.dirname(inputs_case)) + county2zone.index = 'p' + county2zone.index + # Constant value if input is float, otherwise named profile # Methane leakage rate: try: @@ -1274,12 +1086,13 @@ def write_miscellaneous_files( reeds_path,'inputs','emission_constraints','county_co2_share_egrid_2022.csv'), index_col=0) - # Filter the counties that are in chosen GSw_Region - val_county = pd.read_csv(os.path.join(inputs_case,'county.csv'),names=['r']) - # Merge emission share by county with the counties in GSw_Region and calculate emission share of GSw_Region - region_em_share = val_county.merge(em_share, on='r', how='left').fillna(0) - region_em_share = region_em_share['share'].sum() + region_em_share = ( + em_share.reindex(county2zone.index) + .fillna(0) + ['share'] + .sum() + ) # Apply the emission share to national cap to get the emission cap trajectory of GSw_Region co2_cap *= region_em_share @@ -1403,31 +1216,9 @@ def write_miscellaneous_files( # Add capacity deployment limits based on interconnection queue data cap_queue = pd.read_csv( os.path.join(reeds_path,'inputs','capacity_exogenous','interconnection_queues.csv')) - # Filter the counties that are in chosen GSw_Region - cap_queue = cap_queue[cap_queue['r'].isin(val_county['r'])] - - # Single resolution procedure - if (agglevel_variables["lvl"] != 'county') and ('county' not in agglevel_variables['agglevel']): - cap_queue = cap_queue.rename(columns={'r':'county'}) - cap_queue = pd.merge(cap_queue, regions_and_agglevel["r_county"], on='county', how='left').dropna() - cap_queue = cap_queue.drop('county', axis=1) - - # Mixed resolution procedure - elif agglevel_variables['lvl'] == 'mult': - # Filter out BA regions and aggregate - cap_queue_ba = cap_queue[cap_queue['r'].isin(agglevel_variables['BA_county_list'])].copy() - if 'aggreg' in agglevel_variables['agglevel'] : - r_county_dict = regions_and_agglevel["r_county"].set_index('county')['r'].to_dict() - cap_queue_ba['r'] = cap_queue_ba['r'].map(r_county_dict) - - else: - cap_queue_ba['r'] = cap_queue_ba['r'].map(agglevel_variables['BA_2_county']) - - # Filter out county regions - cap_queue_county = cap_queue[cap_queue['r'].isin(agglevel_variables['county_regions'])] - - #combine BA and county - cap_queue = pd.concat([cap_queue_ba,cap_queue_county]) + # Map counties to zones + cap_queue['r'] = cap_queue['r'].map(county2zone) + cap_queue = cap_queue.dropna(subset='r') cap_queue = cap_queue.groupby(['tg','r'],as_index=False).sum() cap_queue.to_csv(os.path.join(inputs_case,'cap_limit.csv'), index=False) @@ -1506,8 +1297,6 @@ def main(reeds_path, inputs_case): ### =========================================================================== # Obtain data necessary to filter and aggregate regions regions_and_agglevel = get_regions_and_agglevel(reeds_path, inputs_case) - # Use agglevel_variables function to obtain spatial resolution variables - agglevel_variables = reeds.spatial.get_agglevel_variables(reeds_path, inputs_case) #%% =========================================================================== ### --- Copying files --- @@ -1515,12 +1304,7 @@ def main(reeds_path, inputs_case): sw = reeds.io.get_switches(inputs_case) - runfiles, non_region_files, region_files = read_runfiles( - reeds_path, - inputs_case, - sw, - agglevel_variables - ) + runfiles, non_region_files, region_files = read_runfiles(reeds_path, sw) # Rewrite the switches tables as GAMS-readable definition # (gswitches.csv is first written at runreeds.py) @@ -1540,17 +1324,9 @@ def main(reeds_path, inputs_case): sw, region_files, regions_and_agglevel, - agglevel_variables, source_deflator_map ) - # Create a maps.gpkg for this run - # Skip if using region dis/aggregation, maps will be written in aggregation_regions.py. - # Run if using mixed resolution aggreg-county combination - if agglevel_variables['lvl'] == 'ba' or ( - agglevel_variables['lvl'] == 'mult' and 'aggreg' in agglevel_variables['agglevel']): - generate_maps_gpkg(inputs_case) - #%% =========================================================================== ### --- Exceptions --- ### =========================================================================== @@ -1558,12 +1334,13 @@ def main(reeds_path, inputs_case): # Needs to run after copy of non-region files write_miscellaneous_files( sw, - regions_and_agglevel, - agglevel_variables, inputs_case, reeds_path ) + # Create a maps.gpkg for this run + generate_maps_gpkg(inputs_case) + #%% Procedure if __name__ == '__main__' and not hasattr(sys, 'ps1'): diff --git a/reeds/input_processing/hourly_repperiods.py b/reeds/input_processing/hourly_repperiods.py index d45142b8..e1ceedaa 100644 --- a/reeds/input_processing/hourly_repperiods.py +++ b/reeds/input_processing/hourly_repperiods.py @@ -258,27 +258,15 @@ def main( os.path.join(inputs_case, 'val_r_all.csv'), header=None).squeeze(1).tolist() modelyears = pd.read_csv( os.path.join(inputs_case, 'modeledyears.csv')).columns.astype(int) - # Use agglevel_variables function to obtain spatial resolution variables - agglevel_variables = reeds.spatial.get_agglevel_variables(reeds_path, inputs_case) #%% Get map from yperiod, hour, and h_of_period to timestamp timestamps = reeds.timeseries.make_timestamps(sw) timestamps_myr = timestamps.loc[timestamps.year.isin(sw['GSw_HourlyWeatherYears'])].copy() - ### Get region hierarchy for use with GSw_HourlyClusterRegionLevel + ### Get region hierarchy and rmap hierarchy = pd.read_csv( os.path.join(inputs_case,'hierarchy.csv')).rename(columns={'*r':'r'}).set_index('r') - hierarchy_orig = pd.read_csv( - os.path.join(inputs_case,'hierarchy_original.csv')) - - if sw.GSw_HourlyClusterRegionLevel == 'r': - rmap = pd.Series(hierarchy_orig.index, index=hierarchy_orig.index) - elif agglevel_variables['agglevel'] == 'county' or 'county' in agglevel_variables['agglevel']: - rmap = hierarchy[sw['GSw_HourlyClusterRegionLevel']] - elif agglevel_variables['agglevel'] in ['ba','aggreg']: - rmap = (hierarchy_orig.loc[hierarchy_orig['ba'].isin(val_r_all)] - [['aggreg',sw['GSw_HourlyClusterRegionLevel']]] - .drop_duplicates().set_index('aggreg')).squeeze(1) + rmap = reeds.io.get_rmap(inputs_case, sw['GSw_HourlyClusterRegionLevel']) #%% Load supply curves to use for available capacity weighting sc = { diff --git a/reeds/input_processing/mcs_sampler.py b/reeds/input_processing/mcs_sampler.py index 605b2bfc..a8b07707 100644 --- a/reeds/input_processing/mcs_sampler.py +++ b/reeds/input_processing/mcs_sampler.py @@ -166,7 +166,6 @@ def read_csv_h5_file(sw_runfiles_csv, aux_files, reeds_path, inputs_case) -> pd. df = copy_files.subset_to_valid_regions( aux_files['sw'], sw_runfiles_csv, - aux_files['agglevel_variables'], aux_files['regions_and_agglevel'], inputs_case, agg=False, @@ -204,36 +203,6 @@ def read_csv_h5_file(sw_runfiles_csv, aux_files, reeds_path, inputs_case) -> pd. return df - -def get_hierarchy_file(inputs_case: str, ReEDS_resolution: str) -> pd.DataFrame: - """ - The hierarchy file in `{inputs_case}/hierarchy.csv` does not contain a - differentiation between "ba" and "aggreg" resolution. This function - reconstructs the hierarchy file with all possible combinations relevant - to the MCS. - - Args: - inputs_case (str): Path to the inputs case directory. - ReEDS_resolution (str): The spatial resolution used in ReEDS (e.g., 'ba', 'aggreg'). - - Returns: - pd.DataFrame: A DataFrame with the hierarchy information relevant to the regions - considered in the inputs_casse run. - """ - original_hierarchy_file = pd.read_csv( - os.path.join(inputs_case, "hierarchy_original.csv") - ) - - valid_regions = pd.read_csv( - os.path.join(inputs_case, "hierarchy.csv") - )['*r'].values - - filtered_hierarchy = original_hierarchy_file[ - original_hierarchy_file[ReEDS_resolution].isin(valid_regions) - ].reset_index(drop=True) - - return filtered_hierarchy - def check_lhs_param_order(lower, upper): """Ensure lower bounds are less than upper bounds, swapping where necessary. @@ -569,20 +538,12 @@ def get_dist_instructions(reeds_path: str, inputs_case: str) -> Tuple[pd.DataFra df_input_dist_ex['reeds_path'] = reeds_path df_input_dist_ex['inputs_case'] = inputs_case - agglevel_variables = reeds.spatial.get_agglevel_variables(reeds_path, inputs_case) # Read runfiles.csv to get instructions on how files must be copied. - runfiles, nonregion_files, region_files = copy_files.read_runfiles( - reeds_path, inputs_case, sw, agglevel_variables) + runfiles, nonregion_files, region_files = copy_files.read_runfiles(reeds_path, sw) - ReEDS_resolution = sw['GSw_RegionResolution'] # Process each distribution instruction. for i, input_dist_row in df_input_dist.iterrows(): - # If ReEDS_resolution is aggreg but weight_r is 'ba' change it to aggreg - if ReEDS_resolution == 'aggreg' and input_dist_row['weight_r'] == 'ba': - df_input_dist_ex.at[i, 'weight_r'] = 'aggreg' - print(f"[Warning]: The weight_r for {input_dist_row['name']} was changed to 'aggreg'") - # Iterate over each switch in the instruction. for sw_i, assignments_list in enumerate(input_dist_row['assignments_list']): @@ -613,7 +574,7 @@ def get_dist_instructions(reeds_path: str, inputs_case: str) -> Tuple[pd.DataFra source_deflator_map = copy_files.get_source_deflator_map(reeds_path) - hierarchy_file = get_hierarchy_file(inputs_case, sw['GSw_RegionResolution']) + hierarchy_file = reeds.io.assemble_hierarchy(inputs_case) # Save the auxiliary info in a dictionary. aux_files = { @@ -622,7 +583,6 @@ def get_dist_instructions(reeds_path: str, inputs_case: str) -> Tuple[pd.DataFra 'region_files': region_files, 'source_deflator_map': source_deflator_map, 'regions_and_agglevel': regions_and_agglevel, - 'agglevel_variables': agglevel_variables, 'hierarchy_file': hierarchy_file, } @@ -679,7 +639,8 @@ def get_all_region_weights( Args: distribution (str): The distribution to use for sampling. dist_params (list): The parameters for the distribution. - hierarchy_file (pd.DataFrame): DataFrame with the hierarchy information from get_hierarchy_file (.) + hierarchy_file (pd.DataFrame): DataFrame with the hierarchy information from + reeds.io.assemble_hierarchy() sample_hierarchy_lvl (str): The hierarchy level which will be assigned unique weights. Returns: @@ -696,7 +657,7 @@ def get_all_region_weights( r_weights = get_region_weights(distribution, dist_params) # Retrieve all BAs linked to the current region - bas = hierarchy_file.loc[hierarchy_file[sample_hierarchy_lvl] == region, "ba"].values + bas = hierarchy_file.loc[hierarchy_file[sample_hierarchy_lvl] == region, "r"].values # Assign weights to each BA, cendiv, and aggreg for ba in bas: @@ -741,15 +702,6 @@ def __init__( # Get all general region weights self.r_weights = get_all_region_weights( self.distribution, self.dist_params, self.hierarchy_file, self.sample_hierarchy_lvl) - ## Include aggregated region weights - if aux_files['sw']['GSw_RegionResolution'] == 'aggreg': - self.r_weights = { - **self.r_weights, - **{ - aux_files['hierarchy_file'].set_index('ba').aggreg.get(k,k): v - for k,v in self.r_weights.items() - }, - } # Store the weights for the recf files (CF files) # Those are computed during the the supply curve file sampling @@ -1145,14 +1097,10 @@ def __init__(self, sample_group, aux_files, n_samples, mcs_run_number, lhs_sampl self.inputs_case = sample_group['inputs_case'] self.distribution = sample_group['dist'] self.dist_params = sample_group['dist_params'] - self.ReEDS_resolution = aux_files['sw']['GSw_RegionResolution'] - if self.ReEDS_resolution=='aggreg' and sample_group['weight_r']=='ba': - self.sample_hierarchy_lvl = 'aggreg' - else: - self.sample_hierarchy_lvl = sample_group['weight_r'] + self.sample_hierarchy_lvl = sample_group['weight_r'] # Inputs that require special treatment - self.hierarchy_file = get_hierarchy_file(self.inputs_case, self.ReEDS_resolution) + self.hierarchy_file = reeds.io.assemble_hierarchy(self.inputs_case) # Store the samples for each switch (a single sw may have multiple files that is # why we refer to the switch by its adjusted name) @@ -1829,8 +1777,7 @@ def write_samples( # Get the row of the region-indexed file region_files_row = aux_files['region_files'].query('filename == @file_name').iloc[0] copy_files.write_region_indexed_file(sample_values, dir_dst, aux_files['source_deflator_map'], - aux_files['sw'], region_files_row, - aux_files['regions_and_agglevel']) + aux_files['sw'], region_files_row) # ...if we have a csv file that isn't region-indexed (including switches.csv) elif file_termination == '.csv': if file_name == 'switches.csv': diff --git a/reeds/input_processing/outage_rates.py b/reeds/input_processing/outage_rates.py index 7ccadf22..5d2a6dac 100644 --- a/reeds/input_processing/outage_rates.py +++ b/reeds/input_processing/outage_rates.py @@ -218,10 +218,7 @@ def calc_outage_forced( ### Derived inputs sw = reeds.io.get_switches(inputs_case) hierarchy = reeds.io.get_hierarchy(reeds.io.standardize_case(inputs_case)) - val_ba = ( - pd.read_csv(os.path.join(inputs_case, 'val_ba.csv'), header=None) - .squeeze(1).values - ) + val_r = reeds.io.read_input(inputs_case, 'r').squeeze(1).values ## Static forced outage rates (for filling empties) outage_forced_static = pd.read_csv( os.path.join(inputs_case, 'outage_forced_static.csv'), @@ -243,7 +240,7 @@ def calc_outage_forced( if sw.GSw_OutageScen.lower() == 'static': ### Fill static data for all techs and modeled regions df = pd.concat( - {r: outage_forced_static for r in val_ba}, + {r: outage_forced_static for r in val_r}, axis=0, names=('r','i'), ).reorder_levels(['i','r']).sort_index() diff --git a/reeds/input_processing/recf.py b/reeds/input_processing/recf.py index 40204f8d..0f5d6c13 100644 --- a/reeds/input_processing/recf.py +++ b/reeds/input_processing/recf.py @@ -520,8 +520,23 @@ def main(reeds_path, inputs_case): cspcf = cspcf.rename(columns=dict(zip(cspcf.columns, [f'csp_{i}' for i in cspcf.columns]))) reeds.io.write_profile_to_h5(cspcf.astype(np.float32), 'csp.h5', inputs_case) ### Overwrite the original hierarchy.csv based on capcredit_hierarchy_level - hierarchy.rename_axis('*r').to_csv( - os.path.join(inputs_case, 'hierarchy.csv'), index=True, header=True) + ( + hierarchy.rename_axis('*r') + [[ + 'nercr', + 'transreg', + 'transgrp', + 'cendiv', + 'st', + 'interconnect', + 'country', + 'usda_region', + 'h2ptcreg', + 'hurdlereg', + 'ccreg' + ]] + .to_csv(os.path.join(inputs_case, 'hierarchy.csv'), index=True, header=True) + ) ccreg = pd.Series(hierarchy.ccreg.unique()) reeds.io.write_to_inputs_h5( ccreg, 'ccreg', inputs_case, gamstype='set', comment='capacity credit region', diff --git a/reeds/input_processing/transmission.py b/reeds/input_processing/transmission.py index 02d4d9e3..c76463f0 100644 --- a/reeds/input_processing/transmission.py +++ b/reeds/input_processing/transmission.py @@ -358,8 +358,8 @@ def get_trancap_init(case, interface_params, level='r'): & dfout['rr'].isin(valid_regions[level]) ].copy() - ### TEMPORARY 20260402: Drop county interfaces with no distance/cost - if (level == 'r') and (sw.GSw_RegionResolution in ['county', 'mixed']): + ### Drop county interfaces with no distance/cost + if (level == 'r') and reeds.io.has_county_zones(case): transmission_line_fom = get_transmission_fom(case, interface_params) indices = ['r', 'rr', 'trtype'] drop = ( diff --git a/reeds/input_processing/writecapdat.py b/reeds/input_processing/writecapdat.py index fd49d594..4a095c5e 100644 --- a/reeds/input_processing/writecapdat.py +++ b/reeds/input_processing/writecapdat.py @@ -120,7 +120,7 @@ def create_rsc_wsc(gendb,TECH,scalars,startyear): ### --- MAIN FUNCTION --- ### =========================================================================== -def main(reeds_path, inputs_case, agglevel, regions): +def main(reeds_path, inputs_case, regions): # #%% Settings for testing #reeds_path = "/Users/apham/Documents/GitHub/ReEDS/ReEDS/" @@ -217,20 +217,6 @@ def main(reeds_path, inputs_case, agglevel, regions): print('Importing generator database:') gdb_use = pd.read_csv(os.path.join(inputs_case,'unitdata.csv'), low_memory=False) - - rcol_dict = {'county':'FIPS', 'ba':'reeds_ba'} - # Create the 'r_col' column - if agglevel in ['county','ba']: - r_col = rcol_dict[agglevel] - gdb_use['r'] = gdb_use[r_col].copy() - # Filter generator database to regions that match the spatial resolution of the run - gdb_use = gdb_use[gdb_use['r'].isin(regions)] - elif agglevel == 'aggreg': - rb_aggreg = pd.read_csv(os.path.join(inputs_case,'rb_aggreg.csv'), index_col='ba').squeeze(1) - gdb_use = gdb_use.assign(r=gdb_use.reeds_ba.map(rb_aggreg)) - # Filter generator database to regions that match the spatial resolution of the run - gdb_use = gdb_use[gdb_use['r'].isin(regions)] - # If PVB is turned off, consider all PVB as UPV and battery_li for existing and prescribed builds # If PVB is turned on, consider all PVB as 'pvb' if GSw_PVB == 0: @@ -831,61 +817,8 @@ def main(reeds_path, inputs_case, agglevel, regions): print('Starting writecapdat.py') - # Use agglevel_variables function to obtain spatial resolution variables - agglevel_variables = reeds.spatial.get_agglevel_variables(reeds_path, inputs_case) - - # For mixed resolution runs the main function of writecapdat needs to be executed separately for each desired resolution - # Then the data from each resolution are combined and written to the inputs_case folder - comments = {} - if agglevel_variables['lvl'] == 'mult': - for resolution in agglevel_variables['agglevel']: - if resolution == 'aggreg': - aggreg_data, _comments = main( - reeds_path, inputs_case, agglevel=resolution, - regions=agglevel_variables['ba_regions'], - ) - comments = {**comments, **_comments} - if resolution == 'ba': - ba_data, _comments = main( - reeds_path, inputs_case, agglevel=resolution, - regions=agglevel_variables['ba_regions'], - ) - comments = {**comments, **_comments} - if resolution == 'county': - county_data, _comments = main( - reeds_path, inputs_case, agglevel=resolution, - regions=agglevel_variables['county_regions'], - ) - comments = {**comments, **_comments} - - # Combine and write mixed resolution data - # ReEDS only supports county-BA, county-aggreg combinations - combined_data = {} - if 'ba' in agglevel_variables['agglevel']: - for key in ba_data.keys() : - if county_data[key].empty: - combined_data[key] = ba_data[key] - elif ba_data[key].empty: - combined_data[key] = county_data[key] - else: - combined_data[key] = pd.concat([ba_data[key], county_data[key]]) - - if 'aggreg' in agglevel_variables['agglevel']: - for key in aggreg_data.keys() : - if county_data[key].empty: - combined_data[key] = aggreg_data[key] - elif aggreg_data[key].empty: - combined_data[key] = county_data[key] - else: - combined_data[key] = pd.concat([aggreg_data[key], county_data[key]]) - - data = combined_data - - # Single Resolution Procedure - else: - agglevel = agglevel_variables['agglevel'] - regions = reeds.io.read_input(inputs_case, agglevel).squeeze(1).values - data, comments = main(reeds_path, inputs_case,agglevel, regions) + regions = reeds.io.read_input(inputs_case, 'r').squeeze(1).values + data, comments = main(reeds_path, inputs_case, regions) # Write it print('Writing out capacity data') diff --git a/reeds/input_processing/writesupplycurves.py b/reeds/input_processing/writesupplycurves.py index 610d6fbc..449b08b8 100644 --- a/reeds/input_processing/writesupplycurves.py +++ b/reeds/input_processing/writesupplycurves.py @@ -71,14 +71,10 @@ def agg_supplycurve( scpath, inputs_case, numbins_tech, - agglevel, bin_method='equal_cap_cut', bin_col='supply_curve_cost_per_mw', - spur_cutoff=1e7, - agglevel_variables=None, + spur_cutoff=1e7, deflate=None, - sw=None, - write=False, ): """ """ @@ -142,8 +138,6 @@ def main( ### Overwrite switches with keyword arguments for kw, arg in kwargs.items(): sw[kw] = arg - endyear = int(sw.endyear) - startyear = int(sw.startyear) geohydrosupplycurve = sw.geohydrosupplycurve egssupplycurve = sw.egssupplycurve egsnearfieldsupplycurve = sw.egsnearfieldsupplycurve @@ -157,10 +151,6 @@ def main( "egs": int(sw.numbins_egs_allkm), } - # Use agglevel_variables function to obtain spatial resolution variables - agglevel_variables = reeds.spatial.get_agglevel_variables(reeds_path, inputs_case) - agglevel = agglevel_variables['agglevel'] - val_r_all = pd.read_csv( os.path.join(inputs_case,'val_r_all.csv'), header=None).squeeze(1).tolist() # Read in tech-subset-table.csv to determine number of csp configurations @@ -222,12 +212,11 @@ def main( for s in wind_types: windin[s], wind[s] = agg_supplycurve( scpath=os.path.join(inputs_case,f'supplycurve_wind-{s}.csv'), - inputs_case=inputs_case, - agglevel=agglevel, - numbins_tech=numbins[f'wind-{s}'], spur_cutoff=spur_cutoff, - agglevel_variables=agglevel_variables, deflate=deflate, - sw=sw, write=write - ) + inputs_case=inputs_case, + numbins_tech=numbins[f'wind-{s}'], + spur_cutoff=spur_cutoff, + deflate=deflate, + ) cost_components = ( wind[s][["cost_total_trans_usd_per_mw", "capital_adder_per_mw"]] @@ -320,11 +309,10 @@ def main( upvin, upv = agg_supplycurve( scpath=os.path.join(inputs_case, 'supplycurve_upv.csv'), inputs_case=inputs_case, - agglevel=agglevel, - numbins_tech=numbins['upv'], spur_cutoff=spur_cutoff, - agglevel_variables=agglevel_variables, deflate=deflate, - sw=sw, write=write - ) + numbins_tech=numbins['upv'], + spur_cutoff=spur_cutoff, + deflate=deflate, + ) # Similar to wind, save the trans vs cap components and then concatenate them below just # before outputting rsc_combined.csv @@ -398,13 +386,12 @@ def main( ################### if int(sw["GSw_CSP"]): - cspin, csp = agg_supplycurve( + _, csp = agg_supplycurve( scpath=os.path.join(inputs_case, 'supplycurve_csp.csv'), inputs_case=inputs_case, - agglevel=agglevel, - numbins_tech=numbins['csp'], spur_cutoff=spur_cutoff, - agglevel_variables=agglevel_variables, deflate=deflate, - sw=sw, write=False + numbins_tech=numbins['csp'], + spur_cutoff=spur_cutoff, + deflate=deflate, ) ### Normalize formatting @@ -480,11 +467,12 @@ def main( geoin[s], geo[s] = agg_supplycurve( scpath=os.path.join( inputs_case, - f'supplycurve_{s}.csv'), - numbins_tech=numbins[s], inputs_case=inputs_case, - agglevel=agglevel, - spur_cutoff=spur_cutoff,agglevel_variables=agglevel_variables, deflate=deflate, - sw=sw, write=False + f'supplycurve_{s}.csv' + ), + numbins_tech=numbins[s], + inputs_case=inputs_case, + spur_cutoff=spur_cutoff, + deflate=deflate ) spurout_list.append( geo[s] diff --git a/reeds/inputs.py b/reeds/inputs.py index e598dc26..9e411941 100644 --- a/reeds/inputs.py +++ b/reeds/inputs.py @@ -106,18 +106,6 @@ def add_intermediate_switches(dfcases:pd.DataFrame) -> pd.DataFrame: for case in cases: sw = dfcases[case] new_switches[case] = {} - ### TEMPORARY 20260402: The GSw_RegionResolution switch is deprecated; - ### for now, hardcode its value for the region resolutions that use it - match sw['GSw_ZoneSet']: - case 'z134': - GSw_RegionResolution = 'ba' - case 'z3109': - GSw_RegionResolution = 'county' - case 'PJMcounty' | 'UTcounty': - GSw_RegionResolution = 'mixed' - case _: - GSw_RegionResolution = 'aggreg' - new_switches[case]['GSw_RegionResolution'] = GSw_RegionResolution ### TEMPORARY 20260402: Turn off itlgrp constraint until it's fixed # new_switches[case]['GSw_itlgrpConstraint'] = str(int( # sw['GSw_RegionResolution'] in ['county', 'mixed'] diff --git a/reeds/io.py b/reeds/io.py index 4c13b521..a12d433f 100644 --- a/reeds/io.py +++ b/reeds/io.py @@ -127,15 +127,9 @@ def get_hierarchy(case=None, original=False, **kwargs): filepath = Path(standardize_case(case), 'inputs_case', 'hierarchy_original.csv') else: filepath = Path(standardize_case(case), 'inputs_case', 'hierarchy.csv') + hierarchy = pd.read_csv(filepath).rename(columns={'*r':'r', 'ba':'r'}).set_index('r') else: - ## TEMPORARY 20260402: Use deprecated hierarchy inputs. - ## Use the line below once we make the switch: - # hierarchy = assemble_hierarchy(case=case, **kwargs).set_index('r') - sw = reeds.io.get_switches(**kwargs) - filepath = Path( - reeds.io.reeds_path, 'inputs', 'zones', sw.GSw_ZoneSet, 'hierarchy_from134.csv', - ) - hierarchy = pd.read_csv(filepath).rename(columns={'*r':'r', 'ba':'r'}).set_index('r') + hierarchy = assemble_hierarchy(case=case, **kwargs).set_index('r') return hierarchy @@ -178,14 +172,59 @@ def get_county2zone( if as_map: dfout = dfin.set_index('FIPS')['r'] - else: + elif case is None: fpath_countystate = Path(reeds.io.reeds_path, 'inputs', 'zones', 'county_state.csv') county_state = pd.read_csv(fpath_countystate, dtype=str) dfout = dfin.merge(county_state, on='FIPS', how='left') + else: + dfout = dfin return dfout +def get_county_zones( + case: str | Path | None = None, + **kwargs +) -> list[str]: + """ + Get the set of county-level zones corresponding to a given zone set. + Reads from the inputs_case folder if {case} is provided or from the + default set of inputs (with key word arguments overriding case + switches, e.g., "GSw_ZoneSet") otherwise. + + Args: + case: Path to a ReEDS case. + + Returns: + list[str] + """ + county2zone = get_county2zone(case, as_map=True, **kwargs) + county_zones = ( + county2zone[county2zone == 'p' + county2zone.index] + .tolist() + ) + + return county_zones + +def has_county_zones( + case: str | Path | None = None, + **kwargs +) -> bool: + """ + Determine whether a zone set has county-level zones. + Reads from the inputs_case folder if {case} is provided or from + the default set of inputs (with key word arguments overriding + case switches, e.g., "GSw_ZoneSet") otherwise. + + Args: + case: Path to a ReEDS case. + + Returns: + bool + """ + county_zones = get_county_zones(case, **kwargs) + return len(county_zones) > 0 + def get_zone_nodes(case=None, crs='ESRI:102008', **kwargs): """Get the transmission node for each model zone""" @@ -1510,10 +1549,7 @@ def assemble_supplycurve( ## Drop reinforcement cost for counties if case is not None: - agglevel_variables = reeds.spatial.get_agglevel_variables( - reeds_path, os.path.join(case, 'inputs_case') - ) - counties = agglevel_variables['county_regions'] + counties = get_county_zones(case) else: counties = [] if len(counties): diff --git a/reeds/reedsplots.py b/reeds/reedsplots.py index 45c58518..bdcd63c6 100644 --- a/reeds/reedsplots.py +++ b/reeds/reedsplots.py @@ -1718,13 +1718,12 @@ def plot_prmtrade( val_r = reeds.io.read_input(case, 'r').squeeze(1).tolist() dfba = dfba.loc[val_r].copy() - if sw.get('GSw_RegionResolution', 'ba') != 'county': - endpoints = reeds.plots.df2gdf( - reeds.io.assemble_hierarchy(case).set_index('r'), - lat='node_lat', lon='node_lon', - ) - dfba['x'] = dfba.index.map(endpoints.centroid.x) - dfba['y'] = dfba.index.map(endpoints.centroid.y) + endpoints = reeds.plots.df2gdf( + reeds.io.get_hierarchy(case), + lat='node_lat', lon='node_lon', + ) + dfba['x'] = dfba.index.map(endpoints.centroid.x) + dfba['y'] = dfba.index.map(endpoints.centroid.y) ### Get scaling and layout _vmax = dfplot.MW.abs().max() if vmax in [None, 0, 0.] else vmax @@ -5773,15 +5772,9 @@ def plot_capacity_offline( ### Get temperatures temperatures = reeds.io.get_temperatures(case) - ## Aggregate if necessary + ### Get switches sw = reeds.io.get_switches(case) - if sw['GSw_RegionResolution'] == 'aggreg': - r2aggreg = pd.read_csv( - os.path.join(case, 'inputs_case', 'hierarchy_original.csv') - ).rename(columns={'ba':'r'}).set_index('r').aggreg - temperatures = temperatures.rename(columns=r2aggreg) - hierarchy = reeds.io.get_hierarchy(case) r2level = hierarchy[level] diff --git a/reeds/resource_adequacy/prep_data.py b/reeds/resource_adequacy/prep_data.py index c27637ad..8a591a00 100644 --- a/reeds/resource_adequacy/prep_data.py +++ b/reeds/resource_adequacy/prep_data.py @@ -510,10 +510,7 @@ def intify(v): ).round().astype(int).rename_axis('r').rename('mw') ## Turn off for counties by setting to zero (zeros in this file mean the max unit ## size is not enforced for that region in ReEDS2PRAS) - agglevel_variables = reeds.spatial.get_agglevel_variables( - reeds.io.reeds_path, os.path.join(casedir, 'inputs_case') - ) - counties = agglevel_variables['county_regions'] + counties = reeds.io.get_county_zones(casedir) if len(counties): csvout['max_unitsize'].loc[counties] = 0 diff --git a/reeds/resource_adequacy/reeds2pras/src/utils/reeds_data_parsing.jl b/reeds/resource_adequacy/reeds2pras/src/utils/reeds_data_parsing.jl index 23597d12..47d596dd 100644 --- a/reeds/resource_adequacy/reeds2pras/src/utils/reeds_data_parsing.jl +++ b/reeds/resource_adequacy/reeds2pras/src/utils/reeds_data_parsing.jl @@ -876,7 +876,7 @@ function disagg_existing_capacity( tech_ba_year_existing = DataFrames.subset( unitdata, :tech => DataFrames.ByRow(==(tech)), - :reeds_ba => DataFrames.ByRow(==(pca)), + :r => DataFrames.ByRow(==(pca)), :RetireYear => DataFrames.ByRow(>(year)), :StartYear => DataFrames.ByRow(<=(year)), ) diff --git a/reeds/results.py b/reeds/results.py index a475cfe5..695b5149 100644 --- a/reeds/results.py +++ b/reeds/results.py @@ -583,25 +583,18 @@ def calc_reinforcement_spur_capacity_miles(case): .sort_values(by=['r', 'trtype', 'year']) ) - if sw['GSw_RegionResolution'] in ['county', 'mixed']: - """ - Due to some old ReEDS outputs runs we need to zero out - the reinforcement line for county level regions - (This can be removed in the future if countly level - supply curves get reinforcement distance zeroed out) - """ - # Get county level regions - county_regions = pd.read_csv( - os.path.join(inputs_case, 'county2zone.csv'), - dtype={'FIPS':str}, - ) - - county_regions['county'] = 'p' + county_regions.FIPS - + """ + Due to some old ReEDS outputs runs we need to zero out + the reinforcement line for county level regions + (This can be removed in the future if county level + supply curves get reinforcement distance zeroed out) + """ + county_regions = reeds.io.get_county_zones(case) + if len(county_regions): # Set reinforcement distance to zero for county level regions tech_trans_out = tech_trans_out.loc[ ~( - tech_trans_out.r.isin(county_regions['county']) + tech_trans_out.r.isin(county_regions) & (tech_trans_out.trtype == 'reinforcement') ) ] @@ -654,7 +647,7 @@ def calc_transmission_capacity(case,levels): # pull intra and interregional transmission data into dictionaries for processing dict_inter = {} level_map = get_level_map(case) - hierarchy = reeds.io.get_hierarchy(case) + hierarchy = reeds.io.assemble_hierarchy(case) for level in levels: # Translate the level to a cleaner spatial resolution for publishing csvs. Ex. st --> State, transgrp --> Transmission Planning Subregion. @@ -716,10 +709,6 @@ def get_level_map(case): level_map = pd.read_csv( os.path.join(reeds_path, 'postprocessing', 'plots', 'level_map.csv'), index_col='raw').squeeze(1) - - # add a value to level map for 'r' based on the spatial resolution of the run - sw = reeds.io.get_switches(case) - level_map['r'] = level_map.get(sw.GSw_RegionResolution) return level_map diff --git a/reeds/spatial.py b/reeds/spatial.py index cbaa0a9b..c0b81a0d 100644 --- a/reeds/spatial.py +++ b/reeds/spatial.py @@ -8,128 +8,6 @@ import reeds -def get_agglevel_variables(reeds_path, inputs_case): - ''' - This function produces a dictionary with an assortment of variables that are necessary for - mixed resolution runs. - - ReEDS supports multiple agglevels - The 'lvl' variable is set to 'mult' for instances where county is included as a desired resolution. - This ensures that both BA and county data are copied to the inputs_case folder - The 'lvl' variable also ensures that BA and larger spatial aggregations use BA data and procedure - - ###### variables output by function: ####### - lvl - indicator if one of the desired resolutions in a mixed resolution run is county or not - agglevel - single or multiple values to indicate resolution(s) - ba_regions - list of regions in a mixed resolution run that use BA resolution data - county_regions - list of regions in a mixed resolution run that use county resolution data - county_regions2ba - map county resolution regions to their BA - BA_county_list - list of counties that belong to regions being solved at BA - BA_2_county - map counties that belong to BA resolution regions back to their BA - ba_transgrp - list of transgroups associated with regions being solved at ba resolution - county_transgrp - list of transgroups associated with regions being solved at ba resolution - - ''' - - agglevel = pd.read_csv(os.path.join(inputs_case, 'agglevels.csv')) - - if len(agglevel) > 1: - agglevel = agglevel.squeeze().tolist() - else: - agglevel = agglevel.squeeze().split() - - # Compile lists of regions in the run to be considered at ba level - hierarchy = pd.read_csv( - os.path.join(inputs_case, 'hierarchy_with_res.csv'), usecols=['*r', 'resolution'] - ) - hierarchy_org = pd.read_csv(os.path.join(inputs_case, 'hierarchy_original.csv')) - rb_aggreg = pd.read_csv(os.path.join(inputs_case, 'rb_aggreg.csv')) - ba_regions = hierarchy[hierarchy['resolution'] == 'ba']['*r'].to_list() - aggreg_regions = hierarchy[hierarchy['resolution'] == 'aggreg']['*r'].to_list() - aggreg_regions2ba = hierarchy_org[hierarchy_org['aggreg'].isin(aggreg_regions)]['ba'].to_list() - ba_regions = list(set(ba_regions + aggreg_regions + aggreg_regions2ba)) - transgrp_regions_ba = list(set(hierarchy_org[hierarchy_org['ba'].isin(ba_regions)]['transgrp'])) - - ### Procedure for handling mixed-resolution ReEDS runs - if len(agglevel) > 1: - if 'county' in agglevel: - lvl = 'mult' - else: - lvl = 'ba' - - # Create dictionaries which map county resolution regions to their BAs and which map - # the counties of BA resolution regions to their BA - # These lists/dictionaries are necessary to filter county and BA resolution data correctly - - if 'county' in agglevel: - county_regions = hierarchy[hierarchy['resolution'] == 'county']['*r'].to_list() - r_ba = pd.read_csv(os.path.join(inputs_case, 'r_ba.csv')) - r_ba_dict = r_ba.set_index('r')['ba'].to_dict() - # List of BAs associated with county resolution regions - county_regions2ba = pd.DataFrame(county_regions)[0].map(r_ba_dict).unique().tolist() - # Need list of transgrps associated with regions being solved at county resolution - transgrp_regions_county = list( - set(hierarchy_org[hierarchy_org['ba'].isin(county_regions2ba)]['transgrp']) - ) - # Need county2zone - ## TEMPORARY 20260402 - county2zone = reeds.io.get_county2zone(GSw_ZoneSet='z134', as_map=False) - # Need to create mapping between aggreg and county - if 'aggreg' in agglevel: - county2zone = county2zone[county2zone['r'].isin(rb_aggreg['ba'])] - county2zone['ba'] = county2zone['r'].map( - rb_aggreg.set_index('ba')['aggreg'].to_dict() - ) - # Add BAs associated with aggreg regions to ba_regions list - aggreg_regions_2_ba = [ - x - for x in rb_aggreg['ba'] - if x not in aggreg_regions and x not in county_regions2ba - ] - ba_regions = list(set(ba_regions + aggreg_regions_2_ba)) - # Create list of counties that belong to regions being solved at BA - BA_county_list = county2zone[county2zone['r'].isin(ba_regions)].copy() - BA_county_list.loc[:,'FIPS'] = 'p' + BA_county_list['FIPS'].astype(str) - # Map these counties to their BA - BA_2_county = BA_county_list.set_index('FIPS')['r'].to_dict() - BA_county_list = BA_county_list['FIPS'].tolist() - - ### Procedure for handling single-resolution ReEDS runs - else: - agglevel = agglevel[0] - lvl = 'ba' if agglevel in ['ba', 'aggreg'] else 'county' - - if lvl == 'county': - county_regions = hierarchy[hierarchy['resolution'] == 'county']['*r'].to_list() - r_ba = pd.read_csv(os.path.join(inputs_case, 'r_ba.csv')) - r_ba_dict = r_ba.set_index('r')['ba'].to_dict() - # List of BAs associated with county resolution regions - county_regions2ba = pd.DataFrame(county_regions)[0].map(r_ba_dict).unique().tolist() - transgrp_regions_county = list( - set(hierarchy_org[hierarchy_org['ba'].isin(county_regions2ba)]['transgrp']) - ) - - else: - county_regions = [] - county_regions2ba = [] - transgrp_regions_county = [] - - BA_county_list = [] - BA_2_county = [] - - return { - 'lvl': lvl, - 'agglevel': agglevel, - 'ba_regions': ba_regions, - 'county_regions': county_regions, - 'county_regions2ba': county_regions2ba, - 'BA_county_list': BA_county_list, - 'BA_2_county': BA_2_county, - 'ba_transgrp': transgrp_regions_ba, - 'county_transgrp': transgrp_regions_county, - } - - def assign_to_offshore_zones(unitdata): """Map offshore wind units to offshore zones based on lat/lon and zone outlines""" ### Get offshore zones @@ -146,7 +24,7 @@ def assign_to_offshore_zones(unitdata): index2offshorezone = dfwind.sjoin_nearest(dfzones, max_distance=1e5)['index_right'] dfout = unitdata.copy() - dfout.loc[index2offshorezone.index, 'reeds_ba'] = index2offshorezone.values + dfout.loc[index2offshorezone.index, 'r'] = index2offshorezone.values return dfout diff --git a/runreeds.py b/runreeds.py index e0628622..d4d65fcd 100644 --- a/runreeds.py +++ b/runreeds.py @@ -144,7 +144,7 @@ def get_ivt_numclass(reeds_path, casedir, caseSwitches): return numclass -def get_rev_paths(revswitches, caseSwitches): +def get_rev_paths(revswitches): # Expand on reV path based on where this run is happening # when running on the HPC this links to the shared-projects folder hpc = True if (int(os.environ.get('REEDS_USE_SLURM',0))) else False @@ -169,15 +169,10 @@ def get_rev_paths(revswitches, caseSwitches): revswitches['rev_path'] = revswitches.apply(lambda row: os.path.join(row.sc_path, "reV", row.rev_case), axis=1) # link to the pre-processed reV supply curves from hourlize - def get_rev_sc_file_name(caseSwitches, rev_row, use_hpc=False): + def get_rev_sc_file_name(rev_row, use_hpc=False): if pd.isnull(rev_row.original_sc_file): return "" else: - if caseSwitches['GSw_RegionResolution'] == "county": - sc_folder_suffix = "_county" - else: - sc_folder_suffix = "_ba" - # link to HPC or other sc_path if use_hpc: sc_path = rev_row.hpc_sc_path @@ -187,13 +182,13 @@ def get_rev_sc_file_name(caseSwitches, rev_row, use_hpc=False): # supply curve name should be in format of {tech}_rev_supply_curves_raw.csv # in the hourlize results folder (must match format in 'save_sc_outputs' function of hourlize/resource.py) sc_file = os.path.join(sc_path, - rev_row.tech + "_" + rev_row.access_case + sc_folder_suffix, + rev_row.tech + "_" + rev_row.access_case + "_ba", "results", rev_row.tech + "_supply_curve_raw.csv" ) return sc_file - revswitches['sc_file'] = revswitches.apply(lambda row: get_rev_sc_file_name(caseSwitches, row), axis=1) - revswitches['hpc_sc_file'] = revswitches.apply(lambda row: get_rev_sc_file_name(caseSwitches, row, use_hpc=True), axis=1) + revswitches['sc_file'] = revswitches.apply(lambda row: get_rev_sc_file_name(row), axis=1) + revswitches['hpc_sc_file'] = revswitches.apply(lambda row: get_rev_sc_file_name(row, use_hpc=True), axis=1) return revswitches @@ -291,7 +286,7 @@ def check_compatibility(sw): f"GSw_Region={sw['GSw_Region']}, GSw_GasCurve={sw['GSw_GasCurve']}" ) - if sw['GSw_RegionResolution'] in ['county','mixed']: + if reeds.io.has_county_zones(GSw_ZoneSet=sw['GSw_ZoneSet']): err_switch_configs = [] if sw['GSw_LoadAllocationMethod'] == 'state_lpf': err_switch_configs.append('GSw_LoadAllocationMethod=state_lpf') @@ -305,13 +300,6 @@ def check_compatibility(sw): reeds.inputs.validate_zoneset(sw['GSw_ZoneSet']) - ### Aggregation - if (sw['GSw_RegionResolution'] != 'aggreg') and (int(sw['GSw_NumCSPclasses']) != 12): - raise NotImplementedError( - 'Aggregated CSP classes only work with aggregated regions. ' - 'GSw_NumCSPclasses is incompatible with ' - 'GSw_RegionResolution != aggreg') - ### Parsed string switches ## Automatic inputs reeds_path = os.path.dirname(__file__) @@ -458,8 +446,7 @@ def check_compatibility(sw): raise ValueError(err) # Add a row for each county - ## TEMPORARY 20260402 until the aggregation procedure is updated - county2zone = reeds.io.get_county2zone(GSw_ZoneSet='z134', as_map=False) + county2zone = reeds.io.get_county2zone(GSw_ZoneSet=sw['GSw_ZoneSet'], as_map=False) county2zone['county'] = 'p' + county2zone.FIPS # Add county info to hierarchy hierarchy = hierarchy.merge(county2zone.drop(columns=['FIPS','state']), on='r') @@ -1158,7 +1145,7 @@ def write_batch_script( revswitches = revswitches.merge(binSwitches, on=['tech'], how='left') # format rev paths - revswitches = get_rev_paths(revswitches, caseSwitches) + revswitches = get_rev_paths(revswitches) # save rev paths file for run revswitches[['tech','access_switch','access_case','rev_case','bins','sc_path', From bac78924ad3ebc511953bbbfba54212f09fa73b5 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 10:10:53 -0400 Subject: [PATCH 02/33] Delete hierarchy_from134.csv files --- inputs/zones/PJMcounty/hierarchy_from134.csv | 135 ------------------- inputs/zones/README.md | 1 - inputs/zones/UTcounty/hierarchy_from134.csv | 135 ------------------- inputs/zones/z132/hierarchy_from134.csv | 135 ------------------- inputs/zones/z134/hierarchy_from134.csv | 135 ------------------- inputs/zones/z3109/hierarchy_from134.csv | 135 ------------------- inputs/zones/z48/hierarchy_from134.csv | 135 ------------------- inputs/zones/z54/hierarchy_from134.csv | 135 ------------------- inputs/zones/z69/hierarchy_from134.csv | 135 ------------------- 9 files changed, 1081 deletions(-) delete mode 100644 inputs/zones/PJMcounty/hierarchy_from134.csv delete mode 100644 inputs/zones/UTcounty/hierarchy_from134.csv delete mode 100644 inputs/zones/z132/hierarchy_from134.csv delete mode 100644 inputs/zones/z134/hierarchy_from134.csv delete mode 100644 inputs/zones/z3109/hierarchy_from134.csv delete mode 100644 inputs/zones/z48/hierarchy_from134.csv delete mode 100644 inputs/zones/z54/hierarchy_from134.csv delete mode 100644 inputs/zones/z69/hierarchy_from134.csv diff --git a/inputs/zones/PJMcounty/hierarchy_from134.csv b/inputs/zones/PJMcounty/hierarchy_from134.csv deleted file mode 100644 index c1b5a1a7..00000000 --- a/inputs/zones/PJMcounty/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Puget_Sound_Energy_Inc,p1 -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,p2 -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Avista_Corp,p3 -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,PUD_No2_of_Grant_County,p4 -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p5 -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,PacifiCorp_West,p6 -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p7 -p8,WECC_NW,NorthernGrid,NorthernGrid_South,Pacific,CA,western,USA,pacific,California,PacifiCorp_West,p8 -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p9 -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p10 -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p11 -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p12 -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p13 -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Avista_Corp,p14 -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p15 -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p16 -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p17 -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p18 -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,WAPA_Upper_Great_Plains_West,p19 -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p20 -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p21 -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p22 -p23,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p23 -p24,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p24 -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p25 -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p26 -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,WAPA_Desert_Southwest_Region,p27 -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,p29 -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,p31 -p32,WECC_NW,WestConnect,WestConnect_North,Mountain,SD,western,USA,northern-plains,Plains,WAPA_Rocky_Mountain_Region,p32 -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p33 -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p34 -p35,SPP,SPP,SPP_North,West_North_Central,MT,eastern,USA,mountain,Mountain,SPP,p35 -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,p36 -p37,MISO,MISO,MISO_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,MISO,p37 -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,p38 -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p39 -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p40 -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p41 -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p42 -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p43 -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p44 -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p45 -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p46 -p47,SPP,SPP,SPP_South,West_South_Central,NM,eastern,USA,mountain,Southwest,SPP,p47 -p48,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p48 -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p49 -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p50 -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p51 -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p52 -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p53 -p54,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p54 -p55,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p55 -p56,SPP,SPP,SPP_South,West_South_Central,AR,eastern,USA,delta-states,Delta,SPP,p56 -p57,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p57 -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p58 -p59,WECC_SW,WestConnect,WestConnect_South,Mountain,TX,western,USA,southern-plains,Texas,El_Paso_Electric,p59 -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p60 -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p61 -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p62 -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p63 -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p64 -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p65 -p66,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,p66 -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p67 -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p68 -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p69 -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p70 -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p71 -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p72 -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p73 -p74,MISO,MISO,MISO_North,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p74 -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p75 -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p76 -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p77 -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p78 -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p79 -p80,PJM,PJM,PJM_West,East_North_Central,IL,eastern,USA,corn-belt,Midwest,PJM,p80 -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p81 -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p82 -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p83 -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p84 -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,p85 -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p86 -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,p87 -p88,SERC_C,SERTP,SERTP,East_South_Central,MS,eastern,USA,delta-states,Delta,Tennessee_Valley_Authority,p88 -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p89 -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,p90 -p91,SERC_SE,SERTP,SERTP,South_Atlantic,FL,eastern,USA,southeast,Florida,Southern_Co_Services_Inc,p91 -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,p92 -p93,SERC_C,SERTP,SERTP,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,Tennessee_Valley_Authority,p93 -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p94 -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,p95 -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,South_Carolina_Electric_Gas_Co,p96 -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,p97 -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Progress_East,p98 -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p99 -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p100 -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,p101 -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Florida_Power_and_Light,p102 -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p103 -p104,PJM,PJM,PJM_West,East_North_Central,MI,eastern,USA,lake-states,Midwest,PJM,p104 -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p105 -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p106 -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p107 -p108,MISO,MISO,MISO_Central,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,MISO,p108 -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p109 -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p110 -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p111 -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p112 -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p113 -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p114 -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p115 -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p116 -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p117 -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p118 -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p120 -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p121 -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p123 -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p124 -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,p125 -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,p126 -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p127 -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p128 -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,p129 -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,p130 -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,p131 -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,p132 -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,p133 -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,p134 diff --git a/inputs/zones/README.md b/inputs/zones/README.md index 00fc6295..09f285cd 100644 --- a/inputs/zones/README.md +++ b/inputs/zones/README.md @@ -6,7 +6,6 @@ Model zones are defined by the following user-generated files: - `hierarchy.csv`: Maps from ReEDS zones (`r` column) to the larger region hierarchy levels - `b2b.csv`: Back-to-back converter (B2B) capacity [MW] between model zones - `newlinks_offshore_radial.csv`: Candiate connections between offshore and coastal land-based zones -- TEMPORARY 20260402: `hierarchy_from134.csv`: The legacy-formatted `hierarchy.csv` file from the 134-zone version of ReEDS (will be removed once the rest of the spatial input processing is updated) And the following automatically generated files: diff --git a/inputs/zones/UTcounty/hierarchy_from134.csv b/inputs/zones/UTcounty/hierarchy_from134.csv deleted file mode 100644 index c1b5a1a7..00000000 --- a/inputs/zones/UTcounty/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Puget_Sound_Energy_Inc,p1 -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,p2 -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Avista_Corp,p3 -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,PUD_No2_of_Grant_County,p4 -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p5 -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,PacifiCorp_West,p6 -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p7 -p8,WECC_NW,NorthernGrid,NorthernGrid_South,Pacific,CA,western,USA,pacific,California,PacifiCorp_West,p8 -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p9 -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p10 -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p11 -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p12 -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p13 -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Avista_Corp,p14 -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p15 -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p16 -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p17 -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p18 -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,WAPA_Upper_Great_Plains_West,p19 -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p20 -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p21 -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p22 -p23,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p23 -p24,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p24 -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p25 -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p26 -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,WAPA_Desert_Southwest_Region,p27 -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,p29 -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,p31 -p32,WECC_NW,WestConnect,WestConnect_North,Mountain,SD,western,USA,northern-plains,Plains,WAPA_Rocky_Mountain_Region,p32 -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p33 -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p34 -p35,SPP,SPP,SPP_North,West_North_Central,MT,eastern,USA,mountain,Mountain,SPP,p35 -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,p36 -p37,MISO,MISO,MISO_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,MISO,p37 -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,p38 -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p39 -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p40 -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p41 -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p42 -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p43 -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p44 -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p45 -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p46 -p47,SPP,SPP,SPP_South,West_South_Central,NM,eastern,USA,mountain,Southwest,SPP,p47 -p48,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p48 -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p49 -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p50 -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p51 -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p52 -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p53 -p54,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p54 -p55,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p55 -p56,SPP,SPP,SPP_South,West_South_Central,AR,eastern,USA,delta-states,Delta,SPP,p56 -p57,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p57 -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p58 -p59,WECC_SW,WestConnect,WestConnect_South,Mountain,TX,western,USA,southern-plains,Texas,El_Paso_Electric,p59 -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p60 -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p61 -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p62 -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p63 -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p64 -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p65 -p66,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,p66 -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p67 -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p68 -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p69 -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p70 -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p71 -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p72 -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p73 -p74,MISO,MISO,MISO_North,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p74 -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p75 -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p76 -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p77 -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p78 -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p79 -p80,PJM,PJM,PJM_West,East_North_Central,IL,eastern,USA,corn-belt,Midwest,PJM,p80 -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p81 -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p82 -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p83 -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p84 -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,p85 -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p86 -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,p87 -p88,SERC_C,SERTP,SERTP,East_South_Central,MS,eastern,USA,delta-states,Delta,Tennessee_Valley_Authority,p88 -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p89 -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,p90 -p91,SERC_SE,SERTP,SERTP,South_Atlantic,FL,eastern,USA,southeast,Florida,Southern_Co_Services_Inc,p91 -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,p92 -p93,SERC_C,SERTP,SERTP,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,Tennessee_Valley_Authority,p93 -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p94 -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,p95 -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,South_Carolina_Electric_Gas_Co,p96 -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,p97 -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Progress_East,p98 -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p99 -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p100 -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,p101 -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Florida_Power_and_Light,p102 -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p103 -p104,PJM,PJM,PJM_West,East_North_Central,MI,eastern,USA,lake-states,Midwest,PJM,p104 -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p105 -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p106 -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p107 -p108,MISO,MISO,MISO_Central,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,MISO,p108 -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p109 -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p110 -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p111 -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p112 -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p113 -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p114 -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p115 -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p116 -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p117 -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p118 -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p120 -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p121 -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p123 -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p124 -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,p125 -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,p126 -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p127 -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p128 -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,p129 -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,p130 -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,p131 -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,p132 -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,p133 -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,p134 diff --git a/inputs/zones/z132/hierarchy_from134.csv b/inputs/zones/z132/hierarchy_from134.csv deleted file mode 100644 index c1b5a1a7..00000000 --- a/inputs/zones/z132/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Puget_Sound_Energy_Inc,p1 -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,p2 -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Avista_Corp,p3 -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,PUD_No2_of_Grant_County,p4 -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p5 -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,PacifiCorp_West,p6 -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p7 -p8,WECC_NW,NorthernGrid,NorthernGrid_South,Pacific,CA,western,USA,pacific,California,PacifiCorp_West,p8 -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p9 -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p10 -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p11 -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p12 -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p13 -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Avista_Corp,p14 -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p15 -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p16 -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p17 -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p18 -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,WAPA_Upper_Great_Plains_West,p19 -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p20 -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p21 -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p22 -p23,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p23 -p24,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p24 -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p25 -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p26 -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,WAPA_Desert_Southwest_Region,p27 -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,p29 -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,p31 -p32,WECC_NW,WestConnect,WestConnect_North,Mountain,SD,western,USA,northern-plains,Plains,WAPA_Rocky_Mountain_Region,p32 -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p33 -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p34 -p35,SPP,SPP,SPP_North,West_North_Central,MT,eastern,USA,mountain,Mountain,SPP,p35 -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,p36 -p37,MISO,MISO,MISO_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,MISO,p37 -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,p38 -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p39 -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p40 -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p41 -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p42 -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p43 -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p44 -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p45 -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p46 -p47,SPP,SPP,SPP_South,West_South_Central,NM,eastern,USA,mountain,Southwest,SPP,p47 -p48,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p48 -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p49 -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p50 -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p51 -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p52 -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p53 -p54,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p54 -p55,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p55 -p56,SPP,SPP,SPP_South,West_South_Central,AR,eastern,USA,delta-states,Delta,SPP,p56 -p57,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p57 -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p58 -p59,WECC_SW,WestConnect,WestConnect_South,Mountain,TX,western,USA,southern-plains,Texas,El_Paso_Electric,p59 -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p60 -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p61 -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p62 -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p63 -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p64 -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p65 -p66,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,p66 -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p67 -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p68 -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p69 -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p70 -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p71 -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p72 -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p73 -p74,MISO,MISO,MISO_North,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p74 -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p75 -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p76 -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p77 -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p78 -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p79 -p80,PJM,PJM,PJM_West,East_North_Central,IL,eastern,USA,corn-belt,Midwest,PJM,p80 -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p81 -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p82 -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p83 -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p84 -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,p85 -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p86 -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,p87 -p88,SERC_C,SERTP,SERTP,East_South_Central,MS,eastern,USA,delta-states,Delta,Tennessee_Valley_Authority,p88 -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p89 -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,p90 -p91,SERC_SE,SERTP,SERTP,South_Atlantic,FL,eastern,USA,southeast,Florida,Southern_Co_Services_Inc,p91 -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,p92 -p93,SERC_C,SERTP,SERTP,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,Tennessee_Valley_Authority,p93 -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p94 -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,p95 -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,South_Carolina_Electric_Gas_Co,p96 -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,p97 -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Progress_East,p98 -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p99 -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p100 -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,p101 -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Florida_Power_and_Light,p102 -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p103 -p104,PJM,PJM,PJM_West,East_North_Central,MI,eastern,USA,lake-states,Midwest,PJM,p104 -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p105 -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p106 -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p107 -p108,MISO,MISO,MISO_Central,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,MISO,p108 -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p109 -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p110 -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p111 -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p112 -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p113 -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p114 -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p115 -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p116 -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p117 -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p118 -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p120 -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p121 -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p123 -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p124 -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,p125 -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,p126 -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p127 -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p128 -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,p129 -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,p130 -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,p131 -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,p132 -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,p133 -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,p134 diff --git a/inputs/zones/z134/hierarchy_from134.csv b/inputs/zones/z134/hierarchy_from134.csv deleted file mode 100644 index c1b5a1a7..00000000 --- a/inputs/zones/z134/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Puget_Sound_Energy_Inc,p1 -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,p2 -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Avista_Corp,p3 -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,PUD_No2_of_Grant_County,p4 -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p5 -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,PacifiCorp_West,p6 -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p7 -p8,WECC_NW,NorthernGrid,NorthernGrid_South,Pacific,CA,western,USA,pacific,California,PacifiCorp_West,p8 -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p9 -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p10 -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p11 -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p12 -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p13 -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Avista_Corp,p14 -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p15 -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p16 -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p17 -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p18 -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,WAPA_Upper_Great_Plains_West,p19 -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p20 -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p21 -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p22 -p23,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p23 -p24,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p24 -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p25 -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p26 -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,WAPA_Desert_Southwest_Region,p27 -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,p29 -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,p31 -p32,WECC_NW,WestConnect,WestConnect_North,Mountain,SD,western,USA,northern-plains,Plains,WAPA_Rocky_Mountain_Region,p32 -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p33 -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p34 -p35,SPP,SPP,SPP_North,West_North_Central,MT,eastern,USA,mountain,Mountain,SPP,p35 -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,p36 -p37,MISO,MISO,MISO_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,MISO,p37 -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,p38 -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p39 -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p40 -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p41 -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p42 -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p43 -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p44 -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p45 -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p46 -p47,SPP,SPP,SPP_South,West_South_Central,NM,eastern,USA,mountain,Southwest,SPP,p47 -p48,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p48 -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p49 -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p50 -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p51 -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p52 -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p53 -p54,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p54 -p55,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p55 -p56,SPP,SPP,SPP_South,West_South_Central,AR,eastern,USA,delta-states,Delta,SPP,p56 -p57,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p57 -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p58 -p59,WECC_SW,WestConnect,WestConnect_South,Mountain,TX,western,USA,southern-plains,Texas,El_Paso_Electric,p59 -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p60 -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p61 -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p62 -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p63 -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p64 -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p65 -p66,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,p66 -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p67 -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p68 -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p69 -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p70 -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p71 -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p72 -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p73 -p74,MISO,MISO,MISO_North,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p74 -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p75 -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p76 -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p77 -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p78 -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p79 -p80,PJM,PJM,PJM_West,East_North_Central,IL,eastern,USA,corn-belt,Midwest,PJM,p80 -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p81 -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p82 -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p83 -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p84 -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,p85 -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p86 -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,p87 -p88,SERC_C,SERTP,SERTP,East_South_Central,MS,eastern,USA,delta-states,Delta,Tennessee_Valley_Authority,p88 -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p89 -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,p90 -p91,SERC_SE,SERTP,SERTP,South_Atlantic,FL,eastern,USA,southeast,Florida,Southern_Co_Services_Inc,p91 -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,p92 -p93,SERC_C,SERTP,SERTP,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,Tennessee_Valley_Authority,p93 -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p94 -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,p95 -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,South_Carolina_Electric_Gas_Co,p96 -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,p97 -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Progress_East,p98 -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p99 -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p100 -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,p101 -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Florida_Power_and_Light,p102 -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p103 -p104,PJM,PJM,PJM_West,East_North_Central,MI,eastern,USA,lake-states,Midwest,PJM,p104 -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p105 -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p106 -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p107 -p108,MISO,MISO,MISO_Central,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,MISO,p108 -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p109 -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p110 -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p111 -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p112 -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p113 -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p114 -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p115 -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p116 -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p117 -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p118 -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p120 -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p121 -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p123 -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p124 -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,p125 -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,p126 -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p127 -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p128 -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,p129 -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,p130 -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,p131 -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,p132 -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,p133 -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,p134 diff --git a/inputs/zones/z3109/hierarchy_from134.csv b/inputs/zones/z3109/hierarchy_from134.csv deleted file mode 100644 index c1b5a1a7..00000000 --- a/inputs/zones/z3109/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Puget_Sound_Energy_Inc,p1 -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,p2 -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Avista_Corp,p3 -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,PUD_No2_of_Grant_County,p4 -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p5 -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,PacifiCorp_West,p6 -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,p7 -p8,WECC_NW,NorthernGrid,NorthernGrid_South,Pacific,CA,western,USA,pacific,California,PacifiCorp_West,p8 -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p9 -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p10 -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,p11 -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p12 -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,p13 -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Avista_Corp,p14 -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p15 -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,p16 -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p17 -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p18 -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,WAPA_Upper_Great_Plains_West,p19 -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,p20 -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p21 -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,p22 -p23,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p23 -p24,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,p24 -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p25 -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,p26 -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,WAPA_Desert_Southwest_Region,p27 -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,p29 -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,z28 -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,p31 -p32,WECC_NW,WestConnect,WestConnect_North,Mountain,SD,western,USA,northern-plains,Plains,WAPA_Rocky_Mountain_Region,p32 -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p33 -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,p34 -p35,SPP,SPP,SPP_North,West_North_Central,MT,eastern,USA,mountain,Mountain,SPP,p35 -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,p36 -p37,MISO,MISO,MISO_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,MISO,p37 -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,p38 -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p39 -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p40 -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,p41 -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p42 -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p43 -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p44 -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p45 -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p46 -p47,SPP,SPP,SPP_South,West_South_Central,NM,eastern,USA,mountain,Southwest,SPP,p47 -p48,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p48 -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p49 -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p50 -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,p51 -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p52 -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,p53 -p54,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p54 -p55,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,p55 -p56,SPP,SPP,SPP_South,West_South_Central,AR,eastern,USA,delta-states,Delta,SPP,p56 -p57,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,p57 -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p58 -p59,WECC_SW,WestConnect,WestConnect_South,Mountain,TX,western,USA,southern-plains,Texas,El_Paso_Electric,p59 -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p60 -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p61 -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p62 -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p63 -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p64 -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p65 -p66,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,p66 -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,p67 -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,p68 -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p69 -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,p70 -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p71 -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p72 -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p73 -p74,MISO,MISO,MISO_North,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p74 -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p75 -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p76 -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p77 -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p78 -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,p79 -p80,PJM,PJM,PJM_West,East_North_Central,IL,eastern,USA,corn-belt,Midwest,PJM,p80 -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p81 -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p82 -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,p83 -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,p84 -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,p85 -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,p86 -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,p87 -p88,SERC_C,SERTP,SERTP,East_South_Central,MS,eastern,USA,delta-states,Delta,Tennessee_Valley_Authority,p88 -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p89 -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,p90 -p91,SERC_SE,SERTP,SERTP,South_Atlantic,FL,eastern,USA,southeast,Florida,Southern_Co_Services_Inc,p91 -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,p92 -p93,SERC_C,SERTP,SERTP,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,Tennessee_Valley_Authority,p93 -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,p94 -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,p95 -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,South_Carolina_Electric_Gas_Co,p96 -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,p97 -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Progress_East,p98 -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p99 -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p100 -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,p101 -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Florida_Power_and_Light,p102 -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,p103 -p104,PJM,PJM,PJM_West,East_North_Central,MI,eastern,USA,lake-states,Midwest,PJM,p104 -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p105 -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p106 -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,p107 -p108,MISO,MISO,MISO_Central,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,MISO,p108 -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p109 -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,p110 -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p111 -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p112 -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p113 -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,p114 -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p115 -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p116 -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,p117 -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p118 -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,p120 -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p121 -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,z122 -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,p123 -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,p124 -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,p125 -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,p126 -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p127 -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,p128 -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,p129 -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,p130 -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,p131 -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,p132 -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,p133 -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,p134 diff --git a/inputs/zones/z48/hierarchy_from134.csv b/inputs/zones/z48/hierarchy_from134.csv deleted file mode 100644 index c0275442..00000000 --- a/inputs/zones/z48/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p8,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,NV -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,NV -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p23,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p24,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,UT -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,UT -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,NM -p32,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,SD -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,CO -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,CO -p35,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,ND -p37,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,ND -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,SD -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p47,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,NM -p48,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,KS -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,KS -p54,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p55,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p56,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,AR -p57,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,LA -p59,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p66,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p74,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p80,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,AR -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,LA -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,MS -p88,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,MS -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,AL -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,AL -p91,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,TN -p93,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,GA -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,SC -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,SC -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,NC -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,NC -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI -p104,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p108,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,WV -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,WV -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,MD -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,MD -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,DE -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,NJ -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,NY -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,NY -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,VT -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,NH -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,MA -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,CT -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,RI -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,ME diff --git a/inputs/zones/z54/hierarchy_from134.csv b/inputs/zones/z54/hierarchy_from134.csv deleted file mode 100644 index 59b418b3..00000000 --- a/inputs/zones/z54/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p8,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA_N -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA_N -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA_S -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA_S -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,NV -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,NV -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p23,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p24,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,UT -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,UT -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,NM -p32,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,SD -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,CO -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,CO -p35,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,ND -p37,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,ND -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,SD -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p47,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,NM -p48,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,TX_SPP -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,KS -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,KS -p54,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p55,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p56,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,AR -p57,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,TX_MISO -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,LA -p59,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_W -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_W -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_W -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_W -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_E -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_E -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_E -p66,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,TX_MISO -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_ERCOT_E -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p74,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p80,PJM,PJM,PJM_West,East_North_Central,IL,eastern,USA,corn-belt,Midwest,PJM,IL_PJM -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL_MISO -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL_MISO -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL_MISO -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,AR -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,LA -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,MS -p88,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,MS -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,AL -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,AL -p91,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,TN -p93,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,GA -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,SC -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,Duke_Energy_Carolinas_LLC,SC -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,NC -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,NC -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI -p104,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p108,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,WV -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,WV -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,MD -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,MD -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,DE -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,NJ -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,NY_UP -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,NY_NYCLI -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,VT -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,NH -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,MA -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,CT -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,RI -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,ME diff --git a/inputs/zones/z69/hierarchy_from134.csv b/inputs/zones/z69/hierarchy_from134.csv deleted file mode 100644 index 8a2d12aa..00000000 --- a/inputs/zones/z69/hierarchy_from134.csv +++ /dev/null @@ -1,135 +0,0 @@ -ba,nercr,transreg,transgrp,cendiv,st,interconnect,country,usda_region,h2ptcreg,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p2,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p3,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p4,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,WA,western,USA,pacific,Northwest,Bonneville_Power_Administration,WA -p5,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p6,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p7,WECC_NW,NorthernGrid,NorthernGrid_West,Pacific,OR,western,USA,pacific,Northwest,Bonneville_Power_Administration,OR -p8,WECC_NW,NorthernGrid,NorthernGrid_South,Pacific,CA,western,USA,pacific,California,PacifiCorp_West,CA_NorthernGrid -p9,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA_N_CAISO -p10,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA_S_CAISO -p11,WECC_CA,CAISO,CAISO,Pacific,CA,western,USA,pacific,California,CAISO,CA_S_CAISO -p12,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,NV -p13,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,NV,western,USA,mountain,Mountain,Nevada_Power_Co,NV -p14,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p15,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p16,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,ID,western,USA,mountain,Northwest,Idaho_Power_Co,ID -p17,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT_NorthernGrid -p18,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT_NorthernGrid -p19,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT_NorthernGrid -p20,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,MT,western,USA,mountain,Mountain,Northwestern_Energy,MT_NorthernGrid -p21,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY_NorthernGrid -p22,WECC_NW,NorthernGrid,NorthernGrid_East,Mountain,WY,western,USA,mountain,Mountain,PacifiCorp_East,WY_NorthernGrid -p23,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,WY_WestConnect -p24,WECC_NW,WestConnect,WestConnect_North,Mountain,WY,western,USA,mountain,Mountain,WAPA_Rocky_Mountain_Region,WY_WestConnect -p25,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,UT -p26,WECC_NW,NorthernGrid,NorthernGrid_South,Mountain,UT,western,USA,mountain,Mountain,PacifiCorp_East,UT -p27,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p28,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p29,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p30,WECC_SW,WestConnect,WestConnect_South,Mountain,AZ,western,USA,mountain,Southwest,Arizona_Public_Service_Co,AZ -p31,WECC_SW,WestConnect,WestConnect_South,Mountain,NM,western,USA,mountain,Southwest,Public_Service_Co_of_New_Mexico,NM_WestConnect -p32,WECC_NW,WestConnect,WestConnect_North,Mountain,SD,western,USA,northern-plains,Plains,WAPA_Rocky_Mountain_Region,SD_WestConnect -p33,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,CO -p34,WECC_NW,WestConnect,WestConnect_North,Mountain,CO,western,USA,mountain,Mountain,Public_Service_Co_of_Colorado,CO -p35,SPP,SPP,SPP_North,West_North_Central,MT,eastern,USA,mountain,Mountain,SPP,MT_SPP -p36,SPP,SPP,SPP_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,SPP,ND_SPP -p37,MISO,MISO,MISO_North,West_North_Central,ND,eastern,USA,northern-plains,Plains,MISO,ND_MISO -p38,SPP,SPP,SPP_North,West_North_Central,SD,eastern,USA,northern-plains,Plains,SPP,SD_SPP -p39,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p40,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p41,SPP,SPP,SPP_North,West_North_Central,NE,eastern,USA,northern-plains,Plains,SPP,NE -p42,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p43,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p44,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p45,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p46,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p47,SPP,SPP,SPP_South,West_South_Central,NM,eastern,USA,mountain,Southwest,SPP,NM_SPP -p48,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,TX_SPP_N -p49,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p50,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p51,SPP,SPP,SPP_South,West_South_Central,OK,eastern,USA,southern-plains,Plains,SPP,OK -p52,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,KS -p53,SPP,SPP,SPP_South,West_North_Central,KS,eastern,USA,northern-plains,Plains,SPP,KS -p54,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,MO_SPP -p55,SPP,SPP,SPP_South,West_North_Central,MO,eastern,USA,corn-belt,Midwest,SPP,MO_SPP -p56,SPP,SPP,SPP_South,West_South_Central,AR,eastern,USA,delta-states,Delta,SPP,AR_SPP -p57,SPP,SPP,SPP_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,SPP,TX_SPP_E -p58,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,LA -p59,WECC_SW,WestConnect,WestConnect_South,Mountain,TX,western,USA,southern-plains,Texas,El_Paso_Electric,TX_WestConnect -p60,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_W_ERCOT -p61,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_W_ERCOT -p62,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_W_ERCOT -p63,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_E_ERCOT -p64,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_E_ERCOT -p65,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_E_ERCOT -p66,MISO,MISO,MISO_South,West_South_Central,TX,eastern,USA,southern-plains,Texas,MISO,TX_MISO -p67,ERCOT,ERCOT,ERCOT,West_South_Central,TX,texas,USA,southern-plains,Texas,ERCOT,TX_E_ERCOT -p68,MISO,MISO,MISO_North,West_North_Central,MN,eastern,USA,lake-states,Midwest,MISO,MN -p69,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p70,MISO,MISO,MISO_North,West_North_Central,IA,eastern,USA,corn-belt,Midwest,MISO,IA -p71,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO_MISO -p72,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO_MISO -p73,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO_MISO -p74,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI_MISO -p75,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p76,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p77,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p78,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p79,MISO,MISO,MISO_North,East_North_Central,WI,eastern,USA,lake-states,Midwest,MISO,WI -p80,PJM,PJM,PJM_West,East_North_Central,IL,eastern,USA,corn-belt,Midwest,PJM,IL_PJM -p81,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL_MISO -p82,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL_MISO -p83,MISO,MISO,MISO_Central,East_North_Central,IL,eastern,USA,corn-belt,Midwest,MISO,IL_MISO -p84,MISO,MISO,MISO_Central,West_North_Central,MO,eastern,USA,corn-belt,Midwest,MISO,MO_MISO -p85,MISO,MISO,MISO_South,West_South_Central,AR,eastern,USA,delta-states,Delta,MISO,AR_MISO -p86,MISO,MISO,MISO_South,West_South_Central,LA,eastern,USA,delta-states,Delta,MISO,LA -p87,MISO,MISO,MISO_South,East_South_Central,MS,eastern,USA,delta-states,Delta,MISO,MS_MISO -p88,SERC_C,SERTP,SERTP,East_South_Central,MS,eastern,USA,delta-states,Delta,Tennessee_Valley_Authority,MS_SERTP -p89,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,AL -p90,SERC_SE,SERTP,SERTP,East_South_Central,AL,eastern,USA,southeast,Southeast,PowerSouth_Energy_Coop,AL -p91,SERC_SE,SERTP,SERTP,South_Atlantic,FL,eastern,USA,southeast,Florida,Southern_Co_Services_Inc,FL_SERTP -p92,SERC_C,SERTP,SERTP,East_South_Central,TN,eastern,USA,appalachia,Southeast,Tennessee_Valley_Authority,TN -p93,SERC_C,SERTP,SERTP,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,Tennessee_Valley_Authority,KY_SERTP -p94,SERC_SE,SERTP,SERTP,South_Atlantic,GA,eastern,USA,southeast,Southeast,Southern_Co_Services_Inc,GA -p95,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,South_Carolina_Electric_Gas_Co,SC -p96,SERC_E,SERTP,SERTP,South_Atlantic,SC,eastern,USA,southeast,Southeast,South_Carolina_Electric_Gas_Co,SC -p97,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,NC -p98,SERC_E,SERTP,SERTP,South_Atlantic,NC,eastern,USA,appalachia,Southeast,Duke_Energy_Carolinas_LLC,NC -p99,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p100,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p101,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL_FRCC -p102,SERC_F,FRCC,FRCC,South_Atlantic,FL,eastern,USA,southeast,Florida,Seminole_Electric_Coop_Inc,FL_FRCC -p103,MISO,MISO,MISO_Central,East_North_Central,MI,eastern,USA,lake-states,Midwest,MISO,MI_MISO -p104,PJM,PJM,PJM_West,East_North_Central,MI,eastern,USA,lake-states,Midwest,PJM,MI_PJM -p105,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p106,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p107,MISO,MISO,MISO_Central,East_North_Central,IN,eastern,USA,corn-belt,Midwest,MISO,IN -p108,MISO,MISO,MISO_Central,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,MISO,KY_MISO -p109,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY_PJM -p110,PJM,PJM,PJM_East,East_South_Central,KY,eastern,USA,appalachia,MidAtlantic,PJM,KY_PJM -p111,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p112,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p113,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p114,PJM,PJM,PJM_East,East_North_Central,OH,eastern,USA,corn-belt,MidAtlantic,PJM,OH -p115,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p116,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,WV -p117,PJM,PJM,PJM_East,South_Atlantic,WV,eastern,USA,appalachia,MidAtlantic,PJM,WV -p118,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p119,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p120,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p121,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,MD -p122,PJM,PJM,PJM_East,Mid_Atlantic,PA,eastern,USA,northeast,MidAtlantic,PJM,PA -p123,PJM,PJM,PJM_East,South_Atlantic,MD,eastern,USA,northeast,MidAtlantic,PJM,MD -p124,PJM,PJM,PJM_East,South_Atlantic,VA,eastern,USA,appalachia,MidAtlantic,PJM,VA -p125,PJM,PJM,PJM_East,South_Atlantic,DE,eastern,USA,northeast,MidAtlantic,PJM,DE -p126,PJM,PJM,PJM_East,Mid_Atlantic,NJ,eastern,USA,northeast,MidAtlantic,PJM,NJ -p127,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,NY_UP -p128,NPCC_NY,NYISO,NYISO,Mid_Atlantic,NY,eastern,USA,northeast,NewYork,NYISO,NY_NYCLI -p129,NPCC_NE,ISONE,ISONE,New_England,VT,eastern,USA,northeast,NewEngland,ISONE,VT -p130,NPCC_NE,ISONE,ISONE,New_England,NH,eastern,USA,northeast,NewEngland,ISONE,NH -p131,NPCC_NE,ISONE,ISONE,New_England,MA,eastern,USA,northeast,NewEngland,ISONE,MA -p132,NPCC_NE,ISONE,ISONE,New_England,CT,eastern,USA,northeast,NewEngland,ISONE,CT -p133,NPCC_NE,ISONE,ISONE,New_England,RI,eastern,USA,northeast,NewEngland,ISONE,RI -p134,NPCC_NE,ISONE,ISONE,New_England,ME,eastern,USA,northeast,NewEngland,ISONE,ME From 4f900f23d12137dc1294976703a773e0ed220732 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 11:57:58 -0400 Subject: [PATCH 03/33] Clarify disaggregation docstrings and rename PCA_REG to legacy_ba --- inputs/disaggregation/disagg_hydroexist.csv | 1320 +++++++++---------- reeds/input_processing/copy_files.py | 52 +- reeds/spatial.py | 8 +- 3 files changed, 688 insertions(+), 692 deletions(-) diff --git a/inputs/disaggregation/disagg_hydroexist.csv b/inputs/disaggregation/disagg_hydroexist.csv index 7d604669..1cc38a8a 100644 --- a/inputs/disaggregation/disagg_hydroexist.csv +++ b/inputs/disaggregation/disagg_hydroexist.csv @@ -1,663 +1,663 @@ -PCA_REG,FIPS,i,fracdata -p1,p53007,hydUD,0.16290661070304302 -p1,p53033,hydUD,0.03384050367261281 -p1,p53057,hydUD,0.2759706190975865 -p1,p53061,hydUD,0.2518363064008395 -p1,p53073,hydUD,0.27544596012591815 -p10,p06051,hydUD,0.9518518518518518 -p10,p06111,hydUD,0.04814814814814814 -p101,p12039,hydUD,1.0 -p103,p26069,hydUD,1.0 -p118,p51089,hydUD,0.40414507772020725 -p118,p51141,hydUD,0.272020725388601 -p118,p51680,hydUD,0.3238341968911917 -p122,p42103,hydUD,1.0 -p127,p36001,hydUD,0.02761149356480096 -p127,p36043,hydUD,0.005986231667165519 -p127,p36045,hydUD,0.0258156240646513 -p127,p36049,hydUD,0.023421131397785094 -p127,p36083,hydUD,0.013768332834480692 -p127,p36089,hydUD,0.7450613588745885 -p127,p36091,hydUD,0.130724334031727 -p127,p36113,hydUD,0.02761149356480095 -p129,p50001,hydUD,0.034214618973561435 -p129,p50019,hydUD,0.06220839813374806 -p129,p50023,hydUD,0.1990668740279938 -p129,p50025,hydUD,0.7045101088646967 -p13,p32003,hydUD,1.0 -p130,p33001,hydUD,1.0 -p131,p25003,hydUD,0.47091932457786123 -p131,p25011,hydUD,0.5290806754221389 -p132,p09120,hydUD,0.4105113636363636 -p132,p09140,hydUD,0.5894886363636364 -p134,p23001,hydUD,0.019552191737622203 -p134,p23003,hydUD,0.004415011037527593 -p134,p23009,hydUD,0.0293282876064333 -p134,p23011,hydUD,0.013875748975086723 -p134,p23019,hydUD,0.36549984232103433 -p134,p23025,hydUD,0.5547146010722169 -p134,p23031,hydUD,0.012614317250078838 -p14,p16017,hydUD,0.9442852594715059 -p14,p16055,hydUD,0.05571474052849411 -p15,p16001,hydUD,0.0025146689019279133 -p15,p16035,hydUD,0.3543397089080241 -p15,p16039,hydUD,0.030480835174883793 -p15,p16045,hydUD,0.007772612969595367 -p15,p16067,hydUD,0.021107978358607025 -p15,p16073,hydUD,0.07071553760573039 -p15,p16087,hydUD,0.5130686580812314 -p16,p16019,hydUD,0.7853962600178094 -p16,p16029,hydUD,0.21460373998219054 -p17,p30007,hydUD,0.0062307297019527225 -p17,p30029,hydUD,0.27492291880781083 -p17,p30039,hydUD,0.0012846865364850974 -p17,p30053,hydUD,0.3372302158273381 -p17,p30057,hydUD,0.007322713257965056 -p17,p30089,hydUD,0.37300873586844807 -p18,p30003,hydUD,0.46543629593653874 -p18,p30013,hydUD,0.41201230370730124 -p18,p30049,hydUD,0.12255140035615993 -p19,p30105,hydUD,1.0 -p2,p53005,hydUD,0.013413816230717638 -p2,p53015,hydUD,0.18287502794545046 -p2,p53041,hydUD,0.5667337357478203 -p2,p53045,hydUD,0.16431924882629112 -p2,p53059,hydUD,0.07265817124972054 -p21,p56013,hydUD,0.3981481481481481 -p21,p56029,hydUD,0.6018518518518519 -p24,p56007,hydUD,0.36627906976744184 -p24,p56025,hydUD,0.44933554817275745 -p24,p56031,hydUD,0.18438538205980068 -p25,p49003,hydUD,1.0 -p26,p49009,hydUD,0.9656488549618321 -p26,p49051,hydUD,0.03435114503816794 -p27,p04015,hydUD,1.0 -p28,p04005,hydUD,0.8617405582922825 -p28,p04012,hydUD,0.07881773399014778 -p28,p04013,hydUD,0.059441707717569785 -p3,p53043,hydUD,0.07500209503058745 -p3,p53051,hydUD,0.9249979049694126 -p33,p08013,hydUD,0.040268456375838924 -p33,p08019,hydUD,0.008260196179659266 -p33,p08069,hydUD,0.7372225090345895 -p33,p08077,hydUD,0.08002065049044914 -p33,p08117,hydUD,0.1342281879194631 -p34,p08051,hydUD,0.32214765100671144 -p34,p08067,hydUD,0.01715137956748695 -p34,p08083,hydUD,0.0044742729306487695 -p34,p08085,hydUD,0.6457867263236391 -p34,p08113,hydUD,0.010439970171513796 -p36,p38057,hydUD,1.0 -p38,p46023,hydUD,0.2258469259723965 -p38,p46065,hydUD,0.4479297365119197 -p38,p46085,hydUD,0.32622333751568383 -p4,p53017,hydUD,0.1735242688677291 -p4,p53025,hydUD,0.8264757311322709 -p40,p31141,hydUD,1.0 -p43,p27017,hydUD,0.815845824411135 -p43,p27075,hydUD,0.043897216274089934 -p43,p27137,hydUD,0.14025695931477516 -p46,p55017,hydUD,1.0 -p5,p41031,hydUD,0.4407005520654864 -p5,p41039,hydUD,0.06044165238911099 -p5,p41047,hydUD,0.09518370454978109 -p5,p41063,hydUD,0.4036740909956216 -p50,p40061,hydUD,0.39731285988483683 -p50,p40089,hydUD,0.44145873320537427 -p50,p40135,hydUD,0.16122840690978887 -p51,p40097,hydUD,1.0 -p55,p29213,hydUD,1.0 -p56,p05015,hydUD,0.5886654478976234 -p56,p05023,hydUD,0.41133455210237657 -p6,p41019,hydUD,0.9180952380952382 -p6,p41029,hydUD,0.0819047619047619 -p63,p48181,hydUD,0.6818181818181818 -p63,p48217,hydUD,0.3181818181818182 -p66,p48241,hydUD,0.6658130601792575 -p66,p48373,hydUD,0.33418693982074266 -p7,p41001,hydUD,1.0 -p70,p19125,hydUD,1.0 -p72,p29131,hydUD,1.0 -p74,p26071,hydUD,0.6014492753623188 -p74,p26103,hydUD,0.39855072463768115 -p75,p55069,hydUD,0.5038167938931297 -p75,p55073,hydUD,0.13740458015267176 -p75,p55075,hydUD,0.22900763358778622 -p75,p55097,hydUD,0.12977099236641218 -p76,p55001,hydUD,0.3271028037383178 -p76,p55057,hydUD,0.4672897196261683 -p76,p55141,hydUD,0.205607476635514 -p85,p05005,hydUD,0.8602561651691837 -p85,p05051,hydUD,0.1179506786465303 -p85,p05059,hydUD,0.021793156184285983 -p89,p01077,hydUD,0.5295917010240724 -p89,p01095,hydUD,0.16318659396196303 -p89,p01125,hydUD,0.07048809682138582 -p89,p01127,hydUD,0.2367336081925788 -p9,p06005,hydUD,0.0619065485295391 -p9,p06007,hydUD,0.02020260324973304 -p9,p06009,hydUD,0.07371064099974026 -p9,p06017,hydUD,0.006003059251349246 -p9,p06019,hydUD,0.05656728909925251 -p9,p06039,hydUD,0.036768737914514134 -p9,p06063,hydUD,0.03636468584951947 -p9,p06067,hydUD,0.0620797137002511 -p9,p06089,hydUD,0.4609656844353373 -p9,p06103,hydUD,0.004329129267799937 -p9,p06105,hydUD,0.04040520649946608 -p9,p06109,hydUD,0.14069670120349795 -p90,p01015,hydUD,0.07848548404901202 -p90,p01019,hydUD,0.08941384258748207 -p90,p01051,hydUD,0.20101556463185782 -p90,p01081,hydUD,0.2513522463848107 -p90,p01085,hydUD,0.09051771718732753 -p90,p01111,hydUD,0.14681532177944587 -p90,p01121,hydUD,0.14239982338006402 -p92,p47001,hydUD,0.07347836149039572 -p92,p47009,hydUD,0.0902568849803286 -p92,p47019,hydUD,0.0387641749595001 -p92,p47051,hydUD,0.023258504975700065 -p92,p47057,hydUD,0.08192548021291365 -p92,p47065,hydUD,0.08192548021291365 -p92,p47071,hydUD,0.14134459615829664 -p92,p47105,hydUD,0.0973154362416107 -p92,p47123,hydUD,0.029507058551261272 -p92,p47139,hydUD,0.013885674612358246 -p92,p47143,hydUD,0.11363110391113164 -p92,p47155,hydUD,0.1029275630641055 -p92,p47163,hydUD,0.025688498032862755 -p92,p47177,hydUD,0.020481370053228413 -p92,p47179,hydUD,0.06560981254339271 -p93,p21157,hydUD,1.0 -p94,p13015,hydUD,0.04032483898067768 -p94,p13035,hydUD,0.012769532343881266 -p94,p13105,hydUD,0.18818258190982917 -p94,p13111,hydUD,0.009689162699523943 -p94,p13117,hydUD,0.07101652198263791 -p94,p13121,hydUD,0.005880705684682162 -p94,p13137,hydUD,0.06995239428731448 -p94,p13147,hydUD,0.22682721926631197 -p94,p13151,hydUD,0.09409129095491459 -p94,p13213,hydUD,0.13441612993559227 -p94,p13215,hydUD,0.052310277233268 -p94,p13241,hydUD,0.018594231307756934 -p94,p13257,hydUD,0.01596191542985158 -p94,p13285,hydUD,0.048725847101652196 -p94,p13291,hydUD,0.011257350882105851 -p95,p45001,hydUD,0.049523809523809526 -p95,p45021,hydUD,0.5238095238095237 -p95,p45023,hydUD,0.08380952380952382 -p95,p45087,hydUD,0.34285714285714286 -p96,p45071,hydUD,1.0 -p97,p37039,hydUD,0.08853220270543105 -p97,p37043,hydUD,0.01584898041590955 -p97,p37057,hydUD,0.03937007874015748 -p97,p37075,hydUD,0.2695336159903089 -p97,p37087,hydUD,0.11306279022814456 -p97,p37099,hydUD,0.05007066424389258 -p97,p37113,hydUD,0.04684029880880274 -p97,p37167,hydUD,0.06965475469412477 -p97,p37173,hydUD,0.3070866141732284 -p98,p37083,hydUD,0.6069364161849711 -p98,p37123,hydUD,0.3930635838150289 -p99,p51117,hydUD,0.427008350129571 -p99,p51143,hydUD,0.572991649870429 -p1,p53007,hydUND,0.30273131993743235 -p1,p53033,hydUND,0.09361087715076405 -p1,p53053,hydUND,0.0843460474070509 -p1,p53061,hydUND,0.004752737336060644 -p1,p53067,hydUND,0.007459992780652149 -p1,p53073,hydUND,0.50709902538804 -p10,p06025,hydUND,0.07525544202576633 -p10,p06027,hydUND,0.07099067081297201 -p10,p06029,hydUND,0.1163038649489116 -p10,p06037,hydUND,0.28671701466015104 -p10,p06051,hydUND,0.06574855619724566 -p10,p06059,hydUND,0.010928476232785428 -p10,p06065,hydUND,0.0438916037316748 -p10,p06071,hydUND,0.29462461128387385 -p10,p06107,hydUND,0.034651266103953804 -p10,p06111,hydUND,0.000888494002665482 -p100,p51139,hydUND,1.0 -p101,p12073,hydUND,1.0 -p103,p26001,hydUND,0.01919122686771762 -p103,p26005,hydUND,0.00959561343385881 -p103,p26007,hydUND,0.04934886908841674 -p103,p26025,hydUND,0.0013708019191226873 -p103,p26031,hydUND,0.012337217272104186 -p103,p26033,hydUND,0.3413296778615489 -p103,p26051,hydUND,0.04934886908841674 -p103,p26057,hydUND,0.0027416038382453746 -p103,p26067,hydUND,0.008224811514736124 -p103,p26069,hydUND,0.10143934201507886 -p103,p26081,hydUND,0.020562028786840308 -p103,p26101,hydUND,0.07196710075394108 -p103,p26107,hydUND,0.016449623029472248 -p103,p26111,hydUND,0.024674434544208368 -p103,p26123,hydUND,0.24948594928032908 -p103,p26135,hydUND,0.010966415352981498 -p103,p26163,hydUND,0.010966415352981498 -p104,p26021,hydUND,0.6938775510204083 -p104,p26149,hydUND,0.3061224489795918 -p105,p18015,hydUND,0.38961038961038963 -p105,p18039,hydUND,0.0909090909090909 -p105,p18141,hydUND,0.2597402597402597 -p105,p18181,hydUND,0.2597402597402597 -p107,p18155,hydUND,1.0 -p109,p21023,hydUND,0.3421309872922776 -p109,p21065,hydUND,0.008145975887911371 -p109,p21111,hydUND,0.32844574780058644 -p109,p21113,hydUND,0.00749429781687846 -p109,p21125,hydUND,0.19876181166503745 -p109,p21129,hydUND,0.012381883349625287 -p109,p21167,hydUND,0.10263929618768328 -p11,p06073,hydUND,1.0 -p110,p21193,hydUND,1.0 -p112,p39039,hydUND,0.045045045045045036 -p112,p39041,hydUND,0.05205205205205205 -p112,p39105,hydUND,0.20020020020020018 -p112,p39145,hydUND,0.7027027027027027 -p114,p39017,hydUND,1.0 -p115,p42003,hydUND,0.044651131442821276 -p115,p42005,hydUND,0.43892904682471484 -p115,p42007,hydUND,0.04549360562098773 -p115,p42051,hydUND,0.43808657264654843 -p115,p42129,hydUND,0.0328396434649278 -p116,p54003,hydUND,0.005254860746190226 -p116,p54037,hydUND,0.022595901208617968 -p116,p54067,hydUND,0.42038885969521805 -p116,p54073,hydUND,0.23121387283236994 -p116,p54103,hydUND,0.09984235417761429 -p116,p54107,hydUND,0.22070415133998944 -p117,p54039,hydUND,0.6063157894736843 -p117,p54079,hydUND,0.39368421052631586 -p118,p51009,hydUND,0.060658578856152515 -p118,p51035,hydUND,0.35181975736568455 -p118,p51077,hydUND,0.043327556325823226 -p118,p51089,hydUND,0.010398613518197574 -p118,p51155,hydUND,0.5181975736568458 -p118,p51161,hydUND,0.01559792027729636 -p12,p32001,hydUND,0.4552845528455284 -p12,p32019,hydUND,0.2032520325203252 -p12,p32029,hydUND,0.3414634146341463 -p121,p24023,hydUND,1.0 -p122,p42031,hydUND,0.042916235780765255 -p122,p42061,hydUND,0.01447776628748707 -p122,p42071,hydUND,0.8615563598759048 -p122,p42111,hydUND,0.01577042399172699 -p122,p42115,hydUND,0.0019389865563598759 -p122,p42123,hydUND,0.038779731127197514 -p122,p42133,hydUND,0.024560496380558426 -p123,p24025,hydUND,1.0 -p126,p34031,hydUND,1.0 -p127,p36001,hydUND,0.005843405437226594 -p127,p36003,hydUND,0.00031081943815035074 -p127,p36011,hydUND,0.0004973111010405613 -p127,p36019,hydUND,0.01672208577248887 -p127,p36021,hydUND,0.001243277752601403 -p127,p36027,hydUND,0.0006216388763007015 -p127,p36031,hydUND,0.0026419652242779816 -p127,p36033,hydUND,0.0021757360670524553 -p127,p36035,hydUND,0.0011500319211562979 -p127,p36039,hydUND,0.00031081943815035074 -p127,p36043,hydUND,0.014111202492025927 -p127,p36045,hydUND,0.017685626030754957 -p127,p36049,hydUND,0.013427399728095157 -p127,p36055,hydUND,0.017188314929714395 -p127,p36063,hydUND,0.7576845443791101 -p127,p36065,hydUND,0.017592380199309855 -p127,p36067,hydUND,0.0007459666515608418 -p127,p36071,hydUND,0.0007148847077458069 -p127,p36073,hydUND,0.001647343022196859 -p127,p36075,hydUND,0.023777687018501855 -p127,p36077,hydUND,0.00043514721341049103 -p127,p36083,hydUND,0.0017095069098269293 -p127,p36089,hydUND,0.026450734186594854 -p127,p36091,hydUND,0.037330036160733424 -p127,p36099,hydUND,0.002051408291792315 -p127,p36105,hydUND,0.023964178681392046 -p127,p36111,hydUND,0.00839212483005947 -p127,p36113,hydUND,0.0009013763706360172 -p127,p36115,hydUND,0.0017405888536419644 -p127,p36119,hydUND,0.0009324583144510523 -p129,p50001,hydUND,0.07078651685393256 -p129,p50005,hydUND,0.05617977528089887 -p129,p50007,hydUND,0.12846441947565543 -p129,p50009,hydUND,0.020224719101123594 -p129,p50011,hydUND,0.1393258426966292 -p129,p50015,hydUND,0.014981273408239697 -p129,p50017,hydUND,0.0074906367041198485 -p129,p50019,hydUND,0.004868913857677901 -p129,p50021,hydUND,0.04382022471910111 -p129,p50023,hydUND,0.0344569288389513 -p129,p50025,hydUND,0.31198501872659185 -p129,p50027,hydUND,0.1674157303370786 -p130,p33001,hydUND,0.007026701465569161 -p130,p33007,hydUND,0.1156394298333668 -p130,p33009,hydUND,0.7372013651877132 -p130,p33011,hydUND,0.056615137522585846 -p130,p33013,hydUND,0.07448303553503313 -p130,p33017,hydUND,0.006625175667536639 -p130,p33019,hydUND,0.0024091547881951417 -p131,p25009,hydUND,0.06514657980456025 -p131,p25011,hydUND,0.3173569101907864 -p131,p25013,hydUND,0.4830153559795254 -p131,p25017,hydUND,0.11121451838064216 -p131,p25027,hydUND,0.023266635644485802 -p132,p09110,hydUND,0.15444015444015444 -p132,p09140,hydUND,0.20849420849420852 -p132,p09150,hydUND,0.046332046332046344 -p132,p09160,hydUND,0.30694980694980695 -p132,p09180,hydUND,0.12162162162162163 -p132,p09190,hydUND,0.16216216216216217 -p133,p44007,hydUND,1.0 -p134,p23001,hydUND,0.21976149914821122 -p134,p23003,hydUND,0.0019469457288878074 -p134,p23005,hydUND,0.08177172061328791 -p134,p23007,hydUND,0.023606716962764663 -p134,p23011,hydUND,0.06960330980773911 -p134,p23017,hydUND,0.12484789486493064 -p134,p23019,hydUND,0.16816743733268438 -p134,p23023,hydUND,0.03139449987831589 -p134,p23025,hydUND,0.16330007301046487 -p134,p23031,hydUND,0.11559990265271358 -p14,p16021,hydUND,1.0 -p15,p16001,hydUND,0.2883675464320625 -p15,p16003,hydUND,0.005620723362658846 -p15,p16013,hydUND,0.027126099706744865 -p15,p16015,hydUND,0.022971652003910065 -p15,p16027,hydUND,0.0026881720430107525 -p15,p16035,hydUND,0.001466275659824047 -p15,p16039,hydUND,0.03910068426197458 -p15,p16047,hydUND,0.4254643206256109 -p15,p16053,hydUND,0.13856304985337245 -p15,p16063,hydUND,0.01735092864125122 -p15,p16085,hydUND,0.03128054740957967 -p16,p16005,hydUND,0.00423968343697004 -p16,p16019,hydUND,0.14245336348219334 -p16,p16029,hydUND,0.003957037874505371 -p16,p16033,hydUND,0.01356698699830413 -p16,p16041,hydUND,0.08451102317693614 -p16,p16043,hydUND,0.06924816280384398 -p16,p16077,hydUND,0.26936122102882987 -p16,p16081,hydUND,0.01667608818541549 -p16,p16083,hydUND,0.3959864330130016 -p17,p30001,hydUND,0.01451466586029634 -p17,p30029,hydUND,0.013909888116117326 -p17,p30047,hydUND,0.6888418506198971 -p17,p30089,hydUND,0.28273359540368914 -p18,p30009,hydUND,0.01417434443656981 -p18,p30013,hydUND,0.34727143869596033 -p18,p30049,hydUND,0.40822111977321046 -p18,p30051,hydUND,0.05315379163713679 -p18,p30095,hydUND,0.08504606661941885 -p18,p30099,hydUND,0.09213323883770376 -p2,p53005,hydUND,0.0030058112350544383 -p2,p53009,hydUND,0.006178611983167457 -p2,p53011,hydUND,0.050430832943691134 -p2,p53013,hydUND,0.27052301115489946 -p2,p53023,hydUND,0.26785117894596217 -p2,p53027,hydUND,0.005176674904815977 -p2,p53031,hydUND,3.3397902611715986e-05 -p2,p53039,hydUND,0.005043083294369114 -p2,p53041,hydUND,0.03206198650724734 -p2,p53045,hydUND,0.0004675706365640237 -p2,p53059,hydUND,0.08807026918709505 -p2,p53071,hydUND,0.2644445928795671 -p2,p53077,hydUND,0.006712978424954913 -p21,p56013,hydUND,0.06926406926406926 -p21,p56023,hydUND,0.6233766233766234 -p21,p56029,hydUND,0.30735930735930733 -p25,p49001,hydUND,0.044169611307420496 -p25,p49003,hydUND,0.026501766784452298 -p25,p49005,hydUND,0.13604240282685512 -p25,p49017,hydUND,0.07420494699646643 -p25,p49035,hydUND,0.127208480565371 -p25,p49039,hydUND,0.10777385159010601 -p25,p49049,hydUND,0.2667844522968198 -p25,p49053,hydUND,0.04063604240282686 -p25,p49057,hydUND,0.17667844522968199 -p26,p49013,hydUND,0.045283018867924525 -p26,p49029,hydUND,0.1509433962264151 -p26,p49043,hydUND,0.23773584905660378 -p26,p49051,hydUND,0.5660377358490566 -p28,p04012,hydUND,0.8158995815899582 -p28,p04013,hydUND,0.18410041841004188 -p3,p53021,hydUND,0.7144259077526987 -p3,p53043,hydUND,0.06056357773727744 -p3,p53051,hydUND,0.12617412028599467 -p3,p53063,hydUND,0.09435020328052711 -p3,p53065,hydUND,0.004486190943502033 -p31,p35039,hydUND,0.2998790810157195 -p31,p35045,hydUND,0.3627569528415961 -p31,p35051,hydUND,0.33736396614268443 -p32,p46081,hydUND,1.0 -p33,p08005,hydUND,0.01774622892635315 -p33,p08013,hydUND,0.1756876663708962 -p33,p08035,hydUND,0.03637976929902395 -p33,p08037,hydUND,0.03992901508429458 -p33,p08045,hydUND,0.13309671694764863 -p33,p08049,hydUND,0.031055900621118012 -p33,p08065,hydUND,0.022182786157941437 -p33,p08069,hydUND,0.4214729370008873 -p33,p08077,hydUND,0.03992901508429458 -p33,p08093,hydUND,0.04880212954747116 -p33,p08103,hydUND,0.01774622892635315 -p33,p08117,hydUND,0.015971606033717833 -p34,p08015,hydUND,0.011666666666666669 -p34,p08041,hydUND,0.2875000000000001 -p34,p08067,hydUND,0.048333333333333346 -p34,p08083,hydUND,0.09500000000000003 -p34,p08085,hydUND,0.4316666666666667 -p34,p08091,hydUND,0.06666666666666668 -p34,p08101,hydUND,0.05916666666666668 -p39,p31101,hydUND,1.0 -p4,p53017,hydUND,0.9470254448736324 -p4,p53025,hydUND,0.05297455512636765 -p40,p31015,hydUND,0.010079798404031922 -p40,p31019,hydUND,0.004199916001679967 -p40,p31027,hydUND,0.42839143217135656 -p40,p31073,hydUND,0.17849643007139857 -p40,p31077,hydUND,0.0008399832003359933 -p40,p31111,hydUND,0.1889962200755985 -p40,p31141,hydUND,0.1889962200755985 -p42,p27113,hydUND,1.0 -p43,p27009,hydUND,0.09830866807610997 -p43,p27017,hydUND,0.0412262156448203 -p43,p27021,hydUND,0.03699788583509515 -p43,p27035,hydUND,0.030655391120507407 -p43,p27037,hydUND,0.06871035940803384 -p43,p27053,hydUND,0.16596194503171244 -p43,p27061,hydUND,0.015856236786469347 -p43,p27097,hydUND,0.22515856236786475 -p43,p27111,hydUND,0.00845665961945032 -p43,p27123,hydUND,0.19027484143763218 -p43,p27145,hydUND,0.09090909090909093 -p43,p27157,hydUND,0.027484143763213537 -p44,p27127,hydUND,0.42105263157894735 -p44,p27173,hydUND,0.5789473684210527 -p46,p55003,hydUND,0.0034632034632034628 -p46,p55005,hydUND,0.0008658008658008657 -p46,p55013,hydUND,0.019047619047619046 -p46,p55017,hydUND,0.38874458874458867 -p46,p55033,hydUND,0.050216450216450215 -p46,p55035,hydUND,0.0632034632034632 -p46,p55051,hydUND,0.008658008658008656 -p46,p55095,hydUND,0.1316017316017316 -p46,p55099,hydUND,0.02337662337662337 -p46,p55107,hydUND,0.25281385281385277 -p46,p55109,hydUND,0.01212121212121212 -p46,p55113,hydUND,0.03982683982683983 -p46,p55129,hydUND,0.00606060606060606 -p5,p41005,hydUND,0.0343114516153167 -p5,p41017,hydUND,0.0016160648820123 -p5,p41027,hydUND,0.0010773765880081998 -p5,p41031,hydUND,0.0037109638031393557 -p5,p41039,hydUND,0.022520163402115847 -p5,p41043,hydUND,0.031228957488515466 -p5,p41047,hydUND,0.0031423483816905833 -p5,p41051,hydUND,0.17706384952640325 -p5,p41055,hydUND,0.30705232758233697 -p5,p41059,hydUND,0.1446228433763785 -p5,p41063,hydUND,0.00016459920094569723 -p5,p41065,hydUND,0.2734890541531371 -p50,p40071,hydUND,0.21893491124260359 -p50,p40079,hydUND,0.7810650887573964 -p51,p40021,hydUND,0.24830261881668286 -p51,p40101,hydUND,0.36372453928225024 -p51,p40143,hydUND,0.38797284190106696 -p53,p20045,hydUND,1.0 -p55,p29039,hydUND,0.19366852886405958 -p55,p29213,hydUND,0.8063314711359404 -p56,p05033,hydUND,0.008004926108374385 -p56,p05047,hydUND,0.708128078817734 -p56,p05109,hydUND,0.1791871921182266 -p56,p05131,hydUND,0.10467980295566502 -p58,p22029,hydUND,1.0 -p6,p41019,hydUND,0.06074551311550851 -p6,p41029,hydUND,0.4647952139898757 -p6,p41035,hydUND,0.4744592728946157 -p61,p48465,hydUND,1.0 -p63,p48077,hydUND,0.9230769230769231 -p63,p48121,hydUND,0.07692307692307693 -p64,p48053,hydUND,0.30174081237911027 -p64,p48091,hydUND,0.019342359767891684 -p64,p48177,hydUND,0.018375241779497096 -p64,p48187,hydUND,0.036105738233397806 -p64,p48299,hydUND,0.2214700193423598 -p64,p48453,hydUND,0.40296582849774343 -p65,p48323,hydUND,0.1643835616438356 -p65,p48427,hydUND,0.8356164383561644 -p66,p48351,hydUND,0.9090909090909091 -p66,p48457,hydUND,0.09090909090909091 -p68,p27013,hydUND,0.9696969696969697 -p68,p27045,hydUND,0.030303030303030304 -p7,p41045,hydUND,1.0 -p70,p19097,hydUND,0.007868852459016395 -p70,p19111,hydUND,0.9573770491803281 -p70,p19113,hydUND,0.01377049180327869 -p70,p19179,hydUND,0.020983606557377053 -p71,p29173,hydUND,1.0 -p74,p26013,hydUND,0.008968609865470852 -p74,p26043,hydUND,0.44955156950672653 -p74,p26053,hydUND,0.011210762331838564 -p74,p26071,hydUND,0.1188340807174888 -p74,p26103,hydUND,0.0067264573991031385 -p74,p26109,hydUND,0.2724215246636771 -p74,p26131,hydUND,0.13228699551569506 -p75,p55037,hydUND,0.2698170731707317 -p75,p55069,hydUND,0.09908536585365854 -p75,p55075,hydUND,0.36585365853658525 -p75,p55083,hydUND,0.05640243902439025 -p75,p55085,hydUND,0.02591463414634147 -p75,p55097,hydUND,0.18292682926829276 -p76,p55087,hydUND,0.8650000000000001 -p76,p55141,hydUND,0.13499999999999998 -p77,p55065,hydUND,0.0025906735751295338 -p77,p55111,hydUND,0.9974093264248705 -p8,p06035,hydUND,0.2542517006802721 -p8,p06093,hydUND,0.745748299319728 -p80,p17099,hydUND,0.5347043701799487 -p80,p17103,hydUND,0.07712082262210797 -p80,p17195,hydUND,0.05141388174807198 -p80,p17197,hydUND,0.30848329048843187 -p80,p17201,hydUND,0.02827763496143959 -p81,p17161,hydUND,1.0 -p84,p29029,hydUND,1.0 -p85,p05001,hydUND,0.09681881051175657 -p85,p05019,hydUND,0.11065006915629322 -p85,p05029,hydUND,0.04702627939142462 -p85,p05051,hydUND,0.2074688796680498 -p85,p05063,hydUND,0.0334716459197787 -p85,p05115,hydUND,0.3872752420470263 -p85,p05119,hydUND,0.11728907330567082 -p89,p01077,hydUND,0.8286778398510243 -p89,p01125,hydUND,0.05959031657355679 -p89,p01131,hydUND,0.11173184357541897 -p9,p06007,hydUND,0.13290617848970251 -p9,p06009,hydUND,0.005583524027459953 -p9,p06017,hydUND,0.13080091533180777 -p9,p06019,hydUND,0.17180778032036612 -p9,p06021,hydUND,0.0009153318077803202 -p9,p06023,hydUND,0.0002745995423340961 -p9,p06033,hydUND,0.0009336384439359265 -p9,p06039,hydUND,0.05504805491990847 -p9,p06043,hydUND,0.01894736842105263 -p9,p06045,hydUND,0.002324942791762013 -p9,p06047,hydUND,0.0011350114416475972 -p9,p06053,hydUND,0.0007322654462242562 -p9,p06055,hydUND,0.0021052631578947364 -p9,p06057,hydUND,0.02052173913043478 -p9,p06061,hydUND,0.0783524027459954 -p9,p06063,hydUND,0.0823432494279176 -p9,p06067,hydUND,0.0030389016018306635 -p9,p06077,hydUND,0.0019221967963386725 -p9,p06089,hydUND,0.07802288329519451 -p9,p06091,hydUND,0.0024897025171624707 -p9,p06097,hydUND,0.00021967963386727683 -p9,p06099,hydUND,0.0038077803203661323 -p9,p06103,hydUND,0.0011167048054919906 -p9,p06105,hydUND,0.0011167048054919909 -p9,p06109,hydUND,0.128604118993135 -p9,p06115,hydUND,0.074929061784897 -p90,p01017,hydUND,0.00024134186074574636 -p90,p01021,hydUND,0.4140219621093278 -p90,p01039,hydUND,0.0098950162905756 -p90,p01051,hydUND,0.5758416797393509 -p92,p47019,hydUND,0.012610770279481934 -p92,p47021,hydUND,0.04703476482617587 -p92,p47027,hydUND,0.0705521472392638 -p92,p47037,hydUND,0.03408316291751874 -p92,p47041,hydUND,0.17496023630992955 -p92,p47105,hydUND,0.08997955010224949 -p92,p47115,hydUND,0.11997273346966597 -p92,p47139,hydUND,0.152692569870484 -p92,p47159,hydUND,0.12042717564189956 -p92,p47163,hydUND,0.0462394910247671 -p92,p47165,hydUND,0.13144739831856395 -p93,p21139,hydUND,0.14487497614048483 -p93,p21143,hydUND,0.28249665966787557 -p93,p21207,hydUND,0.5726283641916396 -p94,p13009,hydUND,0.22165991902834006 -p94,p13059,hydUND,0.014676113360323886 -p94,p13073,hydUND,0.06072874493927126 -p94,p13095,hydUND,0.03188259109311741 -p94,p13141,hydUND,0.5748987854251012 -p94,p13217,hydUND,0.012145748987854251 -p94,p13219,hydUND,0.00708502024291498 -p94,p13321,hydUND,0.07692307692307693 -p95,p45007,hydUND,0.012565971349585321 -p95,p45021,hydUND,0.0025131942699170642 -p95,p45023,hydUND,0.2940437295802965 -p95,p45045,hydUND,0.020608193013319925 -p95,p45057,hydUND,0.1130937421462679 -p95,p45059,hydUND,0.018597637597386276 -p95,p45077,hydUND,0.38200552902739376 -p95,p45083,hydUND,0.005780346820809247 -p95,p45091,hydUND,0.15079165619502385 -p96,p45015,hydUND,0.2518386449743704 -p96,p45039,hydUND,0.046801872074883 -p96,p45055,hydUND,0.09471807443726321 -p96,p45063,hydUND,0.22119456206819701 -p96,p45065,hydUND,0.374414976599064 -p96,p45079,hydUND,0.011031869846222422 -p97,p37021,hydUND,0.007389617587289857 -p97,p37023,hydUND,0.058193238499907624 -p97,p37027,hydUND,0.0617033068538703 -p97,p37035,hydUND,0.07389617587289857 -p97,p37071,hydUND,0.1178644005172732 -p97,p37089,hydUND,0.01182338813966377 -p97,p37097,hydUND,0.049879918714206536 -p97,p37109,hydUND,0.5985590245704784 -p97,p37113,hydUND,0.0018474043968224642 -p97,p37115,hydUND,0.002216885276186957 -p97,p37149,hydUND,0.009975983742841307 -p97,p37161,hydUND,0.00665065582856087 -p98,p37001,hydUND,0.0439882697947214 -p98,p37037,hydUND,0.12903225806451613 -p98,p37105,hydUND,0.03519061583577712 -p98,p37153,hydUND,0.7917888563049853 -p99,p51041,hydUND,0.23199999999999998 +legacy_ba,FIPS,i,fracdata +p1,p53007,hydUD,0.162906611 +p1,p53033,hydUD,0.033840504 +p1,p53057,hydUD,0.275970619 +p1,p53061,hydUD,0.251836306 +p1,p53073,hydUD,0.27544596 +p10,p06051,hydUD,0.951851852 +p10,p06111,hydUD,0.048148148 +p101,p12039,hydUD,1 +p103,p26069,hydUD,1 +p118,p51089,hydUD,0.404145078 +p118,p51141,hydUD,0.272020725 +p118,p51680,hydUD,0.323834197 +p122,p42103,hydUD,1 +p127,p36001,hydUD,0.027611494 +p127,p36043,hydUD,0.005986232 +p127,p36045,hydUD,0.025815624 +p127,p36049,hydUD,0.023421131 +p127,p36083,hydUD,0.013768333 +p127,p36089,hydUD,0.745061359 +p127,p36091,hydUD,0.130724334 +p127,p36113,hydUD,0.027611494 +p129,p50001,hydUD,0.034214619 +p129,p50019,hydUD,0.062208398 +p129,p50023,hydUD,0.199066874 +p129,p50025,hydUD,0.704510109 +p13,p32003,hydUD,1 +p130,p33001,hydUD,1 +p131,p25003,hydUD,0.470919325 +p131,p25011,hydUD,0.529080675 +p132,p09120,hydUD,0.410511364 +p132,p09140,hydUD,0.589488636 +p134,p23001,hydUD,0.019552192 +p134,p23003,hydUD,0.004415011 +p134,p23009,hydUD,0.029328288 +p134,p23011,hydUD,0.013875749 +p134,p23019,hydUD,0.365499842 +p134,p23025,hydUD,0.554714601 +p134,p23031,hydUD,0.012614317 +p14,p16017,hydUD,0.944285259 +p14,p16055,hydUD,0.055714741 +p15,p16001,hydUD,0.002514669 +p15,p16035,hydUD,0.354339709 +p15,p16039,hydUD,0.030480835 +p15,p16045,hydUD,0.007772613 +p15,p16067,hydUD,0.021107978 +p15,p16073,hydUD,0.070715538 +p15,p16087,hydUD,0.513068658 +p16,p16019,hydUD,0.78539626 +p16,p16029,hydUD,0.21460374 +p17,p30007,hydUD,0.00623073 +p17,p30029,hydUD,0.274922919 +p17,p30039,hydUD,0.001284687 +p17,p30053,hydUD,0.337230216 +p17,p30057,hydUD,0.007322713 +p17,p30089,hydUD,0.373008736 +p18,p30003,hydUD,0.465436296 +p18,p30013,hydUD,0.412012304 +p18,p30049,hydUD,0.1225514 +p19,p30105,hydUD,1 +p2,p53005,hydUD,0.013413816 +p2,p53015,hydUD,0.182875028 +p2,p53041,hydUD,0.566733736 +p2,p53045,hydUD,0.164319249 +p2,p53059,hydUD,0.072658171 +p21,p56013,hydUD,0.398148148 +p21,p56029,hydUD,0.601851852 +p24,p56007,hydUD,0.36627907 +p24,p56025,hydUD,0.449335548 +p24,p56031,hydUD,0.184385382 +p25,p49003,hydUD,1 +p26,p49009,hydUD,0.965648855 +p26,p49051,hydUD,0.034351145 +p27,p04015,hydUD,1 +p28,p04005,hydUD,0.861740558 +p28,p04012,hydUD,0.078817734 +p28,p04013,hydUD,0.059441708 +p3,p53043,hydUD,0.075002095 +p3,p53051,hydUD,0.924997905 +p33,p08013,hydUD,0.040268456 +p33,p08019,hydUD,0.008260196 +p33,p08069,hydUD,0.737222509 +p33,p08077,hydUD,0.08002065 +p33,p08117,hydUD,0.134228188 +p34,p08051,hydUD,0.322147651 +p34,p08067,hydUD,0.01715138 +p34,p08083,hydUD,0.004474273 +p34,p08085,hydUD,0.645786726 +p34,p08113,hydUD,0.01043997 +p36,p38057,hydUD,1 +p38,p46023,hydUD,0.225846926 +p38,p46065,hydUD,0.447929737 +p38,p46085,hydUD,0.326223338 +p4,p53017,hydUD,0.173524269 +p4,p53025,hydUD,0.826475731 +p40,p31141,hydUD,1 +p43,p27017,hydUD,0.815845824 +p43,p27075,hydUD,0.043897216 +p43,p27137,hydUD,0.140256959 +p46,p55017,hydUD,1 +p5,p41031,hydUD,0.440700552 +p5,p41039,hydUD,0.060441652 +p5,p41047,hydUD,0.095183705 +p5,p41063,hydUD,0.403674091 +p50,p40061,hydUD,0.39731286 +p50,p40089,hydUD,0.441458733 +p50,p40135,hydUD,0.161228407 +p51,p40097,hydUD,1 +p55,p29213,hydUD,1 +p56,p05015,hydUD,0.588665448 +p56,p05023,hydUD,0.411334552 +p6,p41019,hydUD,0.918095238 +p6,p41029,hydUD,0.081904762 +p63,p48181,hydUD,0.681818182 +p63,p48217,hydUD,0.318181818 +p66,p48241,hydUD,0.66581306 +p66,p48373,hydUD,0.33418694 +p7,p41001,hydUD,1 +p70,p19125,hydUD,1 +p72,p29131,hydUD,1 +p74,p26071,hydUD,0.601449275 +p74,p26103,hydUD,0.398550725 +p75,p55069,hydUD,0.503816794 +p75,p55073,hydUD,0.13740458 +p75,p55075,hydUD,0.229007634 +p75,p55097,hydUD,0.129770992 +p76,p55001,hydUD,0.327102804 +p76,p55057,hydUD,0.46728972 +p76,p55141,hydUD,0.205607477 +p85,p05005,hydUD,0.860256165 +p85,p05051,hydUD,0.117950679 +p85,p05059,hydUD,0.021793156 +p89,p01077,hydUD,0.529591701 +p89,p01095,hydUD,0.163186594 +p89,p01125,hydUD,0.070488097 +p89,p01127,hydUD,0.236733608 +p9,p06005,hydUD,0.061906549 +p9,p06007,hydUD,0.020202603 +p9,p06009,hydUD,0.073710641 +p9,p06017,hydUD,0.006003059 +p9,p06019,hydUD,0.056567289 +p9,p06039,hydUD,0.036768738 +p9,p06063,hydUD,0.036364686 +p9,p06067,hydUD,0.062079714 +p9,p06089,hydUD,0.460965684 +p9,p06103,hydUD,0.004329129 +p9,p06105,hydUD,0.040405206 +p9,p06109,hydUD,0.140696701 +p90,p01015,hydUD,0.078485484 +p90,p01019,hydUD,0.089413843 +p90,p01051,hydUD,0.201015565 +p90,p01081,hydUD,0.251352246 +p90,p01085,hydUD,0.090517717 +p90,p01111,hydUD,0.146815322 +p90,p01121,hydUD,0.142399823 +p92,p47001,hydUD,0.073478361 +p92,p47009,hydUD,0.090256885 +p92,p47019,hydUD,0.038764175 +p92,p47051,hydUD,0.023258505 +p92,p47057,hydUD,0.08192548 +p92,p47065,hydUD,0.08192548 +p92,p47071,hydUD,0.141344596 +p92,p47105,hydUD,0.097315436 +p92,p47123,hydUD,0.029507059 +p92,p47139,hydUD,0.013885675 +p92,p47143,hydUD,0.113631104 +p92,p47155,hydUD,0.102927563 +p92,p47163,hydUD,0.025688498 +p92,p47177,hydUD,0.02048137 +p92,p47179,hydUD,0.065609813 +p93,p21157,hydUD,1 +p94,p13015,hydUD,0.040324839 +p94,p13035,hydUD,0.012769532 +p94,p13105,hydUD,0.188182582 +p94,p13111,hydUD,0.009689163 +p94,p13117,hydUD,0.071016522 +p94,p13121,hydUD,0.005880706 +p94,p13137,hydUD,0.069952394 +p94,p13147,hydUD,0.226827219 +p94,p13151,hydUD,0.094091291 +p94,p13213,hydUD,0.13441613 +p94,p13215,hydUD,0.052310277 +p94,p13241,hydUD,0.018594231 +p94,p13257,hydUD,0.015961915 +p94,p13285,hydUD,0.048725847 +p94,p13291,hydUD,0.011257351 +p95,p45001,hydUD,0.04952381 +p95,p45021,hydUD,0.523809524 +p95,p45023,hydUD,0.083809524 +p95,p45087,hydUD,0.342857143 +p96,p45071,hydUD,1 +p97,p37039,hydUD,0.088532203 +p97,p37043,hydUD,0.01584898 +p97,p37057,hydUD,0.039370079 +p97,p37075,hydUD,0.269533616 +p97,p37087,hydUD,0.11306279 +p97,p37099,hydUD,0.050070664 +p97,p37113,hydUD,0.046840299 +p97,p37167,hydUD,0.069654755 +p97,p37173,hydUD,0.307086614 +p98,p37083,hydUD,0.606936416 +p98,p37123,hydUD,0.393063584 +p99,p51117,hydUD,0.42700835 +p99,p51143,hydUD,0.57299165 +p1,p53007,hydUND,0.30273132 +p1,p53033,hydUND,0.093610877 +p1,p53053,hydUND,0.084346047 +p1,p53061,hydUND,0.004752737 +p1,p53067,hydUND,0.007459993 +p1,p53073,hydUND,0.507099025 +p10,p06025,hydUND,0.075255442 +p10,p06027,hydUND,0.070990671 +p10,p06029,hydUND,0.116303865 +p10,p06037,hydUND,0.286717015 +p10,p06051,hydUND,0.065748556 +p10,p06059,hydUND,0.010928476 +p10,p06065,hydUND,0.043891604 +p10,p06071,hydUND,0.294624611 +p10,p06107,hydUND,0.034651266 +p10,p06111,hydUND,0.000888494 +p100,p51139,hydUND,1 +p101,p12073,hydUND,1 +p103,p26001,hydUND,0.019191227 +p103,p26005,hydUND,0.009595613 +p103,p26007,hydUND,0.049348869 +p103,p26025,hydUND,0.001370802 +p103,p26031,hydUND,0.012337217 +p103,p26033,hydUND,0.341329678 +p103,p26051,hydUND,0.049348869 +p103,p26057,hydUND,0.002741604 +p103,p26067,hydUND,0.008224812 +p103,p26069,hydUND,0.101439342 +p103,p26081,hydUND,0.020562029 +p103,p26101,hydUND,0.071967101 +p103,p26107,hydUND,0.016449623 +p103,p26111,hydUND,0.024674435 +p103,p26123,hydUND,0.249485949 +p103,p26135,hydUND,0.010966415 +p103,p26163,hydUND,0.010966415 +p104,p26021,hydUND,0.693877551 +p104,p26149,hydUND,0.306122449 +p105,p18015,hydUND,0.38961039 +p105,p18039,hydUND,0.090909091 +p105,p18141,hydUND,0.25974026 +p105,p18181,hydUND,0.25974026 +p107,p18155,hydUND,1 +p109,p21023,hydUND,0.342130987 +p109,p21065,hydUND,0.008145976 +p109,p21111,hydUND,0.328445748 +p109,p21113,hydUND,0.007494298 +p109,p21125,hydUND,0.198761812 +p109,p21129,hydUND,0.012381883 +p109,p21167,hydUND,0.102639296 +p11,p06073,hydUND,1 +p110,p21193,hydUND,1 +p112,p39039,hydUND,0.045045045 +p112,p39041,hydUND,0.052052052 +p112,p39105,hydUND,0.2002002 +p112,p39145,hydUND,0.702702703 +p114,p39017,hydUND,1 +p115,p42003,hydUND,0.044651131 +p115,p42005,hydUND,0.438929047 +p115,p42007,hydUND,0.045493606 +p115,p42051,hydUND,0.438086573 +p115,p42129,hydUND,0.032839643 +p116,p54003,hydUND,0.005254861 +p116,p54037,hydUND,0.022595901 +p116,p54067,hydUND,0.42038886 +p116,p54073,hydUND,0.231213873 +p116,p54103,hydUND,0.099842354 +p116,p54107,hydUND,0.220704151 +p117,p54039,hydUND,0.606315789 +p117,p54079,hydUND,0.393684211 +p118,p51009,hydUND,0.060658579 +p118,p51035,hydUND,0.351819757 +p118,p51077,hydUND,0.043327556 +p118,p51089,hydUND,0.010398614 +p118,p51155,hydUND,0.518197574 +p118,p51161,hydUND,0.01559792 +p12,p32001,hydUND,0.455284553 +p12,p32019,hydUND,0.203252033 +p12,p32029,hydUND,0.341463415 +p121,p24023,hydUND,1 +p122,p42031,hydUND,0.042916236 +p122,p42061,hydUND,0.014477766 +p122,p42071,hydUND,0.86155636 +p122,p42111,hydUND,0.015770424 +p122,p42115,hydUND,0.001938987 +p122,p42123,hydUND,0.038779731 +p122,p42133,hydUND,0.024560496 +p123,p24025,hydUND,1 +p126,p34031,hydUND,1 +p127,p36001,hydUND,0.005843405 +p127,p36003,hydUND,0.000310819 +p127,p36011,hydUND,0.000497311 +p127,p36019,hydUND,0.016722086 +p127,p36021,hydUND,0.001243278 +p127,p36027,hydUND,0.000621639 +p127,p36031,hydUND,0.002641965 +p127,p36033,hydUND,0.002175736 +p127,p36035,hydUND,0.001150032 +p127,p36039,hydUND,0.000310819 +p127,p36043,hydUND,0.014111202 +p127,p36045,hydUND,0.017685626 +p127,p36049,hydUND,0.0134274 +p127,p36055,hydUND,0.017188315 +p127,p36063,hydUND,0.757684544 +p127,p36065,hydUND,0.01759238 +p127,p36067,hydUND,0.000745967 +p127,p36071,hydUND,0.000714885 +p127,p36073,hydUND,0.001647343 +p127,p36075,hydUND,0.023777687 +p127,p36077,hydUND,0.000435147 +p127,p36083,hydUND,0.001709507 +p127,p36089,hydUND,0.026450734 +p127,p36091,hydUND,0.037330036 +p127,p36099,hydUND,0.002051408 +p127,p36105,hydUND,0.023964179 +p127,p36111,hydUND,0.008392125 +p127,p36113,hydUND,0.000901376 +p127,p36115,hydUND,0.001740589 +p127,p36119,hydUND,0.000932458 +p129,p50001,hydUND,0.070786517 +p129,p50005,hydUND,0.056179775 +p129,p50007,hydUND,0.128464419 +p129,p50009,hydUND,0.020224719 +p129,p50011,hydUND,0.139325843 +p129,p50015,hydUND,0.014981273 +p129,p50017,hydUND,0.007490637 +p129,p50019,hydUND,0.004868914 +p129,p50021,hydUND,0.043820225 +p129,p50023,hydUND,0.034456929 +p129,p50025,hydUND,0.311985019 +p129,p50027,hydUND,0.16741573 +p130,p33001,hydUND,0.007026701 +p130,p33007,hydUND,0.11563943 +p130,p33009,hydUND,0.737201365 +p130,p33011,hydUND,0.056615138 +p130,p33013,hydUND,0.074483036 +p130,p33017,hydUND,0.006625176 +p130,p33019,hydUND,0.002409155 +p131,p25009,hydUND,0.06514658 +p131,p25011,hydUND,0.31735691 +p131,p25013,hydUND,0.483015356 +p131,p25017,hydUND,0.111214518 +p131,p25027,hydUND,0.023266636 +p132,p09110,hydUND,0.154440154 +p132,p09140,hydUND,0.208494208 +p132,p09150,hydUND,0.046332046 +p132,p09160,hydUND,0.306949807 +p132,p09180,hydUND,0.121621622 +p132,p09190,hydUND,0.162162162 +p133,p44007,hydUND,1 +p134,p23001,hydUND,0.219761499 +p134,p23003,hydUND,0.001946946 +p134,p23005,hydUND,0.081771721 +p134,p23007,hydUND,0.023606717 +p134,p23011,hydUND,0.06960331 +p134,p23017,hydUND,0.124847895 +p134,p23019,hydUND,0.168167437 +p134,p23023,hydUND,0.0313945 +p134,p23025,hydUND,0.163300073 +p134,p23031,hydUND,0.115599903 +p14,p16021,hydUND,1 +p15,p16001,hydUND,0.288367546 +p15,p16003,hydUND,0.005620723 +p15,p16013,hydUND,0.0271261 +p15,p16015,hydUND,0.022971652 +p15,p16027,hydUND,0.002688172 +p15,p16035,hydUND,0.001466276 +p15,p16039,hydUND,0.039100684 +p15,p16047,hydUND,0.425464321 +p15,p16053,hydUND,0.13856305 +p15,p16063,hydUND,0.017350929 +p15,p16085,hydUND,0.031280547 +p16,p16005,hydUND,0.004239683 +p16,p16019,hydUND,0.142453363 +p16,p16029,hydUND,0.003957038 +p16,p16033,hydUND,0.013566987 +p16,p16041,hydUND,0.084511023 +p16,p16043,hydUND,0.069248163 +p16,p16077,hydUND,0.269361221 +p16,p16081,hydUND,0.016676088 +p16,p16083,hydUND,0.395986433 +p17,p30001,hydUND,0.014514666 +p17,p30029,hydUND,0.013909888 +p17,p30047,hydUND,0.688841851 +p17,p30089,hydUND,0.282733595 +p18,p30009,hydUND,0.014174344 +p18,p30013,hydUND,0.347271439 +p18,p30049,hydUND,0.40822112 +p18,p30051,hydUND,0.053153792 +p18,p30095,hydUND,0.085046067 +p18,p30099,hydUND,0.092133239 +p2,p53005,hydUND,0.003005811 +p2,p53009,hydUND,0.006178612 +p2,p53011,hydUND,0.050430833 +p2,p53013,hydUND,0.270523011 +p2,p53023,hydUND,0.267851179 +p2,p53027,hydUND,0.005176675 +p2,p53031,hydUND,3.34E-05 +p2,p53039,hydUND,0.005043083 +p2,p53041,hydUND,0.032061987 +p2,p53045,hydUND,0.000467571 +p2,p53059,hydUND,0.088070269 +p2,p53071,hydUND,0.264444593 +p2,p53077,hydUND,0.006712978 +p21,p56013,hydUND,0.069264069 +p21,p56023,hydUND,0.623376623 +p21,p56029,hydUND,0.307359307 +p25,p49001,hydUND,0.044169611 +p25,p49003,hydUND,0.026501767 +p25,p49005,hydUND,0.136042403 +p25,p49017,hydUND,0.074204947 +p25,p49035,hydUND,0.127208481 +p25,p49039,hydUND,0.107773852 +p25,p49049,hydUND,0.266784452 +p25,p49053,hydUND,0.040636042 +p25,p49057,hydUND,0.176678445 +p26,p49013,hydUND,0.045283019 +p26,p49029,hydUND,0.150943396 +p26,p49043,hydUND,0.237735849 +p26,p49051,hydUND,0.566037736 +p28,p04012,hydUND,0.815899582 +p28,p04013,hydUND,0.184100418 +p3,p53021,hydUND,0.714425908 +p3,p53043,hydUND,0.060563578 +p3,p53051,hydUND,0.12617412 +p3,p53063,hydUND,0.094350203 +p3,p53065,hydUND,0.004486191 +p31,p35039,hydUND,0.299879081 +p31,p35045,hydUND,0.362756953 +p31,p35051,hydUND,0.337363966 +p32,p46081,hydUND,1 +p33,p08005,hydUND,0.017746229 +p33,p08013,hydUND,0.175687666 +p33,p08035,hydUND,0.036379769 +p33,p08037,hydUND,0.039929015 +p33,p08045,hydUND,0.133096717 +p33,p08049,hydUND,0.031055901 +p33,p08065,hydUND,0.022182786 +p33,p08069,hydUND,0.421472937 +p33,p08077,hydUND,0.039929015 +p33,p08093,hydUND,0.04880213 +p33,p08103,hydUND,0.017746229 +p33,p08117,hydUND,0.015971606 +p34,p08015,hydUND,0.011666667 +p34,p08041,hydUND,0.2875 +p34,p08067,hydUND,0.048333333 +p34,p08083,hydUND,0.095 +p34,p08085,hydUND,0.431666667 +p34,p08091,hydUND,0.066666667 +p34,p08101,hydUND,0.059166667 +p39,p31101,hydUND,1 +p4,p53017,hydUND,0.947025445 +p4,p53025,hydUND,0.052974555 +p40,p31015,hydUND,0.010079798 +p40,p31019,hydUND,0.004199916 +p40,p31027,hydUND,0.428391432 +p40,p31073,hydUND,0.17849643 +p40,p31077,hydUND,0.000839983 +p40,p31111,hydUND,0.18899622 +p40,p31141,hydUND,0.18899622 +p42,p27113,hydUND,1 +p43,p27009,hydUND,0.098308668 +p43,p27017,hydUND,0.041226216 +p43,p27021,hydUND,0.036997886 +p43,p27035,hydUND,0.030655391 +p43,p27037,hydUND,0.068710359 +p43,p27053,hydUND,0.165961945 +p43,p27061,hydUND,0.015856237 +p43,p27097,hydUND,0.225158562 +p43,p27111,hydUND,0.00845666 +p43,p27123,hydUND,0.190274841 +p43,p27145,hydUND,0.090909091 +p43,p27157,hydUND,0.027484144 +p44,p27127,hydUND,0.421052632 +p44,p27173,hydUND,0.578947368 +p46,p55003,hydUND,0.003463203 +p46,p55005,hydUND,0.000865801 +p46,p55013,hydUND,0.019047619 +p46,p55017,hydUND,0.388744589 +p46,p55033,hydUND,0.05021645 +p46,p55035,hydUND,0.063203463 +p46,p55051,hydUND,0.008658009 +p46,p55095,hydUND,0.131601732 +p46,p55099,hydUND,0.023376623 +p46,p55107,hydUND,0.252813853 +p46,p55109,hydUND,0.012121212 +p46,p55113,hydUND,0.03982684 +p46,p55129,hydUND,0.006060606 +p5,p41005,hydUND,0.034311452 +p5,p41017,hydUND,0.001616065 +p5,p41027,hydUND,0.001077377 +p5,p41031,hydUND,0.003710964 +p5,p41039,hydUND,0.022520163 +p5,p41043,hydUND,0.031228957 +p5,p41047,hydUND,0.003142348 +p5,p41051,hydUND,0.17706385 +p5,p41055,hydUND,0.307052328 +p5,p41059,hydUND,0.144622843 +p5,p41063,hydUND,0.000164599 +p5,p41065,hydUND,0.273489054 +p50,p40071,hydUND,0.218934911 +p50,p40079,hydUND,0.781065089 +p51,p40021,hydUND,0.248302619 +p51,p40101,hydUND,0.363724539 +p51,p40143,hydUND,0.387972842 +p53,p20045,hydUND,1 +p55,p29039,hydUND,0.193668529 +p55,p29213,hydUND,0.806331471 +p56,p05033,hydUND,0.008004926 +p56,p05047,hydUND,0.708128079 +p56,p05109,hydUND,0.179187192 +p56,p05131,hydUND,0.104679803 +p58,p22029,hydUND,1 +p6,p41019,hydUND,0.060745513 +p6,p41029,hydUND,0.464795214 +p6,p41035,hydUND,0.474459273 +p61,p48465,hydUND,1 +p63,p48077,hydUND,0.923076923 +p63,p48121,hydUND,0.076923077 +p64,p48053,hydUND,0.301740812 +p64,p48091,hydUND,0.01934236 +p64,p48177,hydUND,0.018375242 +p64,p48187,hydUND,0.036105738 +p64,p48299,hydUND,0.221470019 +p64,p48453,hydUND,0.402965828 +p65,p48323,hydUND,0.164383562 +p65,p48427,hydUND,0.835616438 +p66,p48351,hydUND,0.909090909 +p66,p48457,hydUND,0.090909091 +p68,p27013,hydUND,0.96969697 +p68,p27045,hydUND,0.03030303 +p7,p41045,hydUND,1 +p70,p19097,hydUND,0.007868852 +p70,p19111,hydUND,0.957377049 +p70,p19113,hydUND,0.013770492 +p70,p19179,hydUND,0.020983607 +p71,p29173,hydUND,1 +p74,p26013,hydUND,0.00896861 +p74,p26043,hydUND,0.44955157 +p74,p26053,hydUND,0.011210762 +p74,p26071,hydUND,0.118834081 +p74,p26103,hydUND,0.006726457 +p74,p26109,hydUND,0.272421525 +p74,p26131,hydUND,0.132286996 +p75,p55037,hydUND,0.269817073 +p75,p55069,hydUND,0.099085366 +p75,p55075,hydUND,0.365853659 +p75,p55083,hydUND,0.056402439 +p75,p55085,hydUND,0.025914634 +p75,p55097,hydUND,0.182926829 +p76,p55087,hydUND,0.865 +p76,p55141,hydUND,0.135 +p77,p55065,hydUND,0.002590674 +p77,p55111,hydUND,0.997409326 +p8,p06035,hydUND,0.254251701 +p8,p06093,hydUND,0.745748299 +p80,p17099,hydUND,0.53470437 +p80,p17103,hydUND,0.077120823 +p80,p17195,hydUND,0.051413882 +p80,p17197,hydUND,0.30848329 +p80,p17201,hydUND,0.028277635 +p81,p17161,hydUND,1 +p84,p29029,hydUND,1 +p85,p05001,hydUND,0.096818811 +p85,p05019,hydUND,0.110650069 +p85,p05029,hydUND,0.047026279 +p85,p05051,hydUND,0.20746888 +p85,p05063,hydUND,0.033471646 +p85,p05115,hydUND,0.387275242 +p85,p05119,hydUND,0.117289073 +p89,p01077,hydUND,0.82867784 +p89,p01125,hydUND,0.059590317 +p89,p01131,hydUND,0.111731844 +p9,p06007,hydUND,0.132906178 +p9,p06009,hydUND,0.005583524 +p9,p06017,hydUND,0.130800915 +p9,p06019,hydUND,0.17180778 +p9,p06021,hydUND,0.000915332 +p9,p06023,hydUND,0.0002746 +p9,p06033,hydUND,0.000933638 +p9,p06039,hydUND,0.055048055 +p9,p06043,hydUND,0.018947368 +p9,p06045,hydUND,0.002324943 +p9,p06047,hydUND,0.001135011 +p9,p06053,hydUND,0.000732265 +p9,p06055,hydUND,0.002105263 +p9,p06057,hydUND,0.020521739 +p9,p06061,hydUND,0.078352403 +p9,p06063,hydUND,0.082343249 +p9,p06067,hydUND,0.003038902 +p9,p06077,hydUND,0.001922197 +p9,p06089,hydUND,0.078022883 +p9,p06091,hydUND,0.002489703 +p9,p06097,hydUND,0.00021968 +p9,p06099,hydUND,0.00380778 +p9,p06103,hydUND,0.001116705 +p9,p06105,hydUND,0.001116705 +p9,p06109,hydUND,0.128604119 +p9,p06115,hydUND,0.074929062 +p90,p01017,hydUND,0.000241342 +p90,p01021,hydUND,0.414021962 +p90,p01039,hydUND,0.009895016 +p90,p01051,hydUND,0.57584168 +p92,p47019,hydUND,0.01261077 +p92,p47021,hydUND,0.047034765 +p92,p47027,hydUND,0.070552147 +p92,p47037,hydUND,0.034083163 +p92,p47041,hydUND,0.174960236 +p92,p47105,hydUND,0.08997955 +p92,p47115,hydUND,0.119972733 +p92,p47139,hydUND,0.15269257 +p92,p47159,hydUND,0.120427176 +p92,p47163,hydUND,0.046239491 +p92,p47165,hydUND,0.131447398 +p93,p21139,hydUND,0.144874976 +p93,p21143,hydUND,0.28249666 +p93,p21207,hydUND,0.572628364 +p94,p13009,hydUND,0.221659919 +p94,p13059,hydUND,0.014676113 +p94,p13073,hydUND,0.060728745 +p94,p13095,hydUND,0.031882591 +p94,p13141,hydUND,0.574898785 +p94,p13217,hydUND,0.012145749 +p94,p13219,hydUND,0.00708502 +p94,p13321,hydUND,0.076923077 +p95,p45007,hydUND,0.012565971 +p95,p45021,hydUND,0.002513194 +p95,p45023,hydUND,0.29404373 +p95,p45045,hydUND,0.020608193 +p95,p45057,hydUND,0.113093742 +p95,p45059,hydUND,0.018597638 +p95,p45077,hydUND,0.382005529 +p95,p45083,hydUND,0.005780347 +p95,p45091,hydUND,0.150791656 +p96,p45015,hydUND,0.251838645 +p96,p45039,hydUND,0.046801872 +p96,p45055,hydUND,0.094718074 +p96,p45063,hydUND,0.221194562 +p96,p45065,hydUND,0.374414977 +p96,p45079,hydUND,0.01103187 +p97,p37021,hydUND,0.007389618 +p97,p37023,hydUND,0.058193238 +p97,p37027,hydUND,0.061703307 +p97,p37035,hydUND,0.073896176 +p97,p37071,hydUND,0.117864401 +p97,p37089,hydUND,0.011823388 +p97,p37097,hydUND,0.049879919 +p97,p37109,hydUND,0.598559025 +p97,p37113,hydUND,0.001847404 +p97,p37115,hydUND,0.002216885 +p97,p37149,hydUND,0.009975984 +p97,p37161,hydUND,0.006650656 +p98,p37001,hydUND,0.04398827 +p98,p37037,hydUND,0.129032258 +p98,p37105,hydUND,0.035190616 +p98,p37153,hydUND,0.791788856 +p99,p51041,hydUND,0.232 p99,p51083,hydUND,0.128 p99,p51109,hydUND,0.08 p99,p51590,hydUND,0.36 diff --git a/reeds/input_processing/copy_files.py b/reeds/input_processing/copy_files.py index 9cd2612e..df419520 100644 --- a/reeds/input_processing/copy_files.py +++ b/reeds/input_processing/copy_files.py @@ -787,31 +787,28 @@ def write_non_region_files(non_region_files, sw, inputs_case, regions_and_agglev ) -def calculate_county_fractions(df, county2zone): +def calculate_county_fractions(df, county2zone_with_legacy_bas): """ Calculates the values associated with each county as a percentage - of the total values for the county's state, BA, and model region - (where "BA" means a zone from the set of default 134 zones and - "model region" means a zone from the set of zones specific to this run). - Note the calculation of the county-to-BA fractions will eventually + of the total values for the county's state, zone, and legacy BA + (where "zone" means a region from the zone set corresponding to + the current run and "legacy BA" means a region from the z134 zone set). + Note the calculation of the county-to-legacy BA fractions will eventually be deprecated once the 134-zone structure is removed from all spatial inputs (see https://github.com/ReEDS-Model/ReEDS/issues/16). - The provided dataframe must have columns 'FIPS' and 'value'. + + The provided dataframe "df" must have columns 'FIPS' and 'value'. + The provided dataframe "county2zone_with_legacy_bas" must have columns + 'FIPS', 'state', 'r', and 'legacy_ba'. """ required_columns = ['FIPS', 'value'] missing_columns = [col for col in required_columns if col not in df.columns] if len(missing_columns) > 0: raise KeyError(f"Provided dataframe is missing required columns {missing_columns}") - df = ( - df.merge( - county2zone.drop(columns='FIPS') - .rename(columns={'county': 'FIPS'}) - ) - .rename(columns={'ba': 'PCA_REG'}) - ) + df = df.merge(county2zone_with_legacy_bas) df['fracdata'] = ( - df.groupby('PCA_REG') + df.groupby('legacy_ba') ['value'] .transform(lambda x: x / x.sum()) ) @@ -824,7 +821,7 @@ def calculate_county_fractions(df, county2zone): df = ( df.dropna(subset='r') - [['PCA_REG', 'FIPS', 'fracdata', 'r', 'state', 'r_frac', 'state_frac']] + [['legacy_ba', 'FIPS', 'fracdata', 'r', 'state', 'r_frac', 'state_frac']] ) return df @@ -833,19 +830,18 @@ def write_disagg_data_files(runfiles, inputs_case): """ Write files that will be used for disaggregation. """ - # Get the county2zone file specific to this run (a mapping from counties - # to model regions) and the original county2zone file (including all - # counties) and combine them. The former is needed to calculate model - # region-to-county fractions, and the latter is needed to calculate - # state-to-county and BA-to-county fractions. - county_r_map = reeds.io.get_county2zone(os.path.dirname(inputs_case)) - sw = reeds.io.get_switches(inputs_case) - county2zone = ( - reeds.io.get_county2zone(GSw_ZoneSet=sw['GSw_ZoneSet'], as_map=False) - .rename(columns={'r':'ba'}) + # Get the county2zone file for the z134 zone set and append the zones + # corresponding to this run. The z134 file is needed to calculate + # state-to-county fractions (since it includes all counties in the CONUS) + # and legacy BA-to-county fractions (which are needed to disaggregate + # inputs that are still at the z134 resolution). + county2zone_with_legacy_bas = ( + reeds.io.get_county2zone(GSw_ZoneSet='z134', as_map=False) + .rename(columns={'r': 'legacy_ba'}) ) - county2zone['county'] = 'p' + county2zone['FIPS'].astype(str).str.zfill(5) - county2zone['r'] = county2zone['FIPS'].map(county_r_map) + county_r_map = reeds.io.get_county2zone(os.path.dirname(inputs_case)) + county2zone_with_legacy_bas['r'] = county2zone_with_legacy_bas['FIPS'].map(county_r_map) + county2zone_with_legacy_bas['FIPS'] = 'p' + county2zone_with_legacy_bas['FIPS'] filename_filepath_map = runfiles.set_index('filename')['full_filepath'] for filename in [ @@ -871,7 +867,7 @@ def write_disagg_data_files(runfiles, inputs_case): # Calculate state/region/BA-to-county fractions for the # disagg variable and write to inputs_case - df = calculate_county_fractions(df, county2zone) + df = calculate_county_fractions(df, county2zone_with_legacy_bas) df.to_csv(os.path.join(inputs_case, filename), index=False) return diff --git a/reeds/spatial.py b/reeds/spatial.py index c0b81a0d..cb256289 100644 --- a/reeds/spatial.py +++ b/reeds/spatial.py @@ -150,18 +150,18 @@ def apply_variable_disaggregation( df = df.merge( disagg_data, left_on=[region_col, 'i'], - right_on=['PCA_REG', 'i'] + right_on=['legacy_ba', 'i'] ) else: df = df.merge( - disagg_data[['PCA_REG', 'FIPS', 'fracdata']], + disagg_data[['legacy_ba', 'FIPS', 'fracdata']], left_on=region_col, - right_on='PCA_REG' + right_on='legacy_ba' ) # Replace legacy zones in region_col with the county FIPS codes df = ( - df.drop(columns=[region_col, 'PCA_REG']) + df.drop(columns=[region_col, 'legacy_ba']) .rename(columns={'FIPS': region_col}) ) From 092673ae017bde9fb1e857622ce5d009fb5c1108 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 12:48:02 -0400 Subject: [PATCH 04/33] Cleanup --- reeds/input_processing/copy_files.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/reeds/input_processing/copy_files.py b/reeds/input_processing/copy_files.py index df419520..e20f1ec9 100644 --- a/reeds/input_processing/copy_files.py +++ b/reeds/input_processing/copy_files.py @@ -840,8 +840,12 @@ def write_disagg_data_files(runfiles, inputs_case): .rename(columns={'r': 'legacy_ba'}) ) county_r_map = reeds.io.get_county2zone(os.path.dirname(inputs_case)) - county2zone_with_legacy_bas['r'] = county2zone_with_legacy_bas['FIPS'].map(county_r_map) - county2zone_with_legacy_bas['FIPS'] = 'p' + county2zone_with_legacy_bas['FIPS'] + county2zone_with_legacy_bas['r'] = ( + county2zone_with_legacy_bas['FIPS'].map(county_r_map) + ) + county2zone_with_legacy_bas['FIPS'] = ( + 'p' + county2zone_with_legacy_bas['FIPS'] + ) filename_filepath_map = runfiles.set_index('filename')['full_filepath'] for filename in [ From fa309a84a05c3466e55a894317a8f1c44e5f49ac Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 17:11:55 -0400 Subject: [PATCH 05/33] Undo rounding --- inputs/disaggregation/disagg_hydroexist.csv | 1316 +++++++++---------- 1 file changed, 658 insertions(+), 658 deletions(-) diff --git a/inputs/disaggregation/disagg_hydroexist.csv b/inputs/disaggregation/disagg_hydroexist.csv index 1cc38a8a..3bc2fb90 100644 --- a/inputs/disaggregation/disagg_hydroexist.csv +++ b/inputs/disaggregation/disagg_hydroexist.csv @@ -1,663 +1,663 @@ legacy_ba,FIPS,i,fracdata -p1,p53007,hydUD,0.162906611 -p1,p53033,hydUD,0.033840504 -p1,p53057,hydUD,0.275970619 -p1,p53061,hydUD,0.251836306 -p1,p53073,hydUD,0.27544596 -p10,p06051,hydUD,0.951851852 -p10,p06111,hydUD,0.048148148 -p101,p12039,hydUD,1 -p103,p26069,hydUD,1 -p118,p51089,hydUD,0.404145078 -p118,p51141,hydUD,0.272020725 -p118,p51680,hydUD,0.323834197 -p122,p42103,hydUD,1 -p127,p36001,hydUD,0.027611494 -p127,p36043,hydUD,0.005986232 -p127,p36045,hydUD,0.025815624 -p127,p36049,hydUD,0.023421131 -p127,p36083,hydUD,0.013768333 -p127,p36089,hydUD,0.745061359 -p127,p36091,hydUD,0.130724334 -p127,p36113,hydUD,0.027611494 -p129,p50001,hydUD,0.034214619 -p129,p50019,hydUD,0.062208398 -p129,p50023,hydUD,0.199066874 -p129,p50025,hydUD,0.704510109 -p13,p32003,hydUD,1 -p130,p33001,hydUD,1 -p131,p25003,hydUD,0.470919325 -p131,p25011,hydUD,0.529080675 -p132,p09120,hydUD,0.410511364 -p132,p09140,hydUD,0.589488636 -p134,p23001,hydUD,0.019552192 -p134,p23003,hydUD,0.004415011 -p134,p23009,hydUD,0.029328288 -p134,p23011,hydUD,0.013875749 -p134,p23019,hydUD,0.365499842 -p134,p23025,hydUD,0.554714601 -p134,p23031,hydUD,0.012614317 -p14,p16017,hydUD,0.944285259 -p14,p16055,hydUD,0.055714741 -p15,p16001,hydUD,0.002514669 -p15,p16035,hydUD,0.354339709 -p15,p16039,hydUD,0.030480835 -p15,p16045,hydUD,0.007772613 -p15,p16067,hydUD,0.021107978 -p15,p16073,hydUD,0.070715538 -p15,p16087,hydUD,0.513068658 -p16,p16019,hydUD,0.78539626 -p16,p16029,hydUD,0.21460374 -p17,p30007,hydUD,0.00623073 -p17,p30029,hydUD,0.274922919 -p17,p30039,hydUD,0.001284687 -p17,p30053,hydUD,0.337230216 -p17,p30057,hydUD,0.007322713 -p17,p30089,hydUD,0.373008736 -p18,p30003,hydUD,0.465436296 -p18,p30013,hydUD,0.412012304 -p18,p30049,hydUD,0.1225514 -p19,p30105,hydUD,1 -p2,p53005,hydUD,0.013413816 -p2,p53015,hydUD,0.182875028 -p2,p53041,hydUD,0.566733736 -p2,p53045,hydUD,0.164319249 -p2,p53059,hydUD,0.072658171 -p21,p56013,hydUD,0.398148148 -p21,p56029,hydUD,0.601851852 -p24,p56007,hydUD,0.36627907 -p24,p56025,hydUD,0.449335548 -p24,p56031,hydUD,0.184385382 -p25,p49003,hydUD,1 -p26,p49009,hydUD,0.965648855 -p26,p49051,hydUD,0.034351145 -p27,p04015,hydUD,1 -p28,p04005,hydUD,0.861740558 -p28,p04012,hydUD,0.078817734 -p28,p04013,hydUD,0.059441708 -p3,p53043,hydUD,0.075002095 -p3,p53051,hydUD,0.924997905 -p33,p08013,hydUD,0.040268456 -p33,p08019,hydUD,0.008260196 -p33,p08069,hydUD,0.737222509 -p33,p08077,hydUD,0.08002065 -p33,p08117,hydUD,0.134228188 -p34,p08051,hydUD,0.322147651 -p34,p08067,hydUD,0.01715138 -p34,p08083,hydUD,0.004474273 -p34,p08085,hydUD,0.645786726 -p34,p08113,hydUD,0.01043997 -p36,p38057,hydUD,1 -p38,p46023,hydUD,0.225846926 -p38,p46065,hydUD,0.447929737 -p38,p46085,hydUD,0.326223338 -p4,p53017,hydUD,0.173524269 -p4,p53025,hydUD,0.826475731 -p40,p31141,hydUD,1 -p43,p27017,hydUD,0.815845824 -p43,p27075,hydUD,0.043897216 -p43,p27137,hydUD,0.140256959 -p46,p55017,hydUD,1 -p5,p41031,hydUD,0.440700552 -p5,p41039,hydUD,0.060441652 -p5,p41047,hydUD,0.095183705 -p5,p41063,hydUD,0.403674091 -p50,p40061,hydUD,0.39731286 -p50,p40089,hydUD,0.441458733 -p50,p40135,hydUD,0.161228407 -p51,p40097,hydUD,1 -p55,p29213,hydUD,1 -p56,p05015,hydUD,0.588665448 -p56,p05023,hydUD,0.411334552 -p6,p41019,hydUD,0.918095238 -p6,p41029,hydUD,0.081904762 -p63,p48181,hydUD,0.681818182 -p63,p48217,hydUD,0.318181818 -p66,p48241,hydUD,0.66581306 -p66,p48373,hydUD,0.33418694 -p7,p41001,hydUD,1 -p70,p19125,hydUD,1 -p72,p29131,hydUD,1 -p74,p26071,hydUD,0.601449275 -p74,p26103,hydUD,0.398550725 -p75,p55069,hydUD,0.503816794 -p75,p55073,hydUD,0.13740458 -p75,p55075,hydUD,0.229007634 -p75,p55097,hydUD,0.129770992 -p76,p55001,hydUD,0.327102804 -p76,p55057,hydUD,0.46728972 -p76,p55141,hydUD,0.205607477 -p85,p05005,hydUD,0.860256165 -p85,p05051,hydUD,0.117950679 -p85,p05059,hydUD,0.021793156 -p89,p01077,hydUD,0.529591701 -p89,p01095,hydUD,0.163186594 -p89,p01125,hydUD,0.070488097 -p89,p01127,hydUD,0.236733608 -p9,p06005,hydUD,0.061906549 -p9,p06007,hydUD,0.020202603 -p9,p06009,hydUD,0.073710641 -p9,p06017,hydUD,0.006003059 -p9,p06019,hydUD,0.056567289 -p9,p06039,hydUD,0.036768738 -p9,p06063,hydUD,0.036364686 -p9,p06067,hydUD,0.062079714 -p9,p06089,hydUD,0.460965684 -p9,p06103,hydUD,0.004329129 -p9,p06105,hydUD,0.040405206 -p9,p06109,hydUD,0.140696701 -p90,p01015,hydUD,0.078485484 -p90,p01019,hydUD,0.089413843 -p90,p01051,hydUD,0.201015565 -p90,p01081,hydUD,0.251352246 -p90,p01085,hydUD,0.090517717 -p90,p01111,hydUD,0.146815322 -p90,p01121,hydUD,0.142399823 -p92,p47001,hydUD,0.073478361 -p92,p47009,hydUD,0.090256885 -p92,p47019,hydUD,0.038764175 -p92,p47051,hydUD,0.023258505 -p92,p47057,hydUD,0.08192548 -p92,p47065,hydUD,0.08192548 -p92,p47071,hydUD,0.141344596 -p92,p47105,hydUD,0.097315436 -p92,p47123,hydUD,0.029507059 -p92,p47139,hydUD,0.013885675 -p92,p47143,hydUD,0.113631104 -p92,p47155,hydUD,0.102927563 -p92,p47163,hydUD,0.025688498 -p92,p47177,hydUD,0.02048137 -p92,p47179,hydUD,0.065609813 -p93,p21157,hydUD,1 -p94,p13015,hydUD,0.040324839 -p94,p13035,hydUD,0.012769532 -p94,p13105,hydUD,0.188182582 -p94,p13111,hydUD,0.009689163 -p94,p13117,hydUD,0.071016522 -p94,p13121,hydUD,0.005880706 -p94,p13137,hydUD,0.069952394 -p94,p13147,hydUD,0.226827219 -p94,p13151,hydUD,0.094091291 -p94,p13213,hydUD,0.13441613 -p94,p13215,hydUD,0.052310277 -p94,p13241,hydUD,0.018594231 -p94,p13257,hydUD,0.015961915 -p94,p13285,hydUD,0.048725847 -p94,p13291,hydUD,0.011257351 -p95,p45001,hydUD,0.04952381 -p95,p45021,hydUD,0.523809524 -p95,p45023,hydUD,0.083809524 -p95,p45087,hydUD,0.342857143 -p96,p45071,hydUD,1 -p97,p37039,hydUD,0.088532203 -p97,p37043,hydUD,0.01584898 -p97,p37057,hydUD,0.039370079 -p97,p37075,hydUD,0.269533616 -p97,p37087,hydUD,0.11306279 -p97,p37099,hydUD,0.050070664 -p97,p37113,hydUD,0.046840299 -p97,p37167,hydUD,0.069654755 -p97,p37173,hydUD,0.307086614 -p98,p37083,hydUD,0.606936416 -p98,p37123,hydUD,0.393063584 -p99,p51117,hydUD,0.42700835 -p99,p51143,hydUD,0.57299165 -p1,p53007,hydUND,0.30273132 -p1,p53033,hydUND,0.093610877 -p1,p53053,hydUND,0.084346047 -p1,p53061,hydUND,0.004752737 -p1,p53067,hydUND,0.007459993 -p1,p53073,hydUND,0.507099025 -p10,p06025,hydUND,0.075255442 -p10,p06027,hydUND,0.070990671 -p10,p06029,hydUND,0.116303865 -p10,p06037,hydUND,0.286717015 -p10,p06051,hydUND,0.065748556 -p10,p06059,hydUND,0.010928476 -p10,p06065,hydUND,0.043891604 -p10,p06071,hydUND,0.294624611 -p10,p06107,hydUND,0.034651266 -p10,p06111,hydUND,0.000888494 -p100,p51139,hydUND,1 -p101,p12073,hydUND,1 -p103,p26001,hydUND,0.019191227 -p103,p26005,hydUND,0.009595613 -p103,p26007,hydUND,0.049348869 -p103,p26025,hydUND,0.001370802 -p103,p26031,hydUND,0.012337217 -p103,p26033,hydUND,0.341329678 -p103,p26051,hydUND,0.049348869 -p103,p26057,hydUND,0.002741604 -p103,p26067,hydUND,0.008224812 -p103,p26069,hydUND,0.101439342 -p103,p26081,hydUND,0.020562029 -p103,p26101,hydUND,0.071967101 -p103,p26107,hydUND,0.016449623 -p103,p26111,hydUND,0.024674435 -p103,p26123,hydUND,0.249485949 -p103,p26135,hydUND,0.010966415 -p103,p26163,hydUND,0.010966415 -p104,p26021,hydUND,0.693877551 -p104,p26149,hydUND,0.306122449 -p105,p18015,hydUND,0.38961039 -p105,p18039,hydUND,0.090909091 -p105,p18141,hydUND,0.25974026 -p105,p18181,hydUND,0.25974026 -p107,p18155,hydUND,1 -p109,p21023,hydUND,0.342130987 -p109,p21065,hydUND,0.008145976 -p109,p21111,hydUND,0.328445748 -p109,p21113,hydUND,0.007494298 -p109,p21125,hydUND,0.198761812 -p109,p21129,hydUND,0.012381883 -p109,p21167,hydUND,0.102639296 -p11,p06073,hydUND,1 -p110,p21193,hydUND,1 -p112,p39039,hydUND,0.045045045 -p112,p39041,hydUND,0.052052052 -p112,p39105,hydUND,0.2002002 -p112,p39145,hydUND,0.702702703 -p114,p39017,hydUND,1 -p115,p42003,hydUND,0.044651131 -p115,p42005,hydUND,0.438929047 -p115,p42007,hydUND,0.045493606 -p115,p42051,hydUND,0.438086573 -p115,p42129,hydUND,0.032839643 -p116,p54003,hydUND,0.005254861 -p116,p54037,hydUND,0.022595901 -p116,p54067,hydUND,0.42038886 -p116,p54073,hydUND,0.231213873 -p116,p54103,hydUND,0.099842354 -p116,p54107,hydUND,0.220704151 -p117,p54039,hydUND,0.606315789 -p117,p54079,hydUND,0.393684211 -p118,p51009,hydUND,0.060658579 -p118,p51035,hydUND,0.351819757 -p118,p51077,hydUND,0.043327556 -p118,p51089,hydUND,0.010398614 -p118,p51155,hydUND,0.518197574 -p118,p51161,hydUND,0.01559792 -p12,p32001,hydUND,0.455284553 -p12,p32019,hydUND,0.203252033 -p12,p32029,hydUND,0.341463415 -p121,p24023,hydUND,1 -p122,p42031,hydUND,0.042916236 -p122,p42061,hydUND,0.014477766 -p122,p42071,hydUND,0.86155636 -p122,p42111,hydUND,0.015770424 -p122,p42115,hydUND,0.001938987 -p122,p42123,hydUND,0.038779731 -p122,p42133,hydUND,0.024560496 -p123,p24025,hydUND,1 -p126,p34031,hydUND,1 -p127,p36001,hydUND,0.005843405 -p127,p36003,hydUND,0.000310819 -p127,p36011,hydUND,0.000497311 -p127,p36019,hydUND,0.016722086 -p127,p36021,hydUND,0.001243278 -p127,p36027,hydUND,0.000621639 -p127,p36031,hydUND,0.002641965 -p127,p36033,hydUND,0.002175736 -p127,p36035,hydUND,0.001150032 -p127,p36039,hydUND,0.000310819 -p127,p36043,hydUND,0.014111202 -p127,p36045,hydUND,0.017685626 -p127,p36049,hydUND,0.0134274 -p127,p36055,hydUND,0.017188315 -p127,p36063,hydUND,0.757684544 -p127,p36065,hydUND,0.01759238 -p127,p36067,hydUND,0.000745967 -p127,p36071,hydUND,0.000714885 -p127,p36073,hydUND,0.001647343 -p127,p36075,hydUND,0.023777687 -p127,p36077,hydUND,0.000435147 -p127,p36083,hydUND,0.001709507 -p127,p36089,hydUND,0.026450734 -p127,p36091,hydUND,0.037330036 -p127,p36099,hydUND,0.002051408 -p127,p36105,hydUND,0.023964179 -p127,p36111,hydUND,0.008392125 -p127,p36113,hydUND,0.000901376 -p127,p36115,hydUND,0.001740589 -p127,p36119,hydUND,0.000932458 -p129,p50001,hydUND,0.070786517 -p129,p50005,hydUND,0.056179775 -p129,p50007,hydUND,0.128464419 -p129,p50009,hydUND,0.020224719 -p129,p50011,hydUND,0.139325843 -p129,p50015,hydUND,0.014981273 -p129,p50017,hydUND,0.007490637 -p129,p50019,hydUND,0.004868914 -p129,p50021,hydUND,0.043820225 -p129,p50023,hydUND,0.034456929 -p129,p50025,hydUND,0.311985019 -p129,p50027,hydUND,0.16741573 -p130,p33001,hydUND,0.007026701 -p130,p33007,hydUND,0.11563943 -p130,p33009,hydUND,0.737201365 -p130,p33011,hydUND,0.056615138 -p130,p33013,hydUND,0.074483036 -p130,p33017,hydUND,0.006625176 -p130,p33019,hydUND,0.002409155 -p131,p25009,hydUND,0.06514658 -p131,p25011,hydUND,0.31735691 -p131,p25013,hydUND,0.483015356 -p131,p25017,hydUND,0.111214518 -p131,p25027,hydUND,0.023266636 -p132,p09110,hydUND,0.154440154 -p132,p09140,hydUND,0.208494208 -p132,p09150,hydUND,0.046332046 -p132,p09160,hydUND,0.306949807 -p132,p09180,hydUND,0.121621622 -p132,p09190,hydUND,0.162162162 -p133,p44007,hydUND,1 -p134,p23001,hydUND,0.219761499 -p134,p23003,hydUND,0.001946946 -p134,p23005,hydUND,0.081771721 -p134,p23007,hydUND,0.023606717 -p134,p23011,hydUND,0.06960331 -p134,p23017,hydUND,0.124847895 -p134,p23019,hydUND,0.168167437 -p134,p23023,hydUND,0.0313945 -p134,p23025,hydUND,0.163300073 -p134,p23031,hydUND,0.115599903 -p14,p16021,hydUND,1 -p15,p16001,hydUND,0.288367546 -p15,p16003,hydUND,0.005620723 -p15,p16013,hydUND,0.0271261 -p15,p16015,hydUND,0.022971652 -p15,p16027,hydUND,0.002688172 -p15,p16035,hydUND,0.001466276 -p15,p16039,hydUND,0.039100684 -p15,p16047,hydUND,0.425464321 -p15,p16053,hydUND,0.13856305 -p15,p16063,hydUND,0.017350929 -p15,p16085,hydUND,0.031280547 -p16,p16005,hydUND,0.004239683 -p16,p16019,hydUND,0.142453363 -p16,p16029,hydUND,0.003957038 -p16,p16033,hydUND,0.013566987 -p16,p16041,hydUND,0.084511023 -p16,p16043,hydUND,0.069248163 -p16,p16077,hydUND,0.269361221 -p16,p16081,hydUND,0.016676088 -p16,p16083,hydUND,0.395986433 -p17,p30001,hydUND,0.014514666 -p17,p30029,hydUND,0.013909888 -p17,p30047,hydUND,0.688841851 -p17,p30089,hydUND,0.282733595 -p18,p30009,hydUND,0.014174344 -p18,p30013,hydUND,0.347271439 -p18,p30049,hydUND,0.40822112 -p18,p30051,hydUND,0.053153792 -p18,p30095,hydUND,0.085046067 -p18,p30099,hydUND,0.092133239 -p2,p53005,hydUND,0.003005811 -p2,p53009,hydUND,0.006178612 -p2,p53011,hydUND,0.050430833 -p2,p53013,hydUND,0.270523011 -p2,p53023,hydUND,0.267851179 -p2,p53027,hydUND,0.005176675 -p2,p53031,hydUND,3.34E-05 -p2,p53039,hydUND,0.005043083 -p2,p53041,hydUND,0.032061987 -p2,p53045,hydUND,0.000467571 -p2,p53059,hydUND,0.088070269 -p2,p53071,hydUND,0.264444593 -p2,p53077,hydUND,0.006712978 -p21,p56013,hydUND,0.069264069 -p21,p56023,hydUND,0.623376623 -p21,p56029,hydUND,0.307359307 -p25,p49001,hydUND,0.044169611 -p25,p49003,hydUND,0.026501767 -p25,p49005,hydUND,0.136042403 -p25,p49017,hydUND,0.074204947 -p25,p49035,hydUND,0.127208481 -p25,p49039,hydUND,0.107773852 -p25,p49049,hydUND,0.266784452 -p25,p49053,hydUND,0.040636042 -p25,p49057,hydUND,0.176678445 -p26,p49013,hydUND,0.045283019 -p26,p49029,hydUND,0.150943396 -p26,p49043,hydUND,0.237735849 -p26,p49051,hydUND,0.566037736 -p28,p04012,hydUND,0.815899582 -p28,p04013,hydUND,0.184100418 -p3,p53021,hydUND,0.714425908 -p3,p53043,hydUND,0.060563578 -p3,p53051,hydUND,0.12617412 -p3,p53063,hydUND,0.094350203 -p3,p53065,hydUND,0.004486191 -p31,p35039,hydUND,0.299879081 -p31,p35045,hydUND,0.362756953 -p31,p35051,hydUND,0.337363966 -p32,p46081,hydUND,1 -p33,p08005,hydUND,0.017746229 -p33,p08013,hydUND,0.175687666 -p33,p08035,hydUND,0.036379769 -p33,p08037,hydUND,0.039929015 -p33,p08045,hydUND,0.133096717 -p33,p08049,hydUND,0.031055901 -p33,p08065,hydUND,0.022182786 -p33,p08069,hydUND,0.421472937 -p33,p08077,hydUND,0.039929015 -p33,p08093,hydUND,0.04880213 -p33,p08103,hydUND,0.017746229 -p33,p08117,hydUND,0.015971606 -p34,p08015,hydUND,0.011666667 -p34,p08041,hydUND,0.2875 -p34,p08067,hydUND,0.048333333 +p1,p53007,hydUD,0.162906610703043 +p1,p53033,hydUD,0.0338405036726128 +p1,p53057,hydUD,0.2759706190975865 +p1,p53061,hydUD,0.2518363064008395 +p1,p53073,hydUD,0.2754459601259181 +p10,p06051,hydUD,0.9518518518518518 +p10,p06111,hydUD,0.0481481481481481 +p101,p12039,hydUD,1.0 +p103,p26069,hydUD,1.0 +p118,p51089,hydUD,0.4041450777202072 +p118,p51141,hydUD,0.272020725388601 +p118,p51680,hydUD,0.3238341968911917 +p122,p42103,hydUD,1.0 +p127,p36001,hydUD,0.0276114935648009 +p127,p36043,hydUD,0.0059862316671655 +p127,p36045,hydUD,0.0258156240646513 +p127,p36049,hydUD,0.023421131397785 +p127,p36083,hydUD,0.0137683328344806 +p127,p36089,hydUD,0.7450613588745885 +p127,p36091,hydUD,0.130724334031727 +p127,p36113,hydUD,0.0276114935648009 +p129,p50001,hydUD,0.0342146189735614 +p129,p50019,hydUD,0.062208398133748 +p129,p50023,hydUD,0.1990668740279938 +p129,p50025,hydUD,0.7045101088646967 +p13,p32003,hydUD,1.0 +p130,p33001,hydUD,1.0 +p131,p25003,hydUD,0.4709193245778612 +p131,p25011,hydUD,0.5290806754221389 +p132,p09120,hydUD,0.4105113636363636 +p132,p09140,hydUD,0.5894886363636364 +p134,p23001,hydUD,0.0195521917376222 +p134,p23003,hydUD,0.0044150110375275 +p134,p23009,hydUD,0.0293282876064333 +p134,p23011,hydUD,0.0138757489750867 +p134,p23019,hydUD,0.3654998423210343 +p134,p23025,hydUD,0.5547146010722169 +p134,p23031,hydUD,0.0126143172500788 +p14,p16017,hydUD,0.944285259471506 +p14,p16055,hydUD,0.0557147405284941 +p15,p16001,hydUD,0.0025146689019279 +p15,p16035,hydUD,0.3543397089080241 +p15,p16039,hydUD,0.0304808351748837 +p15,p16045,hydUD,0.0077726129695953 +p15,p16067,hydUD,0.021107978358607 +p15,p16073,hydUD,0.0707155376057303 +p15,p16087,hydUD,0.5130686580812314 +p16,p16019,hydUD,0.7853962600178094 +p16,p16029,hydUD,0.2146037399821905 +p17,p30007,hydUD,0.0062307297019527 +p17,p30029,hydUD,0.2749229188078108 +p17,p30039,hydUD,0.001284686536485 +p17,p30053,hydUD,0.3372302158273381 +p17,p30057,hydUD,0.007322713257965 +p17,p30089,hydUD,0.373008735868448 +p18,p30003,hydUD,0.4654362959365387 +p18,p30013,hydUD,0.4120123037073012 +p18,p30049,hydUD,0.1225514003561599 +p19,p30105,hydUD,1.0 +p2,p53005,hydUD,0.0134138162307176 +p2,p53015,hydUD,0.1828750279454504 +p2,p53041,hydUD,0.5667337357478203 +p2,p53045,hydUD,0.1643192488262911 +p2,p53059,hydUD,0.0726581712497205 +p21,p56013,hydUD,0.3981481481481481 +p21,p56029,hydUD,0.6018518518518519 +p24,p56007,hydUD,0.3662790697674418 +p24,p56025,hydUD,0.4493355481727574 +p24,p56031,hydUD,0.1843853820598006 +p25,p49003,hydUD,1.0 +p26,p49009,hydUD,0.965648854961832 +p26,p49051,hydUD,0.0343511450381679 +p27,p04015,hydUD,1.0 +p28,p04005,hydUD,0.8617405582922825 +p28,p04012,hydUD,0.0788177339901477 +p28,p04013,hydUD,0.0594417077175697 +p3,p53043,hydUD,0.0750020950305874 +p3,p53051,hydUD,0.9249979049694126 +p33,p08013,hydUD,0.0402684563758389 +p33,p08019,hydUD,0.0082601961796592 +p33,p08069,hydUD,0.7372225090345895 +p33,p08077,hydUD,0.0800206504904491 +p33,p08117,hydUD,0.1342281879194631 +p34,p08051,hydUD,0.3221476510067114 +p34,p08067,hydUD,0.0171513795674869 +p34,p08083,hydUD,0.0044742729306487 +p34,p08085,hydUD,0.6457867263236391 +p34,p08113,hydUD,0.0104399701715137 +p36,p38057,hydUD,1.0 +p38,p46023,hydUD,0.2258469259723965 +p38,p46065,hydUD,0.4479297365119197 +p38,p46085,hydUD,0.3262233375156838 +p4,p53017,hydUD,0.1735242688677291 +p4,p53025,hydUD,0.8264757311322709 +p40,p31141,hydUD,1.0 +p43,p27017,hydUD,0.815845824411135 +p43,p27075,hydUD,0.0438972162740899 +p43,p27137,hydUD,0.1402569593147751 +p46,p55017,hydUD,1.0 +p5,p41031,hydUD,0.4407005520654864 +p5,p41039,hydUD,0.0604416523891109 +p5,p41047,hydUD,0.095183704549781 +p5,p41063,hydUD,0.4036740909956216 +p50,p40061,hydUD,0.3973128598848368 +p50,p40089,hydUD,0.4414587332053742 +p50,p40135,hydUD,0.1612284069097888 +p51,p40097,hydUD,1.0 +p55,p29213,hydUD,1.0 +p56,p05015,hydUD,0.5886654478976234 +p56,p05023,hydUD,0.4113345521023765 +p6,p41019,hydUD,0.9180952380952382 +p6,p41029,hydUD,0.0819047619047619 +p63,p48181,hydUD,0.6818181818181818 +p63,p48217,hydUD,0.3181818181818182 +p66,p48241,hydUD,0.6658130601792575 +p66,p48373,hydUD,0.3341869398207426 +p7,p41001,hydUD,1.0 +p70,p19125,hydUD,1.0 +p72,p29131,hydUD,1.0 +p74,p26071,hydUD,0.6014492753623188 +p74,p26103,hydUD,0.3985507246376811 +p75,p55069,hydUD,0.5038167938931297 +p75,p55073,hydUD,0.1374045801526717 +p75,p55075,hydUD,0.2290076335877862 +p75,p55097,hydUD,0.1297709923664121 +p76,p55001,hydUD,0.3271028037383178 +p76,p55057,hydUD,0.4672897196261683 +p76,p55141,hydUD,0.205607476635514 +p85,p05005,hydUD,0.8602561651691837 +p85,p05051,hydUD,0.1179506786465303 +p85,p05059,hydUD,0.0217931561842859 +p89,p01077,hydUD,0.5295917010240724 +p89,p01095,hydUD,0.163186593961963 +p89,p01125,hydUD,0.0704880968213858 +p89,p01127,hydUD,0.2367336081925788 +p9,p06005,hydUD,0.0619065485295391 +p9,p06007,hydUD,0.020202603249733 +p9,p06009,hydUD,0.0737106409997402 +p9,p06017,hydUD,0.0060030592513492 +p9,p06019,hydUD,0.0565672890992525 +p9,p06039,hydUD,0.0367687379145141 +p9,p06063,hydUD,0.0363646858495194 +p9,p06067,hydUD,0.0620797137002511 +p9,p06089,hydUD,0.4609656844353373 +p9,p06103,hydUD,0.0043291292677999 +p9,p06105,hydUD,0.040405206499466 +p9,p06109,hydUD,0.1406967012034979 +p90,p01015,hydUD,0.078485484049012 +p90,p01019,hydUD,0.089413842587482 +p90,p01051,hydUD,0.2010155646318578 +p90,p01081,hydUD,0.2513522463848107 +p90,p01085,hydUD,0.0905177171873275 +p90,p01111,hydUD,0.1468153217794458 +p90,p01121,hydUD,0.142399823380064 +p92,p47001,hydUD,0.0734783614903957 +p92,p47009,hydUD,0.0902568849803286 +p92,p47019,hydUD,0.0387641749595001 +p92,p47051,hydUD,0.0232585049757 +p92,p47057,hydUD,0.0819254802129136 +p92,p47065,hydUD,0.0819254802129136 +p92,p47071,hydUD,0.1413445961582966 +p92,p47105,hydUD,0.0973154362416107 +p92,p47123,hydUD,0.0295070585512612 +p92,p47139,hydUD,0.0138856746123582 +p92,p47143,hydUD,0.1136311039111316 +p92,p47155,hydUD,0.1029275630641055 +p92,p47163,hydUD,0.0256884980328627 +p92,p47177,hydUD,0.0204813700532284 +p92,p47179,hydUD,0.0656098125433927 +p93,p21157,hydUD,1.0 +p94,p13015,hydUD,0.0403248389806776 +p94,p13035,hydUD,0.0127695323438812 +p94,p13105,hydUD,0.1881825819098291 +p94,p13111,hydUD,0.0096891626995239 +p94,p13117,hydUD,0.0710165219826379 +p94,p13121,hydUD,0.0058807056846821 +p94,p13137,hydUD,0.0699523942873144 +p94,p13147,hydUD,0.2268272192663119 +p94,p13151,hydUD,0.0940912909549145 +p94,p13213,hydUD,0.1344161299355922 +p94,p13215,hydUD,0.052310277233268 +p94,p13241,hydUD,0.0185942313077569 +p94,p13257,hydUD,0.0159619154298515 +p94,p13285,hydUD,0.0487258471016521 +p94,p13291,hydUD,0.0112573508821058 +p95,p45001,hydUD,0.0495238095238095 +p95,p45021,hydUD,0.5238095238095237 +p95,p45023,hydUD,0.0838095238095238 +p95,p45087,hydUD,0.3428571428571428 +p96,p45071,hydUD,1.0 +p97,p37039,hydUD,0.088532202705431 +p97,p37043,hydUD,0.0158489804159095 +p97,p37057,hydUD,0.0393700787401574 +p97,p37075,hydUD,0.2695336159903089 +p97,p37087,hydUD,0.1130627902281445 +p97,p37099,hydUD,0.0500706642438925 +p97,p37113,hydUD,0.0468402988088027 +p97,p37167,hydUD,0.0696547546941247 +p97,p37173,hydUD,0.3070866141732284 +p98,p37083,hydUD,0.6069364161849711 +p98,p37123,hydUD,0.3930635838150289 +p99,p51117,hydUD,0.427008350129571 +p99,p51143,hydUD,0.572991649870429 +p1,p53007,hydUND,0.3027313199374323 +p1,p53033,hydUND,0.093610877150764 +p1,p53053,hydUND,0.0843460474070509 +p1,p53061,hydUND,0.0047527373360606 +p1,p53067,hydUND,0.0074599927806521 +p1,p53073,hydUND,0.50709902538804 +p10,p06025,hydUND,0.0752554420257663 +p10,p06027,hydUND,0.070990670812972 +p10,p06029,hydUND,0.1163038649489116 +p10,p06037,hydUND,0.286717014660151 +p10,p06051,hydUND,0.0657485561972456 +p10,p06059,hydUND,0.0109284762327854 +p10,p06065,hydUND,0.0438916037316748 +p10,p06071,hydUND,0.2946246112838738 +p10,p06107,hydUND,0.0346512661039538 +p10,p06111,hydUND,0.0008884940026654 +p100,p51139,hydUND,1.0 +p101,p12073,hydUND,1.0 +p103,p26001,hydUND,0.0191912268677176 +p103,p26005,hydUND,0.0095956134338588 +p103,p26007,hydUND,0.0493488690884167 +p103,p26025,hydUND,0.0013708019191226 +p103,p26031,hydUND,0.0123372172721041 +p103,p26033,hydUND,0.3413296778615489 +p103,p26051,hydUND,0.0493488690884167 +p103,p26057,hydUND,0.0027416038382453 +p103,p26067,hydUND,0.0082248115147361 +p103,p26069,hydUND,0.1014393420150788 +p103,p26081,hydUND,0.0205620287868403 +p103,p26101,hydUND,0.071967100753941 +p103,p26107,hydUND,0.0164496230294722 +p103,p26111,hydUND,0.0246744345442083 +p103,p26123,hydUND,0.249485949280329 +p103,p26135,hydUND,0.0109664153529814 +p103,p26163,hydUND,0.0109664153529814 +p104,p26021,hydUND,0.6938775510204083 +p104,p26149,hydUND,0.3061224489795918 +p105,p18015,hydUND,0.3896103896103896 +p105,p18039,hydUND,0.0909090909090909 +p105,p18141,hydUND,0.2597402597402597 +p105,p18181,hydUND,0.2597402597402597 +p107,p18155,hydUND,1.0 +p109,p21023,hydUND,0.3421309872922776 +p109,p21065,hydUND,0.0081459758879113 +p109,p21111,hydUND,0.3284457478005864 +p109,p21113,hydUND,0.0074942978168784 +p109,p21125,hydUND,0.1987618116650374 +p109,p21129,hydUND,0.0123818833496252 +p109,p21167,hydUND,0.1026392961876832 +p11,p06073,hydUND,1.0 +p110,p21193,hydUND,1.0 +p112,p39039,hydUND,0.045045045045045 +p112,p39041,hydUND,0.052052052052052 +p112,p39105,hydUND,0.2002002002002001 +p112,p39145,hydUND,0.7027027027027027 +p114,p39017,hydUND,1.0 +p115,p42003,hydUND,0.0446511314428212 +p115,p42005,hydUND,0.4389290468247148 +p115,p42007,hydUND,0.0454936056209877 +p115,p42051,hydUND,0.4380865726465484 +p115,p42129,hydUND,0.0328396434649278 +p116,p54003,hydUND,0.0052548607461902 +p116,p54037,hydUND,0.0225959012086179 +p116,p54067,hydUND,0.420388859695218 +p116,p54073,hydUND,0.2312138728323699 +p116,p54103,hydUND,0.0998423541776142 +p116,p54107,hydUND,0.2207041513399894 +p117,p54039,hydUND,0.6063157894736843 +p117,p54079,hydUND,0.3936842105263158 +p118,p51009,hydUND,0.0606585788561525 +p118,p51035,hydUND,0.3518197573656845 +p118,p51077,hydUND,0.0433275563258232 +p118,p51089,hydUND,0.0103986135181975 +p118,p51155,hydUND,0.5181975736568458 +p118,p51161,hydUND,0.0155979202772963 +p12,p32001,hydUND,0.4552845528455284 +p12,p32019,hydUND,0.2032520325203252 +p12,p32029,hydUND,0.3414634146341463 +p121,p24023,hydUND,1.0 +p122,p42031,hydUND,0.0429162357807652 +p122,p42061,hydUND,0.014477766287487 +p122,p42071,hydUND,0.8615563598759048 +p122,p42111,hydUND,0.0157704239917269 +p122,p42115,hydUND,0.0019389865563598 +p122,p42123,hydUND,0.0387797311271975 +p122,p42133,hydUND,0.0245604963805584 +p123,p24025,hydUND,1.0 +p126,p34031,hydUND,1.0 +p127,p36001,hydUND,0.0058434054372265 +p127,p36003,hydUND,0.0003108194381503 +p127,p36011,hydUND,0.0004973111010405 +p127,p36019,hydUND,0.0167220857724888 +p127,p36021,hydUND,0.0012432777526014 +p127,p36027,hydUND,0.0006216388763007 +p127,p36031,hydUND,0.0026419652242779 +p127,p36033,hydUND,0.0021757360670524 +p127,p36035,hydUND,0.0011500319211562 +p127,p36039,hydUND,0.0003108194381503 +p127,p36043,hydUND,0.0141112024920259 +p127,p36045,hydUND,0.0176856260307549 +p127,p36049,hydUND,0.0134273997280951 +p127,p36055,hydUND,0.0171883149297143 +p127,p36063,hydUND,0.7576845443791101 +p127,p36065,hydUND,0.0175923801993098 +p127,p36067,hydUND,0.0007459666515608 +p127,p36071,hydUND,0.0007148847077458 +p127,p36073,hydUND,0.0016473430221968 +p127,p36075,hydUND,0.0237776870185018 +p127,p36077,hydUND,0.0004351472134104 +p127,p36083,hydUND,0.0017095069098269 +p127,p36089,hydUND,0.0264507341865948 +p127,p36091,hydUND,0.0373300361607334 +p127,p36099,hydUND,0.0020514082917923 +p127,p36105,hydUND,0.023964178681392 +p127,p36111,hydUND,0.0083921248300594 +p127,p36113,hydUND,0.000901376370636 +p127,p36115,hydUND,0.0017405888536419 +p127,p36119,hydUND,0.000932458314451 +p129,p50001,hydUND,0.0707865168539325 +p129,p50005,hydUND,0.0561797752808988 +p129,p50007,hydUND,0.1284644194756554 +p129,p50009,hydUND,0.0202247191011235 +p129,p50011,hydUND,0.1393258426966292 +p129,p50015,hydUND,0.0149812734082396 +p129,p50017,hydUND,0.0074906367041198 +p129,p50019,hydUND,0.0048689138576779 +p129,p50021,hydUND,0.0438202247191011 +p129,p50023,hydUND,0.0344569288389513 +p129,p50025,hydUND,0.3119850187265918 +p129,p50027,hydUND,0.1674157303370786 +p130,p33001,hydUND,0.0070267014655691 +p130,p33007,hydUND,0.1156394298333668 +p130,p33009,hydUND,0.7372013651877132 +p130,p33011,hydUND,0.0566151375225858 +p130,p33013,hydUND,0.0744830355350331 +p130,p33017,hydUND,0.0066251756675366 +p130,p33019,hydUND,0.0024091547881951 +p131,p25009,hydUND,0.0651465798045602 +p131,p25011,hydUND,0.3173569101907864 +p131,p25013,hydUND,0.4830153559795254 +p131,p25017,hydUND,0.1112145183806421 +p131,p25027,hydUND,0.0232666356444858 +p132,p09110,hydUND,0.1544401544401544 +p132,p09140,hydUND,0.2084942084942085 +p132,p09150,hydUND,0.0463320463320463 +p132,p09160,hydUND,0.3069498069498069 +p132,p09180,hydUND,0.1216216216216216 +p132,p09190,hydUND,0.1621621621621621 +p133,p44007,hydUND,1.0 +p134,p23001,hydUND,0.2197614991482112 +p134,p23003,hydUND,0.0019469457288878 +p134,p23005,hydUND,0.0817717206132879 +p134,p23007,hydUND,0.0236067169627646 +p134,p23011,hydUND,0.0696033098077391 +p134,p23017,hydUND,0.1248478948649306 +p134,p23019,hydUND,0.1681674373326843 +p134,p23023,hydUND,0.0313944998783158 +p134,p23025,hydUND,0.1633000730104648 +p134,p23031,hydUND,0.1155999026527135 +p14,p16021,hydUND,1.0 +p15,p16001,hydUND,0.2883675464320625 +p15,p16003,hydUND,0.0056207233626588 +p15,p16013,hydUND,0.0271260997067448 +p15,p16015,hydUND,0.02297165200391 +p15,p16027,hydUND,0.0026881720430107 +p15,p16035,hydUND,0.001466275659824 +p15,p16039,hydUND,0.0391006842619745 +p15,p16047,hydUND,0.4254643206256109 +p15,p16053,hydUND,0.1385630498533724 +p15,p16063,hydUND,0.0173509286412512 +p15,p16085,hydUND,0.0312805474095796 +p16,p16005,hydUND,0.00423968343697 +p16,p16019,hydUND,0.1424533634821933 +p16,p16029,hydUND,0.0039570378745053 +p16,p16033,hydUND,0.0135669869983041 +p16,p16041,hydUND,0.0845110231769361 +p16,p16043,hydUND,0.0692481628038439 +p16,p16077,hydUND,0.2693612210288298 +p16,p16081,hydUND,0.0166760881854154 +p16,p16083,hydUND,0.3959864330130016 +p17,p30001,hydUND,0.0145146658602963 +p17,p30029,hydUND,0.0139098881161173 +p17,p30047,hydUND,0.6888418506198971 +p17,p30089,hydUND,0.2827335954036891 +p18,p30009,hydUND,0.0141743444365698 +p18,p30013,hydUND,0.3472714386959603 +p18,p30049,hydUND,0.4082211197732104 +p18,p30051,hydUND,0.0531537916371367 +p18,p30095,hydUND,0.0850460666194188 +p18,p30099,hydUND,0.0921332388377037 +p2,p53005,hydUND,0.0030058112350544 +p2,p53009,hydUND,0.0061786119831674 +p2,p53011,hydUND,0.0504308329436911 +p2,p53013,hydUND,0.2705230111548994 +p2,p53023,hydUND,0.2678511789459621 +p2,p53027,hydUND,0.0051766749048159 +p2,p53031,hydUND,3.3397902611715986e-05 +p2,p53039,hydUND,0.0050430832943691 +p2,p53041,hydUND,0.0320619865072473 +p2,p53045,hydUND,0.000467570636564 +p2,p53059,hydUND,0.088070269187095 +p2,p53071,hydUND,0.2644445928795671 +p2,p53077,hydUND,0.0067129784249549 +p21,p56013,hydUND,0.0692640692640692 +p21,p56023,hydUND,0.6233766233766234 +p21,p56029,hydUND,0.3073593073593073 +p25,p49001,hydUND,0.0441696113074204 +p25,p49003,hydUND,0.0265017667844522 +p25,p49005,hydUND,0.1360424028268551 +p25,p49017,hydUND,0.0742049469964664 +p25,p49035,hydUND,0.127208480565371 +p25,p49039,hydUND,0.107773851590106 +p25,p49049,hydUND,0.2667844522968198 +p25,p49053,hydUND,0.0406360424028268 +p25,p49057,hydUND,0.1766784452296819 +p26,p49013,hydUND,0.0452830188679245 +p26,p49029,hydUND,0.1509433962264151 +p26,p49043,hydUND,0.2377358490566037 +p26,p49051,hydUND,0.5660377358490566 +p28,p04012,hydUND,0.8158995815899582 +p28,p04013,hydUND,0.1841004184100418 +p3,p53021,hydUND,0.7144259077526987 +p3,p53043,hydUND,0.0605635777372774 +p3,p53051,hydUND,0.1261741202859946 +p3,p53063,hydUND,0.0943502032805271 +p3,p53065,hydUND,0.004486190943502 +p31,p35039,hydUND,0.2998790810157195 +p31,p35045,hydUND,0.3627569528415961 +p31,p35051,hydUND,0.3373639661426844 +p32,p46081,hydUND,1.0 +p33,p08005,hydUND,0.0177462289263531 +p33,p08013,hydUND,0.1756876663708962 +p33,p08035,hydUND,0.0363797692990239 +p33,p08037,hydUND,0.0399290150842945 +p33,p08045,hydUND,0.1330967169476486 +p33,p08049,hydUND,0.031055900621118 +p33,p08065,hydUND,0.0221827861579414 +p33,p08069,hydUND,0.4214729370008873 +p33,p08077,hydUND,0.0399290150842945 +p33,p08093,hydUND,0.0488021295474711 +p33,p08103,hydUND,0.0177462289263531 +p33,p08117,hydUND,0.0159716060337178 +p34,p08015,hydUND,0.0116666666666666 +p34,p08041,hydUND,0.2875000000000001 +p34,p08067,hydUND,0.0483333333333333 p34,p08083,hydUND,0.095 -p34,p08085,hydUND,0.431666667 -p34,p08091,hydUND,0.066666667 -p34,p08101,hydUND,0.059166667 -p39,p31101,hydUND,1 -p4,p53017,hydUND,0.947025445 -p4,p53025,hydUND,0.052974555 -p40,p31015,hydUND,0.010079798 -p40,p31019,hydUND,0.004199916 -p40,p31027,hydUND,0.428391432 -p40,p31073,hydUND,0.17849643 -p40,p31077,hydUND,0.000839983 -p40,p31111,hydUND,0.18899622 -p40,p31141,hydUND,0.18899622 -p42,p27113,hydUND,1 -p43,p27009,hydUND,0.098308668 -p43,p27017,hydUND,0.041226216 -p43,p27021,hydUND,0.036997886 -p43,p27035,hydUND,0.030655391 -p43,p27037,hydUND,0.068710359 -p43,p27053,hydUND,0.165961945 -p43,p27061,hydUND,0.015856237 -p43,p27097,hydUND,0.225158562 -p43,p27111,hydUND,0.00845666 -p43,p27123,hydUND,0.190274841 -p43,p27145,hydUND,0.090909091 -p43,p27157,hydUND,0.027484144 -p44,p27127,hydUND,0.421052632 -p44,p27173,hydUND,0.578947368 -p46,p55003,hydUND,0.003463203 -p46,p55005,hydUND,0.000865801 -p46,p55013,hydUND,0.019047619 -p46,p55017,hydUND,0.388744589 -p46,p55033,hydUND,0.05021645 -p46,p55035,hydUND,0.063203463 -p46,p55051,hydUND,0.008658009 -p46,p55095,hydUND,0.131601732 -p46,p55099,hydUND,0.023376623 -p46,p55107,hydUND,0.252813853 -p46,p55109,hydUND,0.012121212 -p46,p55113,hydUND,0.03982684 -p46,p55129,hydUND,0.006060606 -p5,p41005,hydUND,0.034311452 -p5,p41017,hydUND,0.001616065 -p5,p41027,hydUND,0.001077377 -p5,p41031,hydUND,0.003710964 -p5,p41039,hydUND,0.022520163 -p5,p41043,hydUND,0.031228957 -p5,p41047,hydUND,0.003142348 -p5,p41051,hydUND,0.17706385 -p5,p41055,hydUND,0.307052328 -p5,p41059,hydUND,0.144622843 -p5,p41063,hydUND,0.000164599 -p5,p41065,hydUND,0.273489054 -p50,p40071,hydUND,0.218934911 -p50,p40079,hydUND,0.781065089 -p51,p40021,hydUND,0.248302619 -p51,p40101,hydUND,0.363724539 -p51,p40143,hydUND,0.387972842 -p53,p20045,hydUND,1 -p55,p29039,hydUND,0.193668529 -p55,p29213,hydUND,0.806331471 -p56,p05033,hydUND,0.008004926 -p56,p05047,hydUND,0.708128079 -p56,p05109,hydUND,0.179187192 -p56,p05131,hydUND,0.104679803 -p58,p22029,hydUND,1 -p6,p41019,hydUND,0.060745513 -p6,p41029,hydUND,0.464795214 -p6,p41035,hydUND,0.474459273 -p61,p48465,hydUND,1 -p63,p48077,hydUND,0.923076923 -p63,p48121,hydUND,0.076923077 -p64,p48053,hydUND,0.301740812 -p64,p48091,hydUND,0.01934236 -p64,p48177,hydUND,0.018375242 -p64,p48187,hydUND,0.036105738 -p64,p48299,hydUND,0.221470019 -p64,p48453,hydUND,0.402965828 -p65,p48323,hydUND,0.164383562 -p65,p48427,hydUND,0.835616438 -p66,p48351,hydUND,0.909090909 -p66,p48457,hydUND,0.090909091 -p68,p27013,hydUND,0.96969697 -p68,p27045,hydUND,0.03030303 -p7,p41045,hydUND,1 -p70,p19097,hydUND,0.007868852 -p70,p19111,hydUND,0.957377049 -p70,p19113,hydUND,0.013770492 -p70,p19179,hydUND,0.020983607 -p71,p29173,hydUND,1 -p74,p26013,hydUND,0.00896861 -p74,p26043,hydUND,0.44955157 -p74,p26053,hydUND,0.011210762 -p74,p26071,hydUND,0.118834081 -p74,p26103,hydUND,0.006726457 -p74,p26109,hydUND,0.272421525 -p74,p26131,hydUND,0.132286996 -p75,p55037,hydUND,0.269817073 -p75,p55069,hydUND,0.099085366 -p75,p55075,hydUND,0.365853659 -p75,p55083,hydUND,0.056402439 -p75,p55085,hydUND,0.025914634 -p75,p55097,hydUND,0.182926829 -p76,p55087,hydUND,0.865 -p76,p55141,hydUND,0.135 -p77,p55065,hydUND,0.002590674 -p77,p55111,hydUND,0.997409326 -p8,p06035,hydUND,0.254251701 -p8,p06093,hydUND,0.745748299 -p80,p17099,hydUND,0.53470437 -p80,p17103,hydUND,0.077120823 -p80,p17195,hydUND,0.051413882 -p80,p17197,hydUND,0.30848329 -p80,p17201,hydUND,0.028277635 -p81,p17161,hydUND,1 -p84,p29029,hydUND,1 -p85,p05001,hydUND,0.096818811 -p85,p05019,hydUND,0.110650069 -p85,p05029,hydUND,0.047026279 -p85,p05051,hydUND,0.20746888 -p85,p05063,hydUND,0.033471646 -p85,p05115,hydUND,0.387275242 -p85,p05119,hydUND,0.117289073 -p89,p01077,hydUND,0.82867784 -p89,p01125,hydUND,0.059590317 -p89,p01131,hydUND,0.111731844 -p9,p06007,hydUND,0.132906178 -p9,p06009,hydUND,0.005583524 -p9,p06017,hydUND,0.130800915 -p9,p06019,hydUND,0.17180778 -p9,p06021,hydUND,0.000915332 -p9,p06023,hydUND,0.0002746 -p9,p06033,hydUND,0.000933638 -p9,p06039,hydUND,0.055048055 -p9,p06043,hydUND,0.018947368 -p9,p06045,hydUND,0.002324943 -p9,p06047,hydUND,0.001135011 -p9,p06053,hydUND,0.000732265 -p9,p06055,hydUND,0.002105263 -p9,p06057,hydUND,0.020521739 -p9,p06061,hydUND,0.078352403 -p9,p06063,hydUND,0.082343249 -p9,p06067,hydUND,0.003038902 -p9,p06077,hydUND,0.001922197 -p9,p06089,hydUND,0.078022883 -p9,p06091,hydUND,0.002489703 -p9,p06097,hydUND,0.00021968 -p9,p06099,hydUND,0.00380778 -p9,p06103,hydUND,0.001116705 -p9,p06105,hydUND,0.001116705 -p9,p06109,hydUND,0.128604119 -p9,p06115,hydUND,0.074929062 -p90,p01017,hydUND,0.000241342 -p90,p01021,hydUND,0.414021962 -p90,p01039,hydUND,0.009895016 -p90,p01051,hydUND,0.57584168 -p92,p47019,hydUND,0.01261077 -p92,p47021,hydUND,0.047034765 -p92,p47027,hydUND,0.070552147 -p92,p47037,hydUND,0.034083163 -p92,p47041,hydUND,0.174960236 -p92,p47105,hydUND,0.08997955 -p92,p47115,hydUND,0.119972733 -p92,p47139,hydUND,0.15269257 -p92,p47159,hydUND,0.120427176 -p92,p47163,hydUND,0.046239491 -p92,p47165,hydUND,0.131447398 -p93,p21139,hydUND,0.144874976 -p93,p21143,hydUND,0.28249666 -p93,p21207,hydUND,0.572628364 -p94,p13009,hydUND,0.221659919 -p94,p13059,hydUND,0.014676113 -p94,p13073,hydUND,0.060728745 -p94,p13095,hydUND,0.031882591 -p94,p13141,hydUND,0.574898785 -p94,p13217,hydUND,0.012145749 -p94,p13219,hydUND,0.00708502 -p94,p13321,hydUND,0.076923077 -p95,p45007,hydUND,0.012565971 -p95,p45021,hydUND,0.002513194 -p95,p45023,hydUND,0.29404373 -p95,p45045,hydUND,0.020608193 -p95,p45057,hydUND,0.113093742 -p95,p45059,hydUND,0.018597638 -p95,p45077,hydUND,0.382005529 -p95,p45083,hydUND,0.005780347 -p95,p45091,hydUND,0.150791656 -p96,p45015,hydUND,0.251838645 -p96,p45039,hydUND,0.046801872 -p96,p45055,hydUND,0.094718074 -p96,p45063,hydUND,0.221194562 -p96,p45065,hydUND,0.374414977 -p96,p45079,hydUND,0.01103187 -p97,p37021,hydUND,0.007389618 -p97,p37023,hydUND,0.058193238 -p97,p37027,hydUND,0.061703307 -p97,p37035,hydUND,0.073896176 -p97,p37071,hydUND,0.117864401 -p97,p37089,hydUND,0.011823388 -p97,p37097,hydUND,0.049879919 -p97,p37109,hydUND,0.598559025 -p97,p37113,hydUND,0.001847404 -p97,p37115,hydUND,0.002216885 -p97,p37149,hydUND,0.009975984 -p97,p37161,hydUND,0.006650656 -p98,p37001,hydUND,0.04398827 -p98,p37037,hydUND,0.129032258 -p98,p37105,hydUND,0.035190616 -p98,p37153,hydUND,0.791788856 -p99,p51041,hydUND,0.232 +p34,p08085,hydUND,0.4316666666666667 +p34,p08091,hydUND,0.0666666666666666 +p34,p08101,hydUND,0.0591666666666666 +p39,p31101,hydUND,1.0 +p4,p53017,hydUND,0.9470254448736324 +p4,p53025,hydUND,0.0529745551263676 +p40,p31015,hydUND,0.0100797984040319 +p40,p31019,hydUND,0.0041999160016799 +p40,p31027,hydUND,0.4283914321713565 +p40,p31073,hydUND,0.1784964300713985 +p40,p31077,hydUND,0.0008399832003359 +p40,p31111,hydUND,0.1889962200755985 +p40,p31141,hydUND,0.1889962200755985 +p42,p27113,hydUND,1.0 +p43,p27009,hydUND,0.0983086680761099 +p43,p27017,hydUND,0.0412262156448203 +p43,p27021,hydUND,0.0369978858350951 +p43,p27035,hydUND,0.0306553911205074 +p43,p27037,hydUND,0.0687103594080338 +p43,p27053,hydUND,0.1659619450317124 +p43,p27061,hydUND,0.0158562367864693 +p43,p27097,hydUND,0.2251585623678647 +p43,p27111,hydUND,0.0084566596194503 +p43,p27123,hydUND,0.1902748414376321 +p43,p27145,hydUND,0.0909090909090909 +p43,p27157,hydUND,0.0274841437632135 +p44,p27127,hydUND,0.4210526315789473 +p44,p27173,hydUND,0.5789473684210527 +p46,p55003,hydUND,0.0034632034632034 +p46,p55005,hydUND,0.0008658008658008 +p46,p55013,hydUND,0.019047619047619 +p46,p55017,hydUND,0.3887445887445886 +p46,p55033,hydUND,0.0502164502164502 +p46,p55035,hydUND,0.0632034632034632 +p46,p55051,hydUND,0.0086580086580086 +p46,p55095,hydUND,0.1316017316017316 +p46,p55099,hydUND,0.0233766233766233 +p46,p55107,hydUND,0.2528138528138527 +p46,p55109,hydUND,0.0121212121212121 +p46,p55113,hydUND,0.0398268398268398 +p46,p55129,hydUND,0.006060606060606 +p5,p41005,hydUND,0.0343114516153167 +p5,p41017,hydUND,0.0016160648820123 +p5,p41027,hydUND,0.0010773765880081 +p5,p41031,hydUND,0.0037109638031393 +p5,p41039,hydUND,0.0225201634021158 +p5,p41043,hydUND,0.0312289574885154 +p5,p41047,hydUND,0.0031423483816905 +p5,p41051,hydUND,0.1770638495264032 +p5,p41055,hydUND,0.3070523275823369 +p5,p41059,hydUND,0.1446228433763785 +p5,p41063,hydUND,0.0001645992009456 +p5,p41065,hydUND,0.2734890541531371 +p50,p40071,hydUND,0.2189349112426035 +p50,p40079,hydUND,0.7810650887573964 +p51,p40021,hydUND,0.2483026188166828 +p51,p40101,hydUND,0.3637245392822502 +p51,p40143,hydUND,0.3879728419010669 +p53,p20045,hydUND,1.0 +p55,p29039,hydUND,0.1936685288640595 +p55,p29213,hydUND,0.8063314711359404 +p56,p05033,hydUND,0.0080049261083743 +p56,p05047,hydUND,0.708128078817734 +p56,p05109,hydUND,0.1791871921182266 +p56,p05131,hydUND,0.104679802955665 +p58,p22029,hydUND,1.0 +p6,p41019,hydUND,0.0607455131155085 +p6,p41029,hydUND,0.4647952139898757 +p6,p41035,hydUND,0.4744592728946157 +p61,p48465,hydUND,1.0 +p63,p48077,hydUND,0.9230769230769232 +p63,p48121,hydUND,0.0769230769230769 +p64,p48053,hydUND,0.3017408123791102 +p64,p48091,hydUND,0.0193423597678916 +p64,p48177,hydUND,0.018375241779497 +p64,p48187,hydUND,0.0361057382333978 +p64,p48299,hydUND,0.2214700193423598 +p64,p48453,hydUND,0.4029658284977434 +p65,p48323,hydUND,0.1643835616438356 +p65,p48427,hydUND,0.8356164383561644 +p66,p48351,hydUND,0.9090909090909092 +p66,p48457,hydUND,0.0909090909090909 +p68,p27013,hydUND,0.9696969696969696 +p68,p27045,hydUND,0.0303030303030303 +p7,p41045,hydUND,1.0 +p70,p19097,hydUND,0.0078688524590163 +p70,p19111,hydUND,0.957377049180328 +p70,p19113,hydUND,0.0137704918032786 +p70,p19179,hydUND,0.020983606557377 +p71,p29173,hydUND,1.0 +p74,p26013,hydUND,0.0089686098654708 +p74,p26043,hydUND,0.4495515695067265 +p74,p26053,hydUND,0.0112107623318385 +p74,p26071,hydUND,0.1188340807174888 +p74,p26103,hydUND,0.0067264573991031 +p74,p26109,hydUND,0.2724215246636771 +p74,p26131,hydUND,0.132286995515695 +p75,p55037,hydUND,0.2698170731707317 +p75,p55069,hydUND,0.0990853658536585 +p75,p55075,hydUND,0.3658536585365852 +p75,p55083,hydUND,0.0564024390243902 +p75,p55085,hydUND,0.0259146341463414 +p75,p55097,hydUND,0.1829268292682927 +p76,p55087,hydUND,0.8650000000000001 +p76,p55141,hydUND,0.1349999999999999 +p77,p55065,hydUND,0.0025906735751295 +p77,p55111,hydUND,0.9974093264248703 +p8,p06035,hydUND,0.2542517006802721 +p8,p06093,hydUND,0.745748299319728 +p80,p17099,hydUND,0.5347043701799487 +p80,p17103,hydUND,0.0771208226221079 +p80,p17195,hydUND,0.0514138817480719 +p80,p17197,hydUND,0.3084832904884318 +p80,p17201,hydUND,0.0282776349614395 +p81,p17161,hydUND,1.0 +p84,p29029,hydUND,1.0 +p85,p05001,hydUND,0.0968188105117565 +p85,p05019,hydUND,0.1106500691562932 +p85,p05029,hydUND,0.0470262793914246 +p85,p05051,hydUND,0.2074688796680498 +p85,p05063,hydUND,0.0334716459197787 +p85,p05115,hydUND,0.3872752420470263 +p85,p05119,hydUND,0.1172890733056708 +p89,p01077,hydUND,0.8286778398510243 +p89,p01125,hydUND,0.0595903165735567 +p89,p01131,hydUND,0.1117318435754189 +p9,p06007,hydUND,0.1329061784897025 +p9,p06009,hydUND,0.0055835240274599 +p9,p06017,hydUND,0.1308009153318077 +p9,p06019,hydUND,0.1718077803203661 +p9,p06021,hydUND,0.0009153318077803 +p9,p06023,hydUND,0.000274599542334 +p9,p06033,hydUND,0.0009336384439359 +p9,p06039,hydUND,0.0550480549199084 +p9,p06043,hydUND,0.0189473684210526 +p9,p06045,hydUND,0.002324942791762 +p9,p06047,hydUND,0.0011350114416475 +p9,p06053,hydUND,0.0007322654462242 +p9,p06055,hydUND,0.0021052631578947 +p9,p06057,hydUND,0.0205217391304347 +p9,p06061,hydUND,0.0783524027459954 +p9,p06063,hydUND,0.0823432494279176 +p9,p06067,hydUND,0.0030389016018306 +p9,p06077,hydUND,0.0019221967963386 +p9,p06089,hydUND,0.0780228832951945 +p9,p06091,hydUND,0.0024897025171624 +p9,p06097,hydUND,0.0002196796338672 +p9,p06099,hydUND,0.0038077803203661 +p9,p06103,hydUND,0.0011167048054919 +p9,p06105,hydUND,0.0011167048054919 +p9,p06109,hydUND,0.128604118993135 +p9,p06115,hydUND,0.074929061784897 +p90,p01017,hydUND,0.0002413418607457 +p90,p01021,hydUND,0.4140219621093278 +p90,p01039,hydUND,0.0098950162905756 +p90,p01051,hydUND,0.5758416797393509 +p92,p47019,hydUND,0.0126107702794819 +p92,p47021,hydUND,0.0470347648261758 +p92,p47027,hydUND,0.0705521472392638 +p92,p47037,hydUND,0.0340831629175187 +p92,p47041,hydUND,0.1749602363099295 +p92,p47105,hydUND,0.0899795501022494 +p92,p47115,hydUND,0.1199727334696659 +p92,p47139,hydUND,0.152692569870484 +p92,p47159,hydUND,0.1204271756418995 +p92,p47163,hydUND,0.0462394910247671 +p92,p47165,hydUND,0.1314473983185639 +p93,p21139,hydUND,0.1448749761404848 +p93,p21143,hydUND,0.2824966596678755 +p93,p21207,hydUND,0.5726283641916396 +p94,p13009,hydUND,0.22165991902834 +p94,p13059,hydUND,0.0146761133603238 +p94,p13073,hydUND,0.0607287449392712 +p94,p13095,hydUND,0.0318825910931174 +p94,p13141,hydUND,0.5748987854251012 +p94,p13217,hydUND,0.0121457489878542 +p94,p13219,hydUND,0.0070850202429149 +p94,p13321,hydUND,0.0769230769230769 +p95,p45007,hydUND,0.0125659713495853 +p95,p45021,hydUND,0.002513194269917 +p95,p45023,hydUND,0.2940437295802965 +p95,p45045,hydUND,0.0206081930133199 +p95,p45057,hydUND,0.1130937421462679 +p95,p45059,hydUND,0.0185976375973862 +p95,p45077,hydUND,0.3820055290273937 +p95,p45083,hydUND,0.0057803468208092 +p95,p45091,hydUND,0.1507916561950238 +p96,p45015,hydUND,0.2518386449743704 +p96,p45039,hydUND,0.046801872074883 +p96,p45055,hydUND,0.0947180744372632 +p96,p45063,hydUND,0.221194562068197 +p96,p45065,hydUND,0.374414976599064 +p96,p45079,hydUND,0.0110318698462224 +p97,p37021,hydUND,0.0073896175872898 +p97,p37023,hydUND,0.0581932384999076 +p97,p37027,hydUND,0.0617033068538703 +p97,p37035,hydUND,0.0738961758728985 +p97,p37071,hydUND,0.1178644005172732 +p97,p37089,hydUND,0.0118233881396637 +p97,p37097,hydUND,0.0498799187142065 +p97,p37109,hydUND,0.5985590245704784 +p97,p37113,hydUND,0.0018474043968224 +p97,p37115,hydUND,0.0022168852761869 +p97,p37149,hydUND,0.0099759837428413 +p97,p37161,hydUND,0.0066506558285608 +p98,p37001,hydUND,0.0439882697947214 +p98,p37037,hydUND,0.1290322580645161 +p98,p37105,hydUND,0.0351906158357771 +p98,p37153,hydUND,0.7917888563049853 +p99,p51041,hydUND,0.2319999999999999 p99,p51083,hydUND,0.128 p99,p51109,hydUND,0.08 p99,p51590,hydUND,0.36 From 705ee2b9e3a26b92279dd98b624c521ea34a3957 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 17:15:11 -0400 Subject: [PATCH 06/33] Undo rounding --- inputs/disaggregation/disagg_hydroexist.csv | 1326 +++++++++---------- 1 file changed, 663 insertions(+), 663 deletions(-) diff --git a/inputs/disaggregation/disagg_hydroexist.csv b/inputs/disaggregation/disagg_hydroexist.csv index 3bc2fb90..96b506f1 100644 --- a/inputs/disaggregation/disagg_hydroexist.csv +++ b/inputs/disaggregation/disagg_hydroexist.csv @@ -1,664 +1,664 @@ legacy_ba,FIPS,i,fracdata -p1,p53007,hydUD,0.162906610703043 -p1,p53033,hydUD,0.0338405036726128 -p1,p53057,hydUD,0.2759706190975865 -p1,p53061,hydUD,0.2518363064008395 -p1,p53073,hydUD,0.2754459601259181 -p10,p06051,hydUD,0.9518518518518518 -p10,p06111,hydUD,0.0481481481481481 -p101,p12039,hydUD,1.0 -p103,p26069,hydUD,1.0 -p118,p51089,hydUD,0.4041450777202072 -p118,p51141,hydUD,0.272020725388601 -p118,p51680,hydUD,0.3238341968911917 -p122,p42103,hydUD,1.0 -p127,p36001,hydUD,0.0276114935648009 -p127,p36043,hydUD,0.0059862316671655 -p127,p36045,hydUD,0.0258156240646513 -p127,p36049,hydUD,0.023421131397785 -p127,p36083,hydUD,0.0137683328344806 -p127,p36089,hydUD,0.7450613588745885 -p127,p36091,hydUD,0.130724334031727 -p127,p36113,hydUD,0.0276114935648009 -p129,p50001,hydUD,0.0342146189735614 -p129,p50019,hydUD,0.062208398133748 -p129,p50023,hydUD,0.1990668740279938 -p129,p50025,hydUD,0.7045101088646967 -p13,p32003,hydUD,1.0 -p130,p33001,hydUD,1.0 -p131,p25003,hydUD,0.4709193245778612 -p131,p25011,hydUD,0.5290806754221389 -p132,p09120,hydUD,0.4105113636363636 -p132,p09140,hydUD,0.5894886363636364 -p134,p23001,hydUD,0.0195521917376222 -p134,p23003,hydUD,0.0044150110375275 -p134,p23009,hydUD,0.0293282876064333 -p134,p23011,hydUD,0.0138757489750867 -p134,p23019,hydUD,0.3654998423210343 -p134,p23025,hydUD,0.5547146010722169 -p134,p23031,hydUD,0.0126143172500788 -p14,p16017,hydUD,0.944285259471506 -p14,p16055,hydUD,0.0557147405284941 -p15,p16001,hydUD,0.0025146689019279 -p15,p16035,hydUD,0.3543397089080241 -p15,p16039,hydUD,0.0304808351748837 -p15,p16045,hydUD,0.0077726129695953 -p15,p16067,hydUD,0.021107978358607 -p15,p16073,hydUD,0.0707155376057303 -p15,p16087,hydUD,0.5130686580812314 -p16,p16019,hydUD,0.7853962600178094 -p16,p16029,hydUD,0.2146037399821905 -p17,p30007,hydUD,0.0062307297019527 -p17,p30029,hydUD,0.2749229188078108 -p17,p30039,hydUD,0.001284686536485 -p17,p30053,hydUD,0.3372302158273381 -p17,p30057,hydUD,0.007322713257965 -p17,p30089,hydUD,0.373008735868448 -p18,p30003,hydUD,0.4654362959365387 -p18,p30013,hydUD,0.4120123037073012 -p18,p30049,hydUD,0.1225514003561599 -p19,p30105,hydUD,1.0 -p2,p53005,hydUD,0.0134138162307176 -p2,p53015,hydUD,0.1828750279454504 -p2,p53041,hydUD,0.5667337357478203 -p2,p53045,hydUD,0.1643192488262911 -p2,p53059,hydUD,0.0726581712497205 -p21,p56013,hydUD,0.3981481481481481 -p21,p56029,hydUD,0.6018518518518519 -p24,p56007,hydUD,0.3662790697674418 -p24,p56025,hydUD,0.4493355481727574 -p24,p56031,hydUD,0.1843853820598006 -p25,p49003,hydUD,1.0 -p26,p49009,hydUD,0.965648854961832 -p26,p49051,hydUD,0.0343511450381679 -p27,p04015,hydUD,1.0 -p28,p04005,hydUD,0.8617405582922825 -p28,p04012,hydUD,0.0788177339901477 -p28,p04013,hydUD,0.0594417077175697 -p3,p53043,hydUD,0.0750020950305874 -p3,p53051,hydUD,0.9249979049694126 -p33,p08013,hydUD,0.0402684563758389 -p33,p08019,hydUD,0.0082601961796592 -p33,p08069,hydUD,0.7372225090345895 -p33,p08077,hydUD,0.0800206504904491 -p33,p08117,hydUD,0.1342281879194631 -p34,p08051,hydUD,0.3221476510067114 -p34,p08067,hydUD,0.0171513795674869 -p34,p08083,hydUD,0.0044742729306487 -p34,p08085,hydUD,0.6457867263236391 -p34,p08113,hydUD,0.0104399701715137 -p36,p38057,hydUD,1.0 -p38,p46023,hydUD,0.2258469259723965 -p38,p46065,hydUD,0.4479297365119197 -p38,p46085,hydUD,0.3262233375156838 -p4,p53017,hydUD,0.1735242688677291 -p4,p53025,hydUD,0.8264757311322709 -p40,p31141,hydUD,1.0 -p43,p27017,hydUD,0.815845824411135 -p43,p27075,hydUD,0.0438972162740899 -p43,p27137,hydUD,0.1402569593147751 -p46,p55017,hydUD,1.0 -p5,p41031,hydUD,0.4407005520654864 -p5,p41039,hydUD,0.0604416523891109 -p5,p41047,hydUD,0.095183704549781 -p5,p41063,hydUD,0.4036740909956216 -p50,p40061,hydUD,0.3973128598848368 -p50,p40089,hydUD,0.4414587332053742 -p50,p40135,hydUD,0.1612284069097888 -p51,p40097,hydUD,1.0 -p55,p29213,hydUD,1.0 -p56,p05015,hydUD,0.5886654478976234 -p56,p05023,hydUD,0.4113345521023765 -p6,p41019,hydUD,0.9180952380952382 -p6,p41029,hydUD,0.0819047619047619 -p63,p48181,hydUD,0.6818181818181818 -p63,p48217,hydUD,0.3181818181818182 -p66,p48241,hydUD,0.6658130601792575 -p66,p48373,hydUD,0.3341869398207426 -p7,p41001,hydUD,1.0 -p70,p19125,hydUD,1.0 -p72,p29131,hydUD,1.0 -p74,p26071,hydUD,0.6014492753623188 -p74,p26103,hydUD,0.3985507246376811 -p75,p55069,hydUD,0.5038167938931297 -p75,p55073,hydUD,0.1374045801526717 -p75,p55075,hydUD,0.2290076335877862 -p75,p55097,hydUD,0.1297709923664121 -p76,p55001,hydUD,0.3271028037383178 -p76,p55057,hydUD,0.4672897196261683 -p76,p55141,hydUD,0.205607476635514 -p85,p05005,hydUD,0.8602561651691837 -p85,p05051,hydUD,0.1179506786465303 -p85,p05059,hydUD,0.0217931561842859 -p89,p01077,hydUD,0.5295917010240724 -p89,p01095,hydUD,0.163186593961963 -p89,p01125,hydUD,0.0704880968213858 -p89,p01127,hydUD,0.2367336081925788 -p9,p06005,hydUD,0.0619065485295391 -p9,p06007,hydUD,0.020202603249733 -p9,p06009,hydUD,0.0737106409997402 -p9,p06017,hydUD,0.0060030592513492 -p9,p06019,hydUD,0.0565672890992525 -p9,p06039,hydUD,0.0367687379145141 -p9,p06063,hydUD,0.0363646858495194 -p9,p06067,hydUD,0.0620797137002511 -p9,p06089,hydUD,0.4609656844353373 -p9,p06103,hydUD,0.0043291292677999 -p9,p06105,hydUD,0.040405206499466 -p9,p06109,hydUD,0.1406967012034979 -p90,p01015,hydUD,0.078485484049012 -p90,p01019,hydUD,0.089413842587482 -p90,p01051,hydUD,0.2010155646318578 -p90,p01081,hydUD,0.2513522463848107 -p90,p01085,hydUD,0.0905177171873275 -p90,p01111,hydUD,0.1468153217794458 -p90,p01121,hydUD,0.142399823380064 -p92,p47001,hydUD,0.0734783614903957 -p92,p47009,hydUD,0.0902568849803286 -p92,p47019,hydUD,0.0387641749595001 -p92,p47051,hydUD,0.0232585049757 -p92,p47057,hydUD,0.0819254802129136 -p92,p47065,hydUD,0.0819254802129136 -p92,p47071,hydUD,0.1413445961582966 -p92,p47105,hydUD,0.0973154362416107 -p92,p47123,hydUD,0.0295070585512612 -p92,p47139,hydUD,0.0138856746123582 -p92,p47143,hydUD,0.1136311039111316 -p92,p47155,hydUD,0.1029275630641055 -p92,p47163,hydUD,0.0256884980328627 -p92,p47177,hydUD,0.0204813700532284 -p92,p47179,hydUD,0.0656098125433927 -p93,p21157,hydUD,1.0 -p94,p13015,hydUD,0.0403248389806776 -p94,p13035,hydUD,0.0127695323438812 -p94,p13105,hydUD,0.1881825819098291 -p94,p13111,hydUD,0.0096891626995239 -p94,p13117,hydUD,0.0710165219826379 -p94,p13121,hydUD,0.0058807056846821 -p94,p13137,hydUD,0.0699523942873144 -p94,p13147,hydUD,0.2268272192663119 -p94,p13151,hydUD,0.0940912909549145 -p94,p13213,hydUD,0.1344161299355922 -p94,p13215,hydUD,0.052310277233268 -p94,p13241,hydUD,0.0185942313077569 -p94,p13257,hydUD,0.0159619154298515 -p94,p13285,hydUD,0.0487258471016521 -p94,p13291,hydUD,0.0112573508821058 -p95,p45001,hydUD,0.0495238095238095 -p95,p45021,hydUD,0.5238095238095237 -p95,p45023,hydUD,0.0838095238095238 -p95,p45087,hydUD,0.3428571428571428 -p96,p45071,hydUD,1.0 -p97,p37039,hydUD,0.088532202705431 -p97,p37043,hydUD,0.0158489804159095 -p97,p37057,hydUD,0.0393700787401574 -p97,p37075,hydUD,0.2695336159903089 -p97,p37087,hydUD,0.1130627902281445 -p97,p37099,hydUD,0.0500706642438925 -p97,p37113,hydUD,0.0468402988088027 -p97,p37167,hydUD,0.0696547546941247 -p97,p37173,hydUD,0.3070866141732284 -p98,p37083,hydUD,0.6069364161849711 -p98,p37123,hydUD,0.3930635838150289 -p99,p51117,hydUD,0.427008350129571 -p99,p51143,hydUD,0.572991649870429 -p1,p53007,hydUND,0.3027313199374323 -p1,p53033,hydUND,0.093610877150764 -p1,p53053,hydUND,0.0843460474070509 -p1,p53061,hydUND,0.0047527373360606 -p1,p53067,hydUND,0.0074599927806521 -p1,p53073,hydUND,0.50709902538804 -p10,p06025,hydUND,0.0752554420257663 -p10,p06027,hydUND,0.070990670812972 -p10,p06029,hydUND,0.1163038649489116 -p10,p06037,hydUND,0.286717014660151 -p10,p06051,hydUND,0.0657485561972456 -p10,p06059,hydUND,0.0109284762327854 -p10,p06065,hydUND,0.0438916037316748 -p10,p06071,hydUND,0.2946246112838738 -p10,p06107,hydUND,0.0346512661039538 -p10,p06111,hydUND,0.0008884940026654 -p100,p51139,hydUND,1.0 -p101,p12073,hydUND,1.0 -p103,p26001,hydUND,0.0191912268677176 -p103,p26005,hydUND,0.0095956134338588 -p103,p26007,hydUND,0.0493488690884167 -p103,p26025,hydUND,0.0013708019191226 -p103,p26031,hydUND,0.0123372172721041 -p103,p26033,hydUND,0.3413296778615489 -p103,p26051,hydUND,0.0493488690884167 -p103,p26057,hydUND,0.0027416038382453 -p103,p26067,hydUND,0.0082248115147361 -p103,p26069,hydUND,0.1014393420150788 -p103,p26081,hydUND,0.0205620287868403 -p103,p26101,hydUND,0.071967100753941 -p103,p26107,hydUND,0.0164496230294722 -p103,p26111,hydUND,0.0246744345442083 -p103,p26123,hydUND,0.249485949280329 -p103,p26135,hydUND,0.0109664153529814 -p103,p26163,hydUND,0.0109664153529814 -p104,p26021,hydUND,0.6938775510204083 -p104,p26149,hydUND,0.3061224489795918 -p105,p18015,hydUND,0.3896103896103896 -p105,p18039,hydUND,0.0909090909090909 -p105,p18141,hydUND,0.2597402597402597 -p105,p18181,hydUND,0.2597402597402597 -p107,p18155,hydUND,1.0 -p109,p21023,hydUND,0.3421309872922776 -p109,p21065,hydUND,0.0081459758879113 -p109,p21111,hydUND,0.3284457478005864 -p109,p21113,hydUND,0.0074942978168784 -p109,p21125,hydUND,0.1987618116650374 -p109,p21129,hydUND,0.0123818833496252 -p109,p21167,hydUND,0.1026392961876832 -p11,p06073,hydUND,1.0 -p110,p21193,hydUND,1.0 -p112,p39039,hydUND,0.045045045045045 -p112,p39041,hydUND,0.052052052052052 -p112,p39105,hydUND,0.2002002002002001 -p112,p39145,hydUND,0.7027027027027027 -p114,p39017,hydUND,1.0 -p115,p42003,hydUND,0.0446511314428212 -p115,p42005,hydUND,0.4389290468247148 -p115,p42007,hydUND,0.0454936056209877 -p115,p42051,hydUND,0.4380865726465484 -p115,p42129,hydUND,0.0328396434649278 -p116,p54003,hydUND,0.0052548607461902 -p116,p54037,hydUND,0.0225959012086179 -p116,p54067,hydUND,0.420388859695218 -p116,p54073,hydUND,0.2312138728323699 -p116,p54103,hydUND,0.0998423541776142 -p116,p54107,hydUND,0.2207041513399894 -p117,p54039,hydUND,0.6063157894736843 -p117,p54079,hydUND,0.3936842105263158 -p118,p51009,hydUND,0.0606585788561525 -p118,p51035,hydUND,0.3518197573656845 -p118,p51077,hydUND,0.0433275563258232 -p118,p51089,hydUND,0.0103986135181975 -p118,p51155,hydUND,0.5181975736568458 -p118,p51161,hydUND,0.0155979202772963 -p12,p32001,hydUND,0.4552845528455284 -p12,p32019,hydUND,0.2032520325203252 -p12,p32029,hydUND,0.3414634146341463 -p121,p24023,hydUND,1.0 -p122,p42031,hydUND,0.0429162357807652 -p122,p42061,hydUND,0.014477766287487 -p122,p42071,hydUND,0.8615563598759048 -p122,p42111,hydUND,0.0157704239917269 -p122,p42115,hydUND,0.0019389865563598 -p122,p42123,hydUND,0.0387797311271975 -p122,p42133,hydUND,0.0245604963805584 -p123,p24025,hydUND,1.0 -p126,p34031,hydUND,1.0 -p127,p36001,hydUND,0.0058434054372265 -p127,p36003,hydUND,0.0003108194381503 -p127,p36011,hydUND,0.0004973111010405 -p127,p36019,hydUND,0.0167220857724888 -p127,p36021,hydUND,0.0012432777526014 -p127,p36027,hydUND,0.0006216388763007 -p127,p36031,hydUND,0.0026419652242779 -p127,p36033,hydUND,0.0021757360670524 -p127,p36035,hydUND,0.0011500319211562 -p127,p36039,hydUND,0.0003108194381503 -p127,p36043,hydUND,0.0141112024920259 -p127,p36045,hydUND,0.0176856260307549 -p127,p36049,hydUND,0.0134273997280951 -p127,p36055,hydUND,0.0171883149297143 -p127,p36063,hydUND,0.7576845443791101 -p127,p36065,hydUND,0.0175923801993098 -p127,p36067,hydUND,0.0007459666515608 -p127,p36071,hydUND,0.0007148847077458 -p127,p36073,hydUND,0.0016473430221968 -p127,p36075,hydUND,0.0237776870185018 -p127,p36077,hydUND,0.0004351472134104 -p127,p36083,hydUND,0.0017095069098269 -p127,p36089,hydUND,0.0264507341865948 -p127,p36091,hydUND,0.0373300361607334 -p127,p36099,hydUND,0.0020514082917923 -p127,p36105,hydUND,0.023964178681392 -p127,p36111,hydUND,0.0083921248300594 -p127,p36113,hydUND,0.000901376370636 -p127,p36115,hydUND,0.0017405888536419 -p127,p36119,hydUND,0.000932458314451 -p129,p50001,hydUND,0.0707865168539325 -p129,p50005,hydUND,0.0561797752808988 -p129,p50007,hydUND,0.1284644194756554 -p129,p50009,hydUND,0.0202247191011235 -p129,p50011,hydUND,0.1393258426966292 -p129,p50015,hydUND,0.0149812734082396 -p129,p50017,hydUND,0.0074906367041198 -p129,p50019,hydUND,0.0048689138576779 -p129,p50021,hydUND,0.0438202247191011 -p129,p50023,hydUND,0.0344569288389513 -p129,p50025,hydUND,0.3119850187265918 -p129,p50027,hydUND,0.1674157303370786 -p130,p33001,hydUND,0.0070267014655691 -p130,p33007,hydUND,0.1156394298333668 -p130,p33009,hydUND,0.7372013651877132 -p130,p33011,hydUND,0.0566151375225858 -p130,p33013,hydUND,0.0744830355350331 -p130,p33017,hydUND,0.0066251756675366 -p130,p33019,hydUND,0.0024091547881951 -p131,p25009,hydUND,0.0651465798045602 -p131,p25011,hydUND,0.3173569101907864 -p131,p25013,hydUND,0.4830153559795254 -p131,p25017,hydUND,0.1112145183806421 -p131,p25027,hydUND,0.0232666356444858 -p132,p09110,hydUND,0.1544401544401544 -p132,p09140,hydUND,0.2084942084942085 -p132,p09150,hydUND,0.0463320463320463 -p132,p09160,hydUND,0.3069498069498069 -p132,p09180,hydUND,0.1216216216216216 -p132,p09190,hydUND,0.1621621621621621 -p133,p44007,hydUND,1.0 -p134,p23001,hydUND,0.2197614991482112 -p134,p23003,hydUND,0.0019469457288878 -p134,p23005,hydUND,0.0817717206132879 -p134,p23007,hydUND,0.0236067169627646 -p134,p23011,hydUND,0.0696033098077391 -p134,p23017,hydUND,0.1248478948649306 -p134,p23019,hydUND,0.1681674373326843 -p134,p23023,hydUND,0.0313944998783158 -p134,p23025,hydUND,0.1633000730104648 -p134,p23031,hydUND,0.1155999026527135 -p14,p16021,hydUND,1.0 -p15,p16001,hydUND,0.2883675464320625 -p15,p16003,hydUND,0.0056207233626588 -p15,p16013,hydUND,0.0271260997067448 -p15,p16015,hydUND,0.02297165200391 -p15,p16027,hydUND,0.0026881720430107 -p15,p16035,hydUND,0.001466275659824 -p15,p16039,hydUND,0.0391006842619745 -p15,p16047,hydUND,0.4254643206256109 -p15,p16053,hydUND,0.1385630498533724 -p15,p16063,hydUND,0.0173509286412512 -p15,p16085,hydUND,0.0312805474095796 -p16,p16005,hydUND,0.00423968343697 -p16,p16019,hydUND,0.1424533634821933 -p16,p16029,hydUND,0.0039570378745053 -p16,p16033,hydUND,0.0135669869983041 -p16,p16041,hydUND,0.0845110231769361 -p16,p16043,hydUND,0.0692481628038439 -p16,p16077,hydUND,0.2693612210288298 -p16,p16081,hydUND,0.0166760881854154 -p16,p16083,hydUND,0.3959864330130016 -p17,p30001,hydUND,0.0145146658602963 -p17,p30029,hydUND,0.0139098881161173 -p17,p30047,hydUND,0.6888418506198971 -p17,p30089,hydUND,0.2827335954036891 -p18,p30009,hydUND,0.0141743444365698 -p18,p30013,hydUND,0.3472714386959603 -p18,p30049,hydUND,0.4082211197732104 -p18,p30051,hydUND,0.0531537916371367 -p18,p30095,hydUND,0.0850460666194188 -p18,p30099,hydUND,0.0921332388377037 -p2,p53005,hydUND,0.0030058112350544 -p2,p53009,hydUND,0.0061786119831674 -p2,p53011,hydUND,0.0504308329436911 -p2,p53013,hydUND,0.2705230111548994 -p2,p53023,hydUND,0.2678511789459621 -p2,p53027,hydUND,0.0051766749048159 -p2,p53031,hydUND,3.3397902611715986e-05 -p2,p53039,hydUND,0.0050430832943691 -p2,p53041,hydUND,0.0320619865072473 -p2,p53045,hydUND,0.000467570636564 -p2,p53059,hydUND,0.088070269187095 -p2,p53071,hydUND,0.2644445928795671 -p2,p53077,hydUND,0.0067129784249549 -p21,p56013,hydUND,0.0692640692640692 -p21,p56023,hydUND,0.6233766233766234 -p21,p56029,hydUND,0.3073593073593073 -p25,p49001,hydUND,0.0441696113074204 -p25,p49003,hydUND,0.0265017667844522 -p25,p49005,hydUND,0.1360424028268551 -p25,p49017,hydUND,0.0742049469964664 -p25,p49035,hydUND,0.127208480565371 -p25,p49039,hydUND,0.107773851590106 -p25,p49049,hydUND,0.2667844522968198 -p25,p49053,hydUND,0.0406360424028268 -p25,p49057,hydUND,0.1766784452296819 -p26,p49013,hydUND,0.0452830188679245 -p26,p49029,hydUND,0.1509433962264151 -p26,p49043,hydUND,0.2377358490566037 -p26,p49051,hydUND,0.5660377358490566 -p28,p04012,hydUND,0.8158995815899582 -p28,p04013,hydUND,0.1841004184100418 -p3,p53021,hydUND,0.7144259077526987 -p3,p53043,hydUND,0.0605635777372774 -p3,p53051,hydUND,0.1261741202859946 -p3,p53063,hydUND,0.0943502032805271 -p3,p53065,hydUND,0.004486190943502 -p31,p35039,hydUND,0.2998790810157195 -p31,p35045,hydUND,0.3627569528415961 -p31,p35051,hydUND,0.3373639661426844 -p32,p46081,hydUND,1.0 -p33,p08005,hydUND,0.0177462289263531 -p33,p08013,hydUND,0.1756876663708962 -p33,p08035,hydUND,0.0363797692990239 -p33,p08037,hydUND,0.0399290150842945 -p33,p08045,hydUND,0.1330967169476486 -p33,p08049,hydUND,0.031055900621118 -p33,p08065,hydUND,0.0221827861579414 -p33,p08069,hydUND,0.4214729370008873 -p33,p08077,hydUND,0.0399290150842945 -p33,p08093,hydUND,0.0488021295474711 -p33,p08103,hydUND,0.0177462289263531 -p33,p08117,hydUND,0.0159716060337178 -p34,p08015,hydUND,0.0116666666666666 -p34,p08041,hydUND,0.2875000000000001 -p34,p08067,hydUND,0.0483333333333333 -p34,p08083,hydUND,0.095 -p34,p08085,hydUND,0.4316666666666667 -p34,p08091,hydUND,0.0666666666666666 -p34,p08101,hydUND,0.0591666666666666 -p39,p31101,hydUND,1.0 -p4,p53017,hydUND,0.9470254448736324 -p4,p53025,hydUND,0.0529745551263676 -p40,p31015,hydUND,0.0100797984040319 -p40,p31019,hydUND,0.0041999160016799 -p40,p31027,hydUND,0.4283914321713565 -p40,p31073,hydUND,0.1784964300713985 -p40,p31077,hydUND,0.0008399832003359 -p40,p31111,hydUND,0.1889962200755985 -p40,p31141,hydUND,0.1889962200755985 -p42,p27113,hydUND,1.0 -p43,p27009,hydUND,0.0983086680761099 -p43,p27017,hydUND,0.0412262156448203 -p43,p27021,hydUND,0.0369978858350951 -p43,p27035,hydUND,0.0306553911205074 -p43,p27037,hydUND,0.0687103594080338 -p43,p27053,hydUND,0.1659619450317124 -p43,p27061,hydUND,0.0158562367864693 -p43,p27097,hydUND,0.2251585623678647 -p43,p27111,hydUND,0.0084566596194503 -p43,p27123,hydUND,0.1902748414376321 -p43,p27145,hydUND,0.0909090909090909 -p43,p27157,hydUND,0.0274841437632135 -p44,p27127,hydUND,0.4210526315789473 -p44,p27173,hydUND,0.5789473684210527 -p46,p55003,hydUND,0.0034632034632034 -p46,p55005,hydUND,0.0008658008658008 -p46,p55013,hydUND,0.019047619047619 -p46,p55017,hydUND,0.3887445887445886 -p46,p55033,hydUND,0.0502164502164502 -p46,p55035,hydUND,0.0632034632034632 -p46,p55051,hydUND,0.0086580086580086 -p46,p55095,hydUND,0.1316017316017316 -p46,p55099,hydUND,0.0233766233766233 -p46,p55107,hydUND,0.2528138528138527 -p46,p55109,hydUND,0.0121212121212121 -p46,p55113,hydUND,0.0398268398268398 -p46,p55129,hydUND,0.006060606060606 -p5,p41005,hydUND,0.0343114516153167 -p5,p41017,hydUND,0.0016160648820123 -p5,p41027,hydUND,0.0010773765880081 -p5,p41031,hydUND,0.0037109638031393 -p5,p41039,hydUND,0.0225201634021158 -p5,p41043,hydUND,0.0312289574885154 -p5,p41047,hydUND,0.0031423483816905 -p5,p41051,hydUND,0.1770638495264032 -p5,p41055,hydUND,0.3070523275823369 -p5,p41059,hydUND,0.1446228433763785 -p5,p41063,hydUND,0.0001645992009456 -p5,p41065,hydUND,0.2734890541531371 -p50,p40071,hydUND,0.2189349112426035 -p50,p40079,hydUND,0.7810650887573964 -p51,p40021,hydUND,0.2483026188166828 -p51,p40101,hydUND,0.3637245392822502 -p51,p40143,hydUND,0.3879728419010669 -p53,p20045,hydUND,1.0 -p55,p29039,hydUND,0.1936685288640595 -p55,p29213,hydUND,0.8063314711359404 -p56,p05033,hydUND,0.0080049261083743 -p56,p05047,hydUND,0.708128078817734 -p56,p05109,hydUND,0.1791871921182266 -p56,p05131,hydUND,0.104679802955665 -p58,p22029,hydUND,1.0 -p6,p41019,hydUND,0.0607455131155085 -p6,p41029,hydUND,0.4647952139898757 -p6,p41035,hydUND,0.4744592728946157 -p61,p48465,hydUND,1.0 -p63,p48077,hydUND,0.9230769230769232 -p63,p48121,hydUND,0.0769230769230769 -p64,p48053,hydUND,0.3017408123791102 -p64,p48091,hydUND,0.0193423597678916 -p64,p48177,hydUND,0.018375241779497 -p64,p48187,hydUND,0.0361057382333978 -p64,p48299,hydUND,0.2214700193423598 -p64,p48453,hydUND,0.4029658284977434 -p65,p48323,hydUND,0.1643835616438356 -p65,p48427,hydUND,0.8356164383561644 -p66,p48351,hydUND,0.9090909090909092 -p66,p48457,hydUND,0.0909090909090909 -p68,p27013,hydUND,0.9696969696969696 -p68,p27045,hydUND,0.0303030303030303 -p7,p41045,hydUND,1.0 -p70,p19097,hydUND,0.0078688524590163 -p70,p19111,hydUND,0.957377049180328 -p70,p19113,hydUND,0.0137704918032786 -p70,p19179,hydUND,0.020983606557377 -p71,p29173,hydUND,1.0 -p74,p26013,hydUND,0.0089686098654708 -p74,p26043,hydUND,0.4495515695067265 -p74,p26053,hydUND,0.0112107623318385 -p74,p26071,hydUND,0.1188340807174888 -p74,p26103,hydUND,0.0067264573991031 -p74,p26109,hydUND,0.2724215246636771 -p74,p26131,hydUND,0.132286995515695 -p75,p55037,hydUND,0.2698170731707317 -p75,p55069,hydUND,0.0990853658536585 -p75,p55075,hydUND,0.3658536585365852 -p75,p55083,hydUND,0.0564024390243902 -p75,p55085,hydUND,0.0259146341463414 -p75,p55097,hydUND,0.1829268292682927 -p76,p55087,hydUND,0.8650000000000001 -p76,p55141,hydUND,0.1349999999999999 -p77,p55065,hydUND,0.0025906735751295 -p77,p55111,hydUND,0.9974093264248703 -p8,p06035,hydUND,0.2542517006802721 -p8,p06093,hydUND,0.745748299319728 -p80,p17099,hydUND,0.5347043701799487 -p80,p17103,hydUND,0.0771208226221079 -p80,p17195,hydUND,0.0514138817480719 -p80,p17197,hydUND,0.3084832904884318 -p80,p17201,hydUND,0.0282776349614395 -p81,p17161,hydUND,1.0 -p84,p29029,hydUND,1.0 -p85,p05001,hydUND,0.0968188105117565 -p85,p05019,hydUND,0.1106500691562932 -p85,p05029,hydUND,0.0470262793914246 -p85,p05051,hydUND,0.2074688796680498 -p85,p05063,hydUND,0.0334716459197787 -p85,p05115,hydUND,0.3872752420470263 -p85,p05119,hydUND,0.1172890733056708 -p89,p01077,hydUND,0.8286778398510243 -p89,p01125,hydUND,0.0595903165735567 -p89,p01131,hydUND,0.1117318435754189 -p9,p06007,hydUND,0.1329061784897025 -p9,p06009,hydUND,0.0055835240274599 -p9,p06017,hydUND,0.1308009153318077 -p9,p06019,hydUND,0.1718077803203661 -p9,p06021,hydUND,0.0009153318077803 -p9,p06023,hydUND,0.000274599542334 -p9,p06033,hydUND,0.0009336384439359 -p9,p06039,hydUND,0.0550480549199084 -p9,p06043,hydUND,0.0189473684210526 -p9,p06045,hydUND,0.002324942791762 -p9,p06047,hydUND,0.0011350114416475 -p9,p06053,hydUND,0.0007322654462242 -p9,p06055,hydUND,0.0021052631578947 -p9,p06057,hydUND,0.0205217391304347 -p9,p06061,hydUND,0.0783524027459954 -p9,p06063,hydUND,0.0823432494279176 -p9,p06067,hydUND,0.0030389016018306 -p9,p06077,hydUND,0.0019221967963386 -p9,p06089,hydUND,0.0780228832951945 -p9,p06091,hydUND,0.0024897025171624 -p9,p06097,hydUND,0.0002196796338672 -p9,p06099,hydUND,0.0038077803203661 -p9,p06103,hydUND,0.0011167048054919 -p9,p06105,hydUND,0.0011167048054919 -p9,p06109,hydUND,0.128604118993135 -p9,p06115,hydUND,0.074929061784897 -p90,p01017,hydUND,0.0002413418607457 -p90,p01021,hydUND,0.4140219621093278 -p90,p01039,hydUND,0.0098950162905756 -p90,p01051,hydUND,0.5758416797393509 -p92,p47019,hydUND,0.0126107702794819 -p92,p47021,hydUND,0.0470347648261758 -p92,p47027,hydUND,0.0705521472392638 -p92,p47037,hydUND,0.0340831629175187 -p92,p47041,hydUND,0.1749602363099295 -p92,p47105,hydUND,0.0899795501022494 -p92,p47115,hydUND,0.1199727334696659 -p92,p47139,hydUND,0.152692569870484 -p92,p47159,hydUND,0.1204271756418995 -p92,p47163,hydUND,0.0462394910247671 -p92,p47165,hydUND,0.1314473983185639 -p93,p21139,hydUND,0.1448749761404848 -p93,p21143,hydUND,0.2824966596678755 -p93,p21207,hydUND,0.5726283641916396 -p94,p13009,hydUND,0.22165991902834 -p94,p13059,hydUND,0.0146761133603238 -p94,p13073,hydUND,0.0607287449392712 -p94,p13095,hydUND,0.0318825910931174 -p94,p13141,hydUND,0.5748987854251012 -p94,p13217,hydUND,0.0121457489878542 -p94,p13219,hydUND,0.0070850202429149 -p94,p13321,hydUND,0.0769230769230769 -p95,p45007,hydUND,0.0125659713495853 -p95,p45021,hydUND,0.002513194269917 -p95,p45023,hydUND,0.2940437295802965 -p95,p45045,hydUND,0.0206081930133199 -p95,p45057,hydUND,0.1130937421462679 -p95,p45059,hydUND,0.0185976375973862 -p95,p45077,hydUND,0.3820055290273937 -p95,p45083,hydUND,0.0057803468208092 -p95,p45091,hydUND,0.1507916561950238 -p96,p45015,hydUND,0.2518386449743704 -p96,p45039,hydUND,0.046801872074883 -p96,p45055,hydUND,0.0947180744372632 -p96,p45063,hydUND,0.221194562068197 -p96,p45065,hydUND,0.374414976599064 -p96,p45079,hydUND,0.0110318698462224 -p97,p37021,hydUND,0.0073896175872898 -p97,p37023,hydUND,0.0581932384999076 -p97,p37027,hydUND,0.0617033068538703 -p97,p37035,hydUND,0.0738961758728985 -p97,p37071,hydUND,0.1178644005172732 -p97,p37089,hydUND,0.0118233881396637 -p97,p37097,hydUND,0.0498799187142065 -p97,p37109,hydUND,0.5985590245704784 -p97,p37113,hydUND,0.0018474043968224 -p97,p37115,hydUND,0.0022168852761869 -p97,p37149,hydUND,0.0099759837428413 -p97,p37161,hydUND,0.0066506558285608 -p98,p37001,hydUND,0.0439882697947214 -p98,p37037,hydUND,0.1290322580645161 -p98,p37105,hydUND,0.0351906158357771 -p98,p37153,hydUND,0.7917888563049853 -p99,p51041,hydUND,0.2319999999999999 -p99,p51083,hydUND,0.128 -p99,p51109,hydUND,0.08 -p99,p51590,hydUND,0.36 -p99,p51595,hydUND,0.2 +p1,p53007,hydUD,0 +p1,p53033,hydUD,0 +p1,p53057,hydUD,0 +p1,p53061,hydUD,0 +p1,p53073,hydUD,0 +p10,p06051,hydUD,1 +p10,p06111,hydUD,0 +p101,p12039,hydUD,1 +p103,p26069,hydUD,1 +p118,p51089,hydUD,0 +p118,p51141,hydUD,0 +p118,p51680,hydUD,0 +p122,p42103,hydUD,1 +p127,p36001,hydUD,0 +p127,p36043,hydUD,0 +p127,p36045,hydUD,0 +p127,p36049,hydUD,0 +p127,p36083,hydUD,0 +p127,p36089,hydUD,1 +p127,p36091,hydUD,0 +p127,p36113,hydUD,0 +p129,p50001,hydUD,0 +p129,p50019,hydUD,0 +p129,p50023,hydUD,0 +p129,p50025,hydUD,1 +p13,p32003,hydUD,1 +p130,p33001,hydUD,1 +p131,p25003,hydUD,0 +p131,p25011,hydUD,1 +p132,p09120,hydUD,0 +p132,p09140,hydUD,1 +p134,p23001,hydUD,0 +p134,p23003,hydUD,0 +p134,p23009,hydUD,0 +p134,p23011,hydUD,0 +p134,p23019,hydUD,0 +p134,p23025,hydUD,1 +p134,p23031,hydUD,0 +p14,p16017,hydUD,1 +p14,p16055,hydUD,0 +p15,p16001,hydUD,0 +p15,p16035,hydUD,0 +p15,p16039,hydUD,0 +p15,p16045,hydUD,0 +p15,p16067,hydUD,0 +p15,p16073,hydUD,0 +p15,p16087,hydUD,1 +p16,p16019,hydUD,1 +p16,p16029,hydUD,0 +p17,p30007,hydUD,0 +p17,p30029,hydUD,0 +p17,p30039,hydUD,0 +p17,p30053,hydUD,0 +p17,p30057,hydUD,0 +p17,p30089,hydUD,0 +p18,p30003,hydUD,0 +p18,p30013,hydUD,0 +p18,p30049,hydUD,0 +p19,p30105,hydUD,1 +p2,p53005,hydUD,0 +p2,p53015,hydUD,0 +p2,p53041,hydUD,1 +p2,p53045,hydUD,0 +p2,p53059,hydUD,0 +p21,p56013,hydUD,0 +p21,p56029,hydUD,1 +p24,p56007,hydUD,0 +p24,p56025,hydUD,0 +p24,p56031,hydUD,0 +p25,p49003,hydUD,1 +p26,p49009,hydUD,1 +p26,p49051,hydUD,0 +p27,p04015,hydUD,1 +p28,p04005,hydUD,1 +p28,p04012,hydUD,0 +p28,p04013,hydUD,0 +p3,p53043,hydUD,0 +p3,p53051,hydUD,1 +p33,p08013,hydUD,0 +p33,p08019,hydUD,0 +p33,p08069,hydUD,1 +p33,p08077,hydUD,0 +p33,p08117,hydUD,0 +p34,p08051,hydUD,0 +p34,p08067,hydUD,0 +p34,p08083,hydUD,0 +p34,p08085,hydUD,1 +p34,p08113,hydUD,0 +p36,p38057,hydUD,1 +p38,p46023,hydUD,0 +p38,p46065,hydUD,0 +p38,p46085,hydUD,0 +p4,p53017,hydUD,0 +p4,p53025,hydUD,1 +p40,p31141,hydUD,1 +p43,p27017,hydUD,1 +p43,p27075,hydUD,0 +p43,p27137,hydUD,0 +p46,p55017,hydUD,1 +p5,p41031,hydUD,0 +p5,p41039,hydUD,0 +p5,p41047,hydUD,0 +p5,p41063,hydUD,0 +p50,p40061,hydUD,0 +p50,p40089,hydUD,0 +p50,p40135,hydUD,0 +p51,p40097,hydUD,1 +p55,p29213,hydUD,1 +p56,p05015,hydUD,1 +p56,p05023,hydUD,0 +p6,p41019,hydUD,1 +p6,p41029,hydUD,0 +p63,p48181,hydUD,1 +p63,p48217,hydUD,0 +p66,p48241,hydUD,1 +p66,p48373,hydUD,0 +p7,p41001,hydUD,1 +p70,p19125,hydUD,1 +p72,p29131,hydUD,1 +p74,p26071,hydUD,1 +p74,p26103,hydUD,0 +p75,p55069,hydUD,1 +p75,p55073,hydUD,0 +p75,p55075,hydUD,0 +p75,p55097,hydUD,0 +p76,p55001,hydUD,0 +p76,p55057,hydUD,0 +p76,p55141,hydUD,0 +p85,p05005,hydUD,1 +p85,p05051,hydUD,0 +p85,p05059,hydUD,0 +p89,p01077,hydUD,1 +p89,p01095,hydUD,0 +p89,p01125,hydUD,0 +p89,p01127,hydUD,0 +p9,p06005,hydUD,0 +p9,p06007,hydUD,0 +p9,p06009,hydUD,0 +p9,p06017,hydUD,0 +p9,p06019,hydUD,0 +p9,p06039,hydUD,0 +p9,p06063,hydUD,0 +p9,p06067,hydUD,0 +p9,p06089,hydUD,0 +p9,p06103,hydUD,0 +p9,p06105,hydUD,0 +p9,p06109,hydUD,0 +p90,p01015,hydUD,0 +p90,p01019,hydUD,0 +p90,p01051,hydUD,0 +p90,p01081,hydUD,0 +p90,p01085,hydUD,0 +p90,p01111,hydUD,0 +p90,p01121,hydUD,0 +p92,p47001,hydUD,0 +p92,p47009,hydUD,0 +p92,p47019,hydUD,0 +p92,p47051,hydUD,0 +p92,p47057,hydUD,0 +p92,p47065,hydUD,0 +p92,p47071,hydUD,0 +p92,p47105,hydUD,0 +p92,p47123,hydUD,0 +p92,p47139,hydUD,0 +p92,p47143,hydUD,0 +p92,p47155,hydUD,0 +p92,p47163,hydUD,0 +p92,p47177,hydUD,0 +p92,p47179,hydUD,0 +p93,p21157,hydUD,1 +p94,p13015,hydUD,0 +p94,p13035,hydUD,0 +p94,p13105,hydUD,0 +p94,p13111,hydUD,0 +p94,p13117,hydUD,0 +p94,p13121,hydUD,0 +p94,p13137,hydUD,0 +p94,p13147,hydUD,0 +p94,p13151,hydUD,0 +p94,p13213,hydUD,0 +p94,p13215,hydUD,0 +p94,p13241,hydUD,0 +p94,p13257,hydUD,0 +p94,p13285,hydUD,0 +p94,p13291,hydUD,0 +p95,p45001,hydUD,0 +p95,p45021,hydUD,1 +p95,p45023,hydUD,0 +p95,p45087,hydUD,0 +p96,p45071,hydUD,1 +p97,p37039,hydUD,0 +p97,p37043,hydUD,0 +p97,p37057,hydUD,0 +p97,p37075,hydUD,0 +p97,p37087,hydUD,0 +p97,p37099,hydUD,0 +p97,p37113,hydUD,0 +p97,p37167,hydUD,0 +p97,p37173,hydUD,0 +p98,p37083,hydUD,1 +p98,p37123,hydUD,0 +p99,p51117,hydUD,0 +p99,p51143,hydUD,1 +p1,p53007,hydUND,0 +p1,p53033,hydUND,0 +p1,p53053,hydUND,0 +p1,p53061,hydUND,0 +p1,p53067,hydUND,0 +p1,p53073,hydUND,1 +p10,p06025,hydUND,0 +p10,p06027,hydUND,0 +p10,p06029,hydUND,0 +p10,p06037,hydUND,0 +p10,p06051,hydUND,0 +p10,p06059,hydUND,0 +p10,p06065,hydUND,0 +p10,p06071,hydUND,0 +p10,p06107,hydUND,0 +p10,p06111,hydUND,0 +p100,p51139,hydUND,1 +p101,p12073,hydUND,1 +p103,p26001,hydUND,0 +p103,p26005,hydUND,0 +p103,p26007,hydUND,0 +p103,p26025,hydUND,0 +p103,p26031,hydUND,0 +p103,p26033,hydUND,0 +p103,p26051,hydUND,0 +p103,p26057,hydUND,0 +p103,p26067,hydUND,0 +p103,p26069,hydUND,0 +p103,p26081,hydUND,0 +p103,p26101,hydUND,0 +p103,p26107,hydUND,0 +p103,p26111,hydUND,0 +p103,p26123,hydUND,0 +p103,p26135,hydUND,0 +p103,p26163,hydUND,0 +p104,p26021,hydUND,1 +p104,p26149,hydUND,0 +p105,p18015,hydUND,0 +p105,p18039,hydUND,0 +p105,p18141,hydUND,0 +p105,p18181,hydUND,0 +p107,p18155,hydUND,1 +p109,p21023,hydUND,0 +p109,p21065,hydUND,0 +p109,p21111,hydUND,0 +p109,p21113,hydUND,0 +p109,p21125,hydUND,0 +p109,p21129,hydUND,0 +p109,p21167,hydUND,0 +p11,p06073,hydUND,1 +p110,p21193,hydUND,1 +p112,p39039,hydUND,0 +p112,p39041,hydUND,0 +p112,p39105,hydUND,0 +p112,p39145,hydUND,1 +p114,p39017,hydUND,1 +p115,p42003,hydUND,0 +p115,p42005,hydUND,0 +p115,p42007,hydUND,0 +p115,p42051,hydUND,0 +p115,p42129,hydUND,0 +p116,p54003,hydUND,0 +p116,p54037,hydUND,0 +p116,p54067,hydUND,0 +p116,p54073,hydUND,0 +p116,p54103,hydUND,0 +p116,p54107,hydUND,0 +p117,p54039,hydUND,1 +p117,p54079,hydUND,0 +p118,p51009,hydUND,0 +p118,p51035,hydUND,0 +p118,p51077,hydUND,0 +p118,p51089,hydUND,0 +p118,p51155,hydUND,1 +p118,p51161,hydUND,0 +p12,p32001,hydUND,0 +p12,p32019,hydUND,0 +p12,p32029,hydUND,0 +p121,p24023,hydUND,1 +p122,p42031,hydUND,0 +p122,p42061,hydUND,0 +p122,p42071,hydUND,1 +p122,p42111,hydUND,0 +p122,p42115,hydUND,0 +p122,p42123,hydUND,0 +p122,p42133,hydUND,0 +p123,p24025,hydUND,1 +p126,p34031,hydUND,1 +p127,p36001,hydUND,0 +p127,p36003,hydUND,0 +p127,p36011,hydUND,0 +p127,p36019,hydUND,0 +p127,p36021,hydUND,0 +p127,p36027,hydUND,0 +p127,p36031,hydUND,0 +p127,p36033,hydUND,0 +p127,p36035,hydUND,0 +p127,p36039,hydUND,0 +p127,p36043,hydUND,0 +p127,p36045,hydUND,0 +p127,p36049,hydUND,0 +p127,p36055,hydUND,0 +p127,p36063,hydUND,1 +p127,p36065,hydUND,0 +p127,p36067,hydUND,0 +p127,p36071,hydUND,0 +p127,p36073,hydUND,0 +p127,p36075,hydUND,0 +p127,p36077,hydUND,0 +p127,p36083,hydUND,0 +p127,p36089,hydUND,0 +p127,p36091,hydUND,0 +p127,p36099,hydUND,0 +p127,p36105,hydUND,0 +p127,p36111,hydUND,0 +p127,p36113,hydUND,0 +p127,p36115,hydUND,0 +p127,p36119,hydUND,0 +p129,p50001,hydUND,0 +p129,p50005,hydUND,0 +p129,p50007,hydUND,0 +p129,p50009,hydUND,0 +p129,p50011,hydUND,0 +p129,p50015,hydUND,0 +p129,p50017,hydUND,0 +p129,p50019,hydUND,0 +p129,p50021,hydUND,0 +p129,p50023,hydUND,0 +p129,p50025,hydUND,0 +p129,p50027,hydUND,0 +p130,p33001,hydUND,0 +p130,p33007,hydUND,0 +p130,p33009,hydUND,1 +p130,p33011,hydUND,0 +p130,p33013,hydUND,0 +p130,p33017,hydUND,0 +p130,p33019,hydUND,0 +p131,p25009,hydUND,0 +p131,p25011,hydUND,0 +p131,p25013,hydUND,0 +p131,p25017,hydUND,0 +p131,p25027,hydUND,0 +p132,p09110,hydUND,0 +p132,p09140,hydUND,0 +p132,p09150,hydUND,0 +p132,p09160,hydUND,0 +p132,p09180,hydUND,0 +p132,p09190,hydUND,0 +p133,p44007,hydUND,1 +p134,p23001,hydUND,0 +p134,p23003,hydUND,0 +p134,p23005,hydUND,0 +p134,p23007,hydUND,0 +p134,p23011,hydUND,0 +p134,p23017,hydUND,0 +p134,p23019,hydUND,0 +p134,p23023,hydUND,0 +p134,p23025,hydUND,0 +p134,p23031,hydUND,0 +p14,p16021,hydUND,1 +p15,p16001,hydUND,0 +p15,p16003,hydUND,0 +p15,p16013,hydUND,0 +p15,p16015,hydUND,0 +p15,p16027,hydUND,0 +p15,p16035,hydUND,0 +p15,p16039,hydUND,0 +p15,p16047,hydUND,0 +p15,p16053,hydUND,0 +p15,p16063,hydUND,0 +p15,p16085,hydUND,0 +p16,p16005,hydUND,0 +p16,p16019,hydUND,0 +p16,p16029,hydUND,0 +p16,p16033,hydUND,0 +p16,p16041,hydUND,0 +p16,p16043,hydUND,0 +p16,p16077,hydUND,0 +p16,p16081,hydUND,0 +p16,p16083,hydUND,0 +p17,p30001,hydUND,0 +p17,p30029,hydUND,0 +p17,p30047,hydUND,1 +p17,p30089,hydUND,0 +p18,p30009,hydUND,0 +p18,p30013,hydUND,0 +p18,p30049,hydUND,0 +p18,p30051,hydUND,0 +p18,p30095,hydUND,0 +p18,p30099,hydUND,0 +p2,p53005,hydUND,0 +p2,p53009,hydUND,0 +p2,p53011,hydUND,0 +p2,p53013,hydUND,0 +p2,p53023,hydUND,0 +p2,p53027,hydUND,0 +p2,p53031,hydUND,0 +p2,p53039,hydUND,0 +p2,p53041,hydUND,0 +p2,p53045,hydUND,0 +p2,p53059,hydUND,0 +p2,p53071,hydUND,0 +p2,p53077,hydUND,0 +p21,p56013,hydUND,0 +p21,p56023,hydUND,1 +p21,p56029,hydUND,0 +p25,p49001,hydUND,0 +p25,p49003,hydUND,0 +p25,p49005,hydUND,0 +p25,p49017,hydUND,0 +p25,p49035,hydUND,0 +p25,p49039,hydUND,0 +p25,p49049,hydUND,0 +p25,p49053,hydUND,0 +p25,p49057,hydUND,0 +p26,p49013,hydUND,0 +p26,p49029,hydUND,0 +p26,p49043,hydUND,0 +p26,p49051,hydUND,1 +p28,p04012,hydUND,1 +p28,p04013,hydUND,0 +p3,p53021,hydUND,1 +p3,p53043,hydUND,0 +p3,p53051,hydUND,0 +p3,p53063,hydUND,0 +p3,p53065,hydUND,0 +p31,p35039,hydUND,0 +p31,p35045,hydUND,0 +p31,p35051,hydUND,0 +p32,p46081,hydUND,1 +p33,p08005,hydUND,0 +p33,p08013,hydUND,0 +p33,p08035,hydUND,0 +p33,p08037,hydUND,0 +p33,p08045,hydUND,0 +p33,p08049,hydUND,0 +p33,p08065,hydUND,0 +p33,p08069,hydUND,0 +p33,p08077,hydUND,0 +p33,p08093,hydUND,0 +p33,p08103,hydUND,0 +p33,p08117,hydUND,0 +p34,p08015,hydUND,0 +p34,p08041,hydUND,0 +p34,p08067,hydUND,0 +p34,p08083,hydUND,0 +p34,p08085,hydUND,0 +p34,p08091,hydUND,0 +p34,p08101,hydUND,0 +p39,p31101,hydUND,1 +p4,p53017,hydUND,1 +p4,p53025,hydUND,0 +p40,p31015,hydUND,0 +p40,p31019,hydUND,0 +p40,p31027,hydUND,0 +p40,p31073,hydUND,0 +p40,p31077,hydUND,0 +p40,p31111,hydUND,0 +p40,p31141,hydUND,0 +p42,p27113,hydUND,1 +p43,p27009,hydUND,0 +p43,p27017,hydUND,0 +p43,p27021,hydUND,0 +p43,p27035,hydUND,0 +p43,p27037,hydUND,0 +p43,p27053,hydUND,0 +p43,p27061,hydUND,0 +p43,p27097,hydUND,0 +p43,p27111,hydUND,0 +p43,p27123,hydUND,0 +p43,p27145,hydUND,0 +p43,p27157,hydUND,0 +p44,p27127,hydUND,0 +p44,p27173,hydUND,1 +p46,p55003,hydUND,0 +p46,p55005,hydUND,0 +p46,p55013,hydUND,0 +p46,p55017,hydUND,0 +p46,p55033,hydUND,0 +p46,p55035,hydUND,0 +p46,p55051,hydUND,0 +p46,p55095,hydUND,0 +p46,p55099,hydUND,0 +p46,p55107,hydUND,0 +p46,p55109,hydUND,0 +p46,p55113,hydUND,0 +p46,p55129,hydUND,0 +p5,p41005,hydUND,0 +p5,p41017,hydUND,0 +p5,p41027,hydUND,0 +p5,p41031,hydUND,0 +p5,p41039,hydUND,0 +p5,p41043,hydUND,0 +p5,p41047,hydUND,0 +p5,p41051,hydUND,0 +p5,p41055,hydUND,0 +p5,p41059,hydUND,0 +p5,p41063,hydUND,0 +p5,p41065,hydUND,0 +p50,p40071,hydUND,0 +p50,p40079,hydUND,1 +p51,p40021,hydUND,0 +p51,p40101,hydUND,0 +p51,p40143,hydUND,0 +p53,p20045,hydUND,1 +p55,p29039,hydUND,0 +p55,p29213,hydUND,1 +p56,p05033,hydUND,0 +p56,p05047,hydUND,1 +p56,p05109,hydUND,0 +p56,p05131,hydUND,0 +p58,p22029,hydUND,1 +p6,p41019,hydUND,0 +p6,p41029,hydUND,0 +p6,p41035,hydUND,0 +p61,p48465,hydUND,1 +p63,p48077,hydUND,1 +p63,p48121,hydUND,0 +p64,p48053,hydUND,0 +p64,p48091,hydUND,0 +p64,p48177,hydUND,0 +p64,p48187,hydUND,0 +p64,p48299,hydUND,0 +p64,p48453,hydUND,0 +p65,p48323,hydUND,0 +p65,p48427,hydUND,1 +p66,p48351,hydUND,1 +p66,p48457,hydUND,0 +p68,p27013,hydUND,1 +p68,p27045,hydUND,0 +p7,p41045,hydUND,1 +p70,p19097,hydUND,0 +p70,p19111,hydUND,1 +p70,p19113,hydUND,0 +p70,p19179,hydUND,0 +p71,p29173,hydUND,1 +p74,p26013,hydUND,0 +p74,p26043,hydUND,0 +p74,p26053,hydUND,0 +p74,p26071,hydUND,0 +p74,p26103,hydUND,0 +p74,p26109,hydUND,0 +p74,p26131,hydUND,0 +p75,p55037,hydUND,0 +p75,p55069,hydUND,0 +p75,p55075,hydUND,0 +p75,p55083,hydUND,0 +p75,p55085,hydUND,0 +p75,p55097,hydUND,0 +p76,p55087,hydUND,1 +p76,p55141,hydUND,0 +p77,p55065,hydUND,0 +p77,p55111,hydUND,1 +p8,p06035,hydUND,0 +p8,p06093,hydUND,1 +p80,p17099,hydUND,1 +p80,p17103,hydUND,0 +p80,p17195,hydUND,0 +p80,p17197,hydUND,0 +p80,p17201,hydUND,0 +p81,p17161,hydUND,1 +p84,p29029,hydUND,1 +p85,p05001,hydUND,0 +p85,p05019,hydUND,0 +p85,p05029,hydUND,0 +p85,p05051,hydUND,0 +p85,p05063,hydUND,0 +p85,p05115,hydUND,0 +p85,p05119,hydUND,0 +p89,p01077,hydUND,1 +p89,p01125,hydUND,0 +p89,p01131,hydUND,0 +p9,p06007,hydUND,0 +p9,p06009,hydUND,0 +p9,p06017,hydUND,0 +p9,p06019,hydUND,0 +p9,p06021,hydUND,0 +p9,p06023,hydUND,0 +p9,p06033,hydUND,0 +p9,p06039,hydUND,0 +p9,p06043,hydUND,0 +p9,p06045,hydUND,0 +p9,p06047,hydUND,0 +p9,p06053,hydUND,0 +p9,p06055,hydUND,0 +p9,p06057,hydUND,0 +p9,p06061,hydUND,0 +p9,p06063,hydUND,0 +p9,p06067,hydUND,0 +p9,p06077,hydUND,0 +p9,p06089,hydUND,0 +p9,p06091,hydUND,0 +p9,p06097,hydUND,0 +p9,p06099,hydUND,0 +p9,p06103,hydUND,0 +p9,p06105,hydUND,0 +p9,p06109,hydUND,0 +p9,p06115,hydUND,0 +p90,p01017,hydUND,0 +p90,p01021,hydUND,0 +p90,p01039,hydUND,0 +p90,p01051,hydUND,1 +p92,p47019,hydUND,0 +p92,p47021,hydUND,0 +p92,p47027,hydUND,0 +p92,p47037,hydUND,0 +p92,p47041,hydUND,0 +p92,p47105,hydUND,0 +p92,p47115,hydUND,0 +p92,p47139,hydUND,0 +p92,p47159,hydUND,0 +p92,p47163,hydUND,0 +p92,p47165,hydUND,0 +p93,p21139,hydUND,0 +p93,p21143,hydUND,0 +p93,p21207,hydUND,1 +p94,p13009,hydUND,0 +p94,p13059,hydUND,0 +p94,p13073,hydUND,0 +p94,p13095,hydUND,0 +p94,p13141,hydUND,1 +p94,p13217,hydUND,0 +p94,p13219,hydUND,0 +p94,p13321,hydUND,0 +p95,p45007,hydUND,0 +p95,p45021,hydUND,0 +p95,p45023,hydUND,0 +p95,p45045,hydUND,0 +p95,p45057,hydUND,0 +p95,p45059,hydUND,0 +p95,p45077,hydUND,0 +p95,p45083,hydUND,0 +p95,p45091,hydUND,0 +p96,p45015,hydUND,0 +p96,p45039,hydUND,0 +p96,p45055,hydUND,0 +p96,p45063,hydUND,0 +p96,p45065,hydUND,0 +p96,p45079,hydUND,0 +p97,p37021,hydUND,0 +p97,p37023,hydUND,0 +p97,p37027,hydUND,0 +p97,p37035,hydUND,0 +p97,p37071,hydUND,0 +p97,p37089,hydUND,0 +p97,p37097,hydUND,0 +p97,p37109,hydUND,1 +p97,p37113,hydUND,0 +p97,p37115,hydUND,0 +p97,p37149,hydUND,0 +p97,p37161,hydUND,0 +p98,p37001,hydUND,0 +p98,p37037,hydUND,0 +p98,p37105,hydUND,0 +p98,p37153,hydUND,1 +p99,p51041,hydUND,0 +p99,p51083,hydUND,0 +p99,p51109,hydUND,0 +p99,p51590,hydUND,0 +p99,p51595,hydUND,0 From 37d8df9a239bae9a4be11815cb59d7e74914f89e Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 17:16:39 -0400 Subject: [PATCH 07/33] Revert changes --- inputs/disaggregation/disagg_hydroexist.csv | 1328 +++++++++---------- 1 file changed, 664 insertions(+), 664 deletions(-) diff --git a/inputs/disaggregation/disagg_hydroexist.csv b/inputs/disaggregation/disagg_hydroexist.csv index 96b506f1..7d604669 100644 --- a/inputs/disaggregation/disagg_hydroexist.csv +++ b/inputs/disaggregation/disagg_hydroexist.csv @@ -1,664 +1,664 @@ -legacy_ba,FIPS,i,fracdata -p1,p53007,hydUD,0 -p1,p53033,hydUD,0 -p1,p53057,hydUD,0 -p1,p53061,hydUD,0 -p1,p53073,hydUD,0 -p10,p06051,hydUD,1 -p10,p06111,hydUD,0 -p101,p12039,hydUD,1 -p103,p26069,hydUD,1 -p118,p51089,hydUD,0 -p118,p51141,hydUD,0 -p118,p51680,hydUD,0 -p122,p42103,hydUD,1 -p127,p36001,hydUD,0 -p127,p36043,hydUD,0 -p127,p36045,hydUD,0 -p127,p36049,hydUD,0 -p127,p36083,hydUD,0 -p127,p36089,hydUD,1 -p127,p36091,hydUD,0 -p127,p36113,hydUD,0 -p129,p50001,hydUD,0 -p129,p50019,hydUD,0 -p129,p50023,hydUD,0 -p129,p50025,hydUD,1 -p13,p32003,hydUD,1 -p130,p33001,hydUD,1 -p131,p25003,hydUD,0 -p131,p25011,hydUD,1 -p132,p09120,hydUD,0 -p132,p09140,hydUD,1 -p134,p23001,hydUD,0 -p134,p23003,hydUD,0 -p134,p23009,hydUD,0 -p134,p23011,hydUD,0 -p134,p23019,hydUD,0 -p134,p23025,hydUD,1 -p134,p23031,hydUD,0 -p14,p16017,hydUD,1 -p14,p16055,hydUD,0 -p15,p16001,hydUD,0 -p15,p16035,hydUD,0 -p15,p16039,hydUD,0 -p15,p16045,hydUD,0 -p15,p16067,hydUD,0 -p15,p16073,hydUD,0 -p15,p16087,hydUD,1 -p16,p16019,hydUD,1 -p16,p16029,hydUD,0 -p17,p30007,hydUD,0 -p17,p30029,hydUD,0 -p17,p30039,hydUD,0 -p17,p30053,hydUD,0 -p17,p30057,hydUD,0 -p17,p30089,hydUD,0 -p18,p30003,hydUD,0 -p18,p30013,hydUD,0 -p18,p30049,hydUD,0 -p19,p30105,hydUD,1 -p2,p53005,hydUD,0 -p2,p53015,hydUD,0 -p2,p53041,hydUD,1 -p2,p53045,hydUD,0 -p2,p53059,hydUD,0 -p21,p56013,hydUD,0 -p21,p56029,hydUD,1 -p24,p56007,hydUD,0 -p24,p56025,hydUD,0 -p24,p56031,hydUD,0 -p25,p49003,hydUD,1 -p26,p49009,hydUD,1 -p26,p49051,hydUD,0 -p27,p04015,hydUD,1 -p28,p04005,hydUD,1 -p28,p04012,hydUD,0 -p28,p04013,hydUD,0 -p3,p53043,hydUD,0 -p3,p53051,hydUD,1 -p33,p08013,hydUD,0 -p33,p08019,hydUD,0 -p33,p08069,hydUD,1 -p33,p08077,hydUD,0 -p33,p08117,hydUD,0 -p34,p08051,hydUD,0 -p34,p08067,hydUD,0 -p34,p08083,hydUD,0 -p34,p08085,hydUD,1 -p34,p08113,hydUD,0 -p36,p38057,hydUD,1 -p38,p46023,hydUD,0 -p38,p46065,hydUD,0 -p38,p46085,hydUD,0 -p4,p53017,hydUD,0 -p4,p53025,hydUD,1 -p40,p31141,hydUD,1 -p43,p27017,hydUD,1 -p43,p27075,hydUD,0 -p43,p27137,hydUD,0 -p46,p55017,hydUD,1 -p5,p41031,hydUD,0 -p5,p41039,hydUD,0 -p5,p41047,hydUD,0 -p5,p41063,hydUD,0 -p50,p40061,hydUD,0 -p50,p40089,hydUD,0 -p50,p40135,hydUD,0 -p51,p40097,hydUD,1 -p55,p29213,hydUD,1 -p56,p05015,hydUD,1 -p56,p05023,hydUD,0 -p6,p41019,hydUD,1 -p6,p41029,hydUD,0 -p63,p48181,hydUD,1 -p63,p48217,hydUD,0 -p66,p48241,hydUD,1 -p66,p48373,hydUD,0 -p7,p41001,hydUD,1 -p70,p19125,hydUD,1 -p72,p29131,hydUD,1 -p74,p26071,hydUD,1 -p74,p26103,hydUD,0 -p75,p55069,hydUD,1 -p75,p55073,hydUD,0 -p75,p55075,hydUD,0 -p75,p55097,hydUD,0 -p76,p55001,hydUD,0 -p76,p55057,hydUD,0 -p76,p55141,hydUD,0 -p85,p05005,hydUD,1 -p85,p05051,hydUD,0 -p85,p05059,hydUD,0 -p89,p01077,hydUD,1 -p89,p01095,hydUD,0 -p89,p01125,hydUD,0 -p89,p01127,hydUD,0 -p9,p06005,hydUD,0 -p9,p06007,hydUD,0 -p9,p06009,hydUD,0 -p9,p06017,hydUD,0 -p9,p06019,hydUD,0 -p9,p06039,hydUD,0 -p9,p06063,hydUD,0 -p9,p06067,hydUD,0 -p9,p06089,hydUD,0 -p9,p06103,hydUD,0 -p9,p06105,hydUD,0 -p9,p06109,hydUD,0 -p90,p01015,hydUD,0 -p90,p01019,hydUD,0 -p90,p01051,hydUD,0 -p90,p01081,hydUD,0 -p90,p01085,hydUD,0 -p90,p01111,hydUD,0 -p90,p01121,hydUD,0 -p92,p47001,hydUD,0 -p92,p47009,hydUD,0 -p92,p47019,hydUD,0 -p92,p47051,hydUD,0 -p92,p47057,hydUD,0 -p92,p47065,hydUD,0 -p92,p47071,hydUD,0 -p92,p47105,hydUD,0 -p92,p47123,hydUD,0 -p92,p47139,hydUD,0 -p92,p47143,hydUD,0 -p92,p47155,hydUD,0 -p92,p47163,hydUD,0 -p92,p47177,hydUD,0 -p92,p47179,hydUD,0 -p93,p21157,hydUD,1 -p94,p13015,hydUD,0 -p94,p13035,hydUD,0 -p94,p13105,hydUD,0 -p94,p13111,hydUD,0 -p94,p13117,hydUD,0 -p94,p13121,hydUD,0 -p94,p13137,hydUD,0 -p94,p13147,hydUD,0 -p94,p13151,hydUD,0 -p94,p13213,hydUD,0 -p94,p13215,hydUD,0 -p94,p13241,hydUD,0 -p94,p13257,hydUD,0 -p94,p13285,hydUD,0 -p94,p13291,hydUD,0 -p95,p45001,hydUD,0 -p95,p45021,hydUD,1 -p95,p45023,hydUD,0 -p95,p45087,hydUD,0 -p96,p45071,hydUD,1 -p97,p37039,hydUD,0 -p97,p37043,hydUD,0 -p97,p37057,hydUD,0 -p97,p37075,hydUD,0 -p97,p37087,hydUD,0 -p97,p37099,hydUD,0 -p97,p37113,hydUD,0 -p97,p37167,hydUD,0 -p97,p37173,hydUD,0 -p98,p37083,hydUD,1 -p98,p37123,hydUD,0 -p99,p51117,hydUD,0 -p99,p51143,hydUD,1 -p1,p53007,hydUND,0 -p1,p53033,hydUND,0 -p1,p53053,hydUND,0 -p1,p53061,hydUND,0 -p1,p53067,hydUND,0 -p1,p53073,hydUND,1 -p10,p06025,hydUND,0 -p10,p06027,hydUND,0 -p10,p06029,hydUND,0 -p10,p06037,hydUND,0 -p10,p06051,hydUND,0 -p10,p06059,hydUND,0 -p10,p06065,hydUND,0 -p10,p06071,hydUND,0 -p10,p06107,hydUND,0 -p10,p06111,hydUND,0 -p100,p51139,hydUND,1 -p101,p12073,hydUND,1 -p103,p26001,hydUND,0 -p103,p26005,hydUND,0 -p103,p26007,hydUND,0 -p103,p26025,hydUND,0 -p103,p26031,hydUND,0 -p103,p26033,hydUND,0 -p103,p26051,hydUND,0 -p103,p26057,hydUND,0 -p103,p26067,hydUND,0 -p103,p26069,hydUND,0 -p103,p26081,hydUND,0 -p103,p26101,hydUND,0 -p103,p26107,hydUND,0 -p103,p26111,hydUND,0 -p103,p26123,hydUND,0 -p103,p26135,hydUND,0 -p103,p26163,hydUND,0 -p104,p26021,hydUND,1 -p104,p26149,hydUND,0 -p105,p18015,hydUND,0 -p105,p18039,hydUND,0 -p105,p18141,hydUND,0 -p105,p18181,hydUND,0 -p107,p18155,hydUND,1 -p109,p21023,hydUND,0 -p109,p21065,hydUND,0 -p109,p21111,hydUND,0 -p109,p21113,hydUND,0 -p109,p21125,hydUND,0 -p109,p21129,hydUND,0 -p109,p21167,hydUND,0 -p11,p06073,hydUND,1 -p110,p21193,hydUND,1 -p112,p39039,hydUND,0 -p112,p39041,hydUND,0 -p112,p39105,hydUND,0 -p112,p39145,hydUND,1 -p114,p39017,hydUND,1 -p115,p42003,hydUND,0 -p115,p42005,hydUND,0 -p115,p42007,hydUND,0 -p115,p42051,hydUND,0 -p115,p42129,hydUND,0 -p116,p54003,hydUND,0 -p116,p54037,hydUND,0 -p116,p54067,hydUND,0 -p116,p54073,hydUND,0 -p116,p54103,hydUND,0 -p116,p54107,hydUND,0 -p117,p54039,hydUND,1 -p117,p54079,hydUND,0 -p118,p51009,hydUND,0 -p118,p51035,hydUND,0 -p118,p51077,hydUND,0 -p118,p51089,hydUND,0 -p118,p51155,hydUND,1 -p118,p51161,hydUND,0 -p12,p32001,hydUND,0 -p12,p32019,hydUND,0 -p12,p32029,hydUND,0 -p121,p24023,hydUND,1 -p122,p42031,hydUND,0 -p122,p42061,hydUND,0 -p122,p42071,hydUND,1 -p122,p42111,hydUND,0 -p122,p42115,hydUND,0 -p122,p42123,hydUND,0 -p122,p42133,hydUND,0 -p123,p24025,hydUND,1 -p126,p34031,hydUND,1 -p127,p36001,hydUND,0 -p127,p36003,hydUND,0 -p127,p36011,hydUND,0 -p127,p36019,hydUND,0 -p127,p36021,hydUND,0 -p127,p36027,hydUND,0 -p127,p36031,hydUND,0 -p127,p36033,hydUND,0 -p127,p36035,hydUND,0 -p127,p36039,hydUND,0 -p127,p36043,hydUND,0 -p127,p36045,hydUND,0 -p127,p36049,hydUND,0 -p127,p36055,hydUND,0 -p127,p36063,hydUND,1 -p127,p36065,hydUND,0 -p127,p36067,hydUND,0 -p127,p36071,hydUND,0 -p127,p36073,hydUND,0 -p127,p36075,hydUND,0 -p127,p36077,hydUND,0 -p127,p36083,hydUND,0 -p127,p36089,hydUND,0 -p127,p36091,hydUND,0 -p127,p36099,hydUND,0 -p127,p36105,hydUND,0 -p127,p36111,hydUND,0 -p127,p36113,hydUND,0 -p127,p36115,hydUND,0 -p127,p36119,hydUND,0 -p129,p50001,hydUND,0 -p129,p50005,hydUND,0 -p129,p50007,hydUND,0 -p129,p50009,hydUND,0 -p129,p50011,hydUND,0 -p129,p50015,hydUND,0 -p129,p50017,hydUND,0 -p129,p50019,hydUND,0 -p129,p50021,hydUND,0 -p129,p50023,hydUND,0 -p129,p50025,hydUND,0 -p129,p50027,hydUND,0 -p130,p33001,hydUND,0 -p130,p33007,hydUND,0 -p130,p33009,hydUND,1 -p130,p33011,hydUND,0 -p130,p33013,hydUND,0 -p130,p33017,hydUND,0 -p130,p33019,hydUND,0 -p131,p25009,hydUND,0 -p131,p25011,hydUND,0 -p131,p25013,hydUND,0 -p131,p25017,hydUND,0 -p131,p25027,hydUND,0 -p132,p09110,hydUND,0 -p132,p09140,hydUND,0 -p132,p09150,hydUND,0 -p132,p09160,hydUND,0 -p132,p09180,hydUND,0 -p132,p09190,hydUND,0 -p133,p44007,hydUND,1 -p134,p23001,hydUND,0 -p134,p23003,hydUND,0 -p134,p23005,hydUND,0 -p134,p23007,hydUND,0 -p134,p23011,hydUND,0 -p134,p23017,hydUND,0 -p134,p23019,hydUND,0 -p134,p23023,hydUND,0 -p134,p23025,hydUND,0 -p134,p23031,hydUND,0 -p14,p16021,hydUND,1 -p15,p16001,hydUND,0 -p15,p16003,hydUND,0 -p15,p16013,hydUND,0 -p15,p16015,hydUND,0 -p15,p16027,hydUND,0 -p15,p16035,hydUND,0 -p15,p16039,hydUND,0 -p15,p16047,hydUND,0 -p15,p16053,hydUND,0 -p15,p16063,hydUND,0 -p15,p16085,hydUND,0 -p16,p16005,hydUND,0 -p16,p16019,hydUND,0 -p16,p16029,hydUND,0 -p16,p16033,hydUND,0 -p16,p16041,hydUND,0 -p16,p16043,hydUND,0 -p16,p16077,hydUND,0 -p16,p16081,hydUND,0 -p16,p16083,hydUND,0 -p17,p30001,hydUND,0 -p17,p30029,hydUND,0 -p17,p30047,hydUND,1 -p17,p30089,hydUND,0 -p18,p30009,hydUND,0 -p18,p30013,hydUND,0 -p18,p30049,hydUND,0 -p18,p30051,hydUND,0 -p18,p30095,hydUND,0 -p18,p30099,hydUND,0 -p2,p53005,hydUND,0 -p2,p53009,hydUND,0 -p2,p53011,hydUND,0 -p2,p53013,hydUND,0 -p2,p53023,hydUND,0 -p2,p53027,hydUND,0 -p2,p53031,hydUND,0 -p2,p53039,hydUND,0 -p2,p53041,hydUND,0 -p2,p53045,hydUND,0 -p2,p53059,hydUND,0 -p2,p53071,hydUND,0 -p2,p53077,hydUND,0 -p21,p56013,hydUND,0 -p21,p56023,hydUND,1 -p21,p56029,hydUND,0 -p25,p49001,hydUND,0 -p25,p49003,hydUND,0 -p25,p49005,hydUND,0 -p25,p49017,hydUND,0 -p25,p49035,hydUND,0 -p25,p49039,hydUND,0 -p25,p49049,hydUND,0 -p25,p49053,hydUND,0 -p25,p49057,hydUND,0 -p26,p49013,hydUND,0 -p26,p49029,hydUND,0 -p26,p49043,hydUND,0 -p26,p49051,hydUND,1 -p28,p04012,hydUND,1 -p28,p04013,hydUND,0 -p3,p53021,hydUND,1 -p3,p53043,hydUND,0 -p3,p53051,hydUND,0 -p3,p53063,hydUND,0 -p3,p53065,hydUND,0 -p31,p35039,hydUND,0 -p31,p35045,hydUND,0 -p31,p35051,hydUND,0 -p32,p46081,hydUND,1 -p33,p08005,hydUND,0 -p33,p08013,hydUND,0 -p33,p08035,hydUND,0 -p33,p08037,hydUND,0 -p33,p08045,hydUND,0 -p33,p08049,hydUND,0 -p33,p08065,hydUND,0 -p33,p08069,hydUND,0 -p33,p08077,hydUND,0 -p33,p08093,hydUND,0 -p33,p08103,hydUND,0 -p33,p08117,hydUND,0 -p34,p08015,hydUND,0 -p34,p08041,hydUND,0 -p34,p08067,hydUND,0 -p34,p08083,hydUND,0 -p34,p08085,hydUND,0 -p34,p08091,hydUND,0 -p34,p08101,hydUND,0 -p39,p31101,hydUND,1 -p4,p53017,hydUND,1 -p4,p53025,hydUND,0 -p40,p31015,hydUND,0 -p40,p31019,hydUND,0 -p40,p31027,hydUND,0 -p40,p31073,hydUND,0 -p40,p31077,hydUND,0 -p40,p31111,hydUND,0 -p40,p31141,hydUND,0 -p42,p27113,hydUND,1 -p43,p27009,hydUND,0 -p43,p27017,hydUND,0 -p43,p27021,hydUND,0 -p43,p27035,hydUND,0 -p43,p27037,hydUND,0 -p43,p27053,hydUND,0 -p43,p27061,hydUND,0 -p43,p27097,hydUND,0 -p43,p27111,hydUND,0 -p43,p27123,hydUND,0 -p43,p27145,hydUND,0 -p43,p27157,hydUND,0 -p44,p27127,hydUND,0 -p44,p27173,hydUND,1 -p46,p55003,hydUND,0 -p46,p55005,hydUND,0 -p46,p55013,hydUND,0 -p46,p55017,hydUND,0 -p46,p55033,hydUND,0 -p46,p55035,hydUND,0 -p46,p55051,hydUND,0 -p46,p55095,hydUND,0 -p46,p55099,hydUND,0 -p46,p55107,hydUND,0 -p46,p55109,hydUND,0 -p46,p55113,hydUND,0 -p46,p55129,hydUND,0 -p5,p41005,hydUND,0 -p5,p41017,hydUND,0 -p5,p41027,hydUND,0 -p5,p41031,hydUND,0 -p5,p41039,hydUND,0 -p5,p41043,hydUND,0 -p5,p41047,hydUND,0 -p5,p41051,hydUND,0 -p5,p41055,hydUND,0 -p5,p41059,hydUND,0 -p5,p41063,hydUND,0 -p5,p41065,hydUND,0 -p50,p40071,hydUND,0 -p50,p40079,hydUND,1 -p51,p40021,hydUND,0 -p51,p40101,hydUND,0 -p51,p40143,hydUND,0 -p53,p20045,hydUND,1 -p55,p29039,hydUND,0 -p55,p29213,hydUND,1 -p56,p05033,hydUND,0 -p56,p05047,hydUND,1 -p56,p05109,hydUND,0 -p56,p05131,hydUND,0 -p58,p22029,hydUND,1 -p6,p41019,hydUND,0 -p6,p41029,hydUND,0 -p6,p41035,hydUND,0 -p61,p48465,hydUND,1 -p63,p48077,hydUND,1 -p63,p48121,hydUND,0 -p64,p48053,hydUND,0 -p64,p48091,hydUND,0 -p64,p48177,hydUND,0 -p64,p48187,hydUND,0 -p64,p48299,hydUND,0 -p64,p48453,hydUND,0 -p65,p48323,hydUND,0 -p65,p48427,hydUND,1 -p66,p48351,hydUND,1 -p66,p48457,hydUND,0 -p68,p27013,hydUND,1 -p68,p27045,hydUND,0 -p7,p41045,hydUND,1 -p70,p19097,hydUND,0 -p70,p19111,hydUND,1 -p70,p19113,hydUND,0 -p70,p19179,hydUND,0 -p71,p29173,hydUND,1 -p74,p26013,hydUND,0 -p74,p26043,hydUND,0 -p74,p26053,hydUND,0 -p74,p26071,hydUND,0 -p74,p26103,hydUND,0 -p74,p26109,hydUND,0 -p74,p26131,hydUND,0 -p75,p55037,hydUND,0 -p75,p55069,hydUND,0 -p75,p55075,hydUND,0 -p75,p55083,hydUND,0 -p75,p55085,hydUND,0 -p75,p55097,hydUND,0 -p76,p55087,hydUND,1 -p76,p55141,hydUND,0 -p77,p55065,hydUND,0 -p77,p55111,hydUND,1 -p8,p06035,hydUND,0 -p8,p06093,hydUND,1 -p80,p17099,hydUND,1 -p80,p17103,hydUND,0 -p80,p17195,hydUND,0 -p80,p17197,hydUND,0 -p80,p17201,hydUND,0 -p81,p17161,hydUND,1 -p84,p29029,hydUND,1 -p85,p05001,hydUND,0 -p85,p05019,hydUND,0 -p85,p05029,hydUND,0 -p85,p05051,hydUND,0 -p85,p05063,hydUND,0 -p85,p05115,hydUND,0 -p85,p05119,hydUND,0 -p89,p01077,hydUND,1 -p89,p01125,hydUND,0 -p89,p01131,hydUND,0 -p9,p06007,hydUND,0 -p9,p06009,hydUND,0 -p9,p06017,hydUND,0 -p9,p06019,hydUND,0 -p9,p06021,hydUND,0 -p9,p06023,hydUND,0 -p9,p06033,hydUND,0 -p9,p06039,hydUND,0 -p9,p06043,hydUND,0 -p9,p06045,hydUND,0 -p9,p06047,hydUND,0 -p9,p06053,hydUND,0 -p9,p06055,hydUND,0 -p9,p06057,hydUND,0 -p9,p06061,hydUND,0 -p9,p06063,hydUND,0 -p9,p06067,hydUND,0 -p9,p06077,hydUND,0 -p9,p06089,hydUND,0 -p9,p06091,hydUND,0 -p9,p06097,hydUND,0 -p9,p06099,hydUND,0 -p9,p06103,hydUND,0 -p9,p06105,hydUND,0 -p9,p06109,hydUND,0 -p9,p06115,hydUND,0 -p90,p01017,hydUND,0 -p90,p01021,hydUND,0 -p90,p01039,hydUND,0 -p90,p01051,hydUND,1 -p92,p47019,hydUND,0 -p92,p47021,hydUND,0 -p92,p47027,hydUND,0 -p92,p47037,hydUND,0 -p92,p47041,hydUND,0 -p92,p47105,hydUND,0 -p92,p47115,hydUND,0 -p92,p47139,hydUND,0 -p92,p47159,hydUND,0 -p92,p47163,hydUND,0 -p92,p47165,hydUND,0 -p93,p21139,hydUND,0 -p93,p21143,hydUND,0 -p93,p21207,hydUND,1 -p94,p13009,hydUND,0 -p94,p13059,hydUND,0 -p94,p13073,hydUND,0 -p94,p13095,hydUND,0 -p94,p13141,hydUND,1 -p94,p13217,hydUND,0 -p94,p13219,hydUND,0 -p94,p13321,hydUND,0 -p95,p45007,hydUND,0 -p95,p45021,hydUND,0 -p95,p45023,hydUND,0 -p95,p45045,hydUND,0 -p95,p45057,hydUND,0 -p95,p45059,hydUND,0 -p95,p45077,hydUND,0 -p95,p45083,hydUND,0 -p95,p45091,hydUND,0 -p96,p45015,hydUND,0 -p96,p45039,hydUND,0 -p96,p45055,hydUND,0 -p96,p45063,hydUND,0 -p96,p45065,hydUND,0 -p96,p45079,hydUND,0 -p97,p37021,hydUND,0 -p97,p37023,hydUND,0 -p97,p37027,hydUND,0 -p97,p37035,hydUND,0 -p97,p37071,hydUND,0 -p97,p37089,hydUND,0 -p97,p37097,hydUND,0 -p97,p37109,hydUND,1 -p97,p37113,hydUND,0 -p97,p37115,hydUND,0 -p97,p37149,hydUND,0 -p97,p37161,hydUND,0 -p98,p37001,hydUND,0 -p98,p37037,hydUND,0 -p98,p37105,hydUND,0 -p98,p37153,hydUND,1 -p99,p51041,hydUND,0 -p99,p51083,hydUND,0 -p99,p51109,hydUND,0 -p99,p51590,hydUND,0 -p99,p51595,hydUND,0 +PCA_REG,FIPS,i,fracdata +p1,p53007,hydUD,0.16290661070304302 +p1,p53033,hydUD,0.03384050367261281 +p1,p53057,hydUD,0.2759706190975865 +p1,p53061,hydUD,0.2518363064008395 +p1,p53073,hydUD,0.27544596012591815 +p10,p06051,hydUD,0.9518518518518518 +p10,p06111,hydUD,0.04814814814814814 +p101,p12039,hydUD,1.0 +p103,p26069,hydUD,1.0 +p118,p51089,hydUD,0.40414507772020725 +p118,p51141,hydUD,0.272020725388601 +p118,p51680,hydUD,0.3238341968911917 +p122,p42103,hydUD,1.0 +p127,p36001,hydUD,0.02761149356480096 +p127,p36043,hydUD,0.005986231667165519 +p127,p36045,hydUD,0.0258156240646513 +p127,p36049,hydUD,0.023421131397785094 +p127,p36083,hydUD,0.013768332834480692 +p127,p36089,hydUD,0.7450613588745885 +p127,p36091,hydUD,0.130724334031727 +p127,p36113,hydUD,0.02761149356480095 +p129,p50001,hydUD,0.034214618973561435 +p129,p50019,hydUD,0.06220839813374806 +p129,p50023,hydUD,0.1990668740279938 +p129,p50025,hydUD,0.7045101088646967 +p13,p32003,hydUD,1.0 +p130,p33001,hydUD,1.0 +p131,p25003,hydUD,0.47091932457786123 +p131,p25011,hydUD,0.5290806754221389 +p132,p09120,hydUD,0.4105113636363636 +p132,p09140,hydUD,0.5894886363636364 +p134,p23001,hydUD,0.019552191737622203 +p134,p23003,hydUD,0.004415011037527593 +p134,p23009,hydUD,0.0293282876064333 +p134,p23011,hydUD,0.013875748975086723 +p134,p23019,hydUD,0.36549984232103433 +p134,p23025,hydUD,0.5547146010722169 +p134,p23031,hydUD,0.012614317250078838 +p14,p16017,hydUD,0.9442852594715059 +p14,p16055,hydUD,0.05571474052849411 +p15,p16001,hydUD,0.0025146689019279133 +p15,p16035,hydUD,0.3543397089080241 +p15,p16039,hydUD,0.030480835174883793 +p15,p16045,hydUD,0.007772612969595367 +p15,p16067,hydUD,0.021107978358607025 +p15,p16073,hydUD,0.07071553760573039 +p15,p16087,hydUD,0.5130686580812314 +p16,p16019,hydUD,0.7853962600178094 +p16,p16029,hydUD,0.21460373998219054 +p17,p30007,hydUD,0.0062307297019527225 +p17,p30029,hydUD,0.27492291880781083 +p17,p30039,hydUD,0.0012846865364850974 +p17,p30053,hydUD,0.3372302158273381 +p17,p30057,hydUD,0.007322713257965056 +p17,p30089,hydUD,0.37300873586844807 +p18,p30003,hydUD,0.46543629593653874 +p18,p30013,hydUD,0.41201230370730124 +p18,p30049,hydUD,0.12255140035615993 +p19,p30105,hydUD,1.0 +p2,p53005,hydUD,0.013413816230717638 +p2,p53015,hydUD,0.18287502794545046 +p2,p53041,hydUD,0.5667337357478203 +p2,p53045,hydUD,0.16431924882629112 +p2,p53059,hydUD,0.07265817124972054 +p21,p56013,hydUD,0.3981481481481481 +p21,p56029,hydUD,0.6018518518518519 +p24,p56007,hydUD,0.36627906976744184 +p24,p56025,hydUD,0.44933554817275745 +p24,p56031,hydUD,0.18438538205980068 +p25,p49003,hydUD,1.0 +p26,p49009,hydUD,0.9656488549618321 +p26,p49051,hydUD,0.03435114503816794 +p27,p04015,hydUD,1.0 +p28,p04005,hydUD,0.8617405582922825 +p28,p04012,hydUD,0.07881773399014778 +p28,p04013,hydUD,0.059441707717569785 +p3,p53043,hydUD,0.07500209503058745 +p3,p53051,hydUD,0.9249979049694126 +p33,p08013,hydUD,0.040268456375838924 +p33,p08019,hydUD,0.008260196179659266 +p33,p08069,hydUD,0.7372225090345895 +p33,p08077,hydUD,0.08002065049044914 +p33,p08117,hydUD,0.1342281879194631 +p34,p08051,hydUD,0.32214765100671144 +p34,p08067,hydUD,0.01715137956748695 +p34,p08083,hydUD,0.0044742729306487695 +p34,p08085,hydUD,0.6457867263236391 +p34,p08113,hydUD,0.010439970171513796 +p36,p38057,hydUD,1.0 +p38,p46023,hydUD,0.2258469259723965 +p38,p46065,hydUD,0.4479297365119197 +p38,p46085,hydUD,0.32622333751568383 +p4,p53017,hydUD,0.1735242688677291 +p4,p53025,hydUD,0.8264757311322709 +p40,p31141,hydUD,1.0 +p43,p27017,hydUD,0.815845824411135 +p43,p27075,hydUD,0.043897216274089934 +p43,p27137,hydUD,0.14025695931477516 +p46,p55017,hydUD,1.0 +p5,p41031,hydUD,0.4407005520654864 +p5,p41039,hydUD,0.06044165238911099 +p5,p41047,hydUD,0.09518370454978109 +p5,p41063,hydUD,0.4036740909956216 +p50,p40061,hydUD,0.39731285988483683 +p50,p40089,hydUD,0.44145873320537427 +p50,p40135,hydUD,0.16122840690978887 +p51,p40097,hydUD,1.0 +p55,p29213,hydUD,1.0 +p56,p05015,hydUD,0.5886654478976234 +p56,p05023,hydUD,0.41133455210237657 +p6,p41019,hydUD,0.9180952380952382 +p6,p41029,hydUD,0.0819047619047619 +p63,p48181,hydUD,0.6818181818181818 +p63,p48217,hydUD,0.3181818181818182 +p66,p48241,hydUD,0.6658130601792575 +p66,p48373,hydUD,0.33418693982074266 +p7,p41001,hydUD,1.0 +p70,p19125,hydUD,1.0 +p72,p29131,hydUD,1.0 +p74,p26071,hydUD,0.6014492753623188 +p74,p26103,hydUD,0.39855072463768115 +p75,p55069,hydUD,0.5038167938931297 +p75,p55073,hydUD,0.13740458015267176 +p75,p55075,hydUD,0.22900763358778622 +p75,p55097,hydUD,0.12977099236641218 +p76,p55001,hydUD,0.3271028037383178 +p76,p55057,hydUD,0.4672897196261683 +p76,p55141,hydUD,0.205607476635514 +p85,p05005,hydUD,0.8602561651691837 +p85,p05051,hydUD,0.1179506786465303 +p85,p05059,hydUD,0.021793156184285983 +p89,p01077,hydUD,0.5295917010240724 +p89,p01095,hydUD,0.16318659396196303 +p89,p01125,hydUD,0.07048809682138582 +p89,p01127,hydUD,0.2367336081925788 +p9,p06005,hydUD,0.0619065485295391 +p9,p06007,hydUD,0.02020260324973304 +p9,p06009,hydUD,0.07371064099974026 +p9,p06017,hydUD,0.006003059251349246 +p9,p06019,hydUD,0.05656728909925251 +p9,p06039,hydUD,0.036768737914514134 +p9,p06063,hydUD,0.03636468584951947 +p9,p06067,hydUD,0.0620797137002511 +p9,p06089,hydUD,0.4609656844353373 +p9,p06103,hydUD,0.004329129267799937 +p9,p06105,hydUD,0.04040520649946608 +p9,p06109,hydUD,0.14069670120349795 +p90,p01015,hydUD,0.07848548404901202 +p90,p01019,hydUD,0.08941384258748207 +p90,p01051,hydUD,0.20101556463185782 +p90,p01081,hydUD,0.2513522463848107 +p90,p01085,hydUD,0.09051771718732753 +p90,p01111,hydUD,0.14681532177944587 +p90,p01121,hydUD,0.14239982338006402 +p92,p47001,hydUD,0.07347836149039572 +p92,p47009,hydUD,0.0902568849803286 +p92,p47019,hydUD,0.0387641749595001 +p92,p47051,hydUD,0.023258504975700065 +p92,p47057,hydUD,0.08192548021291365 +p92,p47065,hydUD,0.08192548021291365 +p92,p47071,hydUD,0.14134459615829664 +p92,p47105,hydUD,0.0973154362416107 +p92,p47123,hydUD,0.029507058551261272 +p92,p47139,hydUD,0.013885674612358246 +p92,p47143,hydUD,0.11363110391113164 +p92,p47155,hydUD,0.1029275630641055 +p92,p47163,hydUD,0.025688498032862755 +p92,p47177,hydUD,0.020481370053228413 +p92,p47179,hydUD,0.06560981254339271 +p93,p21157,hydUD,1.0 +p94,p13015,hydUD,0.04032483898067768 +p94,p13035,hydUD,0.012769532343881266 +p94,p13105,hydUD,0.18818258190982917 +p94,p13111,hydUD,0.009689162699523943 +p94,p13117,hydUD,0.07101652198263791 +p94,p13121,hydUD,0.005880705684682162 +p94,p13137,hydUD,0.06995239428731448 +p94,p13147,hydUD,0.22682721926631197 +p94,p13151,hydUD,0.09409129095491459 +p94,p13213,hydUD,0.13441612993559227 +p94,p13215,hydUD,0.052310277233268 +p94,p13241,hydUD,0.018594231307756934 +p94,p13257,hydUD,0.01596191542985158 +p94,p13285,hydUD,0.048725847101652196 +p94,p13291,hydUD,0.011257350882105851 +p95,p45001,hydUD,0.049523809523809526 +p95,p45021,hydUD,0.5238095238095237 +p95,p45023,hydUD,0.08380952380952382 +p95,p45087,hydUD,0.34285714285714286 +p96,p45071,hydUD,1.0 +p97,p37039,hydUD,0.08853220270543105 +p97,p37043,hydUD,0.01584898041590955 +p97,p37057,hydUD,0.03937007874015748 +p97,p37075,hydUD,0.2695336159903089 +p97,p37087,hydUD,0.11306279022814456 +p97,p37099,hydUD,0.05007066424389258 +p97,p37113,hydUD,0.04684029880880274 +p97,p37167,hydUD,0.06965475469412477 +p97,p37173,hydUD,0.3070866141732284 +p98,p37083,hydUD,0.6069364161849711 +p98,p37123,hydUD,0.3930635838150289 +p99,p51117,hydUD,0.427008350129571 +p99,p51143,hydUD,0.572991649870429 +p1,p53007,hydUND,0.30273131993743235 +p1,p53033,hydUND,0.09361087715076405 +p1,p53053,hydUND,0.0843460474070509 +p1,p53061,hydUND,0.004752737336060644 +p1,p53067,hydUND,0.007459992780652149 +p1,p53073,hydUND,0.50709902538804 +p10,p06025,hydUND,0.07525544202576633 +p10,p06027,hydUND,0.07099067081297201 +p10,p06029,hydUND,0.1163038649489116 +p10,p06037,hydUND,0.28671701466015104 +p10,p06051,hydUND,0.06574855619724566 +p10,p06059,hydUND,0.010928476232785428 +p10,p06065,hydUND,0.0438916037316748 +p10,p06071,hydUND,0.29462461128387385 +p10,p06107,hydUND,0.034651266103953804 +p10,p06111,hydUND,0.000888494002665482 +p100,p51139,hydUND,1.0 +p101,p12073,hydUND,1.0 +p103,p26001,hydUND,0.01919122686771762 +p103,p26005,hydUND,0.00959561343385881 +p103,p26007,hydUND,0.04934886908841674 +p103,p26025,hydUND,0.0013708019191226873 +p103,p26031,hydUND,0.012337217272104186 +p103,p26033,hydUND,0.3413296778615489 +p103,p26051,hydUND,0.04934886908841674 +p103,p26057,hydUND,0.0027416038382453746 +p103,p26067,hydUND,0.008224811514736124 +p103,p26069,hydUND,0.10143934201507886 +p103,p26081,hydUND,0.020562028786840308 +p103,p26101,hydUND,0.07196710075394108 +p103,p26107,hydUND,0.016449623029472248 +p103,p26111,hydUND,0.024674434544208368 +p103,p26123,hydUND,0.24948594928032908 +p103,p26135,hydUND,0.010966415352981498 +p103,p26163,hydUND,0.010966415352981498 +p104,p26021,hydUND,0.6938775510204083 +p104,p26149,hydUND,0.3061224489795918 +p105,p18015,hydUND,0.38961038961038963 +p105,p18039,hydUND,0.0909090909090909 +p105,p18141,hydUND,0.2597402597402597 +p105,p18181,hydUND,0.2597402597402597 +p107,p18155,hydUND,1.0 +p109,p21023,hydUND,0.3421309872922776 +p109,p21065,hydUND,0.008145975887911371 +p109,p21111,hydUND,0.32844574780058644 +p109,p21113,hydUND,0.00749429781687846 +p109,p21125,hydUND,0.19876181166503745 +p109,p21129,hydUND,0.012381883349625287 +p109,p21167,hydUND,0.10263929618768328 +p11,p06073,hydUND,1.0 +p110,p21193,hydUND,1.0 +p112,p39039,hydUND,0.045045045045045036 +p112,p39041,hydUND,0.05205205205205205 +p112,p39105,hydUND,0.20020020020020018 +p112,p39145,hydUND,0.7027027027027027 +p114,p39017,hydUND,1.0 +p115,p42003,hydUND,0.044651131442821276 +p115,p42005,hydUND,0.43892904682471484 +p115,p42007,hydUND,0.04549360562098773 +p115,p42051,hydUND,0.43808657264654843 +p115,p42129,hydUND,0.0328396434649278 +p116,p54003,hydUND,0.005254860746190226 +p116,p54037,hydUND,0.022595901208617968 +p116,p54067,hydUND,0.42038885969521805 +p116,p54073,hydUND,0.23121387283236994 +p116,p54103,hydUND,0.09984235417761429 +p116,p54107,hydUND,0.22070415133998944 +p117,p54039,hydUND,0.6063157894736843 +p117,p54079,hydUND,0.39368421052631586 +p118,p51009,hydUND,0.060658578856152515 +p118,p51035,hydUND,0.35181975736568455 +p118,p51077,hydUND,0.043327556325823226 +p118,p51089,hydUND,0.010398613518197574 +p118,p51155,hydUND,0.5181975736568458 +p118,p51161,hydUND,0.01559792027729636 +p12,p32001,hydUND,0.4552845528455284 +p12,p32019,hydUND,0.2032520325203252 +p12,p32029,hydUND,0.3414634146341463 +p121,p24023,hydUND,1.0 +p122,p42031,hydUND,0.042916235780765255 +p122,p42061,hydUND,0.01447776628748707 +p122,p42071,hydUND,0.8615563598759048 +p122,p42111,hydUND,0.01577042399172699 +p122,p42115,hydUND,0.0019389865563598759 +p122,p42123,hydUND,0.038779731127197514 +p122,p42133,hydUND,0.024560496380558426 +p123,p24025,hydUND,1.0 +p126,p34031,hydUND,1.0 +p127,p36001,hydUND,0.005843405437226594 +p127,p36003,hydUND,0.00031081943815035074 +p127,p36011,hydUND,0.0004973111010405613 +p127,p36019,hydUND,0.01672208577248887 +p127,p36021,hydUND,0.001243277752601403 +p127,p36027,hydUND,0.0006216388763007015 +p127,p36031,hydUND,0.0026419652242779816 +p127,p36033,hydUND,0.0021757360670524553 +p127,p36035,hydUND,0.0011500319211562979 +p127,p36039,hydUND,0.00031081943815035074 +p127,p36043,hydUND,0.014111202492025927 +p127,p36045,hydUND,0.017685626030754957 +p127,p36049,hydUND,0.013427399728095157 +p127,p36055,hydUND,0.017188314929714395 +p127,p36063,hydUND,0.7576845443791101 +p127,p36065,hydUND,0.017592380199309855 +p127,p36067,hydUND,0.0007459666515608418 +p127,p36071,hydUND,0.0007148847077458069 +p127,p36073,hydUND,0.001647343022196859 +p127,p36075,hydUND,0.023777687018501855 +p127,p36077,hydUND,0.00043514721341049103 +p127,p36083,hydUND,0.0017095069098269293 +p127,p36089,hydUND,0.026450734186594854 +p127,p36091,hydUND,0.037330036160733424 +p127,p36099,hydUND,0.002051408291792315 +p127,p36105,hydUND,0.023964178681392046 +p127,p36111,hydUND,0.00839212483005947 +p127,p36113,hydUND,0.0009013763706360172 +p127,p36115,hydUND,0.0017405888536419644 +p127,p36119,hydUND,0.0009324583144510523 +p129,p50001,hydUND,0.07078651685393256 +p129,p50005,hydUND,0.05617977528089887 +p129,p50007,hydUND,0.12846441947565543 +p129,p50009,hydUND,0.020224719101123594 +p129,p50011,hydUND,0.1393258426966292 +p129,p50015,hydUND,0.014981273408239697 +p129,p50017,hydUND,0.0074906367041198485 +p129,p50019,hydUND,0.004868913857677901 +p129,p50021,hydUND,0.04382022471910111 +p129,p50023,hydUND,0.0344569288389513 +p129,p50025,hydUND,0.31198501872659185 +p129,p50027,hydUND,0.1674157303370786 +p130,p33001,hydUND,0.007026701465569161 +p130,p33007,hydUND,0.1156394298333668 +p130,p33009,hydUND,0.7372013651877132 +p130,p33011,hydUND,0.056615137522585846 +p130,p33013,hydUND,0.07448303553503313 +p130,p33017,hydUND,0.006625175667536639 +p130,p33019,hydUND,0.0024091547881951417 +p131,p25009,hydUND,0.06514657980456025 +p131,p25011,hydUND,0.3173569101907864 +p131,p25013,hydUND,0.4830153559795254 +p131,p25017,hydUND,0.11121451838064216 +p131,p25027,hydUND,0.023266635644485802 +p132,p09110,hydUND,0.15444015444015444 +p132,p09140,hydUND,0.20849420849420852 +p132,p09150,hydUND,0.046332046332046344 +p132,p09160,hydUND,0.30694980694980695 +p132,p09180,hydUND,0.12162162162162163 +p132,p09190,hydUND,0.16216216216216217 +p133,p44007,hydUND,1.0 +p134,p23001,hydUND,0.21976149914821122 +p134,p23003,hydUND,0.0019469457288878074 +p134,p23005,hydUND,0.08177172061328791 +p134,p23007,hydUND,0.023606716962764663 +p134,p23011,hydUND,0.06960330980773911 +p134,p23017,hydUND,0.12484789486493064 +p134,p23019,hydUND,0.16816743733268438 +p134,p23023,hydUND,0.03139449987831589 +p134,p23025,hydUND,0.16330007301046487 +p134,p23031,hydUND,0.11559990265271358 +p14,p16021,hydUND,1.0 +p15,p16001,hydUND,0.2883675464320625 +p15,p16003,hydUND,0.005620723362658846 +p15,p16013,hydUND,0.027126099706744865 +p15,p16015,hydUND,0.022971652003910065 +p15,p16027,hydUND,0.0026881720430107525 +p15,p16035,hydUND,0.001466275659824047 +p15,p16039,hydUND,0.03910068426197458 +p15,p16047,hydUND,0.4254643206256109 +p15,p16053,hydUND,0.13856304985337245 +p15,p16063,hydUND,0.01735092864125122 +p15,p16085,hydUND,0.03128054740957967 +p16,p16005,hydUND,0.00423968343697004 +p16,p16019,hydUND,0.14245336348219334 +p16,p16029,hydUND,0.003957037874505371 +p16,p16033,hydUND,0.01356698699830413 +p16,p16041,hydUND,0.08451102317693614 +p16,p16043,hydUND,0.06924816280384398 +p16,p16077,hydUND,0.26936122102882987 +p16,p16081,hydUND,0.01667608818541549 +p16,p16083,hydUND,0.3959864330130016 +p17,p30001,hydUND,0.01451466586029634 +p17,p30029,hydUND,0.013909888116117326 +p17,p30047,hydUND,0.6888418506198971 +p17,p30089,hydUND,0.28273359540368914 +p18,p30009,hydUND,0.01417434443656981 +p18,p30013,hydUND,0.34727143869596033 +p18,p30049,hydUND,0.40822111977321046 +p18,p30051,hydUND,0.05315379163713679 +p18,p30095,hydUND,0.08504606661941885 +p18,p30099,hydUND,0.09213323883770376 +p2,p53005,hydUND,0.0030058112350544383 +p2,p53009,hydUND,0.006178611983167457 +p2,p53011,hydUND,0.050430832943691134 +p2,p53013,hydUND,0.27052301115489946 +p2,p53023,hydUND,0.26785117894596217 +p2,p53027,hydUND,0.005176674904815977 +p2,p53031,hydUND,3.3397902611715986e-05 +p2,p53039,hydUND,0.005043083294369114 +p2,p53041,hydUND,0.03206198650724734 +p2,p53045,hydUND,0.0004675706365640237 +p2,p53059,hydUND,0.08807026918709505 +p2,p53071,hydUND,0.2644445928795671 +p2,p53077,hydUND,0.006712978424954913 +p21,p56013,hydUND,0.06926406926406926 +p21,p56023,hydUND,0.6233766233766234 +p21,p56029,hydUND,0.30735930735930733 +p25,p49001,hydUND,0.044169611307420496 +p25,p49003,hydUND,0.026501766784452298 +p25,p49005,hydUND,0.13604240282685512 +p25,p49017,hydUND,0.07420494699646643 +p25,p49035,hydUND,0.127208480565371 +p25,p49039,hydUND,0.10777385159010601 +p25,p49049,hydUND,0.2667844522968198 +p25,p49053,hydUND,0.04063604240282686 +p25,p49057,hydUND,0.17667844522968199 +p26,p49013,hydUND,0.045283018867924525 +p26,p49029,hydUND,0.1509433962264151 +p26,p49043,hydUND,0.23773584905660378 +p26,p49051,hydUND,0.5660377358490566 +p28,p04012,hydUND,0.8158995815899582 +p28,p04013,hydUND,0.18410041841004188 +p3,p53021,hydUND,0.7144259077526987 +p3,p53043,hydUND,0.06056357773727744 +p3,p53051,hydUND,0.12617412028599467 +p3,p53063,hydUND,0.09435020328052711 +p3,p53065,hydUND,0.004486190943502033 +p31,p35039,hydUND,0.2998790810157195 +p31,p35045,hydUND,0.3627569528415961 +p31,p35051,hydUND,0.33736396614268443 +p32,p46081,hydUND,1.0 +p33,p08005,hydUND,0.01774622892635315 +p33,p08013,hydUND,0.1756876663708962 +p33,p08035,hydUND,0.03637976929902395 +p33,p08037,hydUND,0.03992901508429458 +p33,p08045,hydUND,0.13309671694764863 +p33,p08049,hydUND,0.031055900621118012 +p33,p08065,hydUND,0.022182786157941437 +p33,p08069,hydUND,0.4214729370008873 +p33,p08077,hydUND,0.03992901508429458 +p33,p08093,hydUND,0.04880212954747116 +p33,p08103,hydUND,0.01774622892635315 +p33,p08117,hydUND,0.015971606033717833 +p34,p08015,hydUND,0.011666666666666669 +p34,p08041,hydUND,0.2875000000000001 +p34,p08067,hydUND,0.048333333333333346 +p34,p08083,hydUND,0.09500000000000003 +p34,p08085,hydUND,0.4316666666666667 +p34,p08091,hydUND,0.06666666666666668 +p34,p08101,hydUND,0.05916666666666668 +p39,p31101,hydUND,1.0 +p4,p53017,hydUND,0.9470254448736324 +p4,p53025,hydUND,0.05297455512636765 +p40,p31015,hydUND,0.010079798404031922 +p40,p31019,hydUND,0.004199916001679967 +p40,p31027,hydUND,0.42839143217135656 +p40,p31073,hydUND,0.17849643007139857 +p40,p31077,hydUND,0.0008399832003359933 +p40,p31111,hydUND,0.1889962200755985 +p40,p31141,hydUND,0.1889962200755985 +p42,p27113,hydUND,1.0 +p43,p27009,hydUND,0.09830866807610997 +p43,p27017,hydUND,0.0412262156448203 +p43,p27021,hydUND,0.03699788583509515 +p43,p27035,hydUND,0.030655391120507407 +p43,p27037,hydUND,0.06871035940803384 +p43,p27053,hydUND,0.16596194503171244 +p43,p27061,hydUND,0.015856236786469347 +p43,p27097,hydUND,0.22515856236786475 +p43,p27111,hydUND,0.00845665961945032 +p43,p27123,hydUND,0.19027484143763218 +p43,p27145,hydUND,0.09090909090909093 +p43,p27157,hydUND,0.027484143763213537 +p44,p27127,hydUND,0.42105263157894735 +p44,p27173,hydUND,0.5789473684210527 +p46,p55003,hydUND,0.0034632034632034628 +p46,p55005,hydUND,0.0008658008658008657 +p46,p55013,hydUND,0.019047619047619046 +p46,p55017,hydUND,0.38874458874458867 +p46,p55033,hydUND,0.050216450216450215 +p46,p55035,hydUND,0.0632034632034632 +p46,p55051,hydUND,0.008658008658008656 +p46,p55095,hydUND,0.1316017316017316 +p46,p55099,hydUND,0.02337662337662337 +p46,p55107,hydUND,0.25281385281385277 +p46,p55109,hydUND,0.01212121212121212 +p46,p55113,hydUND,0.03982683982683983 +p46,p55129,hydUND,0.00606060606060606 +p5,p41005,hydUND,0.0343114516153167 +p5,p41017,hydUND,0.0016160648820123 +p5,p41027,hydUND,0.0010773765880081998 +p5,p41031,hydUND,0.0037109638031393557 +p5,p41039,hydUND,0.022520163402115847 +p5,p41043,hydUND,0.031228957488515466 +p5,p41047,hydUND,0.0031423483816905833 +p5,p41051,hydUND,0.17706384952640325 +p5,p41055,hydUND,0.30705232758233697 +p5,p41059,hydUND,0.1446228433763785 +p5,p41063,hydUND,0.00016459920094569723 +p5,p41065,hydUND,0.2734890541531371 +p50,p40071,hydUND,0.21893491124260359 +p50,p40079,hydUND,0.7810650887573964 +p51,p40021,hydUND,0.24830261881668286 +p51,p40101,hydUND,0.36372453928225024 +p51,p40143,hydUND,0.38797284190106696 +p53,p20045,hydUND,1.0 +p55,p29039,hydUND,0.19366852886405958 +p55,p29213,hydUND,0.8063314711359404 +p56,p05033,hydUND,0.008004926108374385 +p56,p05047,hydUND,0.708128078817734 +p56,p05109,hydUND,0.1791871921182266 +p56,p05131,hydUND,0.10467980295566502 +p58,p22029,hydUND,1.0 +p6,p41019,hydUND,0.06074551311550851 +p6,p41029,hydUND,0.4647952139898757 +p6,p41035,hydUND,0.4744592728946157 +p61,p48465,hydUND,1.0 +p63,p48077,hydUND,0.9230769230769231 +p63,p48121,hydUND,0.07692307692307693 +p64,p48053,hydUND,0.30174081237911027 +p64,p48091,hydUND,0.019342359767891684 +p64,p48177,hydUND,0.018375241779497096 +p64,p48187,hydUND,0.036105738233397806 +p64,p48299,hydUND,0.2214700193423598 +p64,p48453,hydUND,0.40296582849774343 +p65,p48323,hydUND,0.1643835616438356 +p65,p48427,hydUND,0.8356164383561644 +p66,p48351,hydUND,0.9090909090909091 +p66,p48457,hydUND,0.09090909090909091 +p68,p27013,hydUND,0.9696969696969697 +p68,p27045,hydUND,0.030303030303030304 +p7,p41045,hydUND,1.0 +p70,p19097,hydUND,0.007868852459016395 +p70,p19111,hydUND,0.9573770491803281 +p70,p19113,hydUND,0.01377049180327869 +p70,p19179,hydUND,0.020983606557377053 +p71,p29173,hydUND,1.0 +p74,p26013,hydUND,0.008968609865470852 +p74,p26043,hydUND,0.44955156950672653 +p74,p26053,hydUND,0.011210762331838564 +p74,p26071,hydUND,0.1188340807174888 +p74,p26103,hydUND,0.0067264573991031385 +p74,p26109,hydUND,0.2724215246636771 +p74,p26131,hydUND,0.13228699551569506 +p75,p55037,hydUND,0.2698170731707317 +p75,p55069,hydUND,0.09908536585365854 +p75,p55075,hydUND,0.36585365853658525 +p75,p55083,hydUND,0.05640243902439025 +p75,p55085,hydUND,0.02591463414634147 +p75,p55097,hydUND,0.18292682926829276 +p76,p55087,hydUND,0.8650000000000001 +p76,p55141,hydUND,0.13499999999999998 +p77,p55065,hydUND,0.0025906735751295338 +p77,p55111,hydUND,0.9974093264248705 +p8,p06035,hydUND,0.2542517006802721 +p8,p06093,hydUND,0.745748299319728 +p80,p17099,hydUND,0.5347043701799487 +p80,p17103,hydUND,0.07712082262210797 +p80,p17195,hydUND,0.05141388174807198 +p80,p17197,hydUND,0.30848329048843187 +p80,p17201,hydUND,0.02827763496143959 +p81,p17161,hydUND,1.0 +p84,p29029,hydUND,1.0 +p85,p05001,hydUND,0.09681881051175657 +p85,p05019,hydUND,0.11065006915629322 +p85,p05029,hydUND,0.04702627939142462 +p85,p05051,hydUND,0.2074688796680498 +p85,p05063,hydUND,0.0334716459197787 +p85,p05115,hydUND,0.3872752420470263 +p85,p05119,hydUND,0.11728907330567082 +p89,p01077,hydUND,0.8286778398510243 +p89,p01125,hydUND,0.05959031657355679 +p89,p01131,hydUND,0.11173184357541897 +p9,p06007,hydUND,0.13290617848970251 +p9,p06009,hydUND,0.005583524027459953 +p9,p06017,hydUND,0.13080091533180777 +p9,p06019,hydUND,0.17180778032036612 +p9,p06021,hydUND,0.0009153318077803202 +p9,p06023,hydUND,0.0002745995423340961 +p9,p06033,hydUND,0.0009336384439359265 +p9,p06039,hydUND,0.05504805491990847 +p9,p06043,hydUND,0.01894736842105263 +p9,p06045,hydUND,0.002324942791762013 +p9,p06047,hydUND,0.0011350114416475972 +p9,p06053,hydUND,0.0007322654462242562 +p9,p06055,hydUND,0.0021052631578947364 +p9,p06057,hydUND,0.02052173913043478 +p9,p06061,hydUND,0.0783524027459954 +p9,p06063,hydUND,0.0823432494279176 +p9,p06067,hydUND,0.0030389016018306635 +p9,p06077,hydUND,0.0019221967963386725 +p9,p06089,hydUND,0.07802288329519451 +p9,p06091,hydUND,0.0024897025171624707 +p9,p06097,hydUND,0.00021967963386727683 +p9,p06099,hydUND,0.0038077803203661323 +p9,p06103,hydUND,0.0011167048054919906 +p9,p06105,hydUND,0.0011167048054919909 +p9,p06109,hydUND,0.128604118993135 +p9,p06115,hydUND,0.074929061784897 +p90,p01017,hydUND,0.00024134186074574636 +p90,p01021,hydUND,0.4140219621093278 +p90,p01039,hydUND,0.0098950162905756 +p90,p01051,hydUND,0.5758416797393509 +p92,p47019,hydUND,0.012610770279481934 +p92,p47021,hydUND,0.04703476482617587 +p92,p47027,hydUND,0.0705521472392638 +p92,p47037,hydUND,0.03408316291751874 +p92,p47041,hydUND,0.17496023630992955 +p92,p47105,hydUND,0.08997955010224949 +p92,p47115,hydUND,0.11997273346966597 +p92,p47139,hydUND,0.152692569870484 +p92,p47159,hydUND,0.12042717564189956 +p92,p47163,hydUND,0.0462394910247671 +p92,p47165,hydUND,0.13144739831856395 +p93,p21139,hydUND,0.14487497614048483 +p93,p21143,hydUND,0.28249665966787557 +p93,p21207,hydUND,0.5726283641916396 +p94,p13009,hydUND,0.22165991902834006 +p94,p13059,hydUND,0.014676113360323886 +p94,p13073,hydUND,0.06072874493927126 +p94,p13095,hydUND,0.03188259109311741 +p94,p13141,hydUND,0.5748987854251012 +p94,p13217,hydUND,0.012145748987854251 +p94,p13219,hydUND,0.00708502024291498 +p94,p13321,hydUND,0.07692307692307693 +p95,p45007,hydUND,0.012565971349585321 +p95,p45021,hydUND,0.0025131942699170642 +p95,p45023,hydUND,0.2940437295802965 +p95,p45045,hydUND,0.020608193013319925 +p95,p45057,hydUND,0.1130937421462679 +p95,p45059,hydUND,0.018597637597386276 +p95,p45077,hydUND,0.38200552902739376 +p95,p45083,hydUND,0.005780346820809247 +p95,p45091,hydUND,0.15079165619502385 +p96,p45015,hydUND,0.2518386449743704 +p96,p45039,hydUND,0.046801872074883 +p96,p45055,hydUND,0.09471807443726321 +p96,p45063,hydUND,0.22119456206819701 +p96,p45065,hydUND,0.374414976599064 +p96,p45079,hydUND,0.011031869846222422 +p97,p37021,hydUND,0.007389617587289857 +p97,p37023,hydUND,0.058193238499907624 +p97,p37027,hydUND,0.0617033068538703 +p97,p37035,hydUND,0.07389617587289857 +p97,p37071,hydUND,0.1178644005172732 +p97,p37089,hydUND,0.01182338813966377 +p97,p37097,hydUND,0.049879918714206536 +p97,p37109,hydUND,0.5985590245704784 +p97,p37113,hydUND,0.0018474043968224642 +p97,p37115,hydUND,0.002216885276186957 +p97,p37149,hydUND,0.009975983742841307 +p97,p37161,hydUND,0.00665065582856087 +p98,p37001,hydUND,0.0439882697947214 +p98,p37037,hydUND,0.12903225806451613 +p98,p37105,hydUND,0.03519061583577712 +p98,p37153,hydUND,0.7917888563049853 +p99,p51041,hydUND,0.23199999999999998 +p99,p51083,hydUND,0.128 +p99,p51109,hydUND,0.08 +p99,p51590,hydUND,0.36 +p99,p51595,hydUND,0.2 From 2c1471f268d8d53d32938979614cbc23ec9172cf Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 17:20:11 -0400 Subject: [PATCH 08/33] Rename PCA_REG to legacy_ba --- inputs/disaggregation/disagg_hydroexist.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inputs/disaggregation/disagg_hydroexist.csv b/inputs/disaggregation/disagg_hydroexist.csv index 7d604669..01fe031a 100644 --- a/inputs/disaggregation/disagg_hydroexist.csv +++ b/inputs/disaggregation/disagg_hydroexist.csv @@ -1,4 +1,4 @@ -PCA_REG,FIPS,i,fracdata +legacy_ba,FIPS,i,fracdata p1,p53007,hydUD,0.16290661070304302 p1,p53033,hydUD,0.03384050367261281 p1,p53057,hydUD,0.2759706190975865 From de9419c7cb3580a53bddbe78dc571ad19952d0d2 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Mon, 15 Jun 2026 18:10:53 -0400 Subject: [PATCH 09/33] bugfix: unitdata.csv already has 'r' column now --- .../retail_rate_module/calculate_historical_capex.py | 4 +--- reeds/input_processing/WriteHintage.py | 7 ------- reeds/input_processing/hydcf.py | 8 +------- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/postprocessing/retail_rate_module/calculate_historical_capex.py b/postprocessing/retail_rate_module/calculate_historical_capex.py index 9b8e4df7..dc1ac09a 100644 --- a/postprocessing/retail_rate_module/calculate_historical_capex.py +++ b/postprocessing/retail_rate_module/calculate_historical_capex.py @@ -13,10 +13,8 @@ import reeds def get_historical_units(inputs_case): - # Read generator database and map units to the model regions for this run - r_county = pd.read_csv(os.path.join(inputs_case, 'r_county.csv')) + # Read generator database gendb = pd.read_csv(os.path.join(inputs_case, 'unitdata.csv'), low_memory=False) - gendb = gendb.merge(r_county, left_on='FIPS', right_on='county', how='left') # Select units existing before or during the model start year sw = reeds.io.get_switches(inputs_case) diff --git a/reeds/input_processing/WriteHintage.py b/reeds/input_processing/WriteHintage.py index 755993d1..6d8cb071 100644 --- a/reeds/input_processing/WriteHintage.py +++ b/reeds/input_processing/WriteHintage.py @@ -327,18 +327,11 @@ def main(reeds_path, inputs_case): ] } - # Import mapping files - r_county = pd.read_csv( - os.path.join(inputs_case,'r_county.csv'), index_col='county').squeeze(1) - # Import generator database indat = pd.read_csv(os.path.join(inputs_case,'unitdata.csv'), low_memory=False ) - # Map counties to modeled regions - indat['r'] = indat.FIPS.map(r_county) - # Apply inflation to VOM costs indat['T_VOM'] *= inflator indat['T_CCSV'] = indat.T_VOM + inflator * indat.T_CCSV diff --git a/reeds/input_processing/hydcf.py b/reeds/input_processing/hydcf.py index c62e3b20..aa967383 100644 --- a/reeds/input_processing/hydcf.py +++ b/reeds/input_processing/hydcf.py @@ -321,22 +321,16 @@ def get_hydro_plants(inputs_case: str) -> pd.DataFrame: Returns: pd.DataFrame """ - # Get county-to-region mapping - county2zone = reeds.io.get_county2zone(os.path.dirname(inputs_case)) - county2zone.index = 'p' + county2zone.index # Get plant database and filter down to hydro plants gendb = pd.read_csv( os.path.join(inputs_case, 'unitdata.csv'), - usecols=['T_PID', 'tech', 'FIPS'] + usecols=['T_PID', 'tech', 'r'] ) hydro_plants = ( gendb.loc[gendb.tech.str.startswith('hyd')] .drop_duplicates('T_PID') .set_index('T_PID') ) - # Assign each plant to a model region and reformat - hydro_plants['r'] = hydro_plants['FIPS'].map(county2zone) - hydro_plants = hydro_plants.drop(columns='FIPS') hydro_plants.index = hydro_plants.index.astype(str) return hydro_plants From b28e66b0b17ecb9d2c7fe254ad95f2ee43ecb91d Mon Sep 17 00:00:00 2001 From: kodiobika Date: Tue, 16 Jun 2026 09:14:18 -0400 Subject: [PATCH 10/33] Misc. bugfixes/cleanup --- postprocessing/reValue/reValue.py | 4 ++-- reeds/input_processing/mcs_sampler.py | 6 +++--- reeds/reedsplots.py | 2 +- reeds/results.py | 7 ++++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/postprocessing/reValue/reValue.py b/postprocessing/reValue/reValue.py index 5341e029..640e49b5 100644 --- a/postprocessing/reValue/reValue.py +++ b/postprocessing/reValue/reValue.py @@ -47,7 +47,7 @@ def get_prices(): df_pq = df_pq[df_pq['year']==year].copy() df_h_num_hrs = df_hmap.groupby('h')['hour'].count().reset_index().rename(columns={'hour':'num_hrs'}) #Gather region map for mapping of bas to ccreg for reserve_margin - df_ba_cc_map = df_hier[['r','ccreg']].copy() + df_ba_cc_map = df_hier_run[['*r','ccreg']].copy() df_ba_cc_map.columns = ['reeds_ba','ccreg'] print('- Load prices and quantities') @@ -354,7 +354,7 @@ def calculate_metrics(): reeds_run_path = r['reeds_run_path'].replace('"', '') year = r['year'] switches = reeds.io.get_switches(reeds_run_path) - df_hier = reeds.io.assemble_hierarchy(reeds_run_path) + df_hier_run = pd.read_csv(f'{reeds_run_path}/inputs_case/hierarchy.csv') county2zone = reeds.io.get_county2zone(reeds_run_path, as_map=False) county2zone['FIPS'] = 'p' + county2zone['FIPS'].astype(str).str.zfill(5) diff --git a/reeds/input_processing/mcs_sampler.py b/reeds/input_processing/mcs_sampler.py index a8b07707..626eb624 100644 --- a/reeds/input_processing/mcs_sampler.py +++ b/reeds/input_processing/mcs_sampler.py @@ -574,7 +574,7 @@ def get_dist_instructions(reeds_path: str, inputs_case: str) -> Tuple[pd.DataFra source_deflator_map = copy_files.get_source_deflator_map(reeds_path) - hierarchy_file = reeds.io.assemble_hierarchy(inputs_case) + hierarchy_file = reeds.io.get_hierarchy(inputs_case).reset_index() # Save the auxiliary info in a dictionary. aux_files = { @@ -640,7 +640,7 @@ def get_all_region_weights( distribution (str): The distribution to use for sampling. dist_params (list): The parameters for the distribution. hierarchy_file (pd.DataFrame): DataFrame with the hierarchy information from - reeds.io.assemble_hierarchy() + reeds.io.get_hierarchy() sample_hierarchy_lvl (str): The hierarchy level which will be assigned unique weights. Returns: @@ -1100,7 +1100,7 @@ def __init__(self, sample_group, aux_files, n_samples, mcs_run_number, lhs_sampl self.sample_hierarchy_lvl = sample_group['weight_r'] # Inputs that require special treatment - self.hierarchy_file = reeds.io.assemble_hierarchy(self.inputs_case) + self.hierarchy_file = reeds.io.get_hierarchy(self.inputs_case).reset_index() # Store the samples for each switch (a single sw may have multiple files that is # why we refer to the switch by its adjusted name) diff --git a/reeds/reedsplots.py b/reeds/reedsplots.py index bdcd63c6..99764d4e 100644 --- a/reeds/reedsplots.py +++ b/reeds/reedsplots.py @@ -1719,7 +1719,7 @@ def plot_prmtrade( dfba = dfba.loc[val_r].copy() endpoints = reeds.plots.df2gdf( - reeds.io.get_hierarchy(case), + reeds.io.assemble_hierarchy(case).set_index('r'), lat='node_lat', lon='node_lon', ) dfba['x'] = dfba.index.map(endpoints.centroid.x) diff --git a/reeds/results.py b/reeds/results.py index 695b5149..5915af86 100644 --- a/reeds/results.py +++ b/reeds/results.py @@ -646,8 +646,9 @@ def calc_transmission_capacity(case,levels): # pull intra and interregional transmission data into dictionaries for processing dict_inter = {} - level_map = get_level_map(case) - hierarchy = reeds.io.assemble_hierarchy(case) + level_map = get_level_map() + hierarchy = reeds.io.get_hierarchy(case) + hierarchy['r'] = hierarchy.index for level in levels: # Translate the level to a cleaner spatial resolution for publishing csvs. Ex. st --> State, transgrp --> Transmission Planning Subregion. @@ -704,7 +705,7 @@ def calc_transmission_capacity(case,levels): return intraregional, interregional -def get_level_map(case): +def get_level_map(): # for all regions available in ReEDS/inputs/hierarchy.csv, map them to a clean display name level_map = pd.read_csv( os.path.join(reeds_path, 'postprocessing', 'plots', 'level_map.csv'), From f134c5b6466ee392ee938fa887d7dff3a9abeac9 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Tue, 16 Jun 2026 09:49:22 -0400 Subject: [PATCH 11/33] Cleanup --- postprocessing/reValue/reValue.py | 11 +++++------ runreeds.py | 11 ++++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/postprocessing/reValue/reValue.py b/postprocessing/reValue/reValue.py index 640e49b5..be6ef046 100644 --- a/postprocessing/reValue/reValue.py +++ b/postprocessing/reValue/reValue.py @@ -355,12 +355,11 @@ def calculate_metrics(): year = r['year'] switches = reeds.io.get_switches(reeds_run_path) df_hier_run = pd.read_csv(f'{reeds_run_path}/inputs_case/hierarchy.csv') - - county2zone = reeds.io.get_county2zone(reeds_run_path, as_map=False) - county2zone['FIPS'] = 'p' + county2zone['FIPS'].astype(str).str.zfill(5) - df_county_map = county2zone[['FIPS', 'r']] - df_county_map.columns = ['reeds_county', 'reeds_ba'] - + df_county_map = ( + reeds.io.get_county2zone(reeds_run_path, as_map=False) + .rename(columns={'county': 'reeds_county', 'r': 'reeds_ba'}) + [['reeds_county', 'reeds_ba']] + ) df_hmap = pd.read_csv(f'{reeds_run_path}/inputs_case/rep/hmap_myr.csv') #Only fetch prices if we haven't already for this reeds run and year #TODO: Include tech here in the dct_prices tuple key? For now I disallow multiple techs diff --git a/runreeds.py b/runreeds.py index d4d65fcd..63af42f8 100644 --- a/runreeds.py +++ b/runreeds.py @@ -181,11 +181,12 @@ def get_rev_sc_file_name(rev_row, use_hpc=False): # supply curve name should be in format of {tech}_rev_supply_curves_raw.csv # in the hourlize results folder (must match format in 'save_sc_outputs' function of hourlize/resource.py) - sc_file = os.path.join(sc_path, - rev_row.tech + "_" + rev_row.access_case + "_ba", - "results", - rev_row.tech + "_supply_curve_raw.csv" - ) + sc_file = os.path.join( + sc_path, + f"{rev_row.tech}_{rev_row.access_case}_county", + "results", + f"{rev_row.tech}_supply_curve_raw.csv" + ) return sc_file revswitches['sc_file'] = revswitches.apply(lambda row: get_rev_sc_file_name(row), axis=1) revswitches['hpc_sc_file'] = revswitches.apply(lambda row: get_rev_sc_file_name(row, use_hpc=True), axis=1) From ca92d146eee42a0835a62f6cd32f1cae952069c6 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Tue, 16 Jun 2026 09:56:58 -0400 Subject: [PATCH 12/33] Cleanup --- postprocessing/plots/level_map.csv | 2 -- postprocessing/tableau/tableau_viz_suite.py | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/postprocessing/plots/level_map.csv b/postprocessing/plots/level_map.csv index d63da622..84d6eb9d 100644 --- a/postprocessing/plots/level_map.csv +++ b/postprocessing/plots/level_map.csv @@ -1,7 +1,5 @@ raw,display r,Model Zones -county,County -ba,Balancing Area nercr,NERC regions transreg,Transmission Planning Region transgrp,Transmission Planning Subregion diff --git a/postprocessing/tableau/tableau_viz_suite.py b/postprocessing/tableau/tableau_viz_suite.py index 341fb255..09883ca6 100644 --- a/postprocessing/tableau/tableau_viz_suite.py +++ b/postprocessing/tableau/tableau_viz_suite.py @@ -409,7 +409,7 @@ def calc_peakload( ).rename(columns=int) dictout = {} - level_map = reeds.results.get_level_map(case) + level_map = reeds.results.get_level_map() for level in levels: df_level = df.loc[level,years].stack().rename_axis(['r','t']).rename('Value').reset_index().astype({'t':int}).set_index(['r','t']).squeeze().reset_index() df_level['Spatial Resolution'] = level_map[level] @@ -594,7 +594,7 @@ def export(dictin,output_dir): create_scenarios_csv(output_dir,cases) # Grab clean display names for the levels - level_map = reeds.results.get_level_map(cases[basecase]) + level_map = reeds.results.get_level_map() # import some key inputs from ReEDS dictin_sw = {case: reeds.io.get_switches(cases[case]) for case in cases} From 38b64926738996b182cc7715c0ffd46c0507bf1b Mon Sep 17 00:00:00 2001 From: kodiobika Date: Tue, 16 Jun 2026 11:19:59 -0400 Subject: [PATCH 13/33] bugfix: drop md5 and lat/lon columns from hierarchy in get_dfmap --- reeds/io.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reeds/io.py b/reeds/io.py index a12d433f..63c02e76 100644 --- a/reeds/io.py +++ b/reeds/io.py @@ -341,7 +341,10 @@ def get_dfmap(case=None, levels=None, exclude_water_areas=True): """Get dictionary of maps at different hierarchy levels""" hierarchy = ( get_hierarchy(case, original=True) - .drop(columns=['aggreg', 'st_interconnect'], errors='ignore') + .drop( + columns=['aggreg', 'st_interconnect', 'md5', 'node_lat', 'node_lon'], + errors='ignore' + ) ) hierarchy_levels = list(hierarchy.columns) if levels: From cc69cd78a1aced85003a85f382c37c1ea884cd1a Mon Sep 17 00:00:00 2001 From: kodiobika Date: Tue, 16 Jun 2026 14:32:08 -0400 Subject: [PATCH 14/33] Delete code writing hierarchy_with_res.csv --- inputs/userinput/futurefiles.csv | 1 - reeds/input_processing/copy_files.py | 4 ---- 2 files changed, 5 deletions(-) diff --git a/inputs/userinput/futurefiles.csv b/inputs/userinput/futurefiles.csv index ce01a12b..2bc2caf4 100644 --- a/inputs/userinput/futurefiles.csv +++ b/inputs/userinput/futurefiles.csv @@ -197,7 +197,6 @@ heat_rate_penalty_spin.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done, heat_rate.csv,.csv,0,None,t,"i,v,r",0,0,constant,0,None,done,constant hierarchy_itlgrp.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, hierarchy_original.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, -hierarchy_with_res.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, hierarchy.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant hintage_char.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, hintage_data.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant diff --git a/reeds/input_processing/copy_files.py b/reeds/input_processing/copy_files.py index e20f1ec9..e191c620 100644 --- a/reeds/input_processing/copy_files.py +++ b/reeds/input_processing/copy_files.py @@ -256,10 +256,6 @@ def get_regions_and_agglevel( pd.Series(val_r_all).to_csv( os.path.join(inputs_case, 'val_r_all.csv'), header=False, index=False) - # Rename columns and save as hierarchy_with_res.csv for use in agglevel_variables function - hier_sub.drop(columns=['legacy_ba', 'offshore'], errors='ignore').rename(columns={'r':'*r'}).to_csv( - os.path.join(inputs_case, 'hierarchy_with_res.csv'), index=False) - # Drop county name and resolution columns hier_sub = hier_sub.drop(['county_name'],axis=1) From dce4e296f146377c718258d623a62e0043e13344 Mon Sep 17 00:00:00 2001 From: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com> Date: Mon, 22 Jun 2026 07:31:52 -0600 Subject: [PATCH 15/33] add hurdlereg for z90/hierarchy.csv; add z90 to allowed GSw_ZoneSet choices --- cases.csv | 2 +- inputs/zones/z90/hierarchy.csv | 182 ++++++++++++++++----------------- 2 files changed, 92 insertions(+), 92 deletions(-) diff --git a/cases.csv b/cases.csv index 4840a719..77c882b1 100644 --- a/cases.csv +++ b/cases.csv @@ -47,7 +47,7 @@ retscen,Retirement Scenario,Nuke60RetireYear; Nuke80RetireYear; NukeEarlyRetireY supplycurve,Wind and Solar Supply Curves,default; 0; naris; 2018,default, uraniumscen,Uranium price scenario,AEO_2025_reference; AEO_2026_baseline,AEO_2026_baseline, GSw_Region,Specify column from inputs/userinput/modeled_regions.csv or from {column of hierarchy.csv}/{period-delimited entries to keep from that column},N/A,country/USA, -GSw_ZoneSet,Set of geospatial zones to use as balancing areas (described in inputs/zones/README.md),^(z48|z54|z69|z132|z134|z3109|UTcounty|PJMcounty)$,z132, +GSw_ZoneSet,Set of geospatial zones to use as balancing areas (described in inputs/zones/README.md),^(z48|z54|z69|z90|z132|z134|z3109|UTcounty|PJMcounty)$,z132, capcredit_hierarchy_level,Select level at which to aggregate net load for capacity-credit calculation,r; nercr; transreg; transgrp; cendiv; st; interconnect; country; usda_region,transreg, construction_schedules_suffix,File suffix for construction schedules,default,default, construction_times_suffix,File suffix for construction times by technology,default,default, diff --git a/inputs/zones/z90/hierarchy.csv b/inputs/zones/z90/hierarchy.csv index 6930a59f..8b047cf6 100644 --- a/inputs/zones/z90/hierarchy.csv +++ b/inputs/zones/z90/hierarchy.csv @@ -1,91 +1,91 @@ -r,st,transreg,transgrp,nercr,interconnect -WA_W,WA,NorthernGrid,NorthernGrid_West,WECC_NW,western -WA_E,WA,NorthernGrid,NorthernGrid_West,WECC_NW,western -OR_W,OR,NorthernGrid,NorthernGrid_West,WECC_NW,western -OR_E,OR,NorthernGrid,NorthernGrid_West,WECC_NW,western -CA_N,CA,CAISO,CAISO,WECC_CA,western -CA_S,CA,CAISO,CAISO,WECC_CA,western -CA_LA,CA,CAISO,CAISO,WECC_CA,western -CA_SE,CA,CAISO,CAISO,WECC_CA,western -ID_N,ID,NorthernGrid,NorthernGrid_East,WECC_NW,western -ID_S,ID,NorthernGrid,NorthernGrid_East,WECC_NW,western -MT_W,MT,NorthernGrid,NorthernGrid_East,WECC_NW,western -MT_C,MT,NorthernGrid,NorthernGrid_East,WECC_NW,western -MT_E,MT,SPP,SPP_North,SPP,eastern -NV_N,NV,NorthernGrid,NorthernGrid_South,WECC_NW,western -NV_LV,NV,NorthernGrid,NorthernGrid_South,WECC_NW,western -UT,UT,NorthernGrid,NorthernGrid_South,WECC_NW,western -WY_W,WY,NorthernGrid,NorthernGrid_East,WECC_NW,western -WY_E,WY,WestConnect,WestConnect_North,WECC_NW,western -CO_W,CO,WestConnect,WestConnect_North,WECC_NW,western -CO_E,CO,WestConnect,WestConnect_North,WECC_NW,western -AZ_N,AZ,WestConnect,WestConnect_South,WECC_SW,western -AZ_S,AZ,WestConnect,WestConnect_South,WECC_SW,western -NM_W,NM,WestConnect,WestConnect_South,WECC_SW,western -NM_E,NM,SPP,SPP_South,SPP,eastern -TX_EP,TX,WestConnect,WestConnect_South,WestConnect,western -TX_N,TX,ERCOT,ERCOT,ERCOT,texas -TX_W,TX,ERCOT,ERCOT,ERCOT,texas -TX_S,TX,ERCOT,ERCOT,ERCOT,texas -TX_PAN,TX,SPP,SPP_South,SPP,eastern -TX_SPP,TX,SPP,SPP_South,SPP,eastern -TX_HOU,TX,ERCOT,ERCOT,ERCOT,texas -TX_MISO,TX,MISO,MISO_South,MISO,eastern -ND_SPP,ND,SPP,SPP_North,SPP,eastern -ND_MISO,ND,MISO,MISO_North,MISO,eastern -SD,SD,SPP,SPP_North,SPP,eastern -NE,NE,SPP,SPP_North,SPP,eastern -KS,KS,SPP,SPP_South,SPP,eastern -OK,OK,SPP,SPP_South,SPP,eastern -MN_N,MN,MISO,MISO_North,MISO,eastern -MN_S,MN,MISO,MISO_North,MISO,eastern -WI_W,WI,MISO,MISO_North,MISO,eastern -WI_E,WI,MISO,MISO_North,MISO,eastern -IA,IA,MISO,MISO_Central,MISO,eastern -MO_SPP,MO,SPP,SPP_South,SPP,eastern -MO_MISO,MO,MISO,MISO_Central,MISO,eastern -MO_SE,MO,SERTP,SERTP,SERC_C,eastern -AR_SPP,AR,SPP,SPP_South,SPP,eastern -AR_MISO,AR,MISO,MISO_South,MISO,eastern -LA,LA,MISO,MISO_South,MISO,eastern -MI_UP,MI,MISO,MISO_North,MISO,eastern -MI_LP,MI,MISO,MISO_North,MISO,eastern -MI_PJM,MI,PJM,PJM_West,PJM,eastern -IL_PJM,IL,PJM,PJM_West,PJM,eastern -IL_MISO,IL,MISO,MISO_Central,MISO,eastern -IN_PJM,IN,PJM,PJM_West,PJM,eastern -IN_MISO,IN,MISO,MISO_Central,MISO,eastern -KY_PJM,KY,PJM,PJM_East,PJM,eastern -KY_MISO,KY,MISO,MISO_Central,MISO,eastern -MS_MISO,MS,MISO,MISO_South,MISO,eastern -MS_SE,MS,SERTP,SERTP,SERC_C,eastern -TN,TN,SERTP,SERTP,SERC_C,eastern -AL,AL,SERTP,SERTP,SERC_SE,eastern -GA_N,GA,SERTP,SERTP,SERC_SE,eastern -GA_S,GA,SERTP,SERTP,SERC_SE,eastern -SC,SC,SERTP,SERTP,SERC_E,eastern -NC_SE,NC,SERTP,SERTP,SERC_E,eastern -NC_PJM,NC,PJM,PJM_East,SERC_E,eastern -FL_N,FL,FRCC,FRCC,SERC_F,eastern -FL_S,FL,FRCC,FRCC,SERC_F,eastern -FL_SE,FL,FRCC,FRCC,SERC_F,eastern -OH_N,OH,PJM,PJM_East,PJM,eastern -OH_S,OH,PJM,PJM_East,PJM,eastern -WV,WV,PJM,PJM_East,PJM,eastern -VA_W,VA,PJM,PJM_East,PJM,eastern -VA_E,VA,PJM,PJM_East,PJM,eastern -PA_W,PA,PJM,PJM_East,PJM,eastern -PA_E,PA,PJM,PJM_East,PJM,eastern -MD,MD,PJM,PJM_East,PJM,eastern -DE,DE,PJM,PJM_East,PJM,eastern -NJ,NJ,PJM,PJM_East,PJM,eastern -NY_W,NY,NYISO,NYISO,NPCC_NY,eastern -NY_E,NY,NYISO,NYISO,NPCC_NY,eastern -NY_NYC,NY,NYISO,NYISO,NPCC_NY,eastern -NY_LI,NY,NYISO,NYISO,NPCC_NY,eastern -VT,VT,ISONE,ISONE,NPCC_NE,eastern -NH,NH,ISONE,ISONE,NPCC_NE,eastern -MA,MA,ISONE,ISONE,NPCC_NE,eastern -CT,CT,ISONE,ISONE,NPCC_NE,eastern -RI,RI,ISONE,ISONE,NPCC_NE,eastern -ME,ME,ISONE,ISONE,NPCC_NE,eastern +r,st,transreg,transgrp,nercr,interconnect,hurdlereg +WA_W,WA,NorthernGrid,NorthernGrid_West,WECC_NW,western,Bonneville_Power_Administration +WA_E,WA,NorthernGrid,NorthernGrid_West,WECC_NW,western,Avista_Corp +OR_W,OR,NorthernGrid,NorthernGrid_West,WECC_NW,western,Bonneville_Power_Administration +OR_E,OR,NorthernGrid,NorthernGrid_West,WECC_NW,western,Bonneville_Power_Administration +CA_N,CA,CAISO,CAISO,WECC_CA,western,CAISO +CA_S,CA,CAISO,CAISO,WECC_CA,western,CAISO +CA_LA,CA,CAISO,CAISO,WECC_CA,western,CAISO +CA_SE,CA,CAISO,CAISO,WECC_CA,western,CAISO +ID_N,ID,NorthernGrid,NorthernGrid_East,WECC_NW,western,Bonneville_Power_Administration +ID_S,ID,NorthernGrid,NorthernGrid_East,WECC_NW,western,Idaho_Power_Co +MT_W,MT,NorthernGrid,NorthernGrid_East,WECC_NW,western,Northwestern_Energy +MT_C,MT,NorthernGrid,NorthernGrid_East,WECC_NW,western,Northwestern_Energy +MT_E,MT,SPP,SPP_North,SPP,eastern,MISO +NV_N,NV,NorthernGrid,NorthernGrid_South,WECC_NW,western,Nevada_Power_Co +NV_LV,NV,NorthernGrid,NorthernGrid_South,WECC_NW,western,Nevada_Power_Co +UT,UT,NorthernGrid,NorthernGrid_South,WECC_NW,western,PacifiCorp_East +WY_W,WY,NorthernGrid,NorthernGrid_East,WECC_NW,western,PacifiCorp_East +WY_E,WY,WestConnect,WestConnect_North,WECC_NW,western,WAPA_Rocky_Mountain_Region +CO_W,CO,WestConnect,WestConnect_North,WECC_NW,western,WAPA_Rocky_Mountain_Region +CO_E,CO,WestConnect,WestConnect_North,WECC_NW,western,WAPA_Rocky_Mountain_Region +AZ_N,AZ,WestConnect,WestConnect_South,WECC_SW,western,Arizona_Public_Service_Co +AZ_S,AZ,WestConnect,WestConnect_South,WECC_SW,western,Arizona_Public_Service_Co +NM_W,NM,WestConnect,WestConnect_South,WECC_SW,western,Public_Service_Co_of_New_Mexico +NM_E,NM,SPP,SPP_South,SPP,eastern,SPP +TX_EP,TX,WestConnect,WestConnect_South,WestConnect,western,ERCOT +TX_N,TX,ERCOT,ERCOT,ERCOT,texas,ERCOT +TX_W,TX,ERCOT,ERCOT,ERCOT,texas,ERCOT +TX_S,TX,ERCOT,ERCOT,ERCOT,texas,ERCOT +TX_PAN,TX,SPP,SPP_South,SPP,eastern,SPP +TX_SPP,TX,SPP,SPP_South,SPP,eastern,SPP +TX_HOU,TX,ERCOT,ERCOT,ERCOT,texas,ERCOT +TX_MISO,TX,MISO,MISO_South,MISO,eastern,MISO +ND_SPP,ND,SPP,SPP_North,SPP,eastern,SPP +ND_MISO,ND,MISO,MISO_North,MISO,eastern,MISO +SD,SD,SPP,SPP_North,SPP,eastern,SPP +NE,NE,SPP,SPP_North,SPP,eastern,SPP +KS,KS,SPP,SPP_South,SPP,eastern,SPP +OK,OK,SPP,SPP_South,SPP,eastern,SPP +MN_N,MN,MISO,MISO_North,MISO,eastern,MISO +MN_S,MN,MISO,MISO_North,MISO,eastern,MISO +WI_W,WI,MISO,MISO_North,MISO,eastern,MISO +WI_E,WI,MISO,MISO_North,MISO,eastern,MISO +IA,IA,MISO,MISO_Central,MISO,eastern,MISO +MO_SPP,MO,SPP,SPP_South,SPP,eastern,SPP +MO_MISO,MO,MISO,MISO_Central,MISO,eastern,MISO +MO_SE,MO,SERTP,SERTP,SERC_C,eastern,Associated_Electric_Coop_Inc +AR_SPP,AR,SPP,SPP_South,SPP,eastern,SPP +AR_MISO,AR,MISO,MISO_South,MISO,eastern,MISO +LA,LA,MISO,MISO_South,MISO,eastern,MISO +MI_UP,MI,MISO,MISO_North,MISO,eastern,MISO +MI_LP,MI,MISO,MISO_North,MISO,eastern,MISO +MI_PJM,MI,PJM,PJM_West,PJM,eastern,PJM +IL_PJM,IL,PJM,PJM_West,PJM,eastern,PJM +IL_MISO,IL,MISO,MISO_Central,MISO,eastern,MISO +IN_PJM,IN,PJM,PJM_West,PJM,eastern,PJM +IN_MISO,IN,MISO,MISO_Central,MISO,eastern,MISO +KY_PJM,KY,PJM,PJM_East,PJM,eastern,PJM +KY_MISO,KY,MISO,MISO_Central,MISO,eastern,Tennessee_Valley_Authority +MS_MISO,MS,MISO,MISO_South,MISO,eastern,MISO +MS_SE,MS,SERTP,SERTP,SERC_C,eastern,Tennessee_Valley_Authority +TN,TN,SERTP,SERTP,SERC_C,eastern,Tennessee_Valley_Authority +AL,AL,SERTP,SERTP,SERC_SE,eastern,Southern_Co_Services_Inc +GA_N,GA,SERTP,SERTP,SERC_SE,eastern,Southern_Co_Services_Inc +GA_S,GA,SERTP,SERTP,SERC_SE,eastern,Southern_Co_Services_Inc +SC,SC,SERTP,SERTP,SERC_E,eastern,South_Carolina_Electric_&_Gas_Co +NC_SE,NC,SERTP,SERTP,SERC_E,eastern,Duke_Energy_Progress_East +NC_PJM,NC,PJM,PJM_East,SERC_E,eastern,PJM +FL_N,FL,FRCC,FRCC,SERC_F,eastern,Seminole_Electric_Coop_Inc +FL_S,FL,FRCC,FRCC,SERC_F,eastern,Seminole_Electric_Coop_Inc +FL_SE,FL,FRCC,FRCC,SERC_F,eastern,Florida_Power_&_Light +OH_N,OH,PJM,PJM_East,PJM,eastern,PJM +OH_S,OH,PJM,PJM_East,PJM,eastern,PJM +WV,WV,PJM,PJM_East,PJM,eastern,PJM +VA_W,VA,PJM,PJM_East,PJM,eastern,PJM +VA_E,VA,PJM,PJM_East,PJM,eastern,PJM +PA_W,PA,PJM,PJM_East,PJM,eastern,PJM +PA_E,PA,PJM,PJM_East,PJM,eastern,PJM +MD,MD,PJM,PJM_East,PJM,eastern,PJM +DE,DE,PJM,PJM_East,PJM,eastern,PJM +NJ,NJ,PJM,PJM_East,PJM,eastern,PJM +NY_W,NY,NYISO,NYISO,NPCC_NY,eastern,NYISO +NY_E,NY,NYISO,NYISO,NPCC_NY,eastern,NYISO +NY_NYC,NY,NYISO,NYISO,NPCC_NY,eastern,NYISO +NY_LI,NY,NYISO,NYISO,NPCC_NY,eastern,NYISO +VT,VT,ISONE,ISONE,NPCC_NE,eastern,ISONE +NH,NH,ISONE,ISONE,NPCC_NE,eastern,ISONE +MA,MA,ISONE,ISONE,NPCC_NE,eastern,ISONE +CT,CT,ISONE,ISONE,NPCC_NE,eastern,ISONE +RI,RI,ISONE,ISONE,NPCC_NE,eastern,ISONE +ME,ME,ISONE,ISONE,NPCC_NE,eastern,ISONE From dbcd2369ad7b90dd26f5a4a7347c9b5e594ce9de Mon Sep 17 00:00:00 2001 From: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com> Date: Tue, 23 Jun 2026 07:53:39 -0600 Subject: [PATCH 16/33] z90 hierarchy.csv: fix El Paso NERC region --- inputs/zones/z90/hierarchy.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inputs/zones/z90/hierarchy.csv b/inputs/zones/z90/hierarchy.csv index 8b047cf6..d47e1ed0 100644 --- a/inputs/zones/z90/hierarchy.csv +++ b/inputs/zones/z90/hierarchy.csv @@ -23,7 +23,7 @@ AZ_N,AZ,WestConnect,WestConnect_South,WECC_SW,western,Arizona_Public_Service_Co AZ_S,AZ,WestConnect,WestConnect_South,WECC_SW,western,Arizona_Public_Service_Co NM_W,NM,WestConnect,WestConnect_South,WECC_SW,western,Public_Service_Co_of_New_Mexico NM_E,NM,SPP,SPP_South,SPP,eastern,SPP -TX_EP,TX,WestConnect,WestConnect_South,WestConnect,western,ERCOT +TX_EP,TX,WestConnect,WestConnect_South,WECC_SW,western,ERCOT TX_N,TX,ERCOT,ERCOT,ERCOT,texas,ERCOT TX_W,TX,ERCOT,ERCOT,ERCOT,texas,ERCOT TX_S,TX,ERCOT,ERCOT,ERCOT,texas,ERCOT From 8facd5934f028a1859b0747bc9df87fff28ebbd1 Mon Sep 17 00:00:00 2001 From: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com> Date: Tue, 23 Jun 2026 08:35:24 -0600 Subject: [PATCH 17/33] z90 hierarchy.csv: change '&' to 'and' in hurdlereg for GAMS --- inputs/zones/z90/hierarchy.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inputs/zones/z90/hierarchy.csv b/inputs/zones/z90/hierarchy.csv index d47e1ed0..75d65f7a 100644 --- a/inputs/zones/z90/hierarchy.csv +++ b/inputs/zones/z90/hierarchy.csv @@ -63,12 +63,12 @@ TN,TN,SERTP,SERTP,SERC_C,eastern,Tennessee_Valley_Authority AL,AL,SERTP,SERTP,SERC_SE,eastern,Southern_Co_Services_Inc GA_N,GA,SERTP,SERTP,SERC_SE,eastern,Southern_Co_Services_Inc GA_S,GA,SERTP,SERTP,SERC_SE,eastern,Southern_Co_Services_Inc -SC,SC,SERTP,SERTP,SERC_E,eastern,South_Carolina_Electric_&_Gas_Co +SC,SC,SERTP,SERTP,SERC_E,eastern,South_Carolina_Electric_and_Gas_Co NC_SE,NC,SERTP,SERTP,SERC_E,eastern,Duke_Energy_Progress_East NC_PJM,NC,PJM,PJM_East,SERC_E,eastern,PJM FL_N,FL,FRCC,FRCC,SERC_F,eastern,Seminole_Electric_Coop_Inc FL_S,FL,FRCC,FRCC,SERC_F,eastern,Seminole_Electric_Coop_Inc -FL_SE,FL,FRCC,FRCC,SERC_F,eastern,Florida_Power_&_Light +FL_SE,FL,FRCC,FRCC,SERC_F,eastern,Florida_Power_and_Light OH_N,OH,PJM,PJM_East,PJM,eastern,PJM OH_S,OH,PJM,PJM_East,PJM,eastern,PJM WV,WV,PJM,PJM_East,PJM,eastern,PJM From a21fdb312c80b7691fec3d9cff9767615409b97d Mon Sep 17 00:00:00 2001 From: kodiobika <35176195+kodiobika@users.noreply.github.com> Date: Wed, 24 Jun 2026 16:45:20 -0400 Subject: [PATCH 18/33] Update reeds/input_processing/copy_files.py Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com> --- reeds/input_processing/copy_files.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/reeds/input_processing/copy_files.py b/reeds/input_processing/copy_files.py index e191c620..68a9d260 100644 --- a/reeds/input_processing/copy_files.py +++ b/reeds/input_processing/copy_files.py @@ -154,10 +154,7 @@ def get_regions_and_agglevel( """ sw = reeds.io.get_switches(inputs_case) - hierarchy = ( - reeds.io.assemble_hierarchy(inputs_case) - .drop(columns=['md5', 'node_lat', 'node_lon']) - ) +hierarchy = reeds.io.assemble_hierarchy(inputs_case, extra=False) hierarchy['offshore'] = 0 # Label offshore zones if using if int(sw.GSw_OffshoreZones): From 19eb0074a95766d32b24f99566bd5974a3c5c12b Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 16:47:03 -0400 Subject: [PATCH 19/33] Remove 'regions' argument from main() --- reeds/input_processing/writecapdat.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reeds/input_processing/writecapdat.py b/reeds/input_processing/writecapdat.py index 4a095c5e..0e3d3b4b 100644 --- a/reeds/input_processing/writecapdat.py +++ b/reeds/input_processing/writecapdat.py @@ -120,7 +120,7 @@ def create_rsc_wsc(gendb,TECH,scalars,startyear): ### --- MAIN FUNCTION --- ### =========================================================================== -def main(reeds_path, inputs_case, regions): +def main(reeds_path, inputs_case): # #%% Settings for testing #reeds_path = "/Users/apham/Documents/GitHub/ReEDS/ReEDS/" @@ -150,6 +150,8 @@ def main(reeds_path, inputs_case, regions): os.path.join(inputs_case,'modeledyears.csv') ).columns.astype(int).values.tolist() + regions = reeds.io.read_input(inputs_case, 'r').squeeze(1).values + #################### ### DICTIONARIES ### @@ -816,9 +818,7 @@ def main(reeds_path, inputs_case, regions): ) print('Starting writecapdat.py') - - regions = reeds.io.read_input(inputs_case, 'r').squeeze(1).values - data, comments = main(reeds_path, inputs_case, regions) + data, comments = main(reeds_path, inputs_case) # Write it print('Writing out capacity data') From d20c95533d3adf3701e50b86b2474414a5530f9f Mon Sep 17 00:00:00 2001 From: kodiobika <35176195+kodiobika@users.noreply.github.com> Date: Wed, 24 Jun 2026 16:47:59 -0400 Subject: [PATCH 20/33] Update reeds/input_processing/copy_files.py Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com> --- reeds/input_processing/copy_files.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/reeds/input_processing/copy_files.py b/reeds/input_processing/copy_files.py index 68a9d260..e42e031a 100644 --- a/reeds/input_processing/copy_files.py +++ b/reeds/input_processing/copy_files.py @@ -265,19 +265,7 @@ def get_regions_and_agglevel( hier_sub['numeric_value'] = hier_sub['r'].str.extract('(\d+)').astype(float) hier_sub = hier_sub.sort_values(by='numeric_value').drop('numeric_value', axis=1) - ### TEMPORARY 20260402: Skip itlgrp functionality until we fix it - # # Output the itlgrp files for mixed and county resolution - # if sw.GSw_RegionResolution == 'aggreg': - # hier_sub['itlgrp'] = hier_sub['aggreg'] - # else: - # hier_sub['itlgrp'] = hier_sub['ba'] - - # if sw.GSw_RegionResolution == 'mixed': - # mod_reg = pd.read_csv( - # os.path.join(reeds_path,'inputs','userinput','modeled_regions.csv')) - # if 'aggreg' in mod_reg[sw.GSw_ZoneSet].tolist(): - # hier_sub['itlgrp'] = hier_sub['aggreg'] - # For now just assign 'itlgrp' hierarchy level to 'r' + ### TEMPORARY 20260402: For now just assign 'itlgrp' hierarchy level to 'r' hier_sub['itlgrp'] = hier_sub['r'] hier_sub[['r','itlgrp']].rename(columns={'r':'*r'}).to_csv( os.path.join(inputs_case, 'hierarchy_itlgrp.csv'), index=False) From 08f9a5e39a402d4113aef07faed310aa6c26438e Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 16:50:08 -0400 Subject: [PATCH 21/33] Delete commented out itlgrp constraint code --- reeds/inputs.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/reeds/inputs.py b/reeds/inputs.py index 9e411941..d6e49e49 100644 --- a/reeds/inputs.py +++ b/reeds/inputs.py @@ -107,9 +107,6 @@ def add_intermediate_switches(dfcases:pd.DataFrame) -> pd.DataFrame: sw = dfcases[case] new_switches[case] = {} ### TEMPORARY 20260402: Turn off itlgrp constraint until it's fixed - # new_switches[case]['GSw_itlgrpConstraint'] = str(int( - # sw['GSw_RegionResolution'] in ['county', 'mixed'] - # )) new_switches[case]['GSw_itlgrpConstraint'] = '0' ## 'meshed' offshore files are only used when offshore zones are turned on new_switches[case]['GSw_OffshoreFiles'] = ( From ab4eb5383d3d7c50e3acef39a8b119cd0f2df518 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 17:04:11 -0400 Subject: [PATCH 22/33] Remove remaining references to hierarchy_from134.csv --- docs/source/faq.md | 4 ++-- reeds/inputs.py | 37 ------------------------------------- 2 files changed, 2 insertions(+), 39 deletions(-) diff --git a/docs/source/faq.md b/docs/source/faq.md index a5f89bc3..b11fd1c3 100644 --- a/docs/source/faq.md +++ b/docs/source/faq.md @@ -52,9 +52,9 @@ Yes, you can configure ReEDS as a single interconnect. Limiting the spatial exte The ReEDS model is capable of capturing several spatial resolutions. This aspect of the model is controlled by the `GSw_Region` and `GSw_ZoneSet` switches. -- Balancing areas (BAs) and aggregated groups of BAs: Aggregation level is controlled by the 'aggreg' column of the `inputs/zones/GSw_ZoneSet/hierarchy_from134.csv` file. +- Aggregated groups of counties: Model zone is specified by the 'r' column of the `inputs/zones/GSw_ZoneSet/hierarchy.csv` file. - 134 zones: `GSw_ZoneSet = z134` - - 132 zones (**default**): `GSw_ZoneSet = z132`. Merges p119 into p122 and p30 into p28. + - 132 zones (**default**): `GSw_ZoneSet = z132`. Identical to z134 except merges p119 into p122 and p30 into p28. - 69 zones: `GSw_ZoneSet = z69`. Obeys state, interconnect, NERC, and FERC region boundaries; most other zones below these levels are aggregated together. - 54 zones: `GSw_ZoneSet = z54`. Obeys state boundaries but nudges the edges of interconnect, NERC, and FERC region boundaries to align with states. Keeps CA, IL, and NY split into 2 zones and TX split into 4 zones. - 48 zones: `GSw_ZoneSet = z48`. Obeys state boundaries but nudges the edges of interconnect, NERC, and FERC region boundaries to align with states (highly simplified). diff --git a/reeds/inputs.py b/reeds/inputs.py index d6e49e49..b052f5bf 100644 --- a/reeds/inputs.py +++ b/reeds/inputs.py @@ -774,27 +774,6 @@ def get_b2b(case=None, **kwargs) -> pd.DataFrame: return b2b -def check_aggreg_unique(hierarchy): - """ - Make sure each aggreg is only assigned to a single transreg / transgrp / st / etc. - """ - testcols = [i for i in hierarchy.columns if i != 'aggreg'] - aggreg_errors = {} - for col in testcols: - unique_aggregs = ( - hierarchy[[col,'aggreg']] - .drop_duplicates() - .groupby('aggreg')[col].count() - ) - duplicated = unique_aggregs.loc[unique_aggregs>1] - if len(duplicated): - aggreg_errors[col] = hierarchy.loc[ - hierarchy.aggreg.isin(duplicated.index), - [col,'aggreg'] - ] - return aggreg_errors - - def validate_zoneset(GSw_ZoneSet): """ Make sure all the required inputs are supplied for GSw_ZoneSet @@ -881,19 +860,3 @@ def validate_zoneset(GSw_ZoneSet): hierarchypath = Path(zonepath, 'hierarchy.csv') err = f'The following columns are missing from {hierarchypath}: ' + ' '.join(missing) raise KeyError(err) - ## TEMPORARY 20260402: Is each aggreg only assigned to a single hierarchy level? - fpath_134 = Path(zonepath, 'hierarchy_from134.csv') - if fpath_134.is_file(): - hierarchy_134 = pd.read_csv(fpath_134, index_col='ba') - errors = check_aggreg_unique(hierarchy_134) - if len(errors): - for v in errors.values(): - print(v) - print() - err = ( - "There are aggreg values spanning multiple hierarchy levels for:\n > " - + '\n > '.join(errors.keys()) - + f"\nPlease modify {fpath_134}\n" - "to ensure each aggreg is only assigned to a single hierarchy level." - ) - raise ValueError(err) From b9af2c2bf440346f60ca8ff1fb036298aa1aac0c Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 17:10:00 -0400 Subject: [PATCH 23/33] Delete 'aggreg' column --- inputs/zones/hierarchy_offshore.csv | 56 +++--- inputs/zones/z134/hierarchy.csv | 270 ++++++++++++++-------------- 2 files changed, 163 insertions(+), 163 deletions(-) diff --git a/inputs/zones/hierarchy_offshore.csv b/inputs/zones/hierarchy_offshore.csv index 4cf66ee4..ba7688e6 100644 --- a/inputs/zones/hierarchy_offshore.csv +++ b/inputs/zones/hierarchy_offshore.csv @@ -1,28 +1,28 @@ -ba,nercr,transreg,transgrp,st,interconnect,hurdlereg,aggreg -oWA,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Bonneville_Power_Administration,oWA -oOR_N,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,PacifiCorp_West,oOR_N -oOR_S,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,PacifiCorp_West,oOR_S -oCA_NNN,WECC_CA,CAISO,CAISO,CA,western,CAISO,oCA_NNN -oCA_NN,WECC_CA,CAISO,CAISO,CA,western,CAISO,oCA_NN -oCA_N,WECC_CA,CAISO,CAISO,CA,western,CAISO,oCA_N -oCA_S,WECC_CA,CAISO,CAISO,CA,western,CAISO,oCA_S -oTX,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,oTX -oLA,MISO,MISO,MISO_South,LA,eastern,MISO,oLA -oFL_W,SERC_F,FRCC,FRCC,FL,eastern,Seminole_Electric_Coop_Inc,oFL_W -oFL_E,SERC_F,FRCC,FRCC,FL,eastern,Seminole_Electric_Coop_Inc,oFL_E -oSC,SERC_E,SERTP,SERTP,SC,eastern,South_Carolina_Electric_Gas_Co,oSC -oNC_S,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Progress_East,oNC_S -oNC_N,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Progress_East,oNC_N -oVA,PJM,PJM,PJM_East,VA,eastern,PJM,oVA -oNJ,PJM,PJM,PJM_East,NJ,eastern,PJM,oNJ -oNY,NPCC_NY,NYISO,NYISO,NY,eastern,NYISO,oNY -oRI,NPCC_NE,ISONE,ISONE,RI,eastern,ISONE,oRI -oNH,NPCC_NE,ISONE,ISONE,NH,eastern,ISONE,oNH -oME,NPCC_NE,ISONE,ISONE,ME,eastern,ISONE,oME -oMS,MISO,MISO,MISO_South,MS,eastern,MISO,oMS -oAL,SERC_SE,SERTP,SERTP,AL,eastern,PowerSouth_Energy_Coop,oAL -oGA,SERC_SE,SERTP,SERTP,GA,eastern,Southern_Co_Services_Inc,oGA -oMD,PJM,PJM,PJM_East,MD,eastern,PJM,oMD -oDE,PJM,PJM,PJM_East,DE,eastern,PJM,oDE -oCT,NPCC_NE,ISONE,ISONE,CT,eastern,ISONE,oCT -oMA,NPCC_NE,ISONE,ISONE,MA,eastern,ISONE,oMA +ba,nercr,transreg,transgrp,st,interconnect,hurdlereg +oWA,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Bonneville_Power_Administration +oOR_N,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,PacifiCorp_West +oOR_S,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,PacifiCorp_West +oCA_NNN,WECC_CA,CAISO,CAISO,CA,western,CAISO +oCA_NN,WECC_CA,CAISO,CAISO,CA,western,CAISO +oCA_N,WECC_CA,CAISO,CAISO,CA,western,CAISO +oCA_S,WECC_CA,CAISO,CAISO,CA,western,CAISO +oTX,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +oLA,MISO,MISO,MISO_South,LA,eastern,MISO +oFL_W,SERC_F,FRCC,FRCC,FL,eastern,Seminole_Electric_Coop_Inc +oFL_E,SERC_F,FRCC,FRCC,FL,eastern,Seminole_Electric_Coop_Inc +oSC,SERC_E,SERTP,SERTP,SC,eastern,South_Carolina_Electric_Gas_Co +oNC_S,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Progress_East +oNC_N,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Progress_East +oVA,PJM,PJM,PJM_East,VA,eastern,PJM +oNJ,PJM,PJM,PJM_East,NJ,eastern,PJM +oNY,NPCC_NY,NYISO,NYISO,NY,eastern,NYISO +oRI,NPCC_NE,ISONE,ISONE,RI,eastern,ISONE +oNH,NPCC_NE,ISONE,ISONE,NH,eastern,ISONE +oME,NPCC_NE,ISONE,ISONE,ME,eastern,ISONE +oMS,MISO,MISO,MISO_South,MS,eastern,MISO +oAL,SERC_SE,SERTP,SERTP,AL,eastern,PowerSouth_Energy_Coop +oGA,SERC_SE,SERTP,SERTP,GA,eastern,Southern_Co_Services_Inc +oMD,PJM,PJM,PJM_East,MD,eastern,PJM +oDE,PJM,PJM,PJM_East,DE,eastern,PJM +oCT,NPCC_NE,ISONE,ISONE,CT,eastern,ISONE +oMA,NPCC_NE,ISONE,ISONE,MA,eastern,ISONE diff --git a/inputs/zones/z134/hierarchy.csv b/inputs/zones/z134/hierarchy.csv index 3cc8ecd3..f68801de 100644 --- a/inputs/zones/z134/hierarchy.csv +++ b/inputs/zones/z134/hierarchy.csv @@ -1,135 +1,135 @@ -r,nercr,transreg,transgrp,st,interconnect,hurdlereg,aggreg -p1,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Puget_Sound_Energy_Inc,p1 -p2,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Bonneville_Power_Administration,p2 -p3,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Avista_Corp,p3 -p4,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,PUD_No2_of_Grant_County,p4 -p5,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,Bonneville_Power_Administration,p5 -p6,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,PacifiCorp_West,p6 -p7,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,Bonneville_Power_Administration,p7 -p8,WECC_NW,NorthernGrid,NorthernGrid_South,CA,western,PacifiCorp_West,p8 -p9,WECC_CA,CAISO,CAISO,CA,western,CAISO,p9 -p10,WECC_CA,CAISO,CAISO,CA,western,CAISO,p10 -p11,WECC_CA,CAISO,CAISO,CA,western,CAISO,p11 -p12,WECC_NW,NorthernGrid,NorthernGrid_South,NV,western,Nevada_Power_Co,p12 -p13,WECC_NW,NorthernGrid,NorthernGrid_South,NV,western,Nevada_Power_Co,p13 -p14,WECC_NW,NorthernGrid,NorthernGrid_East,ID,western,Avista_Corp,p14 -p15,WECC_NW,NorthernGrid,NorthernGrid_East,ID,western,Idaho_Power_Co,p15 -p16,WECC_NW,NorthernGrid,NorthernGrid_East,ID,western,Idaho_Power_Co,p16 -p17,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,Northwestern_Energy,p17 -p18,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,Northwestern_Energy,p18 -p19,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,WAPA_Upper_Great_Plains_West,p19 -p20,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,Northwestern_Energy,p20 -p21,WECC_NW,NorthernGrid,NorthernGrid_East,WY,western,PacifiCorp_East,p21 -p22,WECC_NW,NorthernGrid,NorthernGrid_East,WY,western,PacifiCorp_East,p22 -p23,WECC_NW,WestConnect,WestConnect_North,WY,western,WAPA_Rocky_Mountain_Region,p23 -p24,WECC_NW,WestConnect,WestConnect_North,WY,western,WAPA_Rocky_Mountain_Region,p24 -p25,WECC_NW,NorthernGrid,NorthernGrid_South,UT,western,PacifiCorp_East,p25 -p26,WECC_NW,NorthernGrid,NorthernGrid_South,UT,western,PacifiCorp_East,p26 -p27,WECC_SW,WestConnect,WestConnect_South,AZ,western,WAPA_Desert_Southwest_Region,p27 -p28,WECC_SW,WestConnect,WestConnect_South,AZ,western,Arizona_Public_Service_Co,z28 -p29,WECC_SW,WestConnect,WestConnect_South,AZ,western,Arizona_Public_Service_Co,p29 -p30,WECC_SW,WestConnect,WestConnect_South,AZ,western,Arizona_Public_Service_Co,z28 -p31,WECC_SW,WestConnect,WestConnect_South,NM,western,Public_Service_Co_of_New_Mexico,p31 -p32,WECC_NW,WestConnect,WestConnect_North,SD,western,WAPA_Rocky_Mountain_Region,p32 -p33,WECC_NW,WestConnect,WestConnect_North,CO,western,Public_Service_Co_of_Colorado,p33 -p34,WECC_NW,WestConnect,WestConnect_North,CO,western,Public_Service_Co_of_Colorado,p34 -p35,SPP,SPP,SPP_North,MT,eastern,SPP,p35 -p36,SPP,SPP,SPP_North,ND,eastern,SPP,p36 -p37,MISO,MISO,MISO_North,ND,eastern,MISO,p37 -p38,SPP,SPP,SPP_North,SD,eastern,SPP,p38 -p39,SPP,SPP,SPP_North,NE,eastern,SPP,p39 -p40,SPP,SPP,SPP_North,NE,eastern,SPP,p40 -p41,SPP,SPP,SPP_North,NE,eastern,SPP,p41 -p42,MISO,MISO,MISO_North,MN,eastern,MISO,p42 -p43,MISO,MISO,MISO_North,MN,eastern,MISO,p43 -p44,MISO,MISO,MISO_North,MN,eastern,MISO,p44 -p45,MISO,MISO,MISO_North,IA,eastern,MISO,p45 -p46,MISO,MISO,MISO_North,WI,eastern,MISO,p46 -p47,SPP,SPP,SPP_South,NM,eastern,SPP,p47 -p48,SPP,SPP,SPP_South,TX,eastern,SPP,p48 -p49,SPP,SPP,SPP_South,OK,eastern,SPP,p49 -p50,SPP,SPP,SPP_South,OK,eastern,SPP,p50 -p51,SPP,SPP,SPP_South,OK,eastern,SPP,p51 -p52,SPP,SPP,SPP_South,KS,eastern,SPP,p52 -p53,SPP,SPP,SPP_South,KS,eastern,SPP,p53 -p54,SPP,SPP,SPP_South,MO,eastern,SPP,p54 -p55,SPP,SPP,SPP_South,MO,eastern,SPP,p55 -p56,SPP,SPP,SPP_South,AR,eastern,SPP,p56 -p57,SPP,SPP,SPP_South,TX,eastern,SPP,p57 -p58,MISO,MISO,MISO_South,LA,eastern,MISO,p58 -p59,WECC_SW,WestConnect,WestConnect_South,TX,western,El_Paso_Electric,p59 -p60,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,p60 -p61,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,p61 -p62,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,p62 -p63,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,p63 -p64,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,p64 -p65,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,p65 -p66,MISO,MISO,MISO_South,TX,eastern,MISO,p66 -p67,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT,p67 -p68,MISO,MISO,MISO_North,MN,eastern,MISO,p68 -p69,MISO,MISO,MISO_North,IA,eastern,MISO,p69 -p70,MISO,MISO,MISO_North,IA,eastern,MISO,p70 -p71,MISO,MISO,MISO_Central,MO,eastern,MISO,p71 -p72,MISO,MISO,MISO_Central,MO,eastern,MISO,p72 -p73,MISO,MISO,MISO_Central,MO,eastern,MISO,p73 -p74,MISO,MISO,MISO_North,MI,eastern,MISO,p74 -p75,MISO,MISO,MISO_North,WI,eastern,MISO,p75 -p76,MISO,MISO,MISO_North,WI,eastern,MISO,p76 -p77,MISO,MISO,MISO_North,WI,eastern,MISO,p77 -p78,MISO,MISO,MISO_North,WI,eastern,MISO,p78 -p79,MISO,MISO,MISO_North,WI,eastern,MISO,p79 -p80,PJM,PJM,PJM_West,IL,eastern,PJM,p80 -p81,MISO,MISO,MISO_Central,IL,eastern,MISO,p81 -p82,MISO,MISO,MISO_Central,IL,eastern,MISO,p82 -p83,MISO,MISO,MISO_Central,IL,eastern,MISO,p83 -p84,MISO,MISO,MISO_Central,MO,eastern,MISO,p84 -p85,MISO,MISO,MISO_South,AR,eastern,MISO,p85 -p86,MISO,MISO,MISO_South,LA,eastern,MISO,p86 -p87,MISO,MISO,MISO_South,MS,eastern,MISO,p87 -p88,SERC_C,SERTP,SERTP,MS,eastern,Tennessee_Valley_Authority,p88 -p89,SERC_SE,SERTP,SERTP,AL,eastern,Southern_Co_Services_Inc,p89 -p90,SERC_SE,SERTP,SERTP,AL,eastern,PowerSouth_Energy_Coop,p90 -p91,SERC_SE,SERTP,SERTP,FL,eastern,Southern_Co_Services_Inc,p91 -p92,SERC_C,SERTP,SERTP,TN,eastern,Tennessee_Valley_Authority,p92 -p93,SERC_C,SERTP,SERTP,KY,eastern,Tennessee_Valley_Authority,p93 -p94,SERC_SE,SERTP,SERTP,GA,eastern,Southern_Co_Services_Inc,p94 -p95,SERC_E,SERTP,SERTP,SC,eastern,Duke_Energy_Carolinas_LLC,p95 -p96,SERC_E,SERTP,SERTP,SC,eastern,South_Carolina_Electric_Gas_Co,p96 -p97,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Carolinas_LLC,p97 -p98,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Progress_East,p98 -p99,PJM,PJM,PJM_East,VA,eastern,PJM,p99 -p100,PJM,PJM,PJM_East,VA,eastern,PJM,p100 -p101,SERC_F,FRCC,FRCC,FL,eastern,Seminole_Electric_Coop_Inc,p101 -p102,SERC_F,FRCC,FRCC,FL,eastern,Florida_Power_and_Light,p102 -p103,MISO,MISO,MISO_Central,MI,eastern,MISO,p103 -p104,PJM,PJM,PJM_West,MI,eastern,PJM,p104 -p105,MISO,MISO,MISO_Central,IN,eastern,MISO,p105 -p106,MISO,MISO,MISO_Central,IN,eastern,MISO,p106 -p107,MISO,MISO,MISO_Central,IN,eastern,MISO,p107 -p108,MISO,MISO,MISO_Central,KY,eastern,MISO,p108 -p109,PJM,PJM,PJM_East,KY,eastern,PJM,p109 -p110,PJM,PJM,PJM_East,KY,eastern,PJM,p110 -p111,PJM,PJM,PJM_East,OH,eastern,PJM,p111 -p112,PJM,PJM,PJM_East,OH,eastern,PJM,p112 -p113,PJM,PJM,PJM_East,OH,eastern,PJM,p113 -p114,PJM,PJM,PJM_East,OH,eastern,PJM,p114 -p115,PJM,PJM,PJM_East,PA,eastern,PJM,p115 -p116,PJM,PJM,PJM_East,WV,eastern,PJM,p116 -p117,PJM,PJM,PJM_East,WV,eastern,PJM,p117 -p118,PJM,PJM,PJM_East,VA,eastern,PJM,p118 -p119,PJM,PJM,PJM_East,PA,eastern,PJM,z122 -p120,PJM,PJM,PJM_East,PA,eastern,PJM,p120 -p121,PJM,PJM,PJM_East,MD,eastern,PJM,p121 -p122,PJM,PJM,PJM_East,PA,eastern,PJM,z122 -p123,PJM,PJM,PJM_East,MD,eastern,PJM,p123 -p124,PJM,PJM,PJM_East,VA,eastern,PJM,p124 -p125,PJM,PJM,PJM_East,DE,eastern,PJM,p125 -p126,PJM,PJM,PJM_East,NJ,eastern,PJM,p126 -p127,NPCC_NY,NYISO,NYISO,NY,eastern,NYISO,p127 -p128,NPCC_NY,NYISO,NYISO,NY,eastern,NYISO,p128 -p129,NPCC_NE,ISONE,ISONE,VT,eastern,ISONE,p129 -p130,NPCC_NE,ISONE,ISONE,NH,eastern,ISONE,p130 -p131,NPCC_NE,ISONE,ISONE,MA,eastern,ISONE,p131 -p132,NPCC_NE,ISONE,ISONE,CT,eastern,ISONE,p132 -p133,NPCC_NE,ISONE,ISONE,RI,eastern,ISONE,p133 -p134,NPCC_NE,ISONE,ISONE,ME,eastern,ISONE,p134 +r,nercr,transreg,transgrp,st,interconnect,hurdlereg +p1,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Puget_Sound_Energy_Inc +p2,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Bonneville_Power_Administration +p3,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,Avista_Corp +p4,WECC_NW,NorthernGrid,NorthernGrid_West,WA,western,PUD_No2_of_Grant_County +p5,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,Bonneville_Power_Administration +p6,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,PacifiCorp_West +p7,WECC_NW,NorthernGrid,NorthernGrid_West,OR,western,Bonneville_Power_Administration +p8,WECC_NW,NorthernGrid,NorthernGrid_South,CA,western,PacifiCorp_West +p9,WECC_CA,CAISO,CAISO,CA,western,CAISO +p10,WECC_CA,CAISO,CAISO,CA,western,CAISO +p11,WECC_CA,CAISO,CAISO,CA,western,CAISO +p12,WECC_NW,NorthernGrid,NorthernGrid_South,NV,western,Nevada_Power_Co +p13,WECC_NW,NorthernGrid,NorthernGrid_South,NV,western,Nevada_Power_Co +p14,WECC_NW,NorthernGrid,NorthernGrid_East,ID,western,Avista_Corp +p15,WECC_NW,NorthernGrid,NorthernGrid_East,ID,western,Idaho_Power_Co +p16,WECC_NW,NorthernGrid,NorthernGrid_East,ID,western,Idaho_Power_Co +p17,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,Northwestern_Energy +p18,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,Northwestern_Energy +p19,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,WAPA_Upper_Great_Plains_West +p20,WECC_NW,NorthernGrid,NorthernGrid_East,MT,western,Northwestern_Energy +p21,WECC_NW,NorthernGrid,NorthernGrid_East,WY,western,PacifiCorp_East +p22,WECC_NW,NorthernGrid,NorthernGrid_East,WY,western,PacifiCorp_East +p23,WECC_NW,WestConnect,WestConnect_North,WY,western,WAPA_Rocky_Mountain_Region +p24,WECC_NW,WestConnect,WestConnect_North,WY,western,WAPA_Rocky_Mountain_Region +p25,WECC_NW,NorthernGrid,NorthernGrid_South,UT,western,PacifiCorp_East +p26,WECC_NW,NorthernGrid,NorthernGrid_South,UT,western,PacifiCorp_East +p27,WECC_SW,WestConnect,WestConnect_South,AZ,western,WAPA_Desert_Southwest_Region +p28,WECC_SW,WestConnect,WestConnect_South,AZ,western,Arizona_Public_Service_Co +p29,WECC_SW,WestConnect,WestConnect_South,AZ,western,Arizona_Public_Service_Co +p30,WECC_SW,WestConnect,WestConnect_South,AZ,western,Arizona_Public_Service_Co +p31,WECC_SW,WestConnect,WestConnect_South,NM,western,Public_Service_Co_of_New_Mexico +p32,WECC_NW,WestConnect,WestConnect_North,SD,western,WAPA_Rocky_Mountain_Region +p33,WECC_NW,WestConnect,WestConnect_North,CO,western,Public_Service_Co_of_Colorado +p34,WECC_NW,WestConnect,WestConnect_North,CO,western,Public_Service_Co_of_Colorado +p35,SPP,SPP,SPP_North,MT,eastern,SPP +p36,SPP,SPP,SPP_North,ND,eastern,SPP +p37,MISO,MISO,MISO_North,ND,eastern,MISO +p38,SPP,SPP,SPP_North,SD,eastern,SPP +p39,SPP,SPP,SPP_North,NE,eastern,SPP +p40,SPP,SPP,SPP_North,NE,eastern,SPP +p41,SPP,SPP,SPP_North,NE,eastern,SPP +p42,MISO,MISO,MISO_North,MN,eastern,MISO +p43,MISO,MISO,MISO_North,MN,eastern,MISO +p44,MISO,MISO,MISO_North,MN,eastern,MISO +p45,MISO,MISO,MISO_North,IA,eastern,MISO +p46,MISO,MISO,MISO_North,WI,eastern,MISO +p47,SPP,SPP,SPP_South,NM,eastern,SPP +p48,SPP,SPP,SPP_South,TX,eastern,SPP +p49,SPP,SPP,SPP_South,OK,eastern,SPP +p50,SPP,SPP,SPP_South,OK,eastern,SPP +p51,SPP,SPP,SPP_South,OK,eastern,SPP +p52,SPP,SPP,SPP_South,KS,eastern,SPP +p53,SPP,SPP,SPP_South,KS,eastern,SPP +p54,SPP,SPP,SPP_South,MO,eastern,SPP +p55,SPP,SPP,SPP_South,MO,eastern,SPP +p56,SPP,SPP,SPP_South,AR,eastern,SPP +p57,SPP,SPP,SPP_South,TX,eastern,SPP +p58,MISO,MISO,MISO_South,LA,eastern,MISO +p59,WECC_SW,WestConnect,WestConnect_South,TX,western,El_Paso_Electric +p60,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +p61,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +p62,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +p63,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +p64,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +p65,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +p66,MISO,MISO,MISO_South,TX,eastern,MISO +p67,ERCOT,ERCOT,ERCOT,TX,texas,ERCOT +p68,MISO,MISO,MISO_North,MN,eastern,MISO +p69,MISO,MISO,MISO_North,IA,eastern,MISO +p70,MISO,MISO,MISO_North,IA,eastern,MISO +p71,MISO,MISO,MISO_Central,MO,eastern,MISO +p72,MISO,MISO,MISO_Central,MO,eastern,MISO +p73,MISO,MISO,MISO_Central,MO,eastern,MISO +p74,MISO,MISO,MISO_North,MI,eastern,MISO +p75,MISO,MISO,MISO_North,WI,eastern,MISO +p76,MISO,MISO,MISO_North,WI,eastern,MISO +p77,MISO,MISO,MISO_North,WI,eastern,MISO +p78,MISO,MISO,MISO_North,WI,eastern,MISO +p79,MISO,MISO,MISO_North,WI,eastern,MISO +p80,PJM,PJM,PJM_West,IL,eastern,PJM +p81,MISO,MISO,MISO_Central,IL,eastern,MISO +p82,MISO,MISO,MISO_Central,IL,eastern,MISO +p83,MISO,MISO,MISO_Central,IL,eastern,MISO +p84,MISO,MISO,MISO_Central,MO,eastern,MISO +p85,MISO,MISO,MISO_South,AR,eastern,MISO +p86,MISO,MISO,MISO_South,LA,eastern,MISO +p87,MISO,MISO,MISO_South,MS,eastern,MISO +p88,SERC_C,SERTP,SERTP,MS,eastern,Tennessee_Valley_Authority +p89,SERC_SE,SERTP,SERTP,AL,eastern,Southern_Co_Services_Inc +p90,SERC_SE,SERTP,SERTP,AL,eastern,PowerSouth_Energy_Coop +p91,SERC_SE,SERTP,SERTP,FL,eastern,Southern_Co_Services_Inc +p92,SERC_C,SERTP,SERTP,TN,eastern,Tennessee_Valley_Authority +p93,SERC_C,SERTP,SERTP,KY,eastern,Tennessee_Valley_Authority +p94,SERC_SE,SERTP,SERTP,GA,eastern,Southern_Co_Services_Inc +p95,SERC_E,SERTP,SERTP,SC,eastern,Duke_Energy_Carolinas_LLC +p96,SERC_E,SERTP,SERTP,SC,eastern,South_Carolina_Electric_Gas_Co +p97,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Carolinas_LLC +p98,SERC_E,SERTP,SERTP,NC,eastern,Duke_Energy_Progress_East +p99,PJM,PJM,PJM_East,VA,eastern,PJM +p100,PJM,PJM,PJM_East,VA,eastern,PJM +p101,SERC_F,FRCC,FRCC,FL,eastern,Seminole_Electric_Coop_Inc +p102,SERC_F,FRCC,FRCC,FL,eastern,Florida_Power_and_Light +p103,MISO,MISO,MISO_Central,MI,eastern,MISO +p104,PJM,PJM,PJM_West,MI,eastern,PJM +p105,MISO,MISO,MISO_Central,IN,eastern,MISO +p106,MISO,MISO,MISO_Central,IN,eastern,MISO +p107,MISO,MISO,MISO_Central,IN,eastern,MISO +p108,MISO,MISO,MISO_Central,KY,eastern,MISO +p109,PJM,PJM,PJM_East,KY,eastern,PJM +p110,PJM,PJM,PJM_East,KY,eastern,PJM +p111,PJM,PJM,PJM_East,OH,eastern,PJM +p112,PJM,PJM,PJM_East,OH,eastern,PJM +p113,PJM,PJM,PJM_East,OH,eastern,PJM +p114,PJM,PJM,PJM_East,OH,eastern,PJM +p115,PJM,PJM,PJM_East,PA,eastern,PJM +p116,PJM,PJM,PJM_East,WV,eastern,PJM +p117,PJM,PJM,PJM_East,WV,eastern,PJM +p118,PJM,PJM,PJM_East,VA,eastern,PJM +p119,PJM,PJM,PJM_East,PA,eastern,PJM +p120,PJM,PJM,PJM_East,PA,eastern,PJM +p121,PJM,PJM,PJM_East,MD,eastern,PJM +p122,PJM,PJM,PJM_East,PA,eastern,PJM +p123,PJM,PJM,PJM_East,MD,eastern,PJM +p124,PJM,PJM,PJM_East,VA,eastern,PJM +p125,PJM,PJM,PJM_East,DE,eastern,PJM +p126,PJM,PJM,PJM_East,NJ,eastern,PJM +p127,NPCC_NY,NYISO,NYISO,NY,eastern,NYISO +p128,NPCC_NY,NYISO,NYISO,NY,eastern,NYISO +p129,NPCC_NE,ISONE,ISONE,VT,eastern,ISONE +p130,NPCC_NE,ISONE,ISONE,NH,eastern,ISONE +p131,NPCC_NE,ISONE,ISONE,MA,eastern,ISONE +p132,NPCC_NE,ISONE,ISONE,CT,eastern,ISONE +p133,NPCC_NE,ISONE,ISONE,RI,eastern,ISONE +p134,NPCC_NE,ISONE,ISONE,ME,eastern,ISONE From 559b9c5dc388e10ba1d3495f3ece81074418075a Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 17:15:50 -0400 Subject: [PATCH 24/33] Delete modeled_regions.csv and references --- cases.csv | 2 +- docs/sources.csv | 1 - docs/sources_documentation.md | 4 - inputs/userinput/futurefiles.csv | 1 - inputs/userinput/modeled_regions.csv | 135 --------------------------- reeds/input_processing/runfiles.csv | 1 - 6 files changed, 1 insertion(+), 143 deletions(-) delete mode 100644 inputs/userinput/modeled_regions.csv diff --git a/cases.csv b/cases.csv index 77c882b1..ab08e44b 100644 --- a/cases.csv +++ b/cases.csv @@ -46,7 +46,7 @@ upgradescen,Exogenous upgrade capital cost specification (see inputs\upgrades). retscen,Retirement Scenario,Nuke60RetireYear; Nuke80RetireYear; NukeEarlyRetireYear; NukeRefRetireYear,Nuke80RetireYear, supplycurve,Wind and Solar Supply Curves,default; 0; naris; 2018,default, uraniumscen,Uranium price scenario,AEO_2025_reference; AEO_2026_baseline,AEO_2026_baseline, -GSw_Region,Specify column from inputs/userinput/modeled_regions.csv or from {column of hierarchy.csv}/{period-delimited entries to keep from that column},N/A,country/USA, +GSw_Region,Specify {column of hierarchy.csv}/{period-delimited entries to keep from that column},N/A,country/USA, GSw_ZoneSet,Set of geospatial zones to use as balancing areas (described in inputs/zones/README.md),^(z48|z54|z69|z90|z132|z134|z3109|UTcounty|PJMcounty)$,z132, capcredit_hierarchy_level,Select level at which to aggregate net load for capacity-credit calculation,r; nercr; transreg; transgrp; cendiv; st; interconnect; country; usda_region,transreg, construction_schedules_suffix,File suffix for construction schedules,default,default, diff --git a/docs/sources.csv b/docs/sources.csv index 456c17fe..dbc31d26 100644 --- a/docs/sources.csv +++ b/docs/sources.csv @@ -686,7 +686,6 @@ RelativeFilePath,RelativeFolderPath,FileName_new,FileExtension,Description_new,I /inputs/userinput/ivt_default.csv,/inputs/userinput,ivt_default,.csv,,,,,, /inputs/userinput/ivt_small.csv,/inputs/userinput,ivt_small,.csv,,,,,, /inputs/userinput/ivt_step.csv,/inputs/userinput,ivt_step,.csv,ivt steps for endyears beyond 2050,,,,, -/inputs/userinput/modeled_regions.csv,/inputs/userinput,modeled_regions,.csv,Sets of BA regions that a user can model in a run. Each column is a different region option and can be specified in cases using GSw_Region.,,,,, /inputs/userinput/windows_2100.csv,/inputs/userinput,windows_2100,.csv,Window size for using window solve method to 2100,,,,, /inputs/userinput/windows_default.csv,/inputs/userinput,windows_default,.csv,Window size for using window solve method,,,,, /inputs/userinput/windows_step10.csv,/inputs/userinput,windows_step10,.csv,Window size for beyond2050step10,,,,, diff --git a/docs/sources_documentation.md b/docs/sources_documentation.md index 4af952c0..24192347 100644 --- a/docs/sources_documentation.md +++ b/docs/sources_documentation.md @@ -3438,10 +3438,6 @@ - **Description:** ivt steps for endyears beyond 2050 --- - - [modeled_regions.csv](/inputs/userinput/modeled_regions.csv) - - **Description:** Sets of BA regions that a user can model in a run. Each column is a different region option and can be specified in cases using GSw_Region. ---- - - [windows_2100.csv](/inputs/userinput/windows_2100.csv) - **Description:** Window size for using window solve method to 2100 --- diff --git a/inputs/userinput/futurefiles.csv b/inputs/userinput/futurefiles.csv index 2bc2caf4..4baf6300 100644 --- a/inputs/userinput/futurefiles.csv +++ b/inputs/userinput/futurefiles.csv @@ -254,7 +254,6 @@ min_retire_age.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant minCF.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant mingen_fixed.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, minloadfrac0.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant -modeled_regions.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, modeledyears.csv,.csv,1,None,9999,None,9999,0,constant,None,None,done,constant month.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, month2quarter.csv,.csv,1,None,9999,None,9999,0,constant,None,None,new, diff --git a/inputs/userinput/modeled_regions.csv b/inputs/userinput/modeled_regions.csv deleted file mode 100644 index 137a6662..00000000 --- a/inputs/userinput/modeled_regions.csv +++ /dev/null @@ -1,135 +0,0 @@ -r,PJMcounty,UTcounty -p1,ba,aggreg -p2,ba,aggreg -p3,ba,aggreg -p4,ba,aggreg -p5,ba,aggreg -p6,ba,aggreg -p7,ba,aggreg -p8,ba,aggreg -p9,ba,aggreg -p10,ba,aggreg -p11,ba,aggreg -p12,ba,aggreg -p13,ba,aggreg -p14,ba,aggreg -p15,ba,aggreg -p16,ba,aggreg -p17,ba,aggreg -p18,ba,aggreg -p19,ba,aggreg -p20,ba,aggreg -p21,ba,aggreg -p22,ba,aggreg -p23,ba,aggreg -p24,ba,aggreg -p25,ba,county -p26,ba,county -p27,ba,aggreg -p28,ba,aggreg -p29,ba,aggreg -p30,ba,aggreg -p31,ba,aggreg -p32,ba,aggreg -p33,ba,aggreg -p34,ba,aggreg -p35,ba,aggreg -p36,ba,aggreg -p37,ba,aggreg -p38,ba,aggreg -p39,ba,aggreg -p40,ba,aggreg -p41,ba,aggreg -p42,ba,aggreg -p43,ba,aggreg -p44,ba,aggreg -p45,county,aggreg -p46,county,aggreg -p47,ba,aggreg -p48,ba,aggreg -p49,ba,aggreg -p50,ba,aggreg -p51,ba,aggreg -p52,ba,aggreg -p53,ba,aggreg -p54,ba,aggreg -p55,ba,aggreg -p56,ba,aggreg -p57,ba,aggreg -p58,ba,aggreg -p59,ba,aggreg -p60,ba,aggreg -p61,ba,aggreg -p62,ba,aggreg -p63,ba,aggreg -p64,ba,aggreg -p65,ba,aggreg -p66,ba,aggreg -p67,ba,aggreg -p68,ba,aggreg -p69,county,aggreg -p70,county,aggreg -p71,ba,aggreg -p72,ba,aggreg -p73,ba,aggreg -p74,county,aggreg -p75,county,aggreg -p76,county,aggreg -p77,county,aggreg -p78,county,aggreg -p79,county,aggreg -p80,county,aggreg -p81,county,aggreg -p82,county,aggreg -p83,county,aggreg -p84,ba,aggreg -p85,ba,aggreg -p86,ba,aggreg -p87,ba,aggreg -p88,ba,aggreg -p89,ba,aggreg -p90,ba,aggreg -p91,ba,aggreg -p92,county,aggreg -p93,county,aggreg -p94,ba,aggreg -p95,ba,aggreg -p96,ba,aggreg -p97,county,aggreg -p98,county,aggreg -p99,county,aggreg -p100,county,aggreg -p101,ba,aggreg -p102,ba,aggreg -p103,county,aggreg -p104,county,aggreg -p105,county,aggreg -p106,county,aggreg -p107,county,aggreg -p108,county,aggreg -p109,county,aggreg -p110,county,aggreg -p111,county,aggreg -p112,county,aggreg -p113,county,aggreg -p114,county,aggreg -p115,county,aggreg -p116,county,aggreg -p117,county,aggreg -p118,county,aggreg -p119,county,aggreg -p120,county,aggreg -p121,county,aggreg -p122,county,aggreg -p123,county,aggreg -p124,county,aggreg -p125,county,aggreg -p126,county,aggreg -p127,county,aggreg -p128,county,aggreg -p129,ba,aggreg -p130,ba,aggreg -p131,ba,aggreg -p132,ba,aggreg -p133,ba,aggreg -p134,ba,aggreg diff --git a/reeds/input_processing/runfiles.csv b/reeds/input_processing/runfiles.csv index af89e251..a5b0e220 100644 --- a/reeds/input_processing/runfiles.csv +++ b/reeds/input_processing/runfiles.csv @@ -143,7 +143,6 @@ minCF.csv,inputs/plant_characteristics/minCF.csv,int(sw.GSw_MinCF) != 0,ignore,i min_retire_age.csv,inputs/plant_characteristics/min_retire_age.csv,1,ignore,ignore,,,,,0,,,,,, mingen_fixed.csv,inputs/plant_characteristics/mingen_fixed.csv,int(sw.GSw_MingenFixed) != 0,ignore,ignore,,,*i,,0,,,,,, minloadfrac0.csv,inputs/plant_characteristics/minloadfrac0.csv,(int(sw.GSw_Mingen) != 0) or (int(sw.GSw_MinLoading) != 0),ignore,ignore,,,,,0,,,,,, -modeled_regions.csv,inputs/userinput/modeled_regions.csv,1,ignore,ignore,,,,,,,,,,, month2quarter.csv,inputs/temporal/month2quarter.csv,1,ignore,ignore,,,,,0,,,,,, mttr.csv,inputs/plant_characteristics/mttr.csv,1,ignore,ignore,,,tech,,0,,,,,, natgas_price_cendiv.csv,inputs/fuelprices/ng_{ngscen}.csv,1,ignore,ignore,wide_cendiv,year,,1,0,,,,,, From 2b6748e6a701824a6c0268a2c1f4dc6a0d925b02 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 17:30:45 -0400 Subject: [PATCH 25/33] Replace load allocation method switch compatibility check with warning in zones/README.MD --- inputs/zones/README.md | 6 ++++++ runreeds.py | 12 ------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/inputs/zones/README.md b/inputs/zones/README.md index 09f285cd..46d36266 100644 --- a/inputs/zones/README.md +++ b/inputs/zones/README.md @@ -20,6 +20,12 @@ The lat/lon is used for plotting, representative least-cost paths and greenfield - If the centroid is NOT within the zone polygon, the node location is the "most interior" point in the polygon (determined by iteratively inward-buffering the polygon until it disappears, then keeping the centroid of the penultimate iteration). + +## Notes on zone options +- `z3109`: 1:1 mapping from counties to zones + - Not all counties have high-voltage load buses, so if `GSw_LoadAllocationMethod = state_lpf`, some counties may have zero load. + + ## Creating a new set of model zones Start by copying the `county2zone.csv` and `hierarchy.csv` file for an existing set of zones to a new folder (named with a memorable name for your new set of zones) in the [ReEDS_Input_Processing/zones](https://github.com/ReEDS-Model/ReEDS_Input_Processing/tree/main/zones) directory. diff --git a/runreeds.py b/runreeds.py index 63af42f8..d76a6149 100644 --- a/runreeds.py +++ b/runreeds.py @@ -287,18 +287,6 @@ def check_compatibility(sw): f"GSw_Region={sw['GSw_Region']}, GSw_GasCurve={sw['GSw_GasCurve']}" ) - if reeds.io.has_county_zones(GSw_ZoneSet=sw['GSw_ZoneSet']): - err_switch_configs = [] - if sw['GSw_LoadAllocationMethod'] == 'state_lpf': - err_switch_configs.append('GSw_LoadAllocationMethod=state_lpf') - - if len(err_switch_configs) > 0: - raise NotImplementedError( - 'The following switch configurations are not implemented for ' - 'county/mixed resolution:\n{}\n' - .format('\n'.join(err_switch_configs)) - ) - reeds.inputs.validate_zoneset(sw['GSw_ZoneSet']) ### Parsed string switches From 4bc14cbfe2ea79575f2b8fd907e794aa671f97ff Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 19:43:15 -0400 Subject: [PATCH 26/33] Add zoneset config and broaden definition of county-level zones --- inputs/zones/zoneset_config.yaml | 14 ++++++++ postprocessing/tableau/tableau_viz_suite.py | 25 +++++++++++-- reeds/input_processing/transmission.py | 7 ++-- reeds/inputs.py | 21 +++++++++++ reeds/io.py | 40 ++++++--------------- reeds/resource_adequacy/prep_data.py | 7 +++- reeds/results.py | 15 ++++---- 7 files changed, 85 insertions(+), 44 deletions(-) create mode 100644 inputs/zones/zoneset_config.yaml diff --git a/inputs/zones/zoneset_config.yaml b/inputs/zones/zoneset_config.yaml new file mode 100644 index 00000000..520bb5c3 --- /dev/null +++ b/inputs/zones/zoneset_config.yaml @@ -0,0 +1,14 @@ +drop_single_county_reinforcement_cost: +- z3109 +- PJMcounty +- UTcounty +- z2972 +drop_interfaces_missing_cost: +- z3109 +- PJMcounty +- UTcounty +reeds2pras_unitsize_unconstrain_counties: +- z3109 +- PJMcounty +- UTcounty +- z2972 \ No newline at end of file diff --git a/postprocessing/tableau/tableau_viz_suite.py b/postprocessing/tableau/tableau_viz_suite.py index 09883ca6..6634a153 100644 --- a/postprocessing/tableau/tableau_viz_suite.py +++ b/postprocessing/tableau/tableau_viz_suite.py @@ -8,6 +8,7 @@ import datetime from lxml import etree as ET import shutil +from pathlib import Path pd.options.display.max_rows = 20 pd.options.display.max_columns = 200 @@ -22,6 +23,24 @@ #%%### GENERAL FUNCTIONS +def has_county_zones( + case: str | Path | None = None, + **kwargs +) -> bool: + """ + Determine whether a zone set has county-level zones. + Reads from the inputs_case folder if {case} is provided or from + the default set of inputs (with key word arguments overriding + case switches, e.g., "GSw_ZoneSet") otherwise. + + Args: + case: Path to a ReEDS case. + + Returns: + bool + """ + county_zones = reeds.io.get_county_zones(case, **kwargs) + return len(county_zones) > 0 # produce Scenarios.csv def create_scenarios_csv(output_dir,cases): @@ -99,7 +118,7 @@ def produce_hierarchy_file(output_dir,basecase): # clean up region names, ex. turn 'NorthernGrid_West' to 'NorthernGrid West', replace all instances of '_' with ' ' in the entire dataframe hierarchy = hierarchy.replace('_',' ',regex=True) - if reeds.io.has_county_zones(cases[basecase]): + if has_county_zones(cases[basecase]): # county2zone has the county FIPS to ReEDS BA mapping county2zone = pd.read_csv(os.path.join(reeds_path, 'inputs', 'county2zone.csv'), dtype={'FIPS':str},) county2zone['Region'] = 'p' + county2zone.FIPS @@ -151,7 +170,7 @@ def produce_transmission_endpoints(): os.mkdir(os.path.join(output_dir,'shapefiles','transmission_endpoints')) try: - if reeds.io.has_county_zones(GSw_ZoneSet=dictin_sw[basecase].GSw_ZoneSet): + if has_county_zones(GSw_ZoneSet=dictin_sw[basecase].GSw_ZoneSet): src_file = os.path.join(reeds_path,'inputs','shapefiles','US_COUNTY_2022','US_COUNTY_2022.shp') dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') @@ -290,7 +309,7 @@ def reformat(df,case,metric,years): df['Transmission Planning Subregion End'] = df['Transmission Planning Subregion End'].str.replace("_"," ") # turn NorthernGrid_West to 'NorthernGrid West' df['Transmission Planning Subregion Begin'] = df['Transmission Planning Subregion Begin'].str.replace("_"," ") - if reeds.io.has_county_zones(cases[case]): + if has_county_zones(cases[case]): # the 'r' column already has the 'p41003' format df = df.rename(columns={'r':'County'}) # add a column with the FIPS code (remove the 'p' prefix and turn the value into a integer from the CountyName column) diff --git a/reeds/input_processing/transmission.py b/reeds/input_processing/transmission.py index c76463f0..7de08db3 100644 --- a/reeds/input_processing/transmission.py +++ b/reeds/input_processing/transmission.py @@ -358,8 +358,11 @@ def get_trancap_init(case, interface_params, level='r'): & dfout['rr'].isin(valid_regions[level]) ].copy() - ### Drop county interfaces with no distance/cost - if (level == 'r') and reeds.io.has_county_zones(case): + ### Drop county interfaces with no distance/cost if applicable + drop_interfaces = sw.GSw_ZoneSet in reeds.inputs.get_applicable_zonesets( + 'drop_interfaces_missing_cost' + ) + if (level == 'r') and drop_interfaces: transmission_line_fom = get_transmission_fom(case, interface_params) indices = ['r', 'rr', 'trtype'] drop = ( diff --git a/reeds/inputs.py b/reeds/inputs.py index b052f5bf..afa7dbc9 100644 --- a/reeds/inputs.py +++ b/reeds/inputs.py @@ -774,6 +774,27 @@ def get_b2b(case=None, **kwargs) -> pd.DataFrame: return b2b +def get_zoneset_config() -> dict: + configpath = Path(reeds.io.reeds_path, 'inputs', 'zones', 'zoneset_config.yaml') + with open(configpath, 'r') as f: + config = yaml.safe_load(f) + return config + + +def get_applicable_zonesets(setting): + """ + Get the list of zonesets that a setting should apply to. The provided + setting should be a field in 'inputs/zones/zoneset_config.yaml'. + """ + zoneset_config = get_zoneset_config() + if setting not in zoneset_config: + raise NotImplementedError( + f"The provided setting '{setting}' is invalid. " + "Update inputs/zones/zoneset_config.yaml to include it." + ) + return zoneset_config[setting] + + def validate_zoneset(GSw_ZoneSet): """ Make sure all the required inputs are supplied for GSw_ZoneSet diff --git a/reeds/io.py b/reeds/io.py index 63c02e76..0aa9f1ad 100644 --- a/reeds/io.py +++ b/reeds/io.py @@ -199,32 +199,16 @@ def get_county_zones( list[str] """ county2zone = get_county2zone(case, as_map=True, **kwargs) - county_zones = ( - county2zone[county2zone == 'p' + county2zone.index] - .tolist() - ) + county_zones = county2zone.loc[ + county2zone.isin( + county2zone.value_counts() + .loc[county2zone.value_counts() == 1] + .index + ) + ].tolist() return county_zones -def has_county_zones( - case: str | Path | None = None, - **kwargs -) -> bool: - """ - Determine whether a zone set has county-level zones. - Reads from the inputs_case folder if {case} is provided or from - the default set of inputs (with key word arguments overriding - case switches, e.g., "GSw_ZoneSet") otherwise. - - Args: - case: Path to a ReEDS case. - - Returns: - bool - """ - county_zones = get_county_zones(case, **kwargs) - return len(county_zones) > 0 - def get_zone_nodes(case=None, crs='ESRI:102008', **kwargs): """Get the transmission node for each model zone""" @@ -1550,12 +1534,10 @@ def assemble_supplycurve( else: dfout['ba'] = dfout['region'].copy() - ## Drop reinforcement cost for counties - if case is not None: - counties = get_county_zones(case) - else: - counties = [] - if len(counties): + if sw.GSw_ZoneSet in reeds.inputs.get_applicable_zonesets( + 'drop_single_county_reinforcement_cost' + ): + counties = get_county_zones(GSw_ZoneSet=sw.GSw_ZoneSet) zerocols = ['cost_reinforcement_usd_per_mw', 'dist_reinforcement_km'] dfout.loc[dfout.region.isin(counties), zerocols] = 0 dfout.loc[dfout.region.isin(counties), 'cost_total_trans_usd_per_mw'] = dfout.loc[ diff --git a/reeds/resource_adequacy/prep_data.py b/reeds/resource_adequacy/prep_data.py index 8a591a00..2579f441 100644 --- a/reeds/resource_adequacy/prep_data.py +++ b/reeds/resource_adequacy/prep_data.py @@ -511,7 +511,12 @@ def intify(v): ## Turn off for counties by setting to zero (zeros in this file mean the max unit ## size is not enforced for that region in ReEDS2PRAS) counties = reeds.io.get_county_zones(casedir) - if len(counties): + unconstrain_counties = sw.GSw_ZoneSet in ( + reeds.inputs.get_applicable_zonesets( + 'reeds2pras_unitsize_unconstrain_counties' + ) + ) + if len(counties) and unconstrain_counties: csvout['max_unitsize'].loc[counties] = 0 #%% Strip water tech suffixes from water-dependent technologies diff --git a/reeds/results.py b/reeds/results.py index 5915af86..5b9a0d91 100644 --- a/reeds/results.py +++ b/reeds/results.py @@ -583,15 +583,12 @@ def calc_reinforcement_spur_capacity_miles(case): .sort_values(by=['r', 'trtype', 'year']) ) - """ - Due to some old ReEDS outputs runs we need to zero out - the reinforcement line for county level regions - (This can be removed in the future if county level - supply curves get reinforcement distance zeroed out) - """ - county_regions = reeds.io.get_county_zones(case) - if len(county_regions): - # Set reinforcement distance to zero for county level regions + sw = reeds.io.get_switches(case) + if sw.GSw_ZoneSet in reeds.inputs.get_applicable_zonesets( + 'drop_single_county_reinforcement_cost' + ): + # Set reinforcement distance to zero for county level regions + county_regions = reeds.io.get_county_zones(case) tech_trans_out = tech_trans_out.loc[ ~( tech_trans_out.r.isin(county_regions) From 58a3e4370c37d283058fd73e68b8710501ead5e9 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 21:49:42 -0400 Subject: [PATCH 27/33] Add type indicators --- reeds/inputs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reeds/inputs.py b/reeds/inputs.py index afa7dbc9..29bd8023 100644 --- a/reeds/inputs.py +++ b/reeds/inputs.py @@ -781,7 +781,7 @@ def get_zoneset_config() -> dict: return config -def get_applicable_zonesets(setting): +def get_applicable_zonesets(setting: str) -> list[str]: """ Get the list of zonesets that a setting should apply to. The provided setting should be a field in 'inputs/zones/zoneset_config.yaml'. From ec3ffea47a839691be28499c16665feaf09d20de Mon Sep 17 00:00:00 2001 From: kodiobika Date: Wed, 24 Jun 2026 22:01:04 -0400 Subject: [PATCH 28/33] Fix formatting --- reeds/input_processing/copy_files.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reeds/input_processing/copy_files.py b/reeds/input_processing/copy_files.py index e42e031a..efcf21b1 100644 --- a/reeds/input_processing/copy_files.py +++ b/reeds/input_processing/copy_files.py @@ -154,7 +154,7 @@ def get_regions_and_agglevel( """ sw = reeds.io.get_switches(inputs_case) -hierarchy = reeds.io.assemble_hierarchy(inputs_case, extra=False) + hierarchy = reeds.io.assemble_hierarchy(inputs_case, extra=False) hierarchy['offshore'] = 0 # Label offshore zones if using if int(sw.GSw_OffshoreZones): From 72664be82ced5f470d437a8276a4f495742f24c9 Mon Sep 17 00:00:00 2001 From: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com> Date: Thu, 25 Jun 2026 10:15:36 -0600 Subject: [PATCH 29/33] describe zoneset_config.yaml in inputs/zones/README.md --- inputs/zones/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/inputs/zones/README.md b/inputs/zones/README.md index 46d36266..1a8ea76d 100644 --- a/inputs/zones/README.md +++ b/inputs/zones/README.md @@ -22,6 +22,7 @@ The lat/lon is used for plotting, representative least-cost paths and greenfield ## Notes on zone options + - `z3109`: 1:1 mapping from counties to zones - Not all counties have high-voltage load buses, so if `GSw_LoadAllocationMethod = state_lpf`, some counties may have zero load. @@ -66,6 +67,7 @@ Once you're happy with your zone and hierarchy level definitions, run the follow - Creates the `zonehash.csv` file - Rewrites the `itl_NARIS.csv`, `transmission_cost_distance.csv`, and `transmission_cost_distance_lines.csv` files (existing data in the file are preserved, so you should only see new rows added, typically at the bottom of the file) +1. If the new zone set requires special processing in ReEDS, add it to the appropriate sections of `inputs/zones/zoneset_config.yaml` (see below) 1. Add the new zone definition to the choices for the `GSw_ZoneSet` switch in `cases.csv` 1. To make sure it worked (or just to read the ITLs in general), you can run `import reeds` and then `reeds.inputs.get_itls(GSw_ZoneSet='your new zoneset name')` in Python with the `reeds2` conda environment activated. 1. Try a ReEDS run. @@ -87,3 +89,11 @@ The offshore zones are not user-adjustable. - `cendiv`: [Census divisions](https://www2.census.gov/geo/pdfs/maps-data/maps/reference/us_regdiv.pdf) - `usda_region`: [USDA Farm Production Regions](https://www.ers.usda.gov/data-products/arms-farm-financial-and-crop-production-practices/documentation) - `h2ptcreg`: Hydrogen tax credit regions ([DOE 2023, Figure 2](https://www.energy.gov/sites/default/files/2023-12/greet-manual_2023-12-20.pdf)) + +- `zoneset_config.yaml`: Settings for zoneset-specific processing. +If `GSw_ZoneSet` is listed beneath one of the following switch names, the described behavior is applied during input processing at the beginning of each ReEDS run using that `GSw_ZoneSet`. + - `drop_single_county_reinforcement_cost`: Drop the network reinforcement cost (a component of the interconnection cost) for new wind/solar capacity in single-county zones + - `drop_interfaces_missing_cost`: If an AC transmission interface has existing capacity but no expansion cost or representative distance, remove its existing capacity and do not allow it to be expanded. + (Turned off for most zone sets because we'd rather stop the run and add the missing data. + Turned on for some zone sets with single-county zones that have no high-voltage transmission lines crossing the single-county zone boundaries.) + - `reeds2pras_unitsize_unconstrain_counties`: Do not specify max unit sizes using the planning reserve margin (PRM) for single-county zones during ReEDS2PRAS unit disaggregation From 8ba17fe00d547a7bdf3f85a4e70a93ddd3b80ac0 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Thu, 25 Jun 2026 13:52:17 -0400 Subject: [PATCH 30/33] Remove now-inaccurate comment --- postprocessing/tableau/tableau_viz_suite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postprocessing/tableau/tableau_viz_suite.py b/postprocessing/tableau/tableau_viz_suite.py index 6634a153..08a2c9b6 100644 --- a/postprocessing/tableau/tableau_viz_suite.py +++ b/postprocessing/tableau/tableau_viz_suite.py @@ -542,7 +542,7 @@ def export(dictin,output_dir): parser.add_argument( '--levels', nargs="+", # '+' means one or more arguments - default=['r'], # this can be 'ba','county','aggreg', depending on the run + default=['r'], help="Spatial resolution for results") parser.add_argument( '--trans_level', type=str, default='transgrp', From a01d4be62a40ecd62625cdbe34211011cd1bec9f Mon Sep 17 00:00:00 2001 From: kodiobika Date: Fri, 26 Jun 2026 10:31:24 -0400 Subject: [PATCH 31/33] Remove now-redundant special handling for county-level runs --- postprocessing/tableau/tableau_viz_suite.py | 159 ++++++-------------- 1 file changed, 45 insertions(+), 114 deletions(-) diff --git a/postprocessing/tableau/tableau_viz_suite.py b/postprocessing/tableau/tableau_viz_suite.py index 08a2c9b6..398d6b20 100644 --- a/postprocessing/tableau/tableau_viz_suite.py +++ b/postprocessing/tableau/tableau_viz_suite.py @@ -23,24 +23,6 @@ #%%### GENERAL FUNCTIONS -def has_county_zones( - case: str | Path | None = None, - **kwargs -) -> bool: - """ - Determine whether a zone set has county-level zones. - Reads from the inputs_case folder if {case} is provided or from - the default set of inputs (with key word arguments overriding - case switches, e.g., "GSw_ZoneSet") otherwise. - - Args: - case: Path to a ReEDS case. - - Returns: - bool - """ - county_zones = reeds.io.get_county_zones(case, **kwargs) - return len(county_zones) > 0 # produce Scenarios.csv def create_scenarios_csv(output_dir,cases): @@ -118,25 +100,13 @@ def produce_hierarchy_file(output_dir,basecase): # clean up region names, ex. turn 'NorthernGrid_West' to 'NorthernGrid West', replace all instances of '_' with ' ' in the entire dataframe hierarchy = hierarchy.replace('_',' ',regex=True) - if has_county_zones(cases[basecase]): - # county2zone has the county FIPS to ReEDS BA mapping - county2zone = pd.read_csv(os.path.join(reeds_path, 'inputs', 'county2zone.csv'), dtype={'FIPS':str},) - county2zone['Region'] = 'p' + county2zone.FIPS - # Add BA info to hierarchy - hierarchy = hierarchy.merge(county2zone.drop(columns=['state']), left_on='r', right_on='Region') - # move the FIPS column to be the first column in the df - hierarchy = hierarchy[['Region'] + [col for col in hierarchy.columns if col != 'Region']] - # export - hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) - else: - # add columns to match the county-level hierarchy.csv format - hierarchy = hierarchy.reset_index() - hierarchy['ba'] = hierarchy['r'] - hierarchy = hierarchy.rename(columns={'r':'Region'}) - hierarchy['FIPS'] = '' # add a blank FIPS column so that the hierarchy.csv has the same columns as when using county-level runs - hierarchy['county_name'] = '' # add a blank county_name column so that the hierarchy.csv has the same columns as when using county-level runs - # then hierarchy.csv is already ready to export - hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) + # reformat + hierarchy = hierarchy.reset_index() + hierarchy['ba'] = hierarchy['r'] + hierarchy = hierarchy.rename(columns={'r':'Region'}) + + # then hierarchy.csv is already ready to export + hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) return @@ -170,50 +140,27 @@ def produce_transmission_endpoints(): os.mkdir(os.path.join(output_dir,'shapefiles','transmission_endpoints')) try: - if has_county_zones(GSw_ZoneSet=dictin_sw[basecase].GSw_ZoneSet): - src_file = os.path.join(reeds_path,'inputs','shapefiles','US_COUNTY_2022','US_COUNTY_2022.shp') - dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') - - # Read the shapefile - gdf = gpd.read_file(src_file) - - # Compute centroids - gdf['geometry'] = gdf.geometry.centroid - - # add 'BA' column to this shapefile, needed for the Tableau join - # county2zone has the county FIPS to ReEDS BA mapping, must be the mapping from the ReEDS repo not inputs_case (which does not have all regions if not running nationally) - county2zone = pd.read_csv(os.path.join(reeds_path,'inputs','county2zone.csv'), dtype={'FIPS':str},index_col='FIPS').squeeze(1) - - gdf['BA'] = gdf['FIPS'].map(lambda x: county2zone['ba'][x]) - - # rename for join in Tableau - gdf = gdf.rename(columns={'rb':'Region'}) - - # Export to shapefile - gdf.to_file(dst_file) - else: - src_file = os.path.join(reeds_path,'inputs','shapefiles','transmission_endpoints','transmission_endpoints.shp') - dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') - - gdf = reeds.io.get_zonemap(cases[basecase]).reset_index().rename(columns={'index':'Region', - 'country':'COUNTRY', - 'st':'STATE',}) - # columns we have: ['geometry', 'node_longitude', 'node_latitude', 'x', 'y', 'offshore', 'centroid_x', 'centroid_y', 'km2', 'aggreg', 'nercr', 'transreg', 'transgrp', 'cendiv', 'st', 'interconnect', 'country', 'usda_region', 'h2ptcreg', 'hurdlereg'], - # columns we need: ['Region', 'FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY', 'BA', 'geometry'] - gdf['geometry'] = gpd.points_from_xy(gdf['x'], gdf['y']) - gdf['BA'] = gdf['Region'] - - # only keep columns needed for Tableau join - keep_cols = ['Region','STATE','COUNTRY','BA','geometry'] - gdf = gdf[keep_cols] - - # add blank columns (ideally these would be populated correctly or removed but they are not used in the merge) - for col in ['FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY']: - # if that column is not in the gdf, add it as a blank column - if col not in gdf.columns: - gdf[col] = '' - - gdf.to_file(dst_file) + dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') + + gdf = reeds.io.get_zonemap(cases[basecase]).reset_index().rename(columns={'index':'Region', + 'country':'COUNTRY', + 'st':'STATE',}) + # columns we have: ['geometry', 'node_longitude', 'node_latitude', 'x', 'y', 'offshore', 'centroid_x', 'centroid_y', 'km2', 'aggreg', 'nercr', 'transreg', 'transgrp', 'cendiv', 'st', 'interconnect', 'country', 'usda_region', 'h2ptcreg', 'hurdlereg'], + # columns we need: ['Region', 'FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY', 'BA', 'geometry'] + gdf['geometry'] = gpd.points_from_xy(gdf['x'], gdf['y']) + gdf['BA'] = gdf['Region'] + + # only keep columns needed for Tableau join + keep_cols = ['Region','STATE','COUNTRY','BA','geometry'] + gdf = gdf[keep_cols] + + # add blank columns (ideally these would be populated correctly or removed but they are not used in the merge) + for col in ['FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY']: + # if that column is not in the gdf, add it as a blank column + if col not in gdf.columns: + gdf[col] = '' + + gdf.to_file(dst_file) except Exception as error: print(error) @@ -309,23 +256,8 @@ def reformat(df,case,metric,years): df['Transmission Planning Subregion End'] = df['Transmission Planning Subregion End'].str.replace("_"," ") # turn NorthernGrid_West to 'NorthernGrid West' df['Transmission Planning Subregion Begin'] = df['Transmission Planning Subregion Begin'].str.replace("_"," ") - if has_county_zones(cases[case]): - # the 'r' column already has the 'p41003' format - df = df.rename(columns={'r':'County'}) - # add a column with the FIPS code (remove the 'p' prefix and turn the value into a integer from the CountyName column) - df['FIPS'] = df['County'].str.replace('p','').astype(int) - - # now need to aggregate up to BA level, county2zone has the county FIPS to ReEDS BA mapping - county2zone = pd.read_csv(os.path.join(cases[case], 'inputs_case', 'county2zone.csv'), dtype={'FIPS':int},index_col='FIPS').squeeze(1) - - # aggregate up to BA level using the hierarchy mapping - df['BA'] = df['FIPS'].map(lambda x: county2zone['ba'][x]) - del df['FIPS'] - else: - # the 'r' column already has the 'p4' BA format - df = df.rename(columns={'r':'BA'}) - # make the county column blank as it will not be used when we are using BA-level runs - df['County']='' + # the 'r' column already has the 'p4' BA format + df = df.rename(columns={'r':'BA'}) # add a column named 'Metric' which helps in the Tableau union df.loc[:,'Metric'] = metric @@ -345,25 +277,25 @@ def reformat(df,case,metric,years): 'scenario':'Scenario'}) if metric == 'Emissions (million metric tonnes)': - df = df.loc[:,['Metric','Scenario','County','BA','Pollutant','Year','Value']] + df = df.loc[:,['Metric','Scenario','BA','Pollutant','Year','Value']] elif metric == 'Coincident Peak End-Use Electricity Demand (GW)': - df = df.loc[:,['Metric','Scenario','County','BA','Year','Value']] + df = df.loc[:,['Metric','Scenario','BA','Year','Value']] elif metric == 'Annual End-Use Electricity Demand (TWh)': - df = df.loc[:,['Metric','Scenario','County','BA','Year','Value','Measure']] + df = df.loc[:,['Metric','Scenario','BA','Year','Value','Measure']] elif metric in ['Transmission Capacity (TW-miles)']: - df = df.loc[:,['Metric','Scenario','County','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] + df = df.loc[:,['Metric','Scenario','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] elif metric in ['Interregional Transmission Capacity (GW)']: - df = df.loc[:,['Metric','Scenario','County','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] + df = df.loc[:,['Metric','Scenario','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] elif metric == 'System Cost (billion $)': - df = df.loc[:,['Metric','Scenario','County','BA','Cost Category','Year','Value']] + df = df.loc[:,['Metric','Scenario','BA','Cost Category','Year','Value']] elif metric == 'Load-Normalized System Cost ($ per MWh)': - df = df.loc[:,['Metric','Scenario','County','BA','Year','Value']] + df = df.loc[:,['Metric','Scenario','BA','Year','Value']] elif metric == 'Hydrogen Production (million metric tonnes)': - df = df.loc[:,['Metric','Scenario','County','BA','Technology','Year','Value']] + df = df.loc[:,['Metric','Scenario','BA','Technology','Year','Value']] elif metric == 'Load Site Capacity (MW)': - df = df.loc[:,['Metric','Scenario','County','BA','Year','Value']] + df = df.loc[:,['Metric','Scenario','BA','Year','Value']] else: - df = df.loc[:,['Metric','Scenario','County','BA','Technology','Year','Value']] + df = df.loc[:,['Metric','Scenario','BA','Technology','Year','Value']] # remove any rows with techs we want to exclude, we want a minimum amount of data passed to Tableau as possible # For example: Technology is not a column in the system cost outputs therefore don't want to assess this for that metric @@ -384,12 +316,11 @@ def set_zero_values(dictin): idx = pd.MultiIndex.from_product( [df['Metric'].unique(), df['Scenario'].unique(), - df['County'].unique(), df['BA'].unique(), df['Technology'].unique(), # ['Offshore Wind'], # done this way, only OSW is populated, would need to apply set_zero_values() separately for each technology if we want to do this for all technologies, which could be a future improvement but for now just doing this for OSW to reduce the size of the data being passed to Tableau and make it easier to read in Tableau df['Year'].unique()], - names=['Metric','Scenario','County','BA','Technology','Year']) # + names=['Metric','Scenario','BA','Technology','Year']) # template = pd.DataFrame(index=idx).reset_index() # loop through the dictionary of dataframes and set any values that are very close to zero (but not exactly zero) to be exactly zero, this is to reduce the size of the data being passed to Tableau and make it easier to read in Tableau @@ -505,7 +436,7 @@ def export(dictin,output_dir): except Exception: print(f'{metric} is empty, not printing this to csv.') # create a blank df to export so that the csv still gets created and Tableau does not break when trying to read in the data - df_blank = pd.DataFrame(columns=['Metric','Scenario','County','BA','Year','Value']) + df_blank = pd.DataFrame(columns=['Metric','Scenario','BA','Year','Value']) df_blank.to_csv(os.path.join(output_dir,'data',f'{metric}.csv'),index=False) pass @@ -623,7 +554,7 @@ def export(dictin,output_dir): # produce hierachy.csv for Tableau to use produce_hierarchy_file(output_dir,basecase) - # copy transmission_endpoints.shp or US_COUNTY_2022.shp if runs are at county resolution + # copy transmission_endpoints.shp produce_transmission_endpoints() # copy US_PCA.shp @@ -694,13 +625,13 @@ def export(dictin,output_dir): dictin_norm_sys_cost = {} metric = 'Load-Normalized System Cost ($ per MWh)' for case in tqdm(cases, desc=metric): - systemcost_total = dictin_systemcost[case].drop(columns=['Metric','Cost Category']).groupby(['Scenario','County','BA','Year'], as_index=False).sum() + systemcost_total = dictin_systemcost[case].drop(columns=['Metric','Cost Category']).groupby(['Scenario','BA','Year'], as_index=False).sum() # Filter to the "Total Demand" in the "Measure" column to avoid double counting annualload_total = dictin_annualload[case][dictin_annualload[case]['Measure'] == 'Total Demand'].drop(columns=['Metric','Measure']) dictin_norm_sys_cost[case] = pd.merge( systemcost_total, annualload_total, - on=['Scenario','County','BA','Year'], + on=['Scenario','BA','Year'], suffixes=('_systemcost','_annualload'), how='right') # Convert TWh to MWh and billion dollars to dollars, then calculate $/MWh From e0d4e37c4f6fc22c1264755e2d001b6de3d62f93 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Fri, 26 Jun 2026 10:44:19 -0400 Subject: [PATCH 32/33] Revert "Remove now-redundant special handling for county-level runs" This reverts commit a01d4be62a40ecd62625cdbe34211011cd1bec9f. --- postprocessing/tableau/tableau_viz_suite.py | 159 ++++++++++++++------ 1 file changed, 114 insertions(+), 45 deletions(-) diff --git a/postprocessing/tableau/tableau_viz_suite.py b/postprocessing/tableau/tableau_viz_suite.py index 398d6b20..08a2c9b6 100644 --- a/postprocessing/tableau/tableau_viz_suite.py +++ b/postprocessing/tableau/tableau_viz_suite.py @@ -23,6 +23,24 @@ #%%### GENERAL FUNCTIONS +def has_county_zones( + case: str | Path | None = None, + **kwargs +) -> bool: + """ + Determine whether a zone set has county-level zones. + Reads from the inputs_case folder if {case} is provided or from + the default set of inputs (with key word arguments overriding + case switches, e.g., "GSw_ZoneSet") otherwise. + + Args: + case: Path to a ReEDS case. + + Returns: + bool + """ + county_zones = reeds.io.get_county_zones(case, **kwargs) + return len(county_zones) > 0 # produce Scenarios.csv def create_scenarios_csv(output_dir,cases): @@ -100,13 +118,25 @@ def produce_hierarchy_file(output_dir,basecase): # clean up region names, ex. turn 'NorthernGrid_West' to 'NorthernGrid West', replace all instances of '_' with ' ' in the entire dataframe hierarchy = hierarchy.replace('_',' ',regex=True) - # reformat - hierarchy = hierarchy.reset_index() - hierarchy['ba'] = hierarchy['r'] - hierarchy = hierarchy.rename(columns={'r':'Region'}) - - # then hierarchy.csv is already ready to export - hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) + if has_county_zones(cases[basecase]): + # county2zone has the county FIPS to ReEDS BA mapping + county2zone = pd.read_csv(os.path.join(reeds_path, 'inputs', 'county2zone.csv'), dtype={'FIPS':str},) + county2zone['Region'] = 'p' + county2zone.FIPS + # Add BA info to hierarchy + hierarchy = hierarchy.merge(county2zone.drop(columns=['state']), left_on='r', right_on='Region') + # move the FIPS column to be the first column in the df + hierarchy = hierarchy[['Region'] + [col for col in hierarchy.columns if col != 'Region']] + # export + hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) + else: + # add columns to match the county-level hierarchy.csv format + hierarchy = hierarchy.reset_index() + hierarchy['ba'] = hierarchy['r'] + hierarchy = hierarchy.rename(columns={'r':'Region'}) + hierarchy['FIPS'] = '' # add a blank FIPS column so that the hierarchy.csv has the same columns as when using county-level runs + hierarchy['county_name'] = '' # add a blank county_name column so that the hierarchy.csv has the same columns as when using county-level runs + # then hierarchy.csv is already ready to export + hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) return @@ -140,27 +170,50 @@ def produce_transmission_endpoints(): os.mkdir(os.path.join(output_dir,'shapefiles','transmission_endpoints')) try: - dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') - - gdf = reeds.io.get_zonemap(cases[basecase]).reset_index().rename(columns={'index':'Region', - 'country':'COUNTRY', - 'st':'STATE',}) - # columns we have: ['geometry', 'node_longitude', 'node_latitude', 'x', 'y', 'offshore', 'centroid_x', 'centroid_y', 'km2', 'aggreg', 'nercr', 'transreg', 'transgrp', 'cendiv', 'st', 'interconnect', 'country', 'usda_region', 'h2ptcreg', 'hurdlereg'], - # columns we need: ['Region', 'FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY', 'BA', 'geometry'] - gdf['geometry'] = gpd.points_from_xy(gdf['x'], gdf['y']) - gdf['BA'] = gdf['Region'] - - # only keep columns needed for Tableau join - keep_cols = ['Region','STATE','COUNTRY','BA','geometry'] - gdf = gdf[keep_cols] - - # add blank columns (ideally these would be populated correctly or removed but they are not used in the merge) - for col in ['FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY']: - # if that column is not in the gdf, add it as a blank column - if col not in gdf.columns: - gdf[col] = '' - - gdf.to_file(dst_file) + if has_county_zones(GSw_ZoneSet=dictin_sw[basecase].GSw_ZoneSet): + src_file = os.path.join(reeds_path,'inputs','shapefiles','US_COUNTY_2022','US_COUNTY_2022.shp') + dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') + + # Read the shapefile + gdf = gpd.read_file(src_file) + + # Compute centroids + gdf['geometry'] = gdf.geometry.centroid + + # add 'BA' column to this shapefile, needed for the Tableau join + # county2zone has the county FIPS to ReEDS BA mapping, must be the mapping from the ReEDS repo not inputs_case (which does not have all regions if not running nationally) + county2zone = pd.read_csv(os.path.join(reeds_path,'inputs','county2zone.csv'), dtype={'FIPS':str},index_col='FIPS').squeeze(1) + + gdf['BA'] = gdf['FIPS'].map(lambda x: county2zone['ba'][x]) + + # rename for join in Tableau + gdf = gdf.rename(columns={'rb':'Region'}) + + # Export to shapefile + gdf.to_file(dst_file) + else: + src_file = os.path.join(reeds_path,'inputs','shapefiles','transmission_endpoints','transmission_endpoints.shp') + dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') + + gdf = reeds.io.get_zonemap(cases[basecase]).reset_index().rename(columns={'index':'Region', + 'country':'COUNTRY', + 'st':'STATE',}) + # columns we have: ['geometry', 'node_longitude', 'node_latitude', 'x', 'y', 'offshore', 'centroid_x', 'centroid_y', 'km2', 'aggreg', 'nercr', 'transreg', 'transgrp', 'cendiv', 'st', 'interconnect', 'country', 'usda_region', 'h2ptcreg', 'hurdlereg'], + # columns we need: ['Region', 'FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY', 'BA', 'geometry'] + gdf['geometry'] = gpd.points_from_xy(gdf['x'], gdf['y']) + gdf['BA'] = gdf['Region'] + + # only keep columns needed for Tableau join + keep_cols = ['Region','STATE','COUNTRY','BA','geometry'] + gdf = gdf[keep_cols] + + # add blank columns (ideally these would be populated correctly or removed but they are not used in the merge) + for col in ['FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY']: + # if that column is not in the gdf, add it as a blank column + if col not in gdf.columns: + gdf[col] = '' + + gdf.to_file(dst_file) except Exception as error: print(error) @@ -256,8 +309,23 @@ def reformat(df,case,metric,years): df['Transmission Planning Subregion End'] = df['Transmission Planning Subregion End'].str.replace("_"," ") # turn NorthernGrid_West to 'NorthernGrid West' df['Transmission Planning Subregion Begin'] = df['Transmission Planning Subregion Begin'].str.replace("_"," ") - # the 'r' column already has the 'p4' BA format - df = df.rename(columns={'r':'BA'}) + if has_county_zones(cases[case]): + # the 'r' column already has the 'p41003' format + df = df.rename(columns={'r':'County'}) + # add a column with the FIPS code (remove the 'p' prefix and turn the value into a integer from the CountyName column) + df['FIPS'] = df['County'].str.replace('p','').astype(int) + + # now need to aggregate up to BA level, county2zone has the county FIPS to ReEDS BA mapping + county2zone = pd.read_csv(os.path.join(cases[case], 'inputs_case', 'county2zone.csv'), dtype={'FIPS':int},index_col='FIPS').squeeze(1) + + # aggregate up to BA level using the hierarchy mapping + df['BA'] = df['FIPS'].map(lambda x: county2zone['ba'][x]) + del df['FIPS'] + else: + # the 'r' column already has the 'p4' BA format + df = df.rename(columns={'r':'BA'}) + # make the county column blank as it will not be used when we are using BA-level runs + df['County']='' # add a column named 'Metric' which helps in the Tableau union df.loc[:,'Metric'] = metric @@ -277,25 +345,25 @@ def reformat(df,case,metric,years): 'scenario':'Scenario'}) if metric == 'Emissions (million metric tonnes)': - df = df.loc[:,['Metric','Scenario','BA','Pollutant','Year','Value']] + df = df.loc[:,['Metric','Scenario','County','BA','Pollutant','Year','Value']] elif metric == 'Coincident Peak End-Use Electricity Demand (GW)': - df = df.loc[:,['Metric','Scenario','BA','Year','Value']] + df = df.loc[:,['Metric','Scenario','County','BA','Year','Value']] elif metric == 'Annual End-Use Electricity Demand (TWh)': - df = df.loc[:,['Metric','Scenario','BA','Year','Value','Measure']] + df = df.loc[:,['Metric','Scenario','County','BA','Year','Value','Measure']] elif metric in ['Transmission Capacity (TW-miles)']: - df = df.loc[:,['Metric','Scenario','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] + df = df.loc[:,['Metric','Scenario','County','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] elif metric in ['Interregional Transmission Capacity (GW)']: - df = df.loc[:,['Metric','Scenario','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] + df = df.loc[:,['Metric','Scenario','County','BA','Transmission Type','Region Begin','Region End','Transmission Planning Subregion Begin','Transmission Planning Subregion End','Value','Year','Measure']] elif metric == 'System Cost (billion $)': - df = df.loc[:,['Metric','Scenario','BA','Cost Category','Year','Value']] + df = df.loc[:,['Metric','Scenario','County','BA','Cost Category','Year','Value']] elif metric == 'Load-Normalized System Cost ($ per MWh)': - df = df.loc[:,['Metric','Scenario','BA','Year','Value']] + df = df.loc[:,['Metric','Scenario','County','BA','Year','Value']] elif metric == 'Hydrogen Production (million metric tonnes)': - df = df.loc[:,['Metric','Scenario','BA','Technology','Year','Value']] + df = df.loc[:,['Metric','Scenario','County','BA','Technology','Year','Value']] elif metric == 'Load Site Capacity (MW)': - df = df.loc[:,['Metric','Scenario','BA','Year','Value']] + df = df.loc[:,['Metric','Scenario','County','BA','Year','Value']] else: - df = df.loc[:,['Metric','Scenario','BA','Technology','Year','Value']] + df = df.loc[:,['Metric','Scenario','County','BA','Technology','Year','Value']] # remove any rows with techs we want to exclude, we want a minimum amount of data passed to Tableau as possible # For example: Technology is not a column in the system cost outputs therefore don't want to assess this for that metric @@ -316,11 +384,12 @@ def set_zero_values(dictin): idx = pd.MultiIndex.from_product( [df['Metric'].unique(), df['Scenario'].unique(), + df['County'].unique(), df['BA'].unique(), df['Technology'].unique(), # ['Offshore Wind'], # done this way, only OSW is populated, would need to apply set_zero_values() separately for each technology if we want to do this for all technologies, which could be a future improvement but for now just doing this for OSW to reduce the size of the data being passed to Tableau and make it easier to read in Tableau df['Year'].unique()], - names=['Metric','Scenario','BA','Technology','Year']) # + names=['Metric','Scenario','County','BA','Technology','Year']) # template = pd.DataFrame(index=idx).reset_index() # loop through the dictionary of dataframes and set any values that are very close to zero (but not exactly zero) to be exactly zero, this is to reduce the size of the data being passed to Tableau and make it easier to read in Tableau @@ -436,7 +505,7 @@ def export(dictin,output_dir): except Exception: print(f'{metric} is empty, not printing this to csv.') # create a blank df to export so that the csv still gets created and Tableau does not break when trying to read in the data - df_blank = pd.DataFrame(columns=['Metric','Scenario','BA','Year','Value']) + df_blank = pd.DataFrame(columns=['Metric','Scenario','County','BA','Year','Value']) df_blank.to_csv(os.path.join(output_dir,'data',f'{metric}.csv'),index=False) pass @@ -554,7 +623,7 @@ def export(dictin,output_dir): # produce hierachy.csv for Tableau to use produce_hierarchy_file(output_dir,basecase) - # copy transmission_endpoints.shp + # copy transmission_endpoints.shp or US_COUNTY_2022.shp if runs are at county resolution produce_transmission_endpoints() # copy US_PCA.shp @@ -625,13 +694,13 @@ def export(dictin,output_dir): dictin_norm_sys_cost = {} metric = 'Load-Normalized System Cost ($ per MWh)' for case in tqdm(cases, desc=metric): - systemcost_total = dictin_systemcost[case].drop(columns=['Metric','Cost Category']).groupby(['Scenario','BA','Year'], as_index=False).sum() + systemcost_total = dictin_systemcost[case].drop(columns=['Metric','Cost Category']).groupby(['Scenario','County','BA','Year'], as_index=False).sum() # Filter to the "Total Demand" in the "Measure" column to avoid double counting annualload_total = dictin_annualload[case][dictin_annualload[case]['Measure'] == 'Total Demand'].drop(columns=['Metric','Measure']) dictin_norm_sys_cost[case] = pd.merge( systemcost_total, annualload_total, - on=['Scenario','BA','Year'], + on=['Scenario','County','BA','Year'], suffixes=('_systemcost','_annualload'), how='right') # Convert TWh to MWh and billion dollars to dollars, then calculate $/MWh From 6862ea5efa0a729d8ae9d2a3e2a53c7d5120f362 Mon Sep 17 00:00:00 2001 From: kodiobika Date: Fri, 26 Jun 2026 10:49:07 -0400 Subject: [PATCH 33/33] Remove now-redundant special handling for county-level runs --- postprocessing/tableau/tableau_viz_suite.py | 133 ++++++-------------- 1 file changed, 35 insertions(+), 98 deletions(-) diff --git a/postprocessing/tableau/tableau_viz_suite.py b/postprocessing/tableau/tableau_viz_suite.py index 08a2c9b6..b469b83c 100644 --- a/postprocessing/tableau/tableau_viz_suite.py +++ b/postprocessing/tableau/tableau_viz_suite.py @@ -23,24 +23,6 @@ #%%### GENERAL FUNCTIONS -def has_county_zones( - case: str | Path | None = None, - **kwargs -) -> bool: - """ - Determine whether a zone set has county-level zones. - Reads from the inputs_case folder if {case} is provided or from - the default set of inputs (with key word arguments overriding - case switches, e.g., "GSw_ZoneSet") otherwise. - - Args: - case: Path to a ReEDS case. - - Returns: - bool - """ - county_zones = reeds.io.get_county_zones(case, **kwargs) - return len(county_zones) > 0 # produce Scenarios.csv def create_scenarios_csv(output_dir,cases): @@ -118,25 +100,15 @@ def produce_hierarchy_file(output_dir,basecase): # clean up region names, ex. turn 'NorthernGrid_West' to 'NorthernGrid West', replace all instances of '_' with ' ' in the entire dataframe hierarchy = hierarchy.replace('_',' ',regex=True) - if has_county_zones(cases[basecase]): - # county2zone has the county FIPS to ReEDS BA mapping - county2zone = pd.read_csv(os.path.join(reeds_path, 'inputs', 'county2zone.csv'), dtype={'FIPS':str},) - county2zone['Region'] = 'p' + county2zone.FIPS - # Add BA info to hierarchy - hierarchy = hierarchy.merge(county2zone.drop(columns=['state']), left_on='r', right_on='Region') - # move the FIPS column to be the first column in the df - hierarchy = hierarchy[['Region'] + [col for col in hierarchy.columns if col != 'Region']] - # export - hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) - else: - # add columns to match the county-level hierarchy.csv format - hierarchy = hierarchy.reset_index() - hierarchy['ba'] = hierarchy['r'] - hierarchy = hierarchy.rename(columns={'r':'Region'}) - hierarchy['FIPS'] = '' # add a blank FIPS column so that the hierarchy.csv has the same columns as when using county-level runs - hierarchy['county_name'] = '' # add a blank county_name column so that the hierarchy.csv has the same columns as when using county-level runs - # then hierarchy.csv is already ready to export - hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) + # add columns to match the county-level hierarchy.csv format + # (required due to legacy downstream handling of counties) + hierarchy = hierarchy.reset_index() + hierarchy['ba'] = hierarchy['r'] + hierarchy = hierarchy.rename(columns={'r':'Region'}) + hierarchy['FIPS'] = '' # add a blank FIPS column so that the hierarchy.csv has the same columns as when using county-level runs + hierarchy['county_name'] = '' # add a blank county_name column so that the hierarchy.csv has the same columns as when using county-level runs + # then hierarchy.csv is already ready to export + hierarchy.to_csv(os.path.join(output_dir,'shapefiles','hierarchy.csv'),index=False) return @@ -170,50 +142,27 @@ def produce_transmission_endpoints(): os.mkdir(os.path.join(output_dir,'shapefiles','transmission_endpoints')) try: - if has_county_zones(GSw_ZoneSet=dictin_sw[basecase].GSw_ZoneSet): - src_file = os.path.join(reeds_path,'inputs','shapefiles','US_COUNTY_2022','US_COUNTY_2022.shp') - dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') - - # Read the shapefile - gdf = gpd.read_file(src_file) - - # Compute centroids - gdf['geometry'] = gdf.geometry.centroid - - # add 'BA' column to this shapefile, needed for the Tableau join - # county2zone has the county FIPS to ReEDS BA mapping, must be the mapping from the ReEDS repo not inputs_case (which does not have all regions if not running nationally) - county2zone = pd.read_csv(os.path.join(reeds_path,'inputs','county2zone.csv'), dtype={'FIPS':str},index_col='FIPS').squeeze(1) - - gdf['BA'] = gdf['FIPS'].map(lambda x: county2zone['ba'][x]) - - # rename for join in Tableau - gdf = gdf.rename(columns={'rb':'Region'}) - - # Export to shapefile - gdf.to_file(dst_file) - else: - src_file = os.path.join(reeds_path,'inputs','shapefiles','transmission_endpoints','transmission_endpoints.shp') - dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') - - gdf = reeds.io.get_zonemap(cases[basecase]).reset_index().rename(columns={'index':'Region', - 'country':'COUNTRY', - 'st':'STATE',}) - # columns we have: ['geometry', 'node_longitude', 'node_latitude', 'x', 'y', 'offshore', 'centroid_x', 'centroid_y', 'km2', 'aggreg', 'nercr', 'transreg', 'transgrp', 'cendiv', 'st', 'interconnect', 'country', 'usda_region', 'h2ptcreg', 'hurdlereg'], - # columns we need: ['Region', 'FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY', 'BA', 'geometry'] - gdf['geometry'] = gpd.points_from_xy(gdf['x'], gdf['y']) - gdf['BA'] = gdf['Region'] - - # only keep columns needed for Tableau join - keep_cols = ['Region','STATE','COUNTRY','BA','geometry'] - gdf = gdf[keep_cols] - - # add blank columns (ideally these would be populated correctly or removed but they are not used in the merge) - for col in ['FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY']: - # if that column is not in the gdf, add it as a blank column - if col not in gdf.columns: - gdf[col] = '' - - gdf.to_file(dst_file) + dst_file = os.path.join(output_dir,'shapefiles','transmission_endpoints','transmission_endpoints.shp') + + gdf = reeds.io.get_zonemap(cases[basecase]).reset_index().rename(columns={'index':'Region', + 'country':'COUNTRY', + 'st':'STATE',}) + # columns we have: ['geometry', 'node_longitude', 'node_latitude', 'x', 'y', 'offshore', 'centroid_x', 'centroid_y', 'km2', 'aggreg', 'nercr', 'transreg', 'transgrp', 'cendiv', 'st', 'interconnect', 'country', 'usda_region', 'h2ptcreg', 'hurdlereg'], + # columns we need: ['Region', 'FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY', 'BA', 'geometry'] + gdf['geometry'] = gpd.points_from_xy(gdf['x'], gdf['y']) + gdf['BA'] = gdf['Region'] + + # only keep columns needed for Tableau join + keep_cols = ['Region','STATE','COUNTRY','BA','geometry'] + gdf = gdf[keep_cols] + + # add blank columns (ideally these would be populated correctly or removed but they are not used in the merge) + for col in ['FIPS', 'NAME', 'NAMELSAD', 'COUNTYFP', 'STATE', 'STCODE', 'STATEFP', 'COUNTRY']: + # if that column is not in the gdf, add it as a blank column + if col not in gdf.columns: + gdf[col] = '' + + gdf.to_file(dst_file) except Exception as error: print(error) @@ -309,23 +258,11 @@ def reformat(df,case,metric,years): df['Transmission Planning Subregion End'] = df['Transmission Planning Subregion End'].str.replace("_"," ") # turn NorthernGrid_West to 'NorthernGrid West' df['Transmission Planning Subregion Begin'] = df['Transmission Planning Subregion Begin'].str.replace("_"," ") - if has_county_zones(cases[case]): - # the 'r' column already has the 'p41003' format - df = df.rename(columns={'r':'County'}) - # add a column with the FIPS code (remove the 'p' prefix and turn the value into a integer from the CountyName column) - df['FIPS'] = df['County'].str.replace('p','').astype(int) - - # now need to aggregate up to BA level, county2zone has the county FIPS to ReEDS BA mapping - county2zone = pd.read_csv(os.path.join(cases[case], 'inputs_case', 'county2zone.csv'), dtype={'FIPS':int},index_col='FIPS').squeeze(1) - - # aggregate up to BA level using the hierarchy mapping - df['BA'] = df['FIPS'].map(lambda x: county2zone['ba'][x]) - del df['FIPS'] - else: - # the 'r' column already has the 'p4' BA format - df = df.rename(columns={'r':'BA'}) - # make the county column blank as it will not be used when we are using BA-level runs - df['County']='' + # the 'r' column already has the 'p4' BA format + df = df.rename(columns={'r':'BA'}) + # make the county column blank as it will not be used when we are using BA-level runs + # (required due to legacy downstream handling of counties) + df['County']='' # add a column named 'Metric' which helps in the Tableau union df.loc[:,'Metric'] = metric