astronomy_mod provides astronomical variables for use by other modules within fms. the only currently used interface is for determination of astronomical values needed by the shortwave radiation packages.
fms_mod
time_manager_mod
constants_mod
call astronomy_init (latb, lonb)
| latb | array of model latitudes at cell boundaries [radians] [real] |
| lonb | array of model longitudes at cell boundaries [radians] [real] |
call get_period_integer (period_out)
| period_out | number of seconds as the length of the year [integer] |
call get_period_time_type (period_out)
| period_out | the length of the year as a time_type [time_type] |
call set_period_integer (period_in)
| period_in | the length of the year as a time_type [time_type] |
call set_orbital_parameters (ecc_in, obliq_in, per_in)
| ecc_in | eccentricity of orbital ellipse [real] |
| obliq_in | obliquity fof orbital ellipse [real] |
| per_in | longitude of perihelion with respect to autumnal
equinox in northern hemisphere [real] |
call get_orbital_parameters (ecc_out, obliq_out, per_out)
| ecc_out | eccentricity of orbital ellipse [real] |
| obliq_out | obliquity fof orbital ellipse [real] |
| per_out | longitude of perihelion with respect to autumnal
equinox in northern hemisphere [real] |
call set_ref_date_of_ae (day_in,month_in,year_in, & second_in,minute_in,hour_in)
| day_in | day of reference autumnal equinox [integer] |
| month_in | month of reference autumnal equinox [integer] |
| year_in | year of reference autumnal equinox [integer] |
| second_in | OPTIONAL: second of reference autumnal equinox [real] |
| minute_in | OPTIONAL: minute of reference autumnal equinox [real] |
| hour_in | OPTIONAL: hour of reference autumnal equinox [real] |
call get_ref_date_of_ae (day_out,month_out,year_out, & second_out, minute_out,hour_out)
| day_out | day of reference autumnal equinox [integer] |
| month_out | month of reference autumnal equinox [integer] |
| year_out | year of reference autumnal equinox [integer] |
| second_out | second of reference autumnal equinox [real] |
| minute_out | minute of reference autumnal equinox [real] |
| hour_out | hour of reference autumnal equinox [real] |
call diurnal_solar_2d (lat, lon, gmt, time_since_ae, cosz, & fracday, rrsun, dt_time)
| lat | latitudes of model grid points [real] |
| lon | longitude of model grid points [real] |
| gmt | time of day at longitude 0.0; midnight = 0.0,
one day = 2 * pi [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| dt | OPTIONAL: time interval after gmt over which the astronomical
variables are to be averaged. this produces averaged
output rather than instantaneous. [real] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call diurnal_solar_1d (lat, lon, gmt, time_since_ae, cosz, & fracday, rrsun, dt)
| lat | latitudes of model grid points [real] |
| lon | longitude of model grid points [real] |
| gmt | time of day at longitude 0.0; midnight = 0.0,
one day = 2 * pi [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| dt | OPTIONAL: time interval after gmt over which the astronomical
variables are to be averaged. this produces averaged
output rather than instantaneous. [real] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call diurnal_solar_0d (lat, lon, gmt, time_since_ae, cosz, & fracday, rrsun, dt)
| lat | latitudes of model grid points [real] |
| lon | longitude of model grid points [real] |
| gmt | time of day at longitude 0.0; midnight = 0.0,
one day = 2 * pi [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| dt | OPTIONAL: time interval after gmt over which the astronomical
variables are to be averaged. this produces averaged
output rather than instantaneous. [real] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call diurnal_solar_cal_2d (lat, lon, gmt, time_since_ae, cosz, & fracday, rrsun, dt)
| lat | latitudes of model grid points [real] |
| lon | longitude of model grid points [real] |
| gmt | time of day at longitude 0.0; midnight = 0.0,
one day = 2 * pi [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| dt_time | OPTIONAL: time interval after gmt over which the astronomical
variables are to be averaged. this produces averaged
output rather than instantaneous. [time_type] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call diurnal_solar_cal_1d (lat, lon, gmt, time_since_ae, cosz, & fracday, rrsun, dt)
| lat | latitudes of model grid points [real] |
| lon | longitude of model grid points [real] |
| gmt | time of day at longitude 0.0; midnight = 0.0,
one day = 2 * pi [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| dt_time | OPTIONAL: time interval after gmt over which the astronomical
variables are to be averaged. this produces averaged
output rather than instantaneous. [time_type] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call diurnal_solar_cal_0d (lat, lon, gmt, time_since_ae, cosz, & fracday, rrsun, dt_time)
| lat | latitudes of model grid points [real] |
| lon | longitude of model grid points [real] |
| gmt | time of day at longitude 0.0; midnight = 0.0,
one day = 2 * pi [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| dt_time | OPTIONAL: time interval after gmt over which the astronomical
variables are to be averaged. this produces averaged
output rather than instantaneous. [time_type] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call daily_mean_solar_2d (lat, time_since_ae, cosz, h_out, rr_out)
| lat | latitudes of model grid points [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| cosz | cosine of solar zenith angle [real] |
| h_out | 2-d array of half-day lengths at the latitudes [real] |
| rr_out | the inverse of the square of the earth-sun
distance relative to the mean distance at angle ang in the earth's
orbit. [real] |
call daily_mean_solar_1d (lat, time_since_ae, cosz, h_out, rr_out)
| lat | latitudes of model grid points [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| cosz | cosine of solar zenith angle [real] |
| h_out | 2-d array of half-day lengths at the latitudes [real] |
| rr_out | the inverse of the square of the earth-sun
distance relative to the mean distance at angle ang in the earth's
orbit. [real] |
call daily_mean_solar_2level (lat, time_since_ae, cosz, solar)
| lat | latitudes of model grid points [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| cosz | cosine of solar zenith angle [real] |
| solar | shortwave flux factor: cosine of zenith angle *
daylight fraction / (earth-sun distance squared) [real] |
call daily_mean_solar_0d (lat, time_since_ae, cosz, h_out, rr_out)
| lat | latitudes of model grid points [real] |
| time_since_ae | time of year; autumnal equinox = 0.0,
one year = 2 * pi [real] |
| cosz | cosine of solar zenith angle [real] |
| h_out | 2-d array of half-day lengths at the latitudes [real] |
| rr_out | the inverse of the square of the earth-sun
distance relative to the mean distance at angle ang in the earth's
orbit. [real] |
call daily_mean_solar_cal_2d (lat, time, cosz, fracday, rrsun)
| lat | latitudes of model grid points [real] |
| time | time of year; autumnal equinox = 0.0, one year = 2 * pi [time_type] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call daily_mean_solar_cal_1d (lat, time, cosz, fracday, rrsun)
| lat | latitudes of model grid points [real] |
| time | time of year; autumnal equinox = 0.0, one year = 2 * pi [time_type] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call daily_mean_solar_cal_2level (lat, time, cosz, solar)
| lat | latitudes of model grid points [real] |
| time | time of year; autumnal equinox = 0.0, one year = 2 * pi [time_type] |
| cosz | cosine of solar zenith angle [real] |
| solar | shortwave flux factor: cosine of zenith angle *
daylight fraction / (earth-sun distance squared) [real] |
call daily_mean_solar_cal_0d (lat, time, cosz, fracday, rrsun)
| lat | latitudes of model grid points [real] |
| time | time of year; autumnal equinox = 0.0, one year = 2 * pi [time_type] |
| cosz | cosine of solar zenith angle [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call annual_mean_solar_2d (js, je, lat, cosz, solar, fracday, & rrsun)
| js, je | Starting/ending index of latitude window [real] |
| lat | latitudes of model grid points [real] |
| time | time of year; autumnal equinox = 0.0, one year = 2 * pi [time_type] |
| cosz | cosine of solar zenith angle [real] |
| solar | shortwave flux factor: cosine of zenith angle *
daylight fraction / (earth-sun distance squared) [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call annual_mean_solar_1d (jst, jnd, lat, cosz, solar, & fracday, rrsun_out)
| jst, jnd | Starting/ending index of latitude window [real] |
| lat | latitudes of model grid points [real] |
| time | time of year; autumnal equinox = 0.0, one year = 2 * pi [time_type] |
| cosz | cosine of solar zenith angle [real] |
| solar | shortwave flux factor: cosine of zenith angle *
daylight fraction / (earth-sun distance squared) [real] |
| fracday | daylight fraction of time interval [real] |
| rrsun_out | earth-sun distance (r) relative to semi-major axis
of orbital ellipse (a) : (a/r)**2 [real] |
call annual_mean_solar_2level (lat, cosz, solar)
| lat | latitudes of model grid points [real] |
| cosz | cosine of solar zenith angle [real] |
| solar | shortwave flux factor: cosine of zenith angle *
daylight fraction / (earth-sun distance squared) [real] |
call astronomy_end
call orbit
r = r_inv_squared (ang)
| ang | angular position of earth in its orbit, relative to a
value of 0.0 at the NH autumnal equinox, value between
0.0 and 2 * pi [real] |
r = angle (t)
| t | time of year (between 0 and 2*pi; t=0 at NH autumnal
equinox [real] |
r = declination (ang)
| ang | solar orbital position ang in earth's orbit [real] |
h = half_day_2d (latitude, dec)
| latitude | latitutde of view point [real] |
| dec | solar declination angle at view point [real] |
half_day_0d
| latitude | latitutde of view point [real] |
| dec | solar declination angle at view point [real] |
t = orbital_time (time)
| time | time (1 year = 2*pi) since autumnal equinox [time_type] |
t = universal_time (time)
| time | time (1 year = 2*pi) since autumnal equinox [time_type] |