sicor.ECMWF package

Submodules

sicor.ECMWF.ECMWF module

Downloading and interpolation within ECMWF variables (also grib/netCDF to hdf5 conversion).

class sicor.ECMWF.ECMWF.ECMWF_download(server, client, logger=None, max_step=120)[source]

Bases: object

Class for downloading data from the ECMWF service. :param server: instance of ECMWFDataServer :param client: instance of cdsapi.Client

convert_grib_to_hdf5(grb_file, hdf_file, complevel=1, **kwargs)[source]
convert_netcdf_to_hdf5(nc_file, hdf_file, complevel=1, **kwargs)[source]
static db_path(variable, dt, db_path)[source]

:param variable:name as valid for downloading :param dt: date object :param db_path: root path for db :return: path to file

era_month_string(year, month=None, month_start=None, month_end=None, day_start=None, day_end=None, client=None)[source]

Create string for ERA request.

Parameters:
  • year – integer, year

  • month – integer, month or None, if None, month_start and month_end should be given

  • month_start – integer or None, if None, month should be given

  • month_end – integer or None, if None, month should be given

  • day_start – integer or None, if None, assume 1

  • day_end – integer or None, if None, end of month is used

  • client – ‘ecmwf’ for ‘macc_nrealtime’ datasets or ‘cds’ for ‘cams_nrealtime’ datasets

Returns:

string for era request

static ind_to_time(ind)[source]
request(parameter, output_file_name, year, month=None, month_start=None, month_end=None, day_start=None, day_end=None, nc=False)[source]

Prepare request for ECMWF server.

Parameters:
  • parameter – as given in self.era_setup

  • output_file_name – string, file name, should be grb

  • year – integer, year

  • month – integer, month or None, if None, month_start and month_end should be given

  • month_start – integer or None, if None, month should be given

  • month_end – integer or None, if None, month should be given

  • day_start – integer or None, if None, assume 1

  • day_end – integer or None, if None, end of month is used

  • nc – if True, set format ‘netcdf’; default: False

Returns:

dict, request for ECMWF server

retrieve_grib(**kwargs)[source]
retrieve_hdf5(complevel=1, remove_ECMWF_file=True, grib=True, **kwargs)[source]
retrieve_netcdf(**kwargs)[source]
static time_to_ind(day, tme)[source]
static time_to_julian_day(year, month, day)[source]
class sicor.ECMWF.ECMWF.ECMWF_variable(variable, path_db, delta_day, var_date, dtype=<class 'numpy.float32'>, logger=None)[source]

Bases: object

Initialize a selected ECMWF variable. Raise FileNotFoundError if file is not found in database.

Parameters:
  • variable – name string as valid for ECMWF_download

  • path_db – root of database for ECMWF data

  • delta_day – deviation of database date from sensing date

  • var_date – date object

sicor.ECMWF.ECMWF.daterange(start_date, end_date)[source]

generator for date objects between start_date and end_date :param start_date: date object :param end_date: date object :return: generator for dates between start_date and end_date

sicor.ECMWF.ECMWF.download_variables(ecmwf_variables, db_path, date_from, date_to, db_path_function=None, processes=0, force=False, max_step=120, grib=True)[source]

download ECMWF products to file system

Parameters:
  • processes

  • ecmwf_variables – iterable of variable names, e.g. [total_AOT_550nm]

  • db_path – root path of db

  • db_path_function – (variable,dt,db_path) -> output_file_name, if not given, ECMWF_download.db_path is used

  • date_from – date object, start date

  • date_to – date object, end date

  • force – bool, whether to filter for already available files or not

  • max_step – largest ECMWF forecast step to download in hours

  • grib – if True, download grib file, else netcdf (mandatory for windows systems)

Returns:

list of downloaded products

sicor.ECMWF.ECMWF.test()[source]

Module contents

class sicor.ECMWF.ECMWF_download(server, client, logger=None, max_step=120)[source]

Bases: object

Class for downloading data from the ECMWF service. :param server: instance of ECMWFDataServer :param client: instance of cdsapi.Client

convert_grib_to_hdf5(grb_file, hdf_file, complevel=1, **kwargs)[source]
convert_netcdf_to_hdf5(nc_file, hdf_file, complevel=1, **kwargs)[source]
static db_path(variable, dt, db_path)[source]

:param variable:name as valid for downloading :param dt: date object :param db_path: root path for db :return: path to file

era_month_string(year, month=None, month_start=None, month_end=None, day_start=None, day_end=None, client=None)[source]

Create string for ERA request.

Parameters:
  • year – integer, year

  • month – integer, month or None, if None, month_start and month_end should be given

  • month_start – integer or None, if None, month should be given

  • month_end – integer or None, if None, month should be given

  • day_start – integer or None, if None, assume 1

  • day_end – integer or None, if None, end of month is used

  • client – ‘ecmwf’ for ‘macc_nrealtime’ datasets or ‘cds’ for ‘cams_nrealtime’ datasets

Returns:

string for era request

static ind_to_time(ind)[source]
request(parameter, output_file_name, year, month=None, month_start=None, month_end=None, day_start=None, day_end=None, nc=False)[source]

Prepare request for ECMWF server.

Parameters:
  • parameter – as given in self.era_setup

  • output_file_name – string, file name, should be grb

  • year – integer, year

  • month – integer, month or None, if None, month_start and month_end should be given

  • month_start – integer or None, if None, month should be given

  • month_end – integer or None, if None, month should be given

  • day_start – integer or None, if None, assume 1

  • day_end – integer or None, if None, end of month is used

  • nc – if True, set format ‘netcdf’; default: False

Returns:

dict, request for ECMWF server

retrieve_grib(**kwargs)[source]
retrieve_hdf5(complevel=1, remove_ECMWF_file=True, grib=True, **kwargs)[source]
retrieve_netcdf(**kwargs)[source]
static time_to_ind(day, tme)[source]
static time_to_julian_day(year, month, day)[source]
class sicor.ECMWF.ECMWF_variable(variable, path_db, delta_day, var_date, dtype=<class 'numpy.float32'>, logger=None)[source]

Bases: object

Initialize a selected ECMWF variable. Raise FileNotFoundError if file is not found in database.

Parameters:
  • variable – name string as valid for ECMWF_download

  • path_db – root of database for ECMWF data

  • delta_day – deviation of database date from sensing date

  • var_date – date object

sicor.ECMWF.download_variables(ecmwf_variables, db_path, date_from, date_to, db_path_function=None, processes=0, force=False, max_step=120, grib=True)[source]

download ECMWF products to file system

Parameters:
  • processes

  • ecmwf_variables – iterable of variable names, e.g. [total_AOT_550nm]

  • db_path – root path of db

  • db_path_function – (variable,dt,db_path) -> output_file_name, if not given, ECMWF_download.db_path is used

  • date_from – date object, start date

  • date_to – date object, end date

  • force – bool, whether to filter for already available files or not

  • max_step – largest ECMWF forecast step to download in hours

  • grib – if True, download grib file, else netcdf (mandatory for windows systems)

Returns:

list of downloaded products