Update retrieve cmadass for json encode.
This commit is contained in:
parent
4a5c7ac19e
commit
42a5ece8f5
@ -105,6 +105,34 @@ def get_rest_result(interface_id, params, url_only=False,
|
||||
return req.data
|
||||
|
||||
|
||||
def _load_contents(contents):
|
||||
"""
|
||||
Extract information from contents.
|
||||
|
||||
Args:
|
||||
contents (string): [description]
|
||||
|
||||
Returns:
|
||||
[type]: [description]
|
||||
"""
|
||||
if contents is None:
|
||||
print('Return None.')
|
||||
return None
|
||||
|
||||
try:
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
print(contents)
|
||||
return None
|
||||
|
||||
if contents['returnCode'] != '0':
|
||||
print(contents)
|
||||
return None
|
||||
|
||||
return contents
|
||||
|
||||
|
||||
def cmadaas_obs_convert_type(obs_data):
|
||||
"""
|
||||
Convert observation dataframe to numeric types.
|
||||
@ -154,11 +182,7 @@ def cmadaas_get_obs_latest_time(data_code="SURF_CHN_MUL_HOR", latestTime=12):
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
contents = _load_contents(contents)
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -207,11 +231,9 @@ def cmadaas_get_obs_files(times, data_code="SURF_CMPA_RT_NC", out_dir=None, pbar
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# loop every file and download
|
||||
out_files = []
|
||||
@ -272,11 +294,9 @@ def cmadaas_obs_by_time(times, data_code="SURF_CHN_MUL_HOR_N",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -343,11 +363,9 @@ def cmadaas_obs_by_time_range(time_range, data_code="SURF_CHN_MUL_HOR_N",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -405,11 +423,9 @@ def cmadaas_obs_by_time_and_id(times, data_code="SURF_CHN_MUL_HOR_N",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -468,11 +484,9 @@ def cmadaas_obs_by_time_range_and_id(time_range, data_code="SURF_CHN_MUL_HOR_N",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -532,11 +546,9 @@ def cmadaas_obs_in_rect_by_time(times, limit, data_code="SURF_CHN_MUL_HOR_N",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -600,11 +612,9 @@ def cmadaas_obs_in_rect_by_time_range(time_range, limit, data_code="SURF_CHN_MUL
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -662,11 +672,9 @@ def cmadaas_obs_in_admin_by_time(times, admin="110000", data_code="SURF_CHN_MUL_
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -730,11 +738,9 @@ def cmadaas_obs_in_admin_by_time_range(time_range, admin="110000", data_code="SU
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -792,11 +798,9 @@ def cmadaas_obs_in_basin_by_time(times, basin="CJLY", data_code="SURF_CHN_MUL_HO
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -861,11 +865,9 @@ def cmadaas_obs_in_basin_by_time_range(time_range, basin="CJLY", data_code="SURF
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -922,11 +924,9 @@ def cmadaas_obs_by_period(minYear, maxYear, minMD, maxMD, data_code="SURF_CHN_MU
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -986,11 +986,9 @@ def cmadaas_obs_by_period_and_id(minYear, maxYear, minMD, maxMD, data_code="SURF
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1050,11 +1048,9 @@ def cmadaas_obs_in_admin_by_period(minYear, maxYear, minMD, maxMD, admin="110000
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1126,11 +1122,9 @@ def cmadaas_obs_grid_by_time(time_str, limit=None, data_code="SURF_CMPA_FAST_5KM
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# get time information
|
||||
time = datetime.strptime(time_str, '%Y%m%d%H%M%S')
|
||||
@ -1261,11 +1255,9 @@ def cmadaas_obs_by_days_of_year(data_code="SURF_CHN_DAY_MMUT_19812010",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1323,11 +1315,9 @@ def cmadaas_obs_by_pens_of_year(data_code="SURF_CHN_PEN_MMUT_19812010",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1385,11 +1375,9 @@ def cmadaas_obs_by_tens_of_year(data_code="SURF_CHN_TEN_MMUT_19812010",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1444,11 +1432,9 @@ def cmadaas_obs_by_months_of_year(data_code="SURF_CHN_MON_MMUT_19812010",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1500,11 +1486,9 @@ def cmadaas_obs_by_years(data_code="SURF_CHN_YER_MMUT_19812010",
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1581,11 +1565,9 @@ def cmadaas_analysis_by_time(time_str, limit=None, data_code='NAFP_CLDAS2.0_NRT_
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# get time information
|
||||
time = datetime.strptime(time_str, '%Y%m%d%H%M%S')
|
||||
@ -1703,11 +1685,9 @@ def cmadaas_get_model_latest_time(data_code="NAFP_ECMF_FTM_HIGH_ANEA_FOR", lates
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# construct pandas DataFrame
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -1791,11 +1771,9 @@ def cmadaas_model_grid(data_code, init_time, valid_time, fcst_ele, fcst_level, l
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# get time information
|
||||
init_time = datetime.strptime(init_time_str, '%Y%m%d%H')
|
||||
@ -2125,11 +2103,9 @@ def cmadaas_model_by_time(init_time, valid_time=0, limit=None,
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# get time information
|
||||
init_time = datetime.strptime(init_time_str, '%Y%m%d%H')
|
||||
@ -2263,11 +2239,9 @@ def cmadaas_model_by_pionts(init_time_str, data_code='NAFP_FOR_FTM_HIGH_EC_ANEA'
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# convert to numeric
|
||||
data = pd.DataFrame(contents['DS'])
|
||||
@ -2378,11 +2352,9 @@ def cmadaas_get_model_file(time, data_code="NAFP_FOR_FTM_HIGH_EC_ANEA", fcst_ele
|
||||
|
||||
# retrieve data contents
|
||||
contents = get_rest_result(interface_id, params)
|
||||
contents = _load_contents(contents)
|
||||
if contents is None:
|
||||
return None
|
||||
contents = json.loads(contents.decode('utf-8').replace('\x00', ''), strict=False)
|
||||
if contents['returnCode'] != '0':
|
||||
return None
|
||||
|
||||
# just return the url
|
||||
if just_url:
|
||||
|
Loading…
Reference in New Issue
Block a user