|
|
@ -124,43 +124,43 @@ _FUNC_MAP = {"cape2d" : get_2dcape, |
|
|
|
"ctt" : get_ctt |
|
|
|
"ctt" : get_ctt |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_VALID_ARGS = {"cape2d" : ["missing", "timeidx"], |
|
|
|
_VALID_KARGS = {"cape2d" : ["missing"], |
|
|
|
"cape3d" : ["missing", "timeidx"], |
|
|
|
"cape3d" : ["missing"], |
|
|
|
"dbz" : ["do_variant", "do_liqskin", "timeidx"], |
|
|
|
"dbz" : ["do_variant", "do_liqskin"], |
|
|
|
"maxdbz" : ["do_variant", "do_liqskin", "timeidx"], |
|
|
|
"maxdbz" : ["do_variant", "do_liqskin"], |
|
|
|
"dp" : ["timeidx", "units"], |
|
|
|
"dp" : ["units"], |
|
|
|
"dp2m" : ["timeidx", "units"], |
|
|
|
"dp2m" : ["units"], |
|
|
|
"height" : ["msl", "units", "timeidx"], |
|
|
|
"height" : ["msl", "units"], |
|
|
|
"geopt" : ["timeidx"], |
|
|
|
"geopt" : [], |
|
|
|
"srh" : ["top", "timeidx"], |
|
|
|
"srh" : ["top"], |
|
|
|
"uhel" : ["bottom", "top", "timeidx"], |
|
|
|
"uhel" : ["bottom", "top"], |
|
|
|
"omega" : ["timeidx"], |
|
|
|
"omega" : [], |
|
|
|
"pw" : ["timeidx"], |
|
|
|
"pw" : [], |
|
|
|
"rh" : ["timeidx"], |
|
|
|
"rh" : [], |
|
|
|
"rh2m" : ["timeidx"], |
|
|
|
"rh2m" : [], |
|
|
|
"slp" : ["units", "timeidx"], |
|
|
|
"slp" : ["units"], |
|
|
|
"temp" : ["units", "timeidx"], |
|
|
|
"temp" : ["units"], |
|
|
|
"theta" : ["units", "timeidx"], |
|
|
|
"theta" : ["units"], |
|
|
|
"theta_e" : ["timeidx", "units"], |
|
|
|
"theta_e" : ["units"], |
|
|
|
"tv" : ["units", "timeidx"], |
|
|
|
"tv" : ["units"], |
|
|
|
"twb" : ["units", "timeidx"], |
|
|
|
"twb" : ["units"], |
|
|
|
"terrain" : ["units", "timeidx"], |
|
|
|
"terrain" : ["units"], |
|
|
|
"times" : ["timeidx"], |
|
|
|
"times" : [], |
|
|
|
"uvmet" : ["units", "timeidx"], |
|
|
|
"uvmet" : ["units"], |
|
|
|
"uvmet10" : ["units", "timeidx"], |
|
|
|
"uvmet10" : ["units"], |
|
|
|
"avo" : ["timeidx"], |
|
|
|
"avo" : [], |
|
|
|
"pvo" : ["timeidx"], |
|
|
|
"pvo" : [], |
|
|
|
"ua" : ["units", "timeidx"], |
|
|
|
"ua" : ["units"], |
|
|
|
"va" : ["units", "timeidx"], |
|
|
|
"va" : ["units"], |
|
|
|
"wa" : ["units", "timeidx"], |
|
|
|
"wa" : ["units"], |
|
|
|
"lat" : ["timeidx"], |
|
|
|
"lat" : [], |
|
|
|
"lon" : ["timeidx"], |
|
|
|
"lon" : [], |
|
|
|
"pressure" : ["units", "timeidx"], |
|
|
|
"pressure" : ["units"], |
|
|
|
"wspddir" : ["units", "timeidx"], |
|
|
|
"wspddir" : ["units"], |
|
|
|
"wspddir_uvmet" : ["units", "timeidx"], |
|
|
|
"wspddir_uvmet" : ["units"], |
|
|
|
"wspddir_uvmet10" : ["units", "timeidx"], |
|
|
|
"wspddir_uvmet10" : ["units"], |
|
|
|
"ctt" : ["timeidx"], |
|
|
|
"ctt" : [], |
|
|
|
"default" : ["timeidx"] |
|
|
|
"default" : [] |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_ALIASES = {"cape_2d" : "cape2d", |
|
|
|
_ALIASES = {"cape_2d" : "cape2d", |
|
|
@ -198,25 +198,21 @@ def _undo_alias(alias): |
|
|
|
|
|
|
|
|
|
|
|
def _check_kargs(var, kargs): |
|
|
|
def _check_kargs(var, kargs): |
|
|
|
for arg in kargs.iterkeys(): |
|
|
|
for arg in kargs.iterkeys(): |
|
|
|
if arg not in _VALID_ARGS[var]: |
|
|
|
if arg not in _VALID_KARGS[var]: |
|
|
|
raise ArgumentError("'%s' is an invalid keyword " |
|
|
|
raise ArgumentError("'%s' is an invalid keyword " |
|
|
|
"argument for '%s" % (arg, var)) |
|
|
|
"argument for '%s'" % (arg, var)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getvar(wrfnc, var, **kargs): |
|
|
|
def getvar(wrfnc, var, timeidx=0, **kargs): |
|
|
|
if is_standard_wrf_var(wrfnc, var): |
|
|
|
if is_standard_wrf_var(wrfnc, var): |
|
|
|
if "timeidx" in kargs: |
|
|
|
|
|
|
|
timeidx = kargs["timeidx"] |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
timeidx = 0 |
|
|
|
|
|
|
|
return extract_vars(wrfnc, timeidx, var)[var] |
|
|
|
return extract_vars(wrfnc, timeidx, var)[var] |
|
|
|
|
|
|
|
|
|
|
|
actual_var = _undo_alias(var) |
|
|
|
actual_var = _undo_alias(var) |
|
|
|
if actual_var not in _VALID_ARGS: |
|
|
|
if actual_var not in _VALID_KARGS: |
|
|
|
raise ArgumentError("'%s' is not a valid variable name" % (var)) |
|
|
|
raise ArgumentError("'%s' is not a valid variable name" % (var)) |
|
|
|
|
|
|
|
|
|
|
|
_check_kargs(actual_var, kargs) |
|
|
|
_check_kargs(actual_var, kargs) |
|
|
|
return _FUNC_MAP[actual_var](wrfnc,**kargs) |
|
|
|
return _FUNC_MAP[actual_var](wrfnc,timeidx,**kargs) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|