API Reference
This page documents objects and methods provided by AeroEvap
.
Aero
- class aeroevap.Aero(df=None)[source]
Bases:
object
Manages meterological time series input/output for aerodynamic mass-transfer evaporation calculation and contains methods for batch and single calculations.
An
Aero
object allows the aerodynamic mass-transfer evaporation estimation to be calculated from meterological data that is stored in apandas.DataFrame
with a date or datetime-like index. TheAero.df
can be assigned on initialization or later, it can also be reassigned at anytime.The
Aero.single_calc
static method calculates evaporation for a single measurement set and can be used without creating anAero
object, e.g. in another module. For calculating evaporation for a time series of input meterological data use theAero.run
method which uses multiple processors (if they are available).- property df
pandas.DataFrame
containing input time series meterological data and calculated variables after runningAero.run
.
- run(sensor_height, timestep, variable_names=None, nproc=None)[source]
Run aerodynamic mass-transfer evaporation routine on time series data that contains necessary input in-place and in parallel.
- Parameters
- Keyword Arguments
variable_names (None or dict) – default None. Dictionary with user variable names as keys and variable names needed for
aeroevap
as values. If None, the needed input variables must be named correctly in theAero.df
dataframe: ‘WS’, ‘P’, ‘T_air’, ‘T_skin’, and ‘RH’ for windspeed, air pressure, air temperature, skin temperature, and relative humidity resepctively.nproc (None or int) – default None. If none use half of the available cores for parallel calculations.
- Returns
None
Hint
A
pandas.DataFrame
must be assigned to theAero.df
instance property before callingAero.run
. If the names of the required meterological variables in the dataframe are not named correctly you may pass a dictionary to thevariable_names
argument which maps your names to those used byAeroEvap
. For example if your surface temperature column is named ‘surface_temp’ then>>> variable_names = {'surface_temp' : 'T_skin'}
- static single_calc(datetime, wind, pressure, T_air, T_skin, RH, sensor_height, timestep)[source]
Estimates open water evaporation using the aerodynamic mass transfer approach for a single time period.
- Parameters
datetime (datetime.datetime or str) – date-time of measurements for error logging.
wind (float) – windspeed in m/s
pressure (float) – air pressure in mbar
T_air (float) – air temperature in C
T_skin (float) – skin temperature (water surface) in C
RH (float) – relative humidity (0-100)
sensor_height (float) – sensor height in m
- Returns (tuple):
evaporation (mm/timestep), bulk transfer coefficient (Ce), vapor pressure deficit (kPa), and MOST stability (z/L)