This module sets up astronomical quantities for solar radiation calculations.
More...
- Version
- NCEP-Radiation_astronomy v5.2 Jan 2013
|
subroutine, public | module_radiation_astronomy::sol_init (me) |
| This subroutine initializes astronomy process, and set up module constants. More...
|
|
subroutine, public | module_radiation_astronomy::sol_update (jdate, kyear, deltsw, deltim, lsol_chg, me, slag, sdec, cdec, solcon ) |
| This subroutine computes solar parameters at forecast time. More...
|
|
subroutine | module_radiation_astronomy::solar (jd, fjd, r1, dlt, alp ) |
| This subroutine computes radius vector, declination and right ascension of sun, and equation of time.
|
|
subroutine, public | module_radiation_astronomy::coszmn (xlon, sinlat, coslat, solhr, IM, me, coszen, coszdg ) |
| This subroutine computes mean cos solar zenith angle over SW calling interval. More...
|
|
subroutine | module_radiation_astronomy::prtime (jd, fjd, dlt, alp, r1, solc ) |
| This subroutine prints out forecast date, time, and astronomy quantities.
|
|
subroutine, public module_radiation_astronomy::coszmn |
( |
real (kind=kind_phys), dimension(:), intent(in) |
xlon, |
|
|
real (kind=kind_phys), dimension(:), intent(in) |
sinlat, |
|
|
real (kind=kind_phys), dimension(:), intent(in) |
coslat, |
|
|
real (kind=kind_phys), intent(in) |
solhr, |
|
|
integer, intent(in) |
IM, |
|
|
integer, intent(in) |
me, |
|
|
real (kind=kind_phys), dimension(:), intent(out) |
coszen, |
|
|
real (kind=kind_phys), dimension(:), intent(out) |
coszdg |
|
) |
| |
- Parameters
-
xlon | (IM), grids' longitudes in radians, work both on zonal, 0->2pi and -pi->+pi arrangements |
sinlat | (IM), sine of the corresponding latitudes |
coslat | (IM), cosine of the corresponding latitudes |
solhr | time after 00z in hours |
IM | num of grids in horizontal dimension |
me | print message control flag |
coszen | (IM), average of cosz for daytime only in sw call interval |
coszdg | (IM), average of cosz over entire sw call interval |
subroutine, public module_radiation_astronomy::sol_init |
( |
integer, intent(in) |
me | ) |
|
- Parameters
-
me | print message control flag |
subroutine, public module_radiation_astronomy::sol_update |
( |
integer, dimension(:), intent(in) |
jdate, |
|
|
integer, intent(in) |
kyear, |
|
|
real (kind=kind_phys), intent(in) |
deltsw, |
|
|
real (kind=kind_phys), intent(in) |
deltim, |
|
|
logical, intent(in) |
lsol_chg, |
|
|
integer, intent(in) |
me, |
|
|
real (kind=kind_phys), intent(out) |
slag, |
|
|
real (kind=kind_phys), intent(out) |
sdec, |
|
|
real (kind=kind_phys), intent(out) |
cdec, |
|
|
real (kind=kind_phys), intent(out) |
solcon |
|
) |
| |
- Parameters
-
jdate | ncep absolute date and time at fcst time (yr, mon, day, t-zone, hr, min, sec, mil-sec) |
kyear | usually kyear=jdate(1). if not, it is for hindcast mode, and it is usually the init cond time and serves as the upper limit of data can be used. |
deltsw | time duration in seconds per sw calculation |
deltim | timestep in seconds |
lsol_chg | logical flags for change solar constant |
me | print message control flag |
slag | equation of time in radians |
sdec,cdec | sin and cos of the solar declination angle |
solcon | sun-earth distance adjusted solar constant (w/m^2) |
General Algorithm
- Call solar()
- Call prtime()
References prtime(), and solar().