satpy.readers.geocat module

Interface to GEOCAT HDF4 or NetCDF4 products.

Note: GEOCAT files do not currently have projection information or precise pixel resolution information. Additionally the longitude and latitude arrays are stored as 16-bit integers which causes loss of precision. For this reason the lon/lats can’t be used as a reliable coordinate system to calculate the projection X/Y coordinates.

Until GEOCAT adds projection information and X/Y coordinate arrays, this reader will estimate the geostationary area the best it can. It currently takes a single lon/lat point as reference and uses hardcoded resolution and projection information to calculate the area extents.

class satpy.readers.geocat.GEOCATFileHandler(filename, filename_info, filetype_info, **kwargs)[source]

Bases: NetCDF4FileHandler

GEOCAT netCDF4 file handler.

Loading data with decode_times=True

By default, this reader will use xarray_kwargs={"engine": "netcdf4", "decode_times": False}. to match behavior of xarray when the geocat reader was first written. To use different options use reader_kwargs when loading the Scene:

scene = satpy.Scene(filenames,
                    reader_kwargs={'xarray_kwargs': {'engine': 'netcdf4', 'decode_times': True}})

Open and perform initial investigation of NetCDF file.

_first_good_nav(lon_arr, lat_arr)[source]
_get_extents(proj, res, lon_arr, lat_arr)[source]
_get_proj(platform, ref_lon)[source]

Update information for or add datasets provided by this file.

If this file handler can load a dataset then it will supplement the dataset info with the resolution and possibly coordinate datasets needed to load it. Otherwise it will continue passing the dataset information down the chain.

See satpy.readers.file_handlers.BaseFileHandler.available_datasets() for details.

property end_time

Get end time.


Get area definition.

get_dataset(dataset_id, ds_info)[source]

Get dataset.

get_metadata(dataset_id, ds_info)[source]

Get metadata.


Get platform.


Get sensor.

get_shape(dataset_id, ds_info)[source]

Get shape.

property is_geo

Check platform.

platforms: dict[str, str] = {}
property resolution

Get resolution.

resolutions = {'abi': {1: 1002.0086577437705, 2: 2004.017315487541}, 'ahi': {1: 999.9999820317674, 2: 1999.999964063535, 4: 3999.99992812707}}
property sensor_names

Get sensor names.

sensors = {'goes': 'goes_imager', 'goes16': 'abi', 'goesr': 'abi', 'himawari8': 'ahi'}
property start_time

Get start time.