A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

79 lines
2.1 KiB

import unittest as ut
import numpy.testing as nt
import numpy as np
import numpy.ma as ma
import os
import sys
import subprocess
from wrf import getvar, ALL_TIMES
TEST_DIR = "/Users/ladwig/Documents/wrf_files/wrf_vortex_multi/moving_nest"
TEST_FILENAMES = ["wrfout_d02_2005-08-28_00:00:00",
"wrfout_d02_2005-08-28_12:00:00",
"wrfout_d02_2005-08-29_00:00:00"]
TEST_FILES = [os.path.join(TEST_DIR, x) for x in TEST_FILENAMES]
# Python 3
if sys.version_info > (3,):
xrange = range
class WRFFileVarsTest(ut.TestCase):
longMessage = True
def make_test(ncfiles, varname):
def test(self):
# import time
# very_start = time.time()
# start = time.time()
t1 = getvar(ncfiles, varname, 0)
# end = time.time()
# print("t1: ", start-end)
# start = time.time()
t2 = getvar(ncfiles, varname, 0, meta=False)
# end = time.time()
# print("t2: ", start-end)
# start = time.time()
t3 = getvar(ncfiles, varname, ALL_TIMES)
# end = time.time()
# print("t3: ", start-end)
# start = time.time()
t4 = getvar(ncfiles, varname, ALL_TIMES, meta=False)
# end = time.time()
# print("t4: ", start-end)
# start = time.time()
t5 = getvar(ncfiles, varname, ALL_TIMES, method="join")
# end = time.time()
# print("t5: ", start-end)
# start = time.time()
t6 = getvar(ncfiles, varname, ALL_TIMES, method="join", meta=False)
# end = time.time()
# print("t6: ", start-end)
# start = time.time()
# print("Total Time: ", (end-start))
return test
if __name__ == "__main__":
from netCDF4 import Dataset
ncfiles = [Dataset(x) for x in TEST_FILES]
# import scipy.io
# ncfiles = [scipy.io.netcdf.netcdf_file(x) for x in TEST_FILES]
file_vars = ncfiles[0].variables.keys()
ignore_vars = []
for var in file_vars:
if var in ignore_vars:
continue
test_func1 = make_test(ncfiles, var)
setattr(WRFFileVarsTest, 'test_{0}'.format(var), test_func1)
ut.main()