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 (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 | ||
| ) |
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 805 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 | ( | integer, intent(in) | me | ) |
This subroutine initializes astronomy process, and set up module constants.
| me | print message control flag |
Definition at line 147 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 | ( | 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 | ||
| ) |
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 324 of file radiation_astronomy.f.
References anginc, cosdec, iyr_sav, nstp, prtime(), sindec, smon_sav, solar(), and sollag.
Referenced by module_radiation_driver::radupdate().

