Browse Source

Added tests for wspd_wdir

lon0
Bill Ladwig 6 years ago
parent
commit
b26cb377b9
  1. 30
      test/ncl_get_var.ncl
  2. 19
      test/utests.py

30
test/ncl_get_var.ncl

@ -32,7 +32,9 @@
"geopt", "helicity", "lat", "lon", "omg", "p", "pressure", \ "geopt", "helicity", "lat", "lon", "omg", "p", "pressure", \
"pvo", "pw", "rh2", "rh", "slp", "ter", "td2", "td", "tc", \ "pvo", "pw", "rh2", "rh", "slp", "ter", "td2", "td", "tc", \
"theta", "tk", "tv", "twb", "updraft_helicity", "ua", "va", \ "theta", "tk", "tv", "twb", "updraft_helicity", "ua", "va", \
"wa", "uvmet10", "uvmet", "z", "cfrac", "height_agl" /] "wa", "uvmet10", "uvmet", "z", "cfrac", "height_agl", \
"wspd_wdir", "wspd_wdir10", "uvmet_wspd_wdir", \
"uvmet10_wspd_wdir" /]
unique_dimname_list = NewList("fifo") unique_dimname_list = NewList("fifo")
unique_dimsize_list = NewList("fifo") unique_dimsize_list = NewList("fifo")
@ -87,7 +89,7 @@
xopt@timeidx = time xopt@timeidx = time
xopt@linecoords = True xopt@linecoords = True
ht_vertcross1 = wrf_user_vertcross(z, p, pivot, xopt) ht_vertcross1 = wrf_user_vert_cross(z, p, pivot, xopt)
fout->ht_vertcross1 = ht_vertcross1 fout->ht_vertcross1 = ht_vertcross1
@ -100,7 +102,7 @@
xopt@timeidx = time xopt@timeidx = time
xopt@linecoords = True xopt@linecoords = True
ht_vertcross2 = wrf_user_vertcross(z, p, pivot, xopt) ht_vertcross2 = wrf_user_vert_cross(z, p, pivot, xopt)
ht_vertcross2!1 = "vertical2" ht_vertcross2!1 = "vertical2"
ht_vertcross2!2 = "cross_line_idx2" ht_vertcross2!2 = "cross_line_idx2"
@ -131,7 +133,7 @@
xopt@linecoords = True xopt@linecoords = True
xopt@autolevels = 1000 xopt@autolevels = 1000
ht_vertcross3 = wrf_user_vertcross(z, p, start_end, xopt) ht_vertcross3 = wrf_user_vert_cross(z, p, start_end, xopt)
ht_vertcross3!0 = "Time" ht_vertcross3!0 = "Time"
ht_vertcross3!1 = "vertical3" ht_vertcross3!1 = "vertical3"
@ -150,7 +152,7 @@
p_var := p(i,:,:,:) p_var := p(i,:,:,:)
z_var := z(i,:,:,:) z_var := z(i,:,:,:)
ht_vertcross := wrf_user_vertcross(z_var, p_var, start_end, xopt) ht_vertcross := wrf_user_vert_cross(z_var, p_var, start_end, xopt)
dim0name = sprinti("vertical_t%i",i) dim0name = sprinti("vertical_t%i",i)
dim1name = sprinti("cross_line_idx_t%i",i) dim1name = sprinti("cross_line_idx_t%i",i)
@ -190,8 +192,8 @@
plev := 500. ; 500 MB plev := 500. ; 500 MB
hlev := 5000 ; 5000 m hlev := 5000 ; 5000 m
z2_500 = wrf_user_interplevel(z,p,plev,False) z2_500 = wrf_user_interp_level(z,p,plev,False)
p2_5000 = wrf_user_interplevel(p,z,hlev,False) p2_5000 = wrf_user_interp_level(p,z,hlev,False)
fout->z2_500 = z2_500 fout->z2_500 = z2_500
fout->p2_5000 = p2_5000 fout->p2_5000 = p2_5000
@ -199,8 +201,8 @@
plev := (/1000., 850., 500., 250./) plev := (/1000., 850., 500., 250./)
hlev := (/500., 2500., 5000., 10000. /) hlev := (/500., 2500., 5000., 10000. /)
z2_multi = wrf_user_interplevel(z,p,plev,False) z2_multi = wrf_user_interp_level(z,p,plev,False)
p2_multi = wrf_user_interplevel(p,z,hlev,False) p2_multi = wrf_user_interp_level(p,z,hlev,False)
fout->z2_multi = z2_multi fout->z2_multi = z2_multi
fout->p2_multi = p2_multi fout->p2_multi = p2_multi
@ -208,7 +210,7 @@
pblh = wrf_user_getvar(input_file, "PBLH", time) pblh = wrf_user_getvar(input_file, "PBLH", time)
opts := False opts := False
opts@inc2dlevs = True opts@inc2dlevs = True
p_lev2d = wrf_user_interplevel(p, z, pblh, opts) p_lev2d = wrf_user_interp_level(p, z, pblh, opts)
fout->p_lev2d = p_lev2d fout->p_lev2d = p_lev2d
@ -234,7 +236,7 @@
xopt@timeidx = 0 xopt@timeidx = 0
xopt@linecoords = True xopt@linecoords = True
t2_line2 = wrf_user_interpline(t2, pivot, xopt) t2_line2 = wrf_user_interp_line(t2, pivot, xopt)
fout->t2_line2 = t2_line2 fout->t2_line2 = t2_line2
@ -257,7 +259,7 @@
xopt@timeidx = 0 xopt@timeidx = 0
xopt@linecoords = True xopt@linecoords = True
t2_line3 = wrf_user_interpline(t2, start_end, xopt) t2_line3 = wrf_user_interp_line(t2, start_end, xopt)
t2_line3!1 = "line_idx_t2_line3" t2_line3!1 = "line_idx_t2_line3"
fout->t2_line3 = t2_line3 fout->t2_line3 = t2_line3
@ -270,7 +272,7 @@
name = sprinti("t2_line_t%i", i) name = sprinti("t2_line_t%i", i)
dim0name = sprinti("lineidx_t%i",i) dim0name = sprinti("lineidx_t%i",i)
var := t2(i,:,:) var := t2(i,:,:)
t2_line := wrf_user_interpline(var, start_end, xopt) t2_line := wrf_user_interp_line(var, start_end, xopt)
t2_line!0 = dim0name t2_line!0 = dim0name
fout->$name$ = t2_line fout->$name$ = t2_line
end do end do
@ -286,7 +288,7 @@
xopt@timeidx = 0 xopt@timeidx = 0
xopt@linecoords = True xopt@linecoords = True
t2_line4 = wrf_user_interpline(t2, start_end, xopt) t2_line4 = wrf_user_interp_line(t2, start_end, xopt)
t2_line4!0 = "t2_line4_idx" t2_line4!0 = "t2_line4_idx"
fout->t2_line4 = t2_line4 fout->t2_line4 = t2_line4

