Exemplo n.º 1
0
                         cfg['OPTION']['start_date'][1], \
                         cfg['OPTION']['start_date'][2], 12, 0)
end_date = dt.datetime(cfg['OPTION']['end_date'][0], \
                       cfg['OPTION']['end_date'][1], \
                       cfg['OPTION']['end_date'][2], 12, 0)

#================================================#
# Load dam info
#================================================#
df_dam_info = pd.read_csv(cfg['INPUT']['dam_to_model_info_path'])

#================================================#
# Load and process RVIC flow
#================================================#
# Load data
da_rvic = my_functions.read_RVIC_output(cfg['INPUT']['rvic_output_nc'], \
                                        output_format='grid', outlet_ind=-1)  # [cfs]
# Extract period of time to consider
da_rvic_to_consider = da_rvic.sel(time=slice(start_date, end_date))

#================================================#
# Process each dam
# 10% exceedence, daily data
#================================================#
#=== Loop over each dam ===#
for i in range(len(df_dam_info)):
    #=== Get dam info ===#
    lat = df_dam_info.ix[i, 'grid_lat']
    lon = df_dam_info.ix[i, 'grid_lon']
    dam_number = df_dam_info.ix[i, 'dam_number']
    dam_name = df_dam_info.ix[i, 'dam_name']
    print 'Processing dam {}...'.format(dam_number)
Exemplo n.º 2
0
                names.append('flow%d' %i)
            df_usgs = my_functions.read_USGS_data(cfg[input_section]['ts_path'], \
                                          columns=usgs_flow_col_split, \
                                          names=names) / 1000  # convert to thousand cfs
            s = df_usgs.mean(axis=1, skipna=False) # if either column is missing,
                                                        # return NaN
    # If TVA pass-through flow data
    elif cfg[input_section]['ts_format']=='TVA':
        s = my_functions.read_TVA_pass_through_flow(cfg[input_section]['ts_path'], \
                                        dam_num=cfg[input_section]['dam_num']) \
                                        / 1000  # convert to thousand cfs

    # If RVIC output array format
    elif cfg[input_section]['ts_format']=='RVIC_array':
        df, dict_outlet = my_functions.read_RVIC_output(cfg[input_section]['ts_path'], \
                                      output_format='array', \
                                      outlet_ind=cfg[input_section]['outlet_ind'])
        df = df / 1000  # convert to thousand cfs
        s = df.ix[:,0]
        s.index -= dt.timedelta(hours=12)

    # If RVIC output grid format
    elif cfg[input_section]['ts_format']=='RVIC_grid':
        s = my_functions.read_RVIC_output(cfg[input_section]['ts_path'], \
                                      output_format='grid', \
                                      outlet_ind=(cfg[input_section]['outlet_lat'], \
                                                  cfg[input_section]['outlet_lon']))
        s = s / 1000  # convert to thousand cfs
        s.index -= dt.timedelta(hours=12)

    # If reservoir simulation output format
Exemplo n.º 3
0
            df_usgs = my_functions.read_USGS_data(cfg[input_section]['ts_path'], \
                                          columns=usgs_flow_col_split, \
                                          names=names) / 1000  # convert to thousand cfs
            s = df_usgs.mean(axis=1,
                             skipna=False)  # if either column is missing,
            # return NaN
    # If TVA pass-through flow data
    elif cfg[input_section]['ts_format'] == 'TVA':
        s = my_functions.read_TVA_pass_through_flow(cfg[input_section]['ts_path'], \
                                        dam_num=cfg[input_section]['dam_num']) \
                                        / 1000  # convert to thousand cfs

    # If RVIC output array format
    elif cfg[input_section]['ts_format'] == 'RVIC_array':
        df, dict_outlet = my_functions.read_RVIC_output(cfg[input_section]['ts_path'], \
                                      output_format='array', \
                                      outlet_ind=cfg[input_section]['outlet_ind'])
        df = df / 1000  # convert to thousand cfs
        s = df.ix[:, 0]
        s.index -= dt.timedelta(hours=12)

    # If RVIC output grid format
    elif cfg[input_section]['ts_format'] == 'RVIC_grid':
        s = my_functions.read_RVIC_output(cfg[input_section]['ts_path'], \
                                      output_format='grid', \
                                      outlet_ind=(cfg[input_section]['outlet_lat'], \
                                                  cfg[input_section]['outlet_lon']))
        s = s / 1000  # convert to thousand cfs
        s.index -= dt.timedelta(hours=12)

    # If reservoir simulation output format