UFO
|
Fortran module to provide code shared between nonlinear and tlm/adm radiance calculations. More...
Data Types | |
type | rttov_conf |
type | ufo_rttov_io |
Functions/Subroutines | |
subroutine, public | rttov_conf_setup (conf, f_confOpts, f_confOper) |
subroutine, public | rttov_conf_delete (conf) |
subroutine, public | load_atm_data_rttov (geovals, obss, profiles, prof_start, conf, layer_quantities, obs_info) |
subroutine, public | load_geom_data_rttov (obss, profiles, prof_start1, obs_info) |
subroutine | set_options_rttov (self, f_confOpts) |
subroutine | setup_rttov (self, f_confOpts, asw) |
subroutine | get_var_name (n, varname) |
subroutine | alloc_rttov (self, errorstatus, conf, nprofiles, nchannels, nlevels, init, asw) |
subroutine, public | ufo_rttov_skip_profiles (nprofiles, nchannels, channels, obss, Skip_Profiles) |
subroutine | ufo_rttov_init_emissivity (self, conf) |
subroutine | set_defaults_rttov (self, default_opts_set) |
subroutine, public | populate_hofxdiags (RTProf, chanprof, hofxdiags) |
subroutine, public | parse_hofxdiags (hofxdiags, jacobian_needed) |
subroutine | ops_satrad_qsplit (output_type, p, t, qtotal, q, ql, qi, UseQtSplitRain) |
Variables | |
integer, parameter, public | max_string =800 |
integer, parameter, public | maxvarin = 50 |
character(len=maxvarlen), dimension(maxvarin), public | varin_temp |
character(len=max_string), public | message |
integer, public | nvars_in |
integer, public | rttov_errorstatus |
character(len=maxvarlen), dimension(:), allocatable | ystr_diags |
character(len=maxvarlen), dimension(:), allocatable | xstr_diags |
integer, dimension(:), allocatable | ch_diags |
real(c_double) | missing |
character(len=maxvarlen), dimension(21), target | varin_default_crtm = (/var_ts, var_prs, var_prsi, var_sfc_wfrac, var_sfc_lfrac, var_sfc_ifrac, var_sfc_sfrac, var_sfc_wtmp, var_sfc_ltmp, var_sfc_itmp, var_sfc_stmp, var_sfc_vegfrac, var_sfc_wspeed, var_sfc_wdir, var_sfc_lai, var_sfc_soilm, var_sfc_soilt, var_sfc_landtyp, var_sfc_vegtyp, var_sfc_soiltyp, var_sfc_sdepth/) |
character(len=maxvarlen), dimension(11), target | varin_default_satrad = (/var_prs, var_ts, var_q, var_sfc_t2m, var_u, var_v, var_sfc_p2m, var_sfc_q2m, var_sfc_tskin, var_water_type_rttov, var_surf_type_rttov /) |
character(len=maxvarlen), dimension(:), pointer, public | varin_default |
character(len= *), dimension(ngases_max+1), parameter | rttov_absorbers = [gas_name(1:ngases_max),'CLW'] |
integer, dimension(ngases_max+1), parameter | rttov_absorber_id = [gas_id_mixed, gas_id_watervapour, gas_id_ozone, gas_id_wvcont, gas_id_co2, gas_id_n2o, gas_id_co, gas_id_ch4, gas_id_so2, 99] |
character(len=maxvarlen), parameter | null_str = '' |
character(len=maxvarlen), dimension(ngases_max+1), parameter | ufo_absorbers = [ null_str, var_mixr, var_oz, null_str, var_co2, 'mole_fraction_of_nitrous_oxide_in_air', 'mole_fraction_of_carbon_monoxide_in_air', 'mole_fraction_of_methane_in_air', 'mole_fraction_of_sulfur_dioxide_in_air', var_clw] |
integer, public | nchan_inst |
integer, public | nchan_sim |
integer, public | nlocs_total |
logical, public | debug |
integer | iprof |
Fortran module to provide code shared between nonlinear and tlm/adm radiance calculations.
|
private |
Definition at line 1170 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 1157 of file ufo_radiancerttov_utils_mod.F90.
subroutine, public ufo_radiancerttov_utils_mod::load_atm_data_rttov | ( | type(ufo_geovals), intent(in) | geovals, |
type(c_ptr), intent(in), value | obss, | ||
type(rttov_profile), dimension(:), intent(inout) | profiles, | ||
integer, intent(in) | prof_start, | ||
type(rttov_conf), intent(in) | conf, | ||
logical, intent(inout) | layer_quantities, | ||
logical, intent(in), optional | obs_info | ||
) |
Definition at line 317 of file ufo_radiancerttov_utils_mod.F90.
subroutine, public ufo_radiancerttov_utils_mod::load_geom_data_rttov | ( | type(c_ptr), intent(in), value | obss, |
type(rttov_profile), dimension(:), intent(inout) | profiles, | ||
integer, intent(in), optional | prof_start1, | ||
logical, intent(in), optional | obs_info | ||
) |
Definition at line 778 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 1800 of file ufo_radiancerttov_utils_mod.F90.
subroutine, public ufo_radiancerttov_utils_mod::parse_hofxdiags | ( | type(ufo_geovals), intent(inout) | hofxdiags, |
logical, intent(out) | jacobian_needed | ||
) |
Definition at line 1725 of file ufo_radiancerttov_utils_mod.F90.
subroutine, public ufo_radiancerttov_utils_mod::populate_hofxdiags | ( | type(ufo_rttov_io), intent(in) | RTProf, |
type(rttov_chanprof), dimension(:), intent(in) | chanprof, | ||
type(ufo_geovals), intent(inout) | hofxdiags | ||
) |
Definition at line 1546 of file ufo_radiancerttov_utils_mod.F90.
subroutine, public ufo_radiancerttov_utils_mod::rttov_conf_delete | ( | type(rttov_conf), intent(inout) | conf | ) |
Definition at line 304 of file ufo_radiancerttov_utils_mod.F90.
subroutine, public ufo_radiancerttov_utils_mod::rttov_conf_setup | ( | type(rttov_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_radiancerttov_utils_mod.F90.
|
private |
[in] | default_opts_set | Switch to enable atmospheric refraction |
[in] | default_opts_set | Switch for input units in AD/K models |
[in] | default_opts_set | Switch to enable use of 2m q variable |
[in] | default_opts_set | Switch for setting Lambertian reflection (IR and MW) |
[in] | default_opts_set | Switch for fixed/parameterised effective angle for Lambertian option |
[in] | default_opts_set | Switch to ignore atmospheric curvature |
[in] | default_opts_set | Linear-in-tau or layer-mean for downwelling radiances |
[in] | default_opts_set | Switch to apply dtau test in transmit/integrate calculations |
[in] | default_opts_set | Solar sea BRDF model (1-2) |
[in] | default_opts_set | IR sea emissivity model (1-2) |
[in] | default_opts_set | Switch to enable solar simulations |
[in] | default_opts_set | Switch to enable Rayleigh single-scattering for VIS/NIR channels |
[in] | default_opts_set | Switch to enable NLTE bias correction |
[in] | default_opts_set | Switch to enable IR aerosol calculations |
[in] | default_opts_set | Switch to supply aerosol optical properties explicitly per channel |
[in] | default_opts_set | Switch to enable IR cloudy calculations |
[in] | default_opts_set | Switch to supply cloud optical properties explicitly per channel |
[in] | default_opts_set | Switch to supply grid-box average cloud concentration or cloud concentration in cloudy fraction of each layer |
[in] | default_opts_set | Ignore cloud streams with weights lower than this |
[in] | default_opts_set | Switch for simplified cloud stream option - USE WITH CAUTION |
[in] | default_opts_set | Upper pressure limit for cldstr_simple option (hPa) |
[in] | default_opts_set | IR scattering model to use |
[in] | default_opts_set | VIS/NIR scattering model to use |
[in] | default_opts_set | Number of DOM streams, must be even and not less than 2 |
[in] | default_opts_set | Convergence criterion for termination of DOM azimuthal loop |
[in] | default_opts_set | DOM ignores levels below this optical depth:
|
[in] | default_opts_set | Switch to enable input of O3 profile |
[in] | default_opts_set | Switch to enable input of CO2 profile |
[in] | default_opts_set | Switch to enable input of N2O profile |
[in] | default_opts_set | Switch to enable input of CO profile |
[in] | default_opts_set | Switch to enable input of CH4 profile |
[in] | default_opts_set | Switch to enable input of SO2 profile |
[in] | default_opts_set | Switch to enable PC-RTTOV |
[in] | default_opts_set | PC spectral band |
[in] | default_opts_set | PC predictor channel set |
[in] | default_opts_set | Number of PC scores to compute, if less than 1 npcscores is derived from the size of the pccomppcscores array |
[in] | default_opts_set | Switch for calculation of reconstructed radiances |
[in] | default_opts_set | FASTEM version (0-6); 0 => TESSEM2 |
[in] | default_opts_set | Supply a foam fraction to FASTEM |
[in] | default_opts_set | Switch to enable input of cloud liquid water profile |
[in] | default_opts_set | MW CLW scheme: 1 => Liebe, 2 => Rosenkranz, 3 => TKC |
[in] | default_opts_set | Apply MW CLW calculations on coef/user levels (true/false resp.) |
[in] | default_opts_set | Lower pressure limit for MW CLW calculations (hPa) |
[in] | default_opts_set | Apply band-correction for Planck radiance and BT calculations |
[in] | default_opts_set | Switch to enable RTTOV interpolator |
[in] | default_opts_set | Interpolation mode (1-5, see user guide) |
[in] | default_opts_set | Switch to make pressure an active variable in TL/AD/K models |
[in] | default_opts_set | Switch to assume space boundary at top-most input pressure level |
[in] | default_opts_set | Switch to extrapolate input profiles using regression limits |
[in] | default_opts_set | Switch to use htfrtc |
[in] | default_opts_set | Number of principal components to be used |
[in] | default_opts_set | Switch to select reconstructed radiances |
[in] | default_opts_set | Calculate simple cloud |
[in] | default_opts_set | Calculate overcast cloud on all levels |
Definition at line 1373 of file ufo_radiancerttov_utils_mod.F90.
subroutine ufo_radiancerttov_utils_mod::set_options_rttov | ( | class(rttov_conf), intent(inout) | self, |
type(fckit_configuration), intent(in) | f_confOpts | ||
) |
[in] | f_confopts | Switch to enable atmospheric refraction |
[in] | f_confopts | Switch for input units in AD/K models |
[in] | f_confopts | Switch to enable use of 2m q variable |
[in] | f_confopts | Switch for setting Lambertian reflection (IR and MW) |
[in] | f_confopts | Switch for fixed/parameterised effective angle for Lambertian option |
[in] | f_confopts | Switch to ignore atmospheric curvature |
[in] | f_confopts | Linear-in-tau or layer-mean for downwelling radiances |
[in] | f_confopts | Switch to apply dtau test in transmit/integrate calculations |
[in] | f_confopts | FASTEM version (0-6); 0 => TESSEM2 |
[in] | f_confopts | Supply a foam fraction to FASTEM |
[in] | f_confopts | Switch to enable input of cloud liquid water profile |
[in] | f_confopts | MW CLW scheme: 1 => Liebe, 2 => Rosenkranz, 3 => TKC |
[in] | f_confopts | Apply MW CLW calculations on coef/user levels (true/false resp.) |
[in] | f_confopts | Lower pressure limit for MW CLW calculations (hPa) |
[in] | f_confopts | Apply band-correction for Planck radiance and BT calculations |
[in] | f_confopts | Switch to enable RTTOV interpolator |
[in] | f_confopts | Interpolation mode (1-5, see user guide) |
[in] | f_confopts | Switch to make pressure an active variable in TL/AD/K models |
[in] | f_confopts | Switch to assume space boundary at top-most input pressure l |
[in] | f_confopts | Switch to extrapolate input profiles using regression limits |
[in] | f_confopts | Solar sea BRDF model (1-2) |
[in] | f_confopts | IR sea emissivity model (1-2) |
[in] | f_confopts | Switch to enable solar simulations |
[in] | f_confopts | Switch to enable Rayleigh single-scattering for VIS/NIR channel |
[in] | f_confopts | Switch to enable NLTE bias correction |
[in] | f_confopts | Switch to enable IR aerosol calculations |
[in] | f_confopts | Switch to supply aerosol optical properties explicitly per channel |
[in] | f_confopts | Switch to enable IR cloudy calculations |
[in] | f_confopts | Switch to supply cloud optical properties explicitly per channel |
[in] | f_confopts | Switch to supply grid-box average cloud concentration or cloud |
[in] | f_confopts | Ignore cloud streams with weights lower than this |
[in] | f_confopts | Switch for simplified cloud stream option - USE WITH CAUTION |
[in] | f_confopts | Upper pressure limit for cldstr_simple option (hPa) |
[in] | f_confopts | IR scattering model to use |
[in] | f_confopts | VIS/NIR scattering model to use |
[in] | f_confopts | Number of DOM streams, must be even and not less than 2 |
[in] | f_confopts | Convergence criterion for termination of DOM azimuthal loop |
[in] | f_confopts | DOM ignores levels below this optical depth: |
[in] | f_confopts | Switch to enable input of O3 profile |
[in] | f_confopts | Switch to enable input of CO2 profile |
[in] | f_confopts | Switch to enable input of N2O profile |
[in] | f_confopts | Switch to enable input of CO profile |
[in] | f_confopts | Switch to enable input of CH4 profile |
[in] | f_confopts | Switch to enable input of SO2 profile |
Definition at line 851 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 1104 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 1313 of file ufo_radiancerttov_utils_mod.F90.
subroutine, public ufo_radiancerttov_utils_mod::ufo_rttov_skip_profiles | ( | integer, intent(in) | nprofiles, |
integer, intent(in) | nchannels, | ||
integer(c_int), dimension(:), intent(in) | channels, | ||
type(c_ptr), intent(in), value | obss, | ||
logical, dimension(:), intent(inout) | Skip_Profiles | ||
) |
Definition at line 1271 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 51 of file ufo_radiancerttov_utils_mod.F90.
logical, public ufo_radiancerttov_utils_mod::debug |
Definition at line 100 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 102 of file ufo_radiancerttov_utils_mod.F90.
integer, parameter, public ufo_radiancerttov_utils_mod::max_string =800 |
Definition at line 39 of file ufo_radiancerttov_utils_mod.F90.
integer, parameter, public ufo_radiancerttov_utils_mod::maxvarin = 50 |
Definition at line 40 of file ufo_radiancerttov_utils_mod.F90.
character(len=max_string), public ufo_radiancerttov_utils_mod::message |
Definition at line 45 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 53 of file ufo_radiancerttov_utils_mod.F90.
integer, public ufo_radiancerttov_utils_mod::nchan_inst |
Definition at line 97 of file ufo_radiancerttov_utils_mod.F90.
integer, public ufo_radiancerttov_utils_mod::nchan_sim |
Definition at line 98 of file ufo_radiancerttov_utils_mod.F90.
integer, public ufo_radiancerttov_utils_mod::nlocs_total |
Definition at line 99 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 88 of file ufo_radiancerttov_utils_mod.F90.
integer, public ufo_radiancerttov_utils_mod::nvars_in |
Definition at line 47 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 76 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 72 of file ufo_radiancerttov_utils_mod.F90.
integer, public ufo_radiancerttov_utils_mod::rttov_errorstatus |
Definition at line 48 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 91 of file ufo_radiancerttov_utils_mod.F90.
character(len=maxvarlen), dimension(:), pointer, public ufo_radiancerttov_utils_mod::varin_default |
Definition at line 69 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 55 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 64 of file ufo_radiancerttov_utils_mod.F90.
character(len=maxvarlen), dimension(maxvarin), public ufo_radiancerttov_utils_mod::varin_temp |
Definition at line 44 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 50 of file ufo_radiancerttov_utils_mod.F90.
|
private |
Definition at line 50 of file ufo_radiancerttov_utils_mod.F90.