climind.readers package

The readers package contains all the scripts needed to read the data sets. Because of the diversity of data formats, there is roughly one reader per dataset.

Most readers will import the generic_reader script which handles the selection of the appropriate reaader routines based on the metadata provided.

Individual reader scripts generally have one or more of the following functions:

  • read_monthly_ts

  • read_annual_ts

  • read_monthly_grid

  • read_monthly_5x5_grid

  • read_monthly_1x1_grid

Each of these function must take a list of filenames and a CombinedMetadata object as inputs. These are used to read the data and create an appropriate dataset.

Submodules

climind.readers.generic_reader module

climind.readers.generic_reader.get_last_modified_time(file: Path) Optional[str]

Get the update time of file if it exists, else None

Parameters

file (Path) – File path of the file for which the last modified time is required

Returns

string containing last updated time for the file or None if it does not exist

Return type

Optional[str]

climind.readers.generic_reader.get_module(package_name: str, script_name: str)

Get the module from the package name and the script name

Parameters
  • package_name (str) – String containing the package path as a dot separated string

  • script_name (str) – Name of the script to import

Returns

Returns module specified by the package name and script name

Return type

module

climind.readers.generic_reader.get_reader_script_name(metadata: CombinedMetadata, **kwargs) Optional[str]

Get the name of the reader function for the provided metadata combination

Parameters
  • metadata (CombinedMetadata) – contains the metadata required to chose the reader script

  • kwargs – list of keyword arguments

Returns

Returns the name of the reader function that will read that combination of metadata, or None

Return type

Optional[str]

climind.readers.generic_reader.read_ts(out_dir: Path, metadata: CombinedMetadata, **kwargs) Union[TimeSeriesMonthly, TimeSeriesAnnual, GridMonthly]

Generic reader for the data sets. This works out which reader is needed, imports and runs it. If a particular reader is not available (e.g. because the data is only a timeseries and not a grid) then it raises a not implemented error.

Parameters
  • out_dir (Path) – Path of the directory in which the data are to be found

  • metadata (CombinedMetadata) – Metadata describing the required dataset

  • kwargs (dict) – Optional arguments as required for particular data sets

Returns

Returns a TimeSeries or Grid of some kind

Return type

Union[TimeSeriesMonthly, TimeSeriesAnnual, GridMonthly]

climind.readers.reader_aviso module

climind.readers.reader_aviso.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesIrregular

climind.readers.reader_aviso_ftp module

climind.readers.reader_aviso_ftp.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesIrregular

climind.readers.reader_badc_csv module

climind.readers.reader_badc_csv.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_badc_csv.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_berkeley module

climind.readers.reader_berkeley.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_berkeley.read_monthly_1x1_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_berkeley.read_monthly_5x5_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_berkeley.read_monthly_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly

Although Berkeley Earth is 1x1 already, the time dimension is extremely non-standard. In order to get consistency with the other data sets regridded to 1x1, the data is copied into a consistent xarray Dataset.

Parameters
  • filename (str) – Filename of the netcdf grid

  • metadata (CombinedMetadata) – CombinedMetadata object holding the dataset metadata.

Return type

GridMonthly

climind.readers.reader_berkeley.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_berkeley_ts module

climind.readers.reader_berkeley_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_berkeley_ts.read_monthly_1x1_grid(filename: List[Path], metadata: CombinedMetadata) GridMonthly
climind.readers.reader_berkeley_ts.read_monthly_5x5_grid(filename: List[Path], metadata: CombinedMetadata) GridMonthly
climind.readers.reader_berkeley_ts.read_monthly_grid(filename: List[Path], metadata: CombinedMetadata) GridMonthly
climind.readers.reader_berkeley_ts.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_cheng module

climind.readers.reader_cheng.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_cheng.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_clsat module

climind.readers.reader_clsat.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_clsat.read_monthly_grid(filename: List[Path], metadata) GridMonthly

climind.readers.reader_cmems_ph module

