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...
|
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...
|
|
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.
◆ 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] | ivertc | index of vertical profile |
[in] | k1 | index for ground level |
[in] | kmray | vertical levels number for radiation |
[in] | heuray | Universal time (Hour) |
[in] | imer1 | sea index |
[in] | albe | albedo |
[in] | qqv | optical depth for water vapor (0,z) |
[in] | qqqv | idem for intermediate levels |
[in] | qqvinf | idem qqv but for altitude above 11000m |
[in] | zqq | vertical levels |
[in] | zray | altitude (physical mesh) |
[in] | qvray | specific umidity for water vapor |
[in] | qlray | specific humidity for liquid water |
[in] | fneray | cloud fraction |
[in] | romray | air density |
[in] | preray | pressure |
[in] | aeroso | aerosol concentration in micro-g/m3 |
[out] | fos | global downward solar flux at the ground |
[out] | rayst | flux 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] | x | optical 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] | y | optical depth for water vapor |
◆ rayuoz()
double precision function rayso::rayuoz |
( |
double precision, intent(in) |
zh | ) |
|
Computes ozone concentration for a given altitude.
- Parameters
-