Radiation: Calculate solar radiation on topography given latitude, date, and time#

class Radiation(*args, **kwds)[source]#

Bases: Component

Compute 1D and 2D daily incident shortwave radiation.

Landlab component that computes 1D and 2D daily extraterrestiral, clear-sky, incident shortwave, net shortwave, longwave, and net radiation. This code also computes relative incidence shortwave radiation compared to a flat surface calculated at noon.

References

Bras, R. L.: Hydrology: an introduction to hydrologic science, Addison Wesley Publishing Company, Boston, Mass., USA, 643 pp., 1990.

ASCE-EWRI (2005) The ASCE standardized reference evapotranspiration equation. In: Allen RG, Walter IA, Elliot RL et al (eds) Environmental and Water Resources Institute (EWRI) of the American Society of Civil Engineers, ASCE, Standardization of Reference Evapotranspiration Task Committee final report. American Society of Civil Engineers (ASCE), Reston

Allen, R.G., 1996. Assessing integrity of weather data for reference evapotranspiration estimation. J. Irrig. Drain. Eng., ASCE 122 (2), 97-106.

Flores-Cervantes, J.H., E. Istanbulluoglu, E.R. Vivoni, and R.L. Bras (2014). A geomorphic perspective on terrain-modulate organization of vegetation productivity: Analysis in two semiarid grassland ecosystems in Southwestern United States. Ecohydrol., 7: 242-257. doi: 10.1002/eco.1333.

Code author: Sai Nudurupati & Erkan Istanbulluoglu & Berkan Mertan

Examples

>>> from landlab import RasterModelGrid
>>> from landlab.components import Radiation
>>> import numpy as np
>>> grid = RasterModelGrid((5, 4), xy_spacing=(0.2, 0.2))
>>> z = grid.add_zeros("node", "topographic__elevation")
>>> rad = Radiation(grid)
>>> grid.at_node["topographic__elevation"] = [
...     [0.0, 0.0, 0.0, 0.0],
...     [1.0, 1.0, 1.0, 1.0],
...     [2.0, 2.0, 2.0, 2.0],
...     [3.0, 4.0, 4.0, 3.0],
...     [4.0, 4.0, 4.0, 4.0],
... ]
>>> rad.current_time = 0.5
>>> rad.update()
>>> grid.at_cell["radiation__net_shortwave_flux"].reshape((3, 2))
array([[ 251.63813643,  251.63813643],
       [ 251.62345462,  251.62345462],
       [ 251.59409258,  251.59409258]])
>>> grid.at_node["topographic__elevation"] = [
...     [0.0, 0.0, 0.0, 0.0],
...     [100.0, 100.0, 100.0, 100.0],
...     [200.0, 200.0, 200.0, 200.0],
...     [300.0, 400.0, 400.0, 300.0],
...     [400.0, 400.0, 400.0, 400.0],
... ]
>>> calc_rad = Radiation(grid, current_time=0.0, kt=0.2)
>>> calc_rad.update()
>>> grid.at_cell["radiation__net_shortwave_flux"].reshape((3, 2))
array([[ 188.10745478,  188.10745478],
       [ 187.84329564,  187.69076199],
       [ 183.82445291,  183.41439585]])

References

Required Software Citation(s) Specific to this Component

None Listed

Parameters:
  • grid (RasterModelGrid) – A grid.

  • method ({'Grid'}, optional) – Currently, only default is available.

  • cloudiness (float, optional) – Cloudiness.

  • latitude (float, optional) – Latitude (radians).

  • albedo (float, optional) – Albedo.

  • kt (float, optional) – Regional coefficient applied to actual KT coefficient (0.15-0.2). Default is 0.15

  • clearsky_turbidity (float, optional) – Clear sky turbidity.

  • opt_airmass (float, optional) – Optical air mass.

  • max_daily_temp (float, optional) – Maximum daily temperature (Celsius)

  • min_daily_Temp (float, optional) – Minimum daily temperature (Celsius)

  • current_time (float) – Current time (years).

__init__(grid, method='Grid', cloudiness=0.2, latitude=34.0, albedo=0.2, kt=0.17, clearsky_turbidity=None, opt_airmass=None, current_time=0.0, max_daily_temp=25.0, min_daily_temp=10.0)[source]#
Parameters:
  • grid (RasterModelGrid) – A grid.

  • method ({'Grid'}, optional) – Currently, only default is available.

  • cloudiness (float, optional) – Cloudiness.

  • latitude (float, optional) – Latitude (radians).

  • albedo (float, optional) – Albedo.

  • kt (float, optional) – Regional coefficient applied to actual KT coefficient (0.15-0.2). Default is 0.15

  • clearsky_turbidity (float, optional) – Clear sky turbidity.

  • opt_airmass (float, optional) – Optical air mass.

  • max_daily_temp (float, optional) – Maximum daily temperature (Celsius)

  • min_daily_Temp (float, optional) – Minimum daily temperature (Celsius)

  • current_time (float) – Current time (years).

property actual_vapor_pressure#
property day_of_year#
property relative_distance_factor#
run_one_step(dt=None)[source]#
property solar_declination#
update()[source]#

Update fields with current loading conditions.

This method looks to the properties current_time and hour and uses their values in updating fields.