ewatercycle._forcings.makkink

Module Contents

ewatercycle._forcings.makkink.derive_e_pot(recipe_output: dict) tuple[str, Ellipsis]

Derive the Makkink PET from the ESMValTool recipe output.

class ewatercycle._forcings.makkink.Makkink

Bases: ewatercycle.base.forcing.DefaultForcing

Forcing object with derived potential evaporatin using the Makkink equation.

Contains the following variables:

pr - precipitation tas - near-surface air temperature rsds - near-surface downwelling shortwave radiation evspsblpot - potential evaporation flux

classmethod generate(dataset: str | ewatercycle.esmvaltool.schema.Dataset | dict, start_time: str, end_time: str, shape: str | pathlib.Path, directory: str | None = None, **model_specific_options) Makkink

Generate forcings for a model.

The forcing is generated with help of ESMValTool.

Parameters:
  • dataset – Dataset to get forcing data from. When string is given a predefined dataset is looked up in ewatercycle.esmvaltool.datasets.DATASETS. When dict given it is passed to ewatercycle.esmvaltool.models.Dataset constructor.

  • start_time – Start time of forcing in UTC and ISO format string e.g. ‘YYYY-MM-DDTHH:MM:SSZ’.

  • end_time – nd time of forcing in UTC and ISO format string e.g. ‘YYYY-MM-DDTHH:MM:SSZ’.

  • shape – Path to a shape file. Used for spatial selection.

  • directory – Directory in which forcing should be written. If not given will create timestamped directory.

  • variables – Variables which need to be downloaded/preprocessed by ESMValTool.

  • postprocessor – A custom post-processor that can, e.g., derive additional variables based on the ESMValTool recipe output. Must return the names & filenames of the variables it derived.

class ewatercycle._forcings.makkink.LumpedMakkinkForcing

Bases: Makkink, ewatercycle.base.forcing.LumpedUserForcing

Forcing object with derived potential evaporatin using the Makkink equation.

Contains the following variables:

pr - precipitation tas - near-surface air temperature rsds - near-surface downwelling shortwave radiation evspsblpot - potential evaporation flux

class ewatercycle._forcings.makkink.DistributedMakkinkForcing

Bases: Makkink, ewatercycle.base.forcing.DistributedUserForcing

Forcing object with derived potential evaporatin using the Makkink equation.

Contains the following variables:

pr - precipitation tas - near-surface air temperature rsds - near-surface downwelling shortwave radiation evspsblpot - potential evaporation flux

ewatercycle._forcings.makkink.et_makkink(tas: xarray.DataArray, rsds: xarray.DataArray) xarray.DataArray

Compute the Makkink reference evaporation.

Parameters:
  • tas – Air temperature (K).

  • rsds – Incoming solar radiation (W m-2).

Returns:

Makkink ET (kg m-2 s-1).

Reference:
de Bruin, H., 1987. From penman to makkink. In: Hooghart, C. (Ed.),

Evaporation and Weather: Proceedings and Information. Vol. 28. TNO committee on Hydrological Research: The Hague, pp. 5-30.

ewatercycle._forcings.makkink.vapor_pressure_slope(tas)

Compute the slope of the vapor pressure curve.

Parameters:

tas – Air temperature (K)

Returns:

Slope of the vapor pressure curve.