climind.readers.reader_cmems_ph.read_annual_ts(filename: Path, metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_cmems_ph.read_ts(out_dir: Path, metadata: CombinedMetadata, **kwargs)

climind.readers.reader_era5 module

climind.readers.reader_era5.find_latest(out_dir: Path, filename_with_wildcards: str) Path

Find the most recent file that matches

Parameters
  • filename_with_wildcards (str) – Filename including wildcards

  • out_dir (Path) – Path of data directory

climind.readers.reader_era5.get_latest_filename_and_url(filename: Path, url: str) Tuple[str, str]

Get the filename and url from a filled filename Path and URL with placeholders

Parameters
  • filename (Path) – Path of filename

  • url (str) – URL to be replaced

Returns

  • Tuple[str, str] – The filename and the url with placeholders replaced

  • ——-

climind.readers.reader_era5.read_annual_ts(filename: Path, metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_era5.read_grid(filename: str)
climind.readers.reader_era5.read_monthly_1x1_grid(filename, metadata) GridMonthly
climind.readers.reader_era5.read_monthly_5x5_grid(filename, metadata) GridMonthly
climind.readers.reader_era5.read_monthly_grid(filename: str, metadata) GridMonthly
climind.readers.reader_era5.read_monthly_ts(filename: Path, metadata: CombinedMetadata) TimeSeriesMonthly
climind.readers.reader_era5.read_ts(out_dir: Path, metadata: CombinedMetadata, **kwargs)

climind.readers.reader_gcos module

climind.readers.reader_gcos.read_annual_ts(filename: Path, metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_gcos.read_ts(out_dir: Path, metadata: CombinedMetadata, **kwargs)

climind.readers.reader_gistemp_ts module

climind.readers.reader_gistemp_ts.build_transfer(xx: int, yy: int)

Build the transfer matrix for this 5x5 grid cell

Parameters
  • xx (int) – Longitudinal index of grid cell in range 0, 71

  • yy (int) – Latitudinal index of grid cell in range 0, 35

climind.readers.reader_gistemp_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_gistemp_ts.read_monthly_1x1_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly

Convert 2x2 grid to 1x1 grid by copying 2x2 value into all 4 1x1 grid cells it contains

Parameters
  • filename

  • metadata

climind.readers.reader_gistemp_ts.read_monthly_5x5_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_gistemp_ts.read_monthly_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_gistemp_ts.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_gml module

climind.readers.reader_gml.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_grace module

climind.readers.reader_grace.find_latest(out_dir: Path, filename_with_wildcards: str) Path
climind.readers.reader_grace.read_annual_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesAnnual
climind.readers.reader_grace.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesMonthly
climind.readers.reader_grace.read_ts(out_dir: Path, metadata: CombinedMetadata, **kwargs)

climind.readers.reader_gsfc module

climind.readers.reader_gsfc.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_hadcrut_ts module

climind.readers.reader_hadcrut_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_hadcrut_ts.read_monthly_1x1_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_hadcrut_ts.read_monthly_5x5_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_hadcrut_ts.read_monthly_grid(filename: List[Path], metadata: CombinedMetadata) GridMonthly
climind.readers.reader_hadcrut_ts.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_hadsst_ts module

climind.readers.reader_hadsst_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_hadsst_ts.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_imbie module

climind.readers.reader_imbie.read_annual_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesAnnual
climind.readers.reader_imbie.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesMonthly

climind.readers.reader_imbie_2021_antarctica module

climind.readers.reader_imbie_2021_antarctica.read_annual_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesAnnual
climind.readers.reader_imbie_2021_antarctica.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesMonthly

climind.readers.reader_imbie_antarctica module

climind.readers.reader_imbie_antarctica.read_annual_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesAnnual
climind.readers.reader_imbie_antarctica.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesMonthly

climind.readers.reader_ipcc_ts module

climind.readers.reader_ipcc_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual

climind.readers.reader_ishii module

climind.readers.reader_ishii.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual

climind.readers.reader_jra55 module

climind.readers.reader_jra55.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_jra55.read_grid(filename: List[Path])
climind.readers.reader_jra55.read_monthly_1x1_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_jra55.read_monthly_5x5_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_jra55.read_monthly_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_jra55.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_kennaook module

climind.readers.reader_kennaook.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_levitus module

climind.readers.reader_levitus.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_levitus.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_mauna_loa module

climind.readers.reader_mauna_loa.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_mauna_loa.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_mhw_ts module

climind.readers.reader_mhw_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual

climind.readers.reader_noaa_interim_ts module

climind.readers.reader_noaa_interim_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_noaa_interim_ts.read_monthly_1x1_grid(filename: Path, metadata: CombinedMetadata, **kwargs) GridMonthly
climind.readers.reader_noaa_interim_ts.read_monthly_5x5_grid(filename: List[Path], metadata: CombinedMetadata, **kwargs)
climind.readers.reader_noaa_interim_ts.read_monthly_grid(filename: List[Path], metadata: CombinedMetadata) GridMonthly
climind.readers.reader_noaa_interim_ts.read_one_month(filehandle)

climind.readers.reader_noaa_ts module

climind.readers.reader_noaa_ts.find_latest(out_dir: Path, filename_with_wildcards: str) str

Find the most recent file that matches

Parameters
  • filename_with_wildcards (str) – Filename including wildcards

  • out_dir (Path) – Path of data directory

climind.readers.reader_noaa_ts.read_annual_ts(filename: str, metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_noaa_ts.read_monthly_ts(filename: str, metadata: CombinedMetadata) TimeSeriesMonthly
climind.readers.reader_noaa_ts.read_ts(out_dir: Path, metadata: CombinedMetadata)

climind.readers.reader_noaaglobaltemp module

climind.readers.reader_noaaglobaltemp.find_latest(out_dir: Path, filename_with_wildcards: str) Path

Find the most recent file that matches

Parameters
  • filename_with_wildcards (str) – Filename including wildcards

  • out_dir (Path) – Path of data directory

Returns

Path of latest file that matches the filename with wildcards in the directory

Return type

Path

climind.readers.reader_noaaglobaltemp.get_latest_filename_and_url(filename: Path, url: str) Tuple[str, str]

Get the filename and url from a filled filename Path and URL with placeholders

Parameters
  • filename (Path) – Path of filename

  • url (str) – URL to be replaced

Returns

The filename and the url with placeholders replaced

Return type

Tuple[str, str]

climind.readers.reader_noaaglobaltemp.read_annual_ts(filename: Path, metadata: CombinedMetadata) TimeSeriesAnnual

Read in annual file

Parameters
  • filename (Path) – Filename for annual file

  • metadata (dict) – Dictionary containing metadata

Return type

ts.TimeSeriesAnnual

climind.readers.reader_noaaglobaltemp.read_monthly_1x1_grid(filename: Path, metadata: CombinedMetadata) GridMonthly
climind.readers.reader_noaaglobaltemp.read_monthly_grid(filename: Path, metadata: CombinedMetadata) GridMonthly
climind.readers.reader_noaaglobaltemp.read_monthly_ts(filename: Path, metadata: CombinedMetadata) TimeSeriesMonthly

Read in monthly file

Parameters
  • filename (Path) – Path of monthly file

  • metadata (dict) – Dictionary containing metadata

Return type

ts.TimeSeriesMonthly

climind.readers.reader_noaaglobaltemp.read_ts(out_dir: Path, metadata: CombinedMetadata, **kwargs)

climind.readers.reader_nsidc module

climind.readers.reader_nsidc.read_irregular_ts(filenames: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly
climind.readers.reader_nsidc.read_monthly_ts(filenames: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_osisaf module

climind.readers.reader_osisaf.read_irregular_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesIrregular
climind.readers.reader_osisaf.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_promice module

climind.readers.reader_promice.read_annual_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesAnnual
climind.readers.reader_promice.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesMonthly

climind.readers.reader_standard_grid module

climind.readers.reader_standard_grid.read_annual_grid(filename: List[Path], metadata: CombinedMetadata) GridAnnual

climind.readers.reader_test module

climind.readers.reader_test.read_annual_ts(filename, metadata, **kwargs)
climind.readers.reader_test.read_monthly_1x1_grid(filename, metadata, **kwargs)
climind.readers.reader_test.read_monthly_grid(filename, metadata, **kwargs)
climind.readers.reader_test.read_monthly_ts(filename, metadata, **kwargs)

climind.readers.reader_wdcgg_rate_ts module

climind.readers.reader_wdcgg_rate_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_wdcgg_rate_ts.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_wdcgg_ts module

climind.readers.reader_wdcgg_ts.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_wdcgg_ts.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_wdcgg_ts_update module

climind.readers.reader_wdcgg_ts_update.read_annual_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesAnnual
climind.readers.reader_wdcgg_ts_update.read_monthly_ts(filename: List[Path], metadata: CombinedMetadata) TimeSeriesMonthly

climind.readers.reader_wgms module

climind.readers.reader_wgms.read_annual_ts(filename: List[Path], metadata: CombinedMetadata, **kwargs) TimeSeriesAnnual