This module sets up ozone climatological profiles and other constant gas profiles, such as co2, ch4, n2o, o2, and those of cfc gases. All data are entered as mixing ratio by volume, except ozone which is mass mixing ratio (g/g). More...
This module sets up ozone climatological profiles and other constant gas profiles, such as co2, ch4, n2o, o2, and those of cfc gases. All data are entered as mixing ratio by volume, except ozone which is mass mixing ratio (g/g).
parameter constants | |
integer, parameter, public | module_radiation_gases::nf_vgas = 10 |
number of gas species | |
integer, parameter | module_radiation_gases::imxco2 = 24 |
input co2 dat lon points | |
integer, parameter | module_radiation_gases::jmxco2 = 12 |
input co2 data lat points | |
integer, parameter | module_radiation_gases::minyear = 1957 |
earlist year 2-d co2 data available | |
real(kind=kind_phys), parameter | module_radiation_gases::resco2 =15.0 |
horizontal resolution in degree | |
real(kind=kind_phys), parameter | module_radiation_gases::raddeg =180.0/con_pi |
rad->deg conversion | |
real(kind=kind_phys), parameter | module_radiation_gases::prsco2 =788.0 |
pressure limitation for 2-d co2 (mb) | |
real(kind=kind_phys), parameter | module_radiation_gases::hfpi =0.5*con_pi |
half of pi | |
parameter constants for gas volume mixing ratioes | |
real(kind=kind_phys), parameter | module_radiation_gases::co2vmr_def = 350.0e-6 |
real(kind=kind_phys), parameter | module_radiation_gases::n2ovmr_def = 0.31e-6 |
real(kind=kind_phys), parameter | module_radiation_gases::ch4vmr_def = 1.50e-6 |
real(kind=kind_phys), parameter | module_radiation_gases::o2vmr_def = 0.209 |
real(kind=kind_phys), parameter | module_radiation_gases::covmr_def = 1.50e-8 |
real(kind=kind_phys), parameter | module_radiation_gases::f11vmr_def = 3.520e-10 |
aer 2003 value | |
real(kind=kind_phys), parameter | module_radiation_gases::f12vmr_def = 6.358e-10 |
aer 2003 value | |
real(kind=kind_phys), parameter | module_radiation_gases::f22vmr_def = 1.500e-10 |
aer 2003 value | |
real(kind=kind_phys), parameter | module_radiation_gases::cl4vmr_def = 1.397e-10 |
aer 2003 value | |
real(kind=kind_phys), parameter | module_radiation_gases::f113vmr_def = 8.2000e-11 |
gfdl 1999 value | |
arrays for co2 2-d monthly data and global mean values from observed data | |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_gases::co2vmr_sav |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_gases::co2cyc_sav |
real(kind=kind_phys) | module_radiation_gases::co2_glb = co2vmr_def |
real(kind=kind_phys), dimension(12) | module_radiation_gases::gco2cyc |
integer | module_radiation_gases::kyrsav = 0 |
integer | module_radiation_gases::kmonsav = 1 |
subroutine, public | module_radiation_gases::gas_init (me) |
This subroutine sets up ozone, co2, etc. parameters. If climatology ozone then read in monthly ozone data. More... | |
subroutine, public | module_radiation_gases::gas_update (iyear, imon, iday, ihour, loz1st, ldoco2, me) |
This subroutine reads in 2-d monthly co2 data set for a specified year. Data are in a 15 degree lat/lon horizontal resolution. More... | |
subroutine, public | module_radiation_gases::getgases (plvl, xlon, xlat, IMAX, LMAX, gasdat ) |
This subroutine sets up global distribution of radiation absorbing gases in volume mixing ratio. Currently only co2 has the options from observed values, all other gases are asigned to the climatological values. More... | |
subroutine, public | module_radiation_gases::getozn (prslk, xlat, IMAX, LM, o3mmr ) |
This subroutine sets up climatological ozone profile for radiation calculation. This code is originally written by Shrinivas Moorthi. More... | |
subroutine, public module_radiation_gases::gas_init | ( | integer, intent(in) | me | ) |
This subroutine sets up ozone, co2, etc. parameters. If climatology ozone then read in monthly ozone data.
me | print message control flag |
Definition at line 220 of file radiation_gases.f.
References physparam::co2cyc_file, physparam::co2usr_file, physparam::ico2flg, physparam::ictmflg, imxco2, physparam::ioznflg, and jmxco2.
Referenced by module_radiation_driver::radinit().
subroutine, public module_radiation_gases::gas_update | ( | integer, intent(in) | iyear, |
integer, intent(in) | imon, | ||
integer, intent(in) | iday, | ||
integer, intent(in) | ihour, | ||
logical, intent(in) | loz1st, | ||
logical, intent(in) | ldoco2, | ||
integer, intent(in) | me | ||
) |
This subroutine reads in 2-d monthly co2 data set for a specified year. Data are in a 15 degree lat/lon horizontal resolution.
iyear | year of the requested data for fcst |
imon | month of the year |
iday | day of the month |
ihour | hour of the day |
loz1st | clim ozone 1st time update control flag |
ldoco2 | co2 update control flag |
me | print message control flag |
Definition at line 517 of file radiation_gases.f.
References physparam::co2dat_file, physparam::co2gbl_file, physparam::ico2flg, physparam::ictmflg, imxco2, physparam::ioznflg, jmxco2, and minyear.
Referenced by module_radiation_driver::radupdate().
subroutine, public module_radiation_gases::getgases | ( | real (kind=kind_phys), dimension(:,:), intent(in) | plvl, |
real (kind=kind_phys), dimension(:), intent(in) | xlon, | ||
real (kind=kind_phys), dimension(:), intent(in) | xlat, | ||
integer, intent(in) | IMAX, | ||
integer, intent(in) | LMAX, | ||
real (kind=kind_phys), dimension(:,:,:), intent(out) | gasdat | ||
) |
This subroutine sets up global distribution of radiation absorbing gases in volume mixing ratio. Currently only co2 has the options from observed values, all other gases are asigned to the climatological values.
plvl | (IMAX,LMAX+1), pressure at model layer interfaces (mb) |
xlon | (IMAX), grid longitude in radians, ok both 0->2pi or -pi -> +pi arrangements |
xlat | (IMAX), grid latitude in radians, default range to pi/2 -> -pi/2, otherwise see in-line comment |
IMAX,LMAX | horizontal/vertical dimensions for output data |
gasdat | (IMAX,LMAX,NF_VGAS) - gases volume mixing ratioes (:,:,1) - co2 (:,:,2) - n2o (:,:,3) - ch4 (:,:,4) - o2 (:,:,5) - co (:,:,6) - cfc11 (:,:,7) - cfc12 (:,:,8) - cfc22 (:,:,9) - ccl4 (:,:,10) - cfc113 |
Definition at line 913 of file radiation_gases.f.
References cl4vmr_def, physcons::con_pi, f113vmr_def, f11vmr_def, f12vmr_def, f22vmr_def, hfpi, physparam::ico2flg, imxco2, physparam::ivflip, jmxco2, prsco2, raddeg, and resco2.
Referenced by module_radiation_driver::grrad().
subroutine, public module_radiation_gases::getozn | ( | real (kind=kind_phys), dimension(:,:), intent(in) | prslk, |
real (kind=kind_phys), dimension(:), intent(in) | xlat, | ||
integer, intent(in) | IMAX, | ||
integer, intent(in) | LM, | ||
real (kind=kind_phys), dimension(:,:), intent(out) | o3mmr | ||
) |
This subroutine sets up climatological ozone profile for radiation calculation. This code is originally written by Shrinivas Moorthi.
prslk | (IMAX,LM), exner function = \((p/p0)^{rocp}\) |
xlat | (IMAX), latitude in radians, default to pi/2 -> -pi/2 range, otherwise see in-line comment |
IMAX,LM | horizontal and vertical dimensions |
o3mmr | (IMAX,LM), output ozone profile in mass mixing ratio (g/g) |
Definition at line 1064 of file radiation_gases.f.
References physparam::ivflip, and raddeg.
Referenced by module_radiation_driver::grrad().