Surface#

Submodules#

Module contents#

class abcmodel.land.surface.StandardSurfaceModel(lam=5.9, rsmin=110.0, lai=2.0)[source]#

Bases: AbstractSurfaceModel[StandardSurfaceState]

Standard surface model calculating skin temperature and energy fluxes.

Parameters:
  • lam (float) – thermal diffusivity of the soil/skin layer [W m-1 K-1]. Default is 5.9.

  • rsmin (float) – minimum stomatal resistance [s m-1]. Default is 110.0.

  • lai (float) – leaf area index [m2 m-2]. Default is 2.0.

init_state(alpha=0.25, surf_temp=290.0)[source]#

Initialize the surface state.

Parameters:
  • alpha (float) – surface albedo [-]. Default is 0.25.

  • surf_temp (float) – surface skin temperature [K]. Default is 290.0.

Returns:

The initialized StandardSurfaceState.

run(state)[source]#

Compute surface energy balance, skin temperature, and fluxes.

compute_dqsatdT(esat, theta, surf_pressure)[source]#

Compute derivative of saturation vapor pressure with respect to temperature.

compute_e(q, surf_pressure)[source]#

Compute the vapor pressure.

compute_skin_temperature(net_rad, theta, q, qsat, dqsatdT, ra, rs, rssoil, cliq, temp_soil, cveg)[source]#

Compute skin temperature surf_temp.

compute_le_veg(surf_temp, theta, q, qsat, dqsatdT, ra, rs, cliq, cveg)[source]#

Compute latent heat flux (transpiration) from vegetation.

compute_le_liq(surf_temp, theta, q, qsat, dqsatdT, ra, cliq, cveg)[source]#

Compute latent heat flux on the leaf (dew) le_liq.

compute_le_soil(surf_temp, theta, q, qsat, dqsatdT, ra, rssoil, cveg)[source]#

Compute latent heat flux on the soil (evaporation) le_soil.

compute_le(le_soil, le_veg, le_liq)[source]#

Compute the total evapotranspiration (latent heat flux) le.

compute_hf(surf_temp, theta, ra)[source]#

Compute sensible heat flux hf.

compute_gf(surf_temp, temp_soil)[source]#

Compute ground heat flux gf.

compute_le_pot(net_rad, gf, dqsatdT, qsat, q, ra)[source]#

Compute potential latent heat flux.

compute_le_ref(net_rad, gf, dqsatdT, qsat, q, ra)[source]#

Compute reference latent heat flux.

compute_wtheta(hf)[source]#

Compute kinematic heat flux.

compute_wq(le)[source]#

Compute kinematic moisture flux.

compute_vpd(q, qsat)[source]#

Compute vapor pressure deficit.

class abcmodel.land.surface.StandardSurfaceState(alpha, surf_temp, esat=<factory>, qsat=<factory>, dqsatdT=<factory>, e=<factory>, qsatsurf=<factory>, le_veg=<factory>, le_liq=<factory>, le_soil=<factory>, le=<factory>, hf=<factory>, gf=<factory>, le_pot=<factory>, le_ref=<factory>, vpd=<factory>, wtheta=<factory>, wq=<factory>)[source]#

Bases: AbstractSurfaceState

Standard surface state.

alpha: Array#

Surface albedo [-].

surf_temp: Array#

Surface temperature [K].

esat: Array#

Saturation vapor pressure [Pa].

qsat: Array#

Saturation specific humidity [kg/kg].

dqsatdT: Array#

Derivative of saturation specific humidity with respect to temperature [kg/kg/K].

e: Array#

Vapor pressure [Pa].

qsatsurf: Array#

Saturation specific humidity at surface temperature [kg/kg].

le_veg: Array#

Latent heat flux from vegetation [W m-2].

le_liq: Array#

Latent heat flux from liquid water [W m-2].

le_soil: Array#

Latent heat flux from soil [W m-2].

le: Array#

Total latent heat flux [W m-2].

hf: Array#

Sensible heat flux [W m-2].

gf: Array#

Ground heat flux [W m-2].

le_pot: Array#

Potential latent heat flux [W m-2].

le_ref: Array#

Reference latent heat flux [W m-2].

vpd: Array#

Vapor pressure deficit [Pa].

wtheta: Array#

Kinematic heat flux [K m/s].

wq: Array#

Kinematic moisture flux [kg/kg m/s].