Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
0
                           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
###############