My Project
programmer's documentation
Functions/Subroutines
rayso.f90 File Reference

Compute solar fluxes for both clear and cloudy atmosphere following Lacis and Hansen (1974). The multiple diffusion is taken into account by an addition method and overlapping between water vapor and liquid water with k distribution method. Some improvements from original version concerns: More...

Functions/Subroutines

subroutine rayso (ivertc, k1, kmray, heuray, imer1, albe, qqv, qqqv, qqvinf, zqq, zray, qvray, qlray, fneray, romray, preray, aeroso, fos, rayst, ncray)
 
double precision function rayuoz (zh)
 Computes ozone concentration for a given altitude. More...
 
double precision function raysve (y)
 Aborption function of the solar radiation by water vapor. More...
 
double precision function raysoz (x)
 Aborption function of the solar radiation by ozone. More...
 

Detailed Description

Compute solar fluxes for both clear and cloudy atmosphere following Lacis and Hansen (1974). The multiple diffusion is taken into account by an addition method and overlapping between water vapor and liquid water with k distribution method. Some improvements from original version concerns:

Function/Subroutine Documentation

◆ rayso()

subroutine rayso ( integer  ivertc,
integer  k1,
integer  kmray,
double precision  heuray,
integer  imer1,
double precision  albe,
double precision, dimension(kmx+1)  qqv,
double precision, dimension(kmx+1)  qqqv,
double precision  qqvinf,
double precision, dimension(kmx+1)  zqq,
double precision, dimension(kmx)  zray,
double precision, dimension(kmx)  qvray,
double precision, dimension(kmx)  qlray,
double precision, dimension(kmx)  fneray,
double precision, dimension(kmx)  romray,
double precision, dimension(kmx)  preray,
double precision, dimension(kmx)  aeroso,
double precision  fos,
double precision, dimension(kmx)  rayst,
double precision, dimension(kmx)  ncray 
)
Parameters
[in]ivertcindex of vertical profile
[in]k1index for ground level
[in]kmrayvertical levels number for radiation
[in]heurayUniversal time (Hour)
[in]imer1sea index
[in]albealbedo
[in]qqvoptical depth for water vapor (0,z)
[in]qqqvidem for intermediate levels
[in]qqvinfidem qqv but for altitude above 11000m
[in]zqqvertical levels
[in]zrayaltitude (physical mesh)
[in]qvrayspecific umidity for water vapor
[in]qlrayspecific humidity for liquid water
[in]fneraycloud fraction
[in]romrayair density
[in]preraypressure
[in]aerosoaerosol concentration in micro-g/m3
[out]fosglobal downward solar flux at the ground
[out]raystflux divergence of solar radiation

◆ raysoz()

double precision function rayso::raysoz ( double precision, intent(in)  x)

Aborption function of the solar radiation by ozone.

Parameters
[in]xoptical depth for ozone

◆ raysve()

double precision function rayso::raysve ( double precision, intent(in)  y)

Aborption function of the solar radiation by water vapor.

Parameters
[in]yoptical depth for water vapor

◆ rayuoz()

double precision function rayso::rayuoz ( double precision, intent(in)  zh)

Computes ozone concentration for a given altitude.

Parameters
[in]zhaltitude