Add support level_type="-" for retrieve_cmadaas.

This commit is contained in:
NMC-DAVE 2022-09-27 20:15:32 +08:00
parent 356ccb4b45
commit 0975b7f639
2 changed files with 30 additions and 14 deletions

@ -1343,7 +1343,7 @@ def cimiss_model_grid(data_code, init_time_str, valid_time, fcst_ele, fcst_level
if limit is None:
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
interface_id = 'getNafpEleGridByTimeAndLevelAndValidtime'
@ -1354,7 +1354,7 @@ def cimiss_model_grid(data_code, init_time_str, valid_time, fcst_ele, fcst_level
"minLon": '{:.10f}'.format(limit[1]),
"maxLat": '{:.10f}'.format(limit[2]),
"maxLon": '{:.10f}'.format(limit[3]),
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
interface_id = 'getNafpEleGridInRectByTimeAndLevelAndValidtime'
@ -1387,6 +1387,10 @@ def cimiss_model_grid(data_code, init_time_str, valid_time, fcst_ele, fcst_level
if units is None:
units = contents['fieldUnits']
# set missing fcst_level for fcst_leve='-'
if type(fcst_level) == str:
fcst_level = 0
# define coordinates and variables
time_coord = ('time', time)
lon_coord = ('lon', lon, {
@ -1659,7 +1663,7 @@ def cimiss_model_by_time(init_time_str, valid_time=0, limit=None,
if limit is None:
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
interface_id = 'getNafpEleGridByTimeAndLevelAndValidtime'
@ -1670,7 +1674,7 @@ def cimiss_model_by_time(init_time_str, valid_time=0, limit=None,
"minLon": '{:.10f}'.format(limit[1]),
"maxLat": '{:.10f}'.format(limit[2]),
"maxLon": '{:.10f}'.format(limit[3]),
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
interface_id = 'getNafpEleGridInRectByTimeAndLevelAndValidtime'
@ -1703,6 +1707,10 @@ def cimiss_model_by_time(init_time_str, valid_time=0, limit=None,
if units is None:
units = contents['fieldUnits']
# set missing fcst_level for fcst_leve='-'
if type(fcst_level) == str:
fcst_level = 0
# define coordinates and variables
time_coord = ('time', time)
lon_coord = ('lon', lon, {
@ -1800,7 +1808,7 @@ def cimiss_model_by_piont(init_time_str,
# set retrieve parameters
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'minVT': '{:d}'.format(time_range[0]),
'maxVT': '{:d}'.format(time_range[1]),
'latLons': points,

@ -2139,7 +2139,7 @@ def cmadaas_model_grid(data_code, init_time, valid_time, fcst_ele, fcst_level, l
if limit is None:
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
@ -2151,7 +2151,7 @@ def cmadaas_model_grid(data_code, init_time, valid_time, fcst_ele, fcst_level, l
"minLon": '{:.10f}'.format(limit[1]),
"maxLat": '{:.10f}'.format(limit[2]),
"maxLon": '{:.10f}'.format(limit[3]),
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
@ -2160,7 +2160,7 @@ def cmadaas_model_grid(data_code, init_time, valid_time, fcst_ele, fcst_level, l
if limit is None:
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele,
@ -2173,7 +2173,7 @@ def cmadaas_model_grid(data_code, init_time, valid_time, fcst_ele, fcst_level, l
"minLon": '{:.10f}'.format(limit[1]),
"maxLat": '{:.10f}'.format(limit[2]),
"maxLon": '{:.10f}'.format(limit[3]),
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele,
@ -2206,6 +2206,10 @@ def cmadaas_model_grid(data_code, init_time, valid_time, fcst_ele, fcst_level, l
if units is None:
units = contents['fieldUnits']
# set missing fcst_level for fcst_leve='-'
if type(fcst_level) == str:
fcst_level = 0
# define coordinates and variables
time_coord = ('time', time)
lon_coord = ('lon', lon, {
@ -2517,7 +2521,7 @@ def cmadaas_model_by_time(init_time, valid_time=0, limit=None, fcst_member=None,
if limit is None:
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
@ -2529,7 +2533,7 @@ def cmadaas_model_by_time(init_time, valid_time=0, limit=None, fcst_member=None,
"minLon": '{:.10f}'.format(limit[1]),
"maxLat": '{:.10f}'.format(limit[2]),
"maxLon": '{:.10f}'.format(limit[3]),
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele}
@ -2538,7 +2542,7 @@ def cmadaas_model_by_time(init_time, valid_time=0, limit=None, fcst_member=None,
if limit is None:
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele,
@ -2551,7 +2555,7 @@ def cmadaas_model_by_time(init_time, valid_time=0, limit=None, fcst_member=None,
"minLon": '{:.10f}'.format(limit[1]),
"maxLat": '{:.10f}'.format(limit[2]),
"maxLon": '{:.10f}'.format(limit[3]),
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'validTime': '{:d}'.format(valid_time),
'fcstEle': fcst_ele,
@ -2585,6 +2589,10 @@ def cmadaas_model_by_time(init_time, valid_time=0, limit=None, fcst_member=None,
if units is None:
units = contents['fieldUnits']
# set missing fcst_level for fcst_leve='-'
if type(fcst_level) == str:
fcst_level = 0
# define coordinates and variables
time_coord = ('time', time)
lon_coord = ('lon', lon, {
@ -2703,7 +2711,7 @@ def cmadaas_model_by_pionts(init_time_str, data_code='NAFP_FOR_FTM_HIGH_EC_ANEA'
# set retrieve parameters
params = {'dataCode': data_code,
'time': init_time_str + '0000',
'fcstLevel': '{:d}'.format(fcst_level),
'fcstLevel': fcst_level if type(fcst_level) == str else '{:d}'.format(fcst_level),
'levelType': level_type if type(level_type) == str else '{:d}'.format(level_type),
'minVT': '{:d}'.format(time_range[0]),
'maxVT': '{:d}'.format(time_range[1]),