def test_load_cf_llnocrs(self): from pyresample.utils import load_cf_area def validate_llnocrs(adef, cfinfo, lat='lat', lon='lon'): self.assertEqual(adef.shape, (19, 37)) xc = adef.projection_x_coords yc = adef.projection_y_coords self.assertEqual(xc[0], -180., msg="Wrong x axis (index 0)") self.assertEqual(xc[1], -180. + 10.0, msg="Wrong x axis (index 1)") self.assertEqual(yc[0], -90., msg="Wrong y axis (index 0)") self.assertEqual(yc[1], -90. + 10.0, msg="Wrong y axis (index 1)") self.assertEqual(cfinfo['lon'], lon) self.assertEqual(cf_info['lat'], lat) self.assertEqual(cf_info['type_of_grid_mapping'], 'latitude_longitude') self.assertEqual(cf_info['x']['varname'], 'lon') self.assertEqual(cf_info['x']['first'], -180.) self.assertEqual(cf_info['y']['varname'], 'lat') self.assertEqual(cf_info['y']['first'], -90.) # prepare xarray Dataset cf_file = _prepare_cf_llnocrs() # load using a variable=temp adef, cf_info = load_cf_area(cf_file, 'temp') validate_llnocrs(adef, cf_info) # load using a variable=None adef, cf_info = load_cf_area(cf_file) validate_llnocrs(adef, cf_info)
def test_load_cf_nh10km(self): from pyresample.utils import load_cf_area def validate_nh10km_adef(adef): self.assertEqual(adef.shape, (1120, 760)) xc = adef.projection_x_coords yc = adef.projection_y_coords self.assertEqual(xc[0], -3845000.0, msg="Wrong x axis (index 0)") self.assertEqual(xc[1], xc[0] + 10000.0, msg="Wrong x axis (index 1)") self.assertEqual(yc[0], 5845000.0, msg="Wrong y axis (index 0)") self.assertEqual(yc[1], yc[0] - 10000.0, msg="Wrong y axis (index 1)") # prepare xarray Dataset cf_file = _prepare_cf_nh10km() # load using a variable= that is a valid grid_mapping container adef, _ = load_cf_area( cf_file, 'Polar_Stereographic_Grid', y='yc', x='xc', ) validate_nh10km_adef(adef) # load using a variable= that has a :grid_mapping attribute adef, _ = load_cf_area(cf_file, 'ice_conc') validate_nh10km_adef(adef) # load without using a variable= adef, _ = load_cf_area(cf_file) validate_nh10km_adef(adef)
def test_load_cf_nh10km_cfinfo(self): from pyresample.utils import load_cf_area def validate_nh10km_cfinfo(cfinfo, variable='ice_conc', lat='lat', lon='lon'): # test some of the fields self.assertEqual(cf_info['variable'], variable) self.assertEqual(cf_info['grid_mapping_variable'], 'Polar_Stereographic_Grid') self.assertEqual(cf_info['type_of_grid_mapping'], 'polar_stereographic') self.assertEqual(cf_info['lon'], lon) self.assertEqual(cf_info['lat'], lat) self.assertEqual(cf_info['x']['varname'], 'xc') self.assertEqual(cf_info['x']['first'], -3845.0) self.assertEqual(cf_info['y']['varname'], 'yc') self.assertEqual(cf_info['y']['last'], -5345.0) # prepare xarray Dataset cf_file = _prepare_cf_nh10km() # load using a variable= that is a valid grid_mapping container _, cf_info = load_cf_area(cf_file, 'Polar_Stereographic_Grid', y='yc', x='xc') validate_nh10km_cfinfo(cf_info, variable='Polar_Stereographic_Grid', lat=None, lon=None) # load using a variable= that has a :grid_mapping attribute _, cf_info = load_cf_area(cf_file, 'ice_conc') validate_nh10km_cfinfo(cf_info) # load without using a variable= _, cf_info = load_cf_area(cf_file) validate_nh10km_cfinfo(cf_info)
def test_load_cf_goes(self): from pyresample.utils import load_cf_area def validate_goes(adef, cfinfo): # test some of the fields self.assertEqual(cf_info['grid_mapping_variable'], 'GOES-East') self.assertEqual(cf_info['type_of_grid_mapping'], 'geostationary') self.assertEqual(cf_info['x']['varname'], 'x') self.assertEqual(cf_info['x']['first'], -3627271.2913) self.assertEqual(cf_info['y']['varname'], 'y') self.assertEqual(cf_info['y']['last'], 1583173.6575) # prepare xarray Dataset cf_file = _prepare_cf_goes() # load using a variable=temp adef, cf_info = load_cf_area(cf_file, 'C13') validate_goes(adef, cf_info) # load using a variable=None adef, cf_info = load_cf_area(cf_file) validate_goes(adef, cf_info)
description='Global 1x1 degree lat-lon grid') #area_def = load_area('/home/NCMRWFTEMP/vsprasad/EXP_HY2B/validation/crr/areas.yaml', 'IndianOcean_latlon_SC300') ########## ########## Basemap #area_def = pr.utils.load_area('areas.cfg', 'pc_world') #####bmap = pr.plot.area_def2basemap(area_def) ################### #area_def, cf_info = load_cf_area('/home/NCMRWFTEMP/vsprasad/EXP_HY2B/validation/crr/xxx.nc') #x = xr.open_dataset('/home/NCMRWFTEMP/vsprasad/EXP_HY2B/validation/crr/xxx.nc') #llon = x.lon.values #llat = x.lat.values #xgrid = x.lat.values.shape[0] #ygrid = x.lon.values.shape[0] area_def, cf_info = load_cf_area( '/home/NCMRWFTEMP/vsprasad/EXP_HY2B/validation/diagStat/prodAOH/prodAOHdiagstat2020040200-scat.nc' ) x = xr.open_dataset( '/home/NCMRWFTEMP/vsprasad/EXP_HY2B/validation/diagStat/prodAOH/prodAOHdiagstat2020040200-scat.nc' ) llon = x.longitude.values llat = x.latitude.values ygrid = x.latitude.values.shape[0] xgrid = x.longitude.values.shape[0] s = xr.open_dataset( '/home/NCMRWFTEMP/vsprasad/EXP_HY2B/validation/crr/S_NWC_CRR_MSG1_global-VISIR_20200517T070000Z.nc' ) data = s.crr.data lats = s.lat.values lons = s.lon.values ###############