c3s_sm package

Submodules

c3s_sm.interface module

Readers for the C3S soil moisture products daily, dekadal (10-daily) and monthly images as well as for timeseries generated using this module

class c3s_sm.interface.C3SImg(filename, parameters=None, mode='r', subgrid=<smecv_grid.grid.SMECV_Grid_v052 object>, flatten=False, fillval=None)[source]

Bases: ImageBase

Class to read a single C3S image (for one time stamp)

close(*args, **kwargs)[source]

Close file.

flush(*args, **kwargs)[source]

Flush data.

read(timestamp=None)[source]

Read a single C3S image, if it exists, otherwise fill an empty image.

Parameters:

timestamp (datetime, optional (default: None)) – Time stamp of the image, if this is passed, it is compared to the time stamp from the loaded file and must match

write(*args, **kwargs)[source]

Write data to an image file.

Parameters:

image (object) – pygeobase.object_base.Image object

class c3s_sm.interface.C3STs(ts_path, grid_path=None, remove_nans=False, drop_tz=True, **kwargs)[source]

Bases: GriddedNcOrthoMultiTs

Module for reading C3S time series in netcdf format.

iter_ts(**kwargs)[source]
read_cell(cell, var='sm') DataFrame[source]

Read all time series for a single variable in the selected cell.

Parameters:
  • cell (int) – Cell number as in the c3s grid

  • var (str, optional (default: 'sm')) – Name of the variable to read.

write_ts(*args, **kwargs)[source]
class c3s_sm.interface.C3S_Nc_Img_Stack(data_path, parameters='sm', subgrid=<smecv_grid.grid.SMECV_Grid_v052 object>, flatten=False, solve_ambiguity='sort_last', fntempl='C3S-SOILMOISTURE-L3S-SSM{unit}-{prod}-{temp}-{datetime}-{cdr}-{vers}.{subvers}.nc', subpath_templ=None, fillval=None)[source]

Bases: MultiTemporalImageBase

Class for reading multiple images and iterate over them.

read(timestamp, **kwargs)[source]

Return an image for a specific timestamp.

Parameters:

timestamp (datetime.datetime) – Time stamp.

Returns:

image – pygeobase.object_base.Image object

Return type:

object

tstamps_for_daterange(start_date, end_date)[source]

Return dates in the passed period, with respect to the temp resolution of the images in the path.

Parameters:
  • start_date (datetime) – start of date range

  • end_date (datetime) – end of date range

Returns:

timestamps – list of datetime objects of each available image between start_date and end_date

Return type:

Iterator

c3s_sm.metadata module

class c3s_sm.metadata.C3S_SM_TS_Attrs(sensor_type, version)[source]

Bases: object

Default, common metadata for daily and monthly, dekadal products

atts_sensor_type(sensor_type='active')[source]
dn_flag()[source]
flag()[source]
freqbandID_flag()[source]
mode_flag()[source]
sensor_flag()[source]
class c3s_sm.metadata.C3S_SM_TS_Attrs_v201706(sensor_type)[source]

Bases: C3S_SM_TS_Attrs

class c3s_sm.metadata.C3S_SM_TS_Attrs_v201801(sensor_type)[source]

Bases: C3S_SM_TS_Attrs

class c3s_sm.metadata.C3S_SM_TS_Attrs_v201812(sensor_type)[source]

Bases: C3S_SM_TS_Attrs

class c3s_sm.metadata.C3S_SM_TS_Attrs_v201912(sensor_type)[source]

Bases: C3S_SM_TS_Attrs

class c3s_sm.metadata.C3S_SM_TS_Attrs_v202012(sensor_type)[source]

Bases: C3S_SM_TS_Attrs

sensor_flag()[source]
class c3s_sm.metadata.C3S_SM_TS_Attrs_v202112(sensor_type)[source]

Bases: C3S_SM_TS_Attrs

sensor_flag()[source]
class c3s_sm.metadata.C3S_daily_tsatt_nc(cdr_type: str, sensor_type: str, cls)[source]

Bases: object

class c3s_sm.metadata.C3S_dekmon_tsatt_nc(product_temp_res: str, cdr_type: str, sensor_type: str, cls)[source]

Bases: object

Attributes for c3s dekadal and monthly for active, passive and combined tcdr and icdr timeseries files.

c3s_sm.reshuffle module

Module for a command line interface to convert the C3S data into a time series format using the repurpose package

c3s_sm.reshuffle.main(args)[source]

Main routine used for command line interface. :param args: Command line arguments. :type args: list of str

c3s_sm.reshuffle.mkdate(datestring)[source]

Create date string.

Parameters:

datestring (str) – Date string.

Returns:

datestr – Date string as datetime.

Return type:

datetime

c3s_sm.reshuffle.parse_args(args)[source]

Parse command line parameters for C3S reshuffling.

Parameters:

args (list of str) – Command line parameters as list of strings.

Returns:

args – Command line arguments.

Return type:

argparse.Namespace

c3s_sm.reshuffle.parse_filename(data_dir)[source]

Take the first file in the passed directory and use its file name to retrieve the product type, version number and variables in the file.

Parameters:

inroot (str) – Input root directory

Returns:

  • file_args (dict) – Parsed arguments from file name

  • file_vars (list) – Names of parameters in the first detected file

c3s_sm.reshuffle.reshuffle(input_root, outputpath, startdate, enddate, parameters=None, land_points=True, bbox=None, ignore_meta=False, imgbuffer=500)[source]

Reshuffle method applied to C3S data.

Parameters:
  • input_root (string) – input path where c3s images were downloaded.

  • outputpath (string) – Output path.

  • startdate (datetime) – Start date.

  • enddate (datetime) – End date.

  • parameters (list, optional (default: None)) – parameters to read and convert

  • land_points (bool, optional (default: True)) – Use the land grid to calculate time series on. Leads to faster processing and smaller files.

  • bbox (tuple, optional (default: None)) – Min lon, min lat, max lon, max lat BBox to read data for.

  • ignore_meta (bool, optional (default: False)) – Ignore metadata and reshuffle only the values. Can be used e.g. if a version is not yet supported.

  • imgbuffer (int, optional (default: 50)) – How many images to read at once before writing time series.

c3s_sm.reshuffle.run()[source]
c3s_sm.reshuffle.str2bool(val)[source]

Module contents