model.processes.evapotranspirationΒΆ
Evapotranspiration module for ADELM.
This module simulates latent water fluxes from the land surface to the atmosphere. The scheme estimates soil evaporation and snow sublimation from soil surface energy balance and vapour pressure gradients, and calculates canopy transpiration using the Penman-Monteith formulation constrained by stomatal and aerodynamic conductance.
The module provides soil evaporation and canopy transpiration fluxes required by land surface water balance and plant water use.
Module ContentsΒΆ
FunctionsΒΆ
Diagnose soil surface resistance and conductance using an exponential moisture function. |
|
Diagnose the soil-to-air vapour pressure gradient using a Kelvin-equation soil surface formulation. |
|
Diagnose potential soil surface evaporation using the Penman-Monteith equation. |
|
Diagnose potential wet-canopy evaporation using a zero-surface-resistance Penman-Monteith formulation. |
|
Diagnose potential canopy sublimation by rescaling wet-canopy evaporation by the latent heat ratio. |
|
Diagnose potential sublimation from the ground snowpack using an ice-surface Penman-Monteith formulation. |
|
Diagnose potential canopy transpiration using the Penman-Monteith equation with stomatal resistance. |
|
Convert mass-based evapotranspiration fluxes to a total latent heat flux. |
APIΒΆ
- model.processes.evapotranspiration.calculate_soil_surface_resistance(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Diagnose soil surface resistance and conductance using an exponential moisture function.
- Parameters:
states (dict) β Required variable:
soil_moisture(top layer, index 0).diagnos (dict) β Required variable:
snow_cover_fraction.params (dict) β Required variables:
soil_saturated_moisture(top layer, index 0) andsoil_surface_resistance_moisture_sensitivity.
- Returns:
diagnos (dict) β Updated variable:
soil_surface_conductance.debugs (dict) β Updated variable:
soil_surface_resistance.
- model.processes.evapotranspiration.calculate_soil_surface_vapour_gradient(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Diagnose the soil-to-air vapour pressure gradient using a Kelvin-equation soil surface formulation.
- Parameters:
drivers (dict) β Required variables:
ta_max_degC,ta_min_degC,ta_degC, andvpd_kPa.diagnos (dict) β Required variable:
soil_water_potential(top layer).consts (dict) β Required variables:
absolute_zero_offset,partial_molar_volume_of_water, anduniversal_gas_constant.
- Returns:
diagnos (dict) β Updated variable:
soil_to_air_vapour_pressure_gradient.debugs (dict) β Updated variables:
air_saturation_vapour_pressure,air_vapour_pressure,soil_surface_kelvin_exponent,soil_surface_saturation_vapour_pressure, andsoil_surface_vapour_pressure.
- model.processes.evapotranspiration.calculate_potential_surface_evaporation(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Diagnose potential soil surface evaporation using the Penman-Monteith equation.
\[R_{soil,net} = LW_{soil} + \frac{SW_{soil}}{86400} 10^6\]\[N_{soil,E} = s R_{soil,net}\]\[N_{soil,A} = \rho c_p \Delta e_{soil-air} g_{a,soil}\]\[E_{surf,pot} = \frac{N_{soil,E} + N_{soil,A}} {\lambda \left[s + \gamma \left(1 + \frac{g_{a,soil}}{g_{ws}}\right)\right]}\]- Parameters:
fluxes (dict) β Required variables:
soil_net_swrad_Wm2andsoil_net_lwrad_Wm2.diagnos (dict) β Required variables:
air_density,latent_heat_of_vaporization,psychrometric_constant,saturation_vapour_pressure_slope,soil_aerodynamic_conductance,soil_surface_conductance, andsoil_to_air_vapour_pressure_gradient.consts (dict) β Required variables:
seconds_per_dayandspecific_heat_capacity_air.
- Returns:
fluxes (dict) β Updated variable:
soil_net_radiation_Wm2.diagnos (dict) β Updated variable:
potential_surface_evaporation.
- model.processes.evapotranspiration.calculate_potential_canopy_liquid_evaporation(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Diagnose potential wet-canopy evaporation using a zero-surface-resistance Penman-Monteith formulation.
\[R_{canopy,net} = LW_{canopy} + SW_{canopy}\]\[E_{canopy,pot} = \frac{s R_{canopy,net} + ET_{coef} g_{a,canopy}} {\lambda \left[s + \gamma\right]}\]- Parameters:
drivers (dict) β Required variable:
vpd_kPa.fluxes (dict) β Required variables:
canopy_net_swrad_Wm2andcanopy_net_lwrad_Wm2.diagnos (dict) β Required variables:
air_density,latent_heat_of_vaporization,psychrometric_constant,saturation_vapour_pressure_slope,above_canopy_aerodynamic_conductance, andleaf_boundary_layer_conductance.consts (dict) β Required variables:
seconds_per_dayandspecific_heat_capacity_air.
- Returns:
fluxes (dict) β Updated variable:
canopy_net_radiation_Wm2.diagnos (dict) β Updated variable:
potential_canopy_liquid_evaporation.
- model.processes.evapotranspiration.calculate_potential_canopy_sublimation(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Diagnose potential canopy sublimation by rescaling wet-canopy evaporation by the latent heat ratio.
- Parameters:
diagnos (dict) β Required variables:
potential_canopy_liquid_evaporationandlatent_heat_of_vaporization.consts (dict) β Required variable:
latent_heat_of_sublimation.
- Returns:
diagnos β Updated variable:
potential_canopy_sublimation.- Return type:
dict
- model.processes.evapotranspiration.calculate_potential_snow_sublimation(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Diagnose potential sublimation from the ground snowpack using an ice-surface Penman-Monteith formulation.
\[E_{sub,pot} = \frac{\Delta_{ice}\,R_{n,soil} + \rho c_p\,\Delta e_{ice}\,g_{a,soil}} {L_s\,(\Delta_{ice} + \gamma_{ice})}\]where \(\Delta_{ice}\) is the slope of the ice saturation vapour pressure curve, \(\gamma_{ice} = \gamma\,L_v/L_s\), and \(\Delta e_{ice} = \max(0,\,e_{sat,ice} - e_{air})\).
See also
- Parameters:
drivers (dict) β Required variables:
ta_degCandvpd_kPa.fluxes (dict) β Required variable:
soil_net_radiation_Wm2.diagnos (dict) β Required variables:
soil_aerodynamic_conductance,air_density,latent_heat_of_vaporization,psychrometric_constant, andsnow_cover_fraction.consts (dict) β Required variables:
latent_heat_of_sublimation,seconds_per_day, andspecific_heat_capacity_air.
- Returns:
diagnos β Updated variable:
potential_snow_sublimation.- Return type:
dict
- model.processes.evapotranspiration.calculate_potential_canopy_transpiration(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Diagnose potential canopy transpiration using the Penman-Monteith equation with stomatal resistance.
- Parameters:
drivers (dict) β Required variable:
vpd_kPa.fluxes (dict) β Required variables:
canopy_net_swrad_Wm2andcanopy_net_lwrad_Wm2.diagnos (dict) β Required variables:
air_density,canopy_stomatal_conductance,air_molar_density,latent_heat_of_vaporization,psychrometric_constant,saturation_vapour_pressure_slope,above_canopy_aerodynamic_conductance, andleaf_boundary_layer_conductance.consts (dict) β Required variables:
seconds_per_dayandspecific_heat_capacity_air.
- Returns:
fluxes (dict) β Updated variable:
canopy_net_radiation_Wm2.diagnos (dict) β Updated variable:
potential_canopy_transpiration.
- model.processes.evapotranspiration.calculate_latent_heat_flux(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)ΒΆ
Convert mass-based evapotranspiration fluxes to a total latent heat flux.
- Parameters:
fluxes (dict) β Required variables:
canopy_transpiration_mmday,canopy_liquid_evaporation_mmday,soil_evaporation_mmday,snow_sublimation_mmday, andcanopy_solid_sublimation_mmday.diagnos (dict) β Required variable:
latent_heat_of_vaporization.consts (dict) β Required variables:
latent_heat_of_sublimationandseconds_per_day.
- Returns:
fluxes β Updated variable:
latent_heat_flux_Wm2.- Return type:
dict