Cloudy#
- class abcmodel.rad.cloudy.CloudyRadiationState(net_rad, in_srad=<factory>, out_srad=<factory>, in_lrad=<factory>, out_lrad=<factory>)[source]#
Bases:
StandardRadiationStateStandard radiation model with clouds state.
- class abcmodel.rad.cloudy.CloudyRadiationModel(lat=51.97, lon=-4.93, doy=268.0)[source]#
Bases:
StandardRadiationModelStandard radiation model with solar position and atmospheric effects including prognostic cloud transmittance.
Calculates time-varying solar rad based on geographic location and atmospheric conditions. Includes both shortwave (solar) and longwave (thermal) rad components.
- Parameters:
lat (
float) – latitude [degrees], range -90 to +90. Default is 51.97.lon (
float) – longitude [degrees], range -180 to +180. Default is -4.93.doy (
float) – day of year [-], range 1 to 365. Default is 268.0.
- init_state(net_rad=400.0)[source]#
Initialize the model state.
- Parameters:
net_rad (
float) – Net surface radiation [W m-2]. Default is 400.0.- Returns:
The initial radiation state.
- run(state, t, dt, tstart)[source]#
Calculate rad components and net surface rad.
- Parameters:
state (
AbstractCoupledState[StandardRadiationState,TypeVar(LandT, bound=AbstractLandState),TypeVar(AtmosT, bound=AbstractAtmosphereState)]) – CoupledState.t (
Array) – Current time step index [-].dt (
float) – Time step duration [s].tstart (
float) – Start time of day [hours UTC], range 0 to 24.
- Returns:
The updated rad state object.
- compute_atmospheric_transmission_w_clouds(solar_elevation, cl_trans)[source]#
Calculate atmospheric transmission coefficient for solar rad.
- Parameters:
solar_elevation (
Array) – sine of the solar elevation angle [-].cl_trans (
Array) – prognostic cloud layer transmittance [-].
- Returns:
Atmospheric transmission coefficient [-].
Notes
This is a simplified empirical parameterization (linear model) for atmospheric transmission \(\tau\).
A clear-sky transmission \(\tau_{\text{clear}}\) is calculated based on the solar elevation \(\sin(\alpha)\) as
\[\tau_{\text{clear}} = 0.6 + 0.2 \cdot \sin(\alpha).\]The prognostic cloud transmittance \(\tau_{\text{cloud}}\) is provided directly by the model state (
cl_trans).The final transmission is then the product of these two factors, giving
\[\tau = \tau_{\text{clear}} \cdot \tau_{\text{cloud}}.\]