UFO
|
Fortran module to provide code shared between nonlinear and tlm/adm radiance calculations. More...
Data Types | |
type | crtm_conf |
interface | calculate_aero_layer_factor |
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, geo_hf) |
subroutine, public | get_var_name (n, varname) |
real(kind=kind_real) function | uv_to_wdir (u, v) |
Determines the wind direction from U and V components. More... | |
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, layer_factors) |
subroutine | calculate_aero_layer_factor_atm (atm, layer_factors) |
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=maxvarlen), 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=maxvarlen), 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' ] |
character(len=maxvarlen), dimension(2), parameter | validsurfacewindgeovars = [character(len=MAXVARLEN) :: 'vector', 'uv'] |
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 1177 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 1159 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 165 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 |
|
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 963 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 513 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, | ||
type(crtm_geometry_type), dimension(:), intent(inout), optional | geo_hf | ||
) |
Definition at line 823 of file ufo_crtm_utils_mod.F90.
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 611 of file ufo_crtm_utils_mod.F90.
|
private |
|
private |
Definition at line 1276 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 1344 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 1310 of file ufo_crtm_utils_mod.F90.
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 466 of file ufo_crtm_utils_mod.F90.
character(len(str)) function, public ufo_crtm_utils_mod::upper2lower | ( | character(*), intent(in) | str | ) |
|
private |
Determines the wind direction from U and V components.
uv_to_wdir Calculates the wind direction, as measured clockwise from north, similar to an azimuth angle. Takes the eastward and northward wind component magnitudes, respectively, as arguments. Due to the azimuthal convention used here, the inverse equations are: u = w * cos(wdir * deg2rad) v = w * sin(wdir * deg2rad) where w is the wind speed
[in] | u | eastward_wind |
[in] | v | northward_wind |
Definition at line 926 of file ufo_crtm_utils_mod.F90.
real(kind_real), parameter, public ufo_crtm_utils_mod::aerosol_concentration_minvalue =1.e-16_kind_real |
Definition at line 43 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 43 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 111 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 121 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 108 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 139 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 136 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 154 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 43 of file ufo_crtm_utils_mod.F90.
real(kind_real), parameter, public ufo_crtm_utils_mod::grav = 9.81_kind_real |
Definition at line 43 of file ufo_crtm_utils_mod.F90.
integer, parameter, public ufo_crtm_utils_mod::max_string =800 |
Definition at line 55 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 43 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 43 of file ufo_crtm_utils_mod.F90.
Definition at line 43 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 43 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 43 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 103 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 128 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 150 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 158 of file ufo_crtm_utils_mod.F90.
|
private |
Definition at line 43 of file ufo_crtm_utils_mod.F90.