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] |