def test_find_time(): """ find_time_in_interp_sonde test """ target = datetime.datetime(2011, 5, 10, 11, 30, 8) interp_sounde = netCDF4.Dataset(SONDNAME) t = dealias.find_time_in_interp_sonde(interp_sounde, target) height, speed, direction = t assert height.shape == (316,) assert speed.shape == (316,) assert direction.shape == (316,) assert height.dtype == 'float32' assert speed.dtype == 'float32' assert direction.dtype == 'float32' assert round(height[100], 2) == 2.32 assert round(speed[100], 2) == 15.54 assert round(direction[100], 2) == 231.8
def test_find_time(): """ find_time_in_interp_sonde test """ target = datetime.datetime(2011, 5, 10, 11, 30, 8) interp_sounde = netCDF4.Dataset(SONDNAME) t = dealias.find_time_in_interp_sonde(interp_sounde, target) height, speed, direction = t assert height.shape == (316, ) assert speed.shape == (316, ) assert direction.shape == (316, ) assert height.dtype == 'float32' assert speed.dtype == 'float32' assert direction.dtype == 'float32' assert round(height[100], 2) == 2.32 assert round(speed[100], 2) == 15.54 assert round(direction[100], 2) == 231.8
def test_dealias_ncf(): """ Dealias data from a NetCDF file """ # read in the data radar = pyart.io.read_netcdf(NCFNAME) # find and extract the sonde data target = netCDF4.num2date(radar.time['data'][0], radar.time['units']) interp_sounde = netCDF4.Dataset(SONDNAME) t = dealias.find_time_in_interp_sonde(interp_sounde, target) height, speed, direction = t # perform dealiasing dealias_data = dealias.dealias_fourdd(radar, height * 1000.0, speed, direction, target) # compare against know good data reference_data = np.load(REFNAME) assert_array_equal(reference_data, dealias_data['data'].data)
# parse command line arguments filename = sys.argv[1] outdir = sys.argv[2] params, metadata = parse_prefs(sys.argv[3]) is_dir = params['sounding_dir'] # read in radar data myradar = radar.Radar(py4dd.RSL_anyformat_to_radar(filename)) myradar.metadata.update(metadata) # dealias target = netCDF4.num2date(myradar.time['data'][0], myradar.time['units']) fname = 'sgpinterpolatedsondeC1.c1.%(year)04d%(month)02d%(day)02d.000000.cdf' % radar.dt_to_dict(target) print fname interp_sonde = netCDF4.Dataset(is_dir + fname) myheight, myspeed, mydirection = dealias.find_time_in_interp_sonde( interp_sonde, target) my_new_field = dealias.dealias(myradar, myheight * 1000.0, myspeed, mydirection, target) myradar.fields.update({'corrected_mean_doppler_velocity': my_new_field}) interp_sonde.close() # process Phase gates = myradar.range['data'][1] - myradar.range['data'][0] rge = 10.0 * 1000.0 ng = rge / gates # append a datetime object mydatetime = netCDF4.num2date(myradar.time['data'][0], myradar.time['units'], calendar=myradar.time['calendar']) mydict = dt_to_dict(mydatetime) mydict.update({'scanmode': {'ppi': 'sur', 'rhi': 'rhi'}
filename = sys.argv[1] outdir = sys.argv[2] params, metadata = parse_prefs(sys.argv[3]) is_dir = params['sounding_dir'] # read in radar data myradar = pyart.io.read_rsl(filename) #myradar = radar.Radar(py4dd.RSL_anyformat_to_radar(filename)) #myradar.metadata.update(metadata) # dealias target = netCDF4.num2date(myradar.time['data'][0], myradar.time['units']) fname = ('sgpinterpolatedsondeC1.c1.%(year)04d%(month)02d%(day)02d.000000.cdf' % nc_utils.dt_to_dict(target)) print fname interp_sonde = netCDF4.Dataset(is_dir + fname) myheight, myspeed, mydirection = dealias.find_time_in_interp_sonde( interp_sonde, target) my_new_field = pyart.correct.dealias_fourdd(myradar, myheight * 1000.0, myspeed, mydirection, target) myradar.fields.update({'corrected_mean_doppler_velocity': my_new_field}) interp_sonde.close() print("done") # process Phase gates = myradar.range['data'][1] - myradar.range['data'][0] rge = 20.0 * 1000.0 ng = rge / gates # append a datetime object mydatetime = netCDF4.num2date(myradar.time['data'][0], myradar.time['units'], calendar=myradar.time['calendar']) mydict = dt_to_dict(mydatetime) mydict.update({'scanmode': {'ppi': 'sur', 'rhi': 'rhi'}