This module sets up astronomical quantities for solar radiation calculations. More...
This module sets up astronomical quantities for solar radiation calculations.
Module variables (to be set in module_radiation_astronomy::sol_update) | |
real(kind=kind_phys) | module_radiation_astronomy::sollag =0.0 |
equation of time | |
real(kind=kind_phys) | module_radiation_astronomy::sindec =0.0 |
sine of the solar declination angle | |
real(kind=kind_phys) | module_radiation_astronomy::cosdec =0.0 |
cosine of the solar declination angle | |
real(kind=kind_phys) | module_radiation_astronomy::anginc =0.0 |
solar angle increment per interation of cosz calc | |
real(kind=kind_phys), dimension(12) | module_radiation_astronomy::smon_sav |
saved monthly solar constants (isolflg=4 only) | |
integer | module_radiation_astronomy::iyr_sav =0 |
saved year of data used | |
integer | module_radiation_astronomy::nstp =6 |
total number of zenith angle iterations | |
subroutine, public | module_radiation_astronomy::sol_init |
This subroutine initializes astronomy process, and set up module constants. More... | |
subroutine, public | module_radiation_astronomy::sol_update |
This subroutine computes solar parameters at forecast time. More... | |
subroutine | module_radiation_astronomy::solar |
This subroutine computes radius vector, declination and right ascension of sun, and equation of time. | |
subroutine, public | module_radiation_astronomy::coszmn |
This subroutine computes mean cos solar zenith angle over SW calling interval. More... | |
subroutine | module_radiation_astronomy::prtime |
This subroutine prints out forecast date, time, and astronomy quantities. | |
subroutine, public module_radiation_astronomy::coszmn | ( | ) |
This subroutine computes mean cos solar zenith angle over SW calling interval.
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 |
Definition at line 802 of file radiation_astronomy.f.
References anginc, cosdec, nstp, sindec, and sollag.
Referenced by module_radiation_driver::grrad().
subroutine, public module_radiation_astronomy::sol_init | ( | ) |
This subroutine initializes astronomy process, and set up module constants.
me | print message control flag |
Definition at line 146 of file radiation_astronomy.f.
References physcons::con_solr, physcons::con_solr_old, physparam::isolar, iyr_sav, nstp, and physparam::solar_file.
Referenced by module_radiation_driver::radinit().
subroutine, public module_radiation_astronomy::sol_update | ( | ) |
This subroutine computes solar parameters at forecast time.
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)\) |
Definition at line 321 of file radiation_astronomy.f.
References anginc, cosdec, iyr_sav, nstp, prtime(), sindec, smon_sav, solar(), and sollag.
Referenced by module_radiation_driver::radupdate().