extract_stations_dict = { } # keys: station_name , value: [latitude, longitude, target_method] for obs_index in range(len(extract_stations)): extract_stations_dict[extract_stations[obs_index][0]] = [ extract_stations[obs_index][1], extract_stations[obs_index][2], extract_stations[obs_index][3] ] for station_name in extract_stations_dict.keys(): fcst_station_name = None methods = [] if station_name in ('colombo', 'mattakkuliya'): fcst_station_name = 'colombo' #temporary# methods.append(MethodEnum.getAbbreviation(MethodEnum.TSF)) methods.append(MethodEnum.getAbbreviation(MethodEnum.MGF)) elif station_name in ('wellawatta'): fcst_station_name = 'wellawatta' methods.append(MethodEnum.getAbbreviation(MethodEnum.TSF)) methods.append(MethodEnum.getAbbreviation(MethodEnum.MGF)) else: continue #skip current iteration for method in methods: meta_data = { 'latitude': float('%.6f' % float(extract_stations_dict.get(station_name)[0])), 'longitude':
db=CURW_FCST_DATABASE) TS = Timeseries(pool=curw_sim_pool) # [station_name,latitude,longitude,target,model,version,sim_tag,station] extract_stations = read_csv( 'grids/discharge_stations/mike_stations.csv') for i in range(len(extract_stations)): station_name = extract_stations[i][0] latitude = extract_stations[i][1] longitude = extract_stations[i][2] target_model = extract_stations[i][3] if station_name in ('ambatale'): method = MethodEnum.getAbbreviation(MethodEnum.MME) else: continue ## skip the current station and move to next iteration meta_data = { 'latitude': float('%.6f' % float(latitude)), 'longitude': float('%.6f' % float(longitude)), 'model': target_model, 'method': method, 'grid_id': 'discharge_{}'.format(station_name) } tms_id = TS.get_timeseries_id_if_exists(meta_data=meta_data) if tms_id is None: tms_id = TS.generate_timeseries_id(meta_data=meta_data)
if opt in ("-h", "--help"): usage() sys.exit() elif opt in ("-m", "--flo2d_model"): flo2d_model = arg.strip() elif opt in ("-s", "--start_time"): start_time = arg.strip() elif opt in ("-e", "--end_time"): end_time = arg.strip() elif opt in ("-g", "--grid_tag"): grid_tag = arg.strip() if grid_tag == "MDPA": grid_interpolation = GridInterpolationEnum.getAbbreviation( GridInterpolationEnum.MDPA) method = MethodEnum.getAbbreviation(MethodEnum.OBS) else: exit(0) if flo2d_model is None: print("Flo2d model is not specified.") exit(1) elif flo2d_model not in ("flo2d_250", "flo2d_150", "flo2d_150_v2"): print( "Flo2d model should be either \"flo2d_250\" or \"flo2d_150\" or \"flo2d_150_v2\"" ) exit(1) if start_time is None: start_time = (datetime.now() - timedelta(days=3)).strftime('%Y-%m-%d 23:30:00')