The AHA Model  Revision: 12809
Reference implementation 04 (HEDG02_04)
the_environment::light_depth Interface Reference

Calculate underwater background irradiance at specific depth. More...

Collaboration diagram for the_environment::light_depth:

Public Member Functions

real(srp) function light_depth_integer (depth, surface_light, is_stochastic)
 Calculate underwater light at specific depth given specific surface light. More...
 
real(srp) function light_depth_real (depth, surface_light, is_stochastic)
 Calculate underwater light at specific depth given specific surface light. More...
 

Detailed Description

Calculate underwater background irradiance at specific depth.

Underwater light is attenuated following Beer’s law,

\[ E_{b}(z,t) = L_{t} e^{-K z} , \]

where

Definition at line 715 of file m_env.f90.

Member Function/Subroutine Documentation

◆ light_depth_integer()

real(srp) function the_environment::light_depth::light_depth_integer ( integer, intent(in)  depth,
real(srp), intent(in), optional  surface_light,
logical, intent(in), optional  is_stochastic 
)

Calculate underwater light at specific depth given specific surface light.

Underwater light is attenuated following Beer’s law,

\[ E_{b}(z,t) = L_{t} e^{-K z} , \]

where $ E_{b}(z,t) $ is background irradiance at depth z at time t and K is the attenuation coefficient for downwelling irradiance. The value of K in the old code was set very high to allow the vertical dynamics to take place within 30 depth cells.

Returns
Eb background irradiance at specific depth.
Parameters
[in]depthThe integer depth horizon where we get background
[in]surface_lightIrradiance at the surface, normally calculated at specific time point of the model with the the_environment::light_surface() function. If this parameter is absent, surface light at the current time step is obtained. The time step in such case is obtained from commondata::global_time_step_model_current.
[in]is_stochasticstochastic indicator for the surface light in the_environment::light_surface() function. If this parameter is absent, the default commondata::daylight_stochastic parameter value is used.
Note
Note that this function accepts integer depth, a separate function should be used for physical real type depth.
Note that it is an elemental function that accepts both scalar and array parameters.

Definition at line 5507 of file m_env.f90.

◆ light_depth_real()

real(srp) function the_environment::light_depth::light_depth_real ( real(srp), intent(in)  depth,
real(srp), intent(in), optional  surface_light,
logical, intent(in), optional  is_stochastic 
)

Calculate underwater light at specific depth given specific surface light.

Underwater light is attenuated following Beer’s law,

\[ E_{b}(z,t) = L_{t} e^{-K z} , \]

where $ E_{b}(z,t) $ is background irradiance at depth z at time t and K is the attenuation coefficient for downwelling irradiance.

Returns
Eb background irradiance at specific depth.
Parameters
[in]depthThe integer depth horizon where we get background.
[in]surface_lightIrradiance at the surface, normally calculated at specific time point of the model with the the_environment::light_surface() function. If this parameter is absent, surface light at the current time step is obtained. The time step in such case is obtained from commondata::global_time_step_model_current.
[in]is_stochasticstochastic indicator for the surface light in the_environment::light_surface() function. If this parameter is absent, the default commondata::daylight_stochastic parameter value is used.
Note
Note that this function accepts real depth.

Definition at line 5582 of file m_env.f90.


The documentation for this interface was generated from the following file: