pygetm.radiation module
- class pygetm.radiation.Jerlov(*values)[source]
Bases:
EnumJerlov water types, expressed as fraction of total shortwave in band 1 (non-visible; fast attenuating), the attenuation length (m) of band 1, and the attenuation length (m) of band 2 (visible; slowly attenuating). Taken from Table 2 of Paulson & Simpson (1977).
- Type_1 = (0.68, 1.2, 28.0)
- Type_I = (0.58, 0.35, 23.0)
- Type_IA = (0.62, 0.6, 20.0)
- Type_IB = (0.67, 1.0, 17.0)
- Type_II = (0.77, 1.5, 14.0)
- Type_III = (0.78, 1.4, 7.9)
- class pygetm.radiation.Radiation[source]
Bases:
objectBase class that provides heating due to shortwave absorption throughout the water column. When using this class directly, heating is effectively prescribed, not calculated. In this case, the heating per layer defaults to zero; assign to
swr_absor callswr_abs.setto change this.
- class pygetm.radiation.TwoBand(jerlov_type: Jerlov | None = None, reflect_at_bottom: bool = False)[source]
Bases:
RadiationTwo-band (visible and non-visible) model for shortwave radiation and absorption throughout the water column. It is driven by downwelling shortwave radiation just below the water surface, in combination with the fraction of shortwave radiation that is non-visible, and the attenuation coefficients for the visible and non-visible fractions. All of these can vary spatially, but the non-visible fraction and attenuation coefficients can vary only horizontally, not vertically.
- Parameters:
jerlov_type – Jerlov water type to infer attenuation coefficients
kc1andkc2and the non-visible fraction of shortwave radiationAfrom. If not provided, these quantities are potentially horizontally and temporally variable; they can be set by callingpygetm.core.Array.set()onkc1,kc2andA.reflect_at_bottom – reflect part of the radiation arriving at the bottom, and track this stream upward, attenuating it along the way. The spatially explicit
bottom_albedocan subsequently be set by callingpygetm.core.Array.set()on it. Radiation that is absorbed at the bottom (the fraction that is not reflected) will heat the bottom water layer, as the heat budget of sediments is not modelled.
- __call__(swr: Array, kc2_add: Array | None = None)[source]
Compute heating due to shortwave radiation throughout the water column
- Parameters:
swr – net downwelling shortwave radiation just below the water surface (i.e., what is left after reflection).
kc2_add – additional depth-varying attenuation (m-1) of second waveband, typically associated with chlorophyll or suspended matter
- property jerlov_type
- set_jerlov_type(jerlov_type: Jerlov)[source]
Derive the non-visible fraction of shortwave radiation (
A), the attenuation coefficient of non-visible shortwave radiation (kc1), and the attenuation coefficient of visible shortwave radiation (kc2) from the Jerlov water type. These three coefficients will be constant in time and space.