19
test/utests.py

@ -98,10 +98,13 @@ def make_test(varname, dir, pattern, referent, multi=False, pynio=False):
pass pass
# These have a left index that defines the product type # These have a left index that defines the product type
multiproduct = varname in ("uvmet", "uvmet10", "cape_2d", "cape_3d", multiproduct = varname in ("uvmet", "uvmet10", "wspd_wdir",
"cfrac") "wspd_wdir10", "uvmet_wspd_wdir",
multi2d = ("uvmet10", "cape_2d", "cfrac") "uvmet10_wspd_wdir",
multi3d = ("uvmet", "cape_3d") "cape_2d", "cape_3d", "cfrac")
multi2d = ("uvmet10", "wspd_wdir10", "uvmet10_wspd_wdir",
"cape_2d", "cfrac")
multi3d = ("uvmet", "wspd_wdir", "uvmet_wspd_wdir", "cape_3d")
# These varnames don't have NCL functions to test against # These varnames don't have NCL functions to test against
ignore_referent = ("zstag", "geopt_stag") ignore_referent = ("zstag", "geopt_stag")
@ -200,8 +203,9 @@ def _get_refvals(referent, varname, multi):
except: except:
pass pass
multi2d = ("uvmet10", "cape_2d", "cfrac") multi2d = ("uvmet10", "wspd_wdir10", "uvmet10_wspd_wdir",
multi3d = ("uvmet", "cape_3d") "cape_2d", "cfrac")
multi3d = ("uvmet", "wspd_wdir", "uvmet_wspd_wdir", "cape_3d")
interpline = ("t2_line","t2_line2", "t2_line3") interpline = ("t2_line","t2_line2", "t2_line3")
if not multi: if not multi:
@ -958,7 +962,8 @@ if __name__ == "__main__":
"pvo", "pw", "rh2", "rh", "slp", "ter", "td2", "td", "tc", "pvo", "pw", "rh2", "rh", "slp", "ter", "td2", "td", "tc",
"theta", "tk", "tv", "twb", "updraft_helicity", "ua", "va", "theta", "tk", "tv", "twb", "updraft_helicity", "ua", "va",
"wa", "uvmet10", "uvmet", "z", "cfrac", "zstag", "geopt_stag", "wa", "uvmet10", "uvmet", "z", "cfrac", "zstag", "geopt_stag",
"height_agl"] "height_agl", "wspd_wdir", "wspd_wdir10", "uvmet_wspd_wdir",
"uvmet10_wspd_wdir"]
interp_methods = ["interplevel", "vertcross", "interpline", "vinterp"] interp_methods = ["interplevel", "vertcross", "interpline", "vinterp"]
latlon_tests = ["xy", "ll"] latlon_tests = ["xy", "ll"]

Loading…
Cancel
Save