8.3
general documentation
rayso.f90 File Reference

Functions/Subroutines

subroutine reftra (pioc, piaero, gasym, gaero, tauc, taua, ref, tra, epsc, dqqv, mui)
 Compute reflexion and transmission. More...
 
subroutine rayso (ivertc, k1, kmray, heuray, imer1, albe, qqv, qqqv, qqvinf, zqq, zray, qvray, qlray, fneray, romray, preray, temray, fos, rayst, ncray)
 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...
 
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 dzyama (y, dy)
 Aborption derivative-function of the solar radiation by water vapor. More...
 
double precision function raysoz (x)
 Aborption function of the solar radiation by ozone. More...
 
double precision function dzxaoz (x, dx)
 Absorption derivative-function of the solar radiation by ozone. More...
 
double precision function drayuoz (zh)
 

Function/Subroutine Documentation

◆ drayuoz()

double precision function drayuoz ( double precision, intent(in)  zh)

◆ dzxaoz()

double precision function dzxaoz ( double precision, intent(in)  x,
double precision, intent(in)  dx 
)

Absorption derivative-function of the solar radiation by ozone.

Parameters
[in]x
[in]dx

◆ dzyama()

double precision function dzyama ( double precision, intent(in)  y,
double precision, intent(in)  dy 
)

Aborption derivative-function of the solar radiation by water vapor.

Parameters
[in]yoptical depth for water vapor
[in]dyTODO?

◆ 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)  temray,
double precision  fos,
double precision, dimension(kmx)  rayst,
double precision, dimension(kmx)  ncray 
)

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:

  • introduction of cloud fraction with hazardous recovering
  • introduction of aerosol diffusion in the same way as for cloud droplets but with specific optical properties for aerosols.
    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 humidity for water vapor
    [in]qlrayspecific humidity for liquid water
    [in]fneraycloud fraction
    [in]romrayair density
    [in]preraypressure
    [in]temraytemperature
    [out]fosglobal downward solar flux at the ground
    [out]raystflux divergence of solar radiation

◆ raysoz()

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

Aborption function of the solar radiation by ozone.

Parameters
[in]xoptical depth for ozone

◆ raysve()

double precision function 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 rayuoz ( double precision, intent(in)  zh)

Computes ozone concentration for a given altitude.

Parameters
[in]zhaltitude

◆ reftra()

subroutine reftra ( double precision, intent(in)  pioc,
double precision, intent(in)  piaero,
double precision, intent(in)  gasym,
double precision, intent(in)  gaero,
double precision, intent(in)  tauc,
double precision, intent(in)  taua,
double precision, intent(inout)  ref,
double precision, intent(inout)  tra,
double precision, intent(in)  epsc,
double precision, intent(in)  dqqv,
double precision  mui 
)

Compute reflexion and transmission.

Parameters
[in]piocAlbedo of simple diffusion for cloud (water)
[in]piaeroAlbedo of simple diffusion for aerosol
[in]gasymAsymmetry factor for clouds
[in]gaeroAsymmetry factor for aerosols
[in]taucOptical depth for clouds
[in]tauaOptical depth for aersols
[out]refReflexion
[out]traTransmission
[in]epscclipping threshold
[in]dqqvOptical depth for Water vapor