UFO
|
Fortran module to provide code shared between nonlinear and tlm/adm radiance calculations. More...
Data Types | |
interface | calculate_aero_layer_factor |
type | crtm_conf |
interface | qsmith |
Functions/Subroutines | |
subroutine, public | crtm_conf_setup (conf, f_confOpts, f_confOper) |
subroutine, public | crtm_conf_delete (conf) |
subroutine, public | crtm_comm_stat_check (stat, PROGRAM_NAME, message, f_comm) |
subroutine, public | ufo_crtm_skip_profiles (n_Profiles, n_Channels, channels, obss, Skip_Profiles) |
subroutine, public | load_atm_data (n_Profiles, n_Layers, geovals, atm, conf) |
subroutine, public | load_sfc_data (n_Profiles, n_Channels, channels, geovals, sfc, chinfo, obss, conf) |
subroutine, public | load_geom_data (obss, geo) |
subroutine, public | get_var_name (n, varname) |
subroutine, public | load_aerosol_data (n_profiles, n_layers, geovals, aerosol_option, atm) |
subroutine, public | assign_aerosol_names (aerosol_option, var_aerosols) |
subroutine | calculate_aero_layer_factor_atm_profile (atm, ugkg_kgm2) |
subroutine | calculate_aero_layer_factor_atm (atm, ugkg_kgm2) |
real(kind_real) function | gocart_aerosol_size (itype, rh) |
character(len(str)) function, public | upper2lower (str) |
integer function | getindex (names, usrname) |
subroutine | qsmith_atm (atm, rh) |
subroutine | qsmith_profiles (t, sphum, p, rh) |
subroutine | qsmith_init (table, des) |
subroutine | qs_table (n, table) |
Variables | |
real(kind_real), parameter | rdgas = 2.8704e+2_kind_real |
real(kind_real), parameter | rvgas = 4.6150e+2_kind_real |
real(kind_real), parameter, public | rv_rd = rvgas/rdgas |
real(kind_real), parameter | esl = 0.621971831 |
real(kind_real), parameter | zvir = rv_rd - 1_kind_real |
real(kind_real), parameter | tice = 273.16_kind_real |
real(kind_real), parameter, public | grav = 9.81_kind_real |
real(kind_real), parameter, public | aerosol_concentration_minvalue =1.e-16_kind_real |
real(kind_real), parameter, public | aerosol_concentration_minvalue_layer =tiny(rdgas) |
real(kind_real), parameter | ozone_default_value =1.e-3_kind_real |
integer, parameter, public | max_string =800 |
character(len=maxvarlen), dimension(3), parameter | ufo_absorbers = [ var_mixr, var_co2, var_oz ] |
character(len= *), dimension(n_valid_absorber_ids), parameter | crtm_absorbers = ABSORBER_ID_NAME(1:N_VALID_ABSORBER_IDS) |
integer, dimension(n_valid_absorber_ids), parameter | crtm_absorber_id = [ H2O_ID, CO2_ID, O3_ID, N2O_ID, CO_ID, CH4_ID, O2_ID, NO_ID, SO2_ID, NO2_ID, NH3_ID, HNO3_ID, OH_ID, HF_ID, HCl_ID, HBr_ID, HI_ID, ClO_ID, OCS_ID, H2CO_ID, HOCl_ID, N2_ID, HCN_ID, CH3l_ID, H2O2_ID, C2H2_ID, C2H6_ID, PH3_ID, COF2_ID, SF6_ID, H2S_ID,HCOOH_ID ] |
integer, dimension(3), parameter | crtm_absorber_units = [ MASS_MIXING_RATIO_UNITS , VOLUME_MIXING_RATIO_UNITS , VOLUME_MIXING_RATIO_UNITS ] |
character(len=maxvarlen), dimension(n_valid_cloud_categories, 2), parameter | ufo_clouds = reshape( [ var_clw, var_cli, var_clr, var_cls, var_clg, var_clh, var_clwefr, var_cliefr, var_clrefr, var_clsefr, var_clgefr, var_clhefr ], [N_VALID_CLOUD_CATEGORIES,2] ) |
character(len= *), dimension(n_valid_cloud_categories), parameter | crtm_clouds = CLOUD_CATEGORY_NAME(1:N_VALID_CLOUD_CATEGORIES) |
integer, dimension(n_valid_cloud_categories), parameter | crtm_cloud_id = [ WATER_CLOUD, ICE_CLOUD, RAIN_CLOUD, SNOW_CLOUD, GRAUPEL_CLOUD, HAIL_CLOUD ] |
character(len=maxvarlen), dimension(4), parameter | ufo_surfaces = [ var_sfc_wtmp, var_sfc_wspeed,var_sfc_wdir, var_sfc_sss] |
character(len=maxvarlen), dimension(4), parameter | crtm_surfaces = [ character(len=MAXVARLEN):: 'Water_Temperature', 'Wind_Speed', 'Wind_Direction', 'Salinity' ] |
Fortran module to provide code shared between nonlinear and tlm/adm radiance calculations.
subroutine, public ufo_crtm_utils_mod::assign_aerosol_names | ( | character(*), intent(in) | aerosol_option, |
character(len=maxvarlen), dimension(:), intent(out), allocatable | var_aerosols | ||
) |
|
private |
Definition at line 1050 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 1030 of file ufo_crtm_utils_mod.F90.
subroutine, public ufo_crtm_utils_mod::crtm_comm_stat_check | ( | integer, intent(in) | stat, |
character(*), intent(in) | PROGRAM_NAME, | ||
character(*), intent(in) | message, | ||
type(fckit_mpi_comm), intent(in) | f_comm | ||
) |
subroutine, public ufo_crtm_utils_mod::crtm_conf_delete | ( | type(crtm_conf), intent(inout) | conf | ) |
subroutine, public ufo_crtm_utils_mod::crtm_conf_setup | ( | type(crtm_conf), intent(inout) | conf, |
type(fckit_configuration), intent(in) | f_confOpts, | ||
type(fckit_configuration), intent(in) | f_confOper | ||
) |
Definition at line 160 of file ufo_crtm_utils_mod.F90.
subroutine, public ufo_crtm_utils_mod::get_var_name | ( | integer, intent(in) | n, |
character(len=*), intent(out) | varname | ||
) |
|
private |
Definition at line 1135 of file ufo_crtm_utils_mod.F90.
|
private |
subroutine, public ufo_crtm_utils_mod::load_aerosol_data | ( | integer, intent(in) | n_profiles, |
integer, intent(in) | n_layers, | ||
type(ufo_geovals), intent(in) | geovals, | ||
character(*) | aerosol_option, | ||
type(crtm_atmosphere_type), dimension(:), intent(inout) | atm | ||
) |
Definition at line 834 of file ufo_crtm_utils_mod.F90.
subroutine, public ufo_crtm_utils_mod::load_atm_data | ( | integer, intent(in) | n_Profiles, |
integer, intent(in) | n_Layers, | ||
type(ufo_geovals), intent(in) | geovals, | ||
type(crtm_atmosphere_type), dimension(:), intent(inout) | atm, | ||
type(crtm_conf) | conf | ||
) |
Definition at line 496 of file ufo_crtm_utils_mod.F90.
subroutine, public ufo_crtm_utils_mod::load_geom_data | ( | type(c_ptr), intent(in), value | obss, |
type(crtm_geometry_type), dimension(:), intent(inout) | geo | ||
) |
subroutine, public ufo_crtm_utils_mod::load_sfc_data | ( | integer, intent(in) | n_Profiles, |
integer, intent(in) | n_Channels, | ||
integer(c_int), dimension(:), intent(in) | channels, | ||
type(ufo_geovals), intent(in) | geovals, | ||
type(crtm_surface_type), dimension(:), intent(inout) | sfc, | ||
type(crtm_channelinfo_type), dimension(:), intent(in) | chinfo, | ||
type(c_ptr), intent(in), value | obss, | ||
type(crtm_conf), intent(in) | conf | ||
) |
Definition at line 588 of file ufo_crtm_utils_mod.F90.
|
private |
|
private |
|
private |
Definition at line 1219 of file ufo_crtm_utils_mod.F90.
|
private |
subroutine, public ufo_crtm_utils_mod::ufo_crtm_skip_profiles | ( | integer, intent(in) | n_Profiles, |
integer, intent(in) | n_Channels, | ||
integer(c_int), dimension(:), intent(in) | channels, | ||
type(c_ptr), intent(in), value | obss, | ||
logical, dimension(:), intent(inout) | Skip_Profiles | ||
) |
Definition at line 449 of file ufo_crtm_utils_mod.F90.
character(len(str)) function, public ufo_crtm_utils_mod::upper2lower | ( | character(*), intent(in) | str | ) |
real(kind_real), parameter, public ufo_crtm_utils_mod::aerosol_concentration_minvalue =1.e-16_kind_real |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
real(kind_real), parameter, public ufo_crtm_utils_mod::aerosol_concentration_minvalue_layer =tiny(rdgas) |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 109 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 119 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 106 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 137 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 134 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 152 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
real(kind_real), parameter, public ufo_crtm_utils_mod::grav = 9.81_kind_real |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
integer, parameter, public ufo_crtm_utils_mod::max_string =800 |
Definition at line 54 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
Definition at line 42 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 42 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 101 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 126 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 148 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 42 of file ufo_crtm_utils_mod.F90.