mo_gas_optics_rrtmgp_kernels Module


Uses

    • mo_rte_util_array
    • mo_rte_kind
  • module~~mo_gas_optics_rrtmgp_kernels~2~~UsesGraph module~mo_gas_optics_rrtmgp_kernels~2 mo_gas_optics_rrtmgp_kernels mo_rte_util_array mo_rte_util_array module~mo_gas_optics_rrtmgp_kernels~2->mo_rte_util_array mo_rte_kind mo_rte_kind module~mo_gas_optics_rrtmgp_kernels~2->mo_rte_kind

Contents


Subroutines

public subroutine compute_Planck_source(ncol, nlay, nbnd, ngpt, nflav, neta, npres, ntemp, nPlanckTemp, tlay, tlev, tsfc, sfc_lay, fmajor, jeta, tropo, jtemp, jpress, gpoint_bands, band_lims_gpt, pfracin, temp_ref_min, totplnk_delta, totplnk, gpoint_flavor, sfc_src, lay_src, lev_src, sfc_source_Jac) bind(C, name="0")

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol
integer, intent(in) :: nlay
integer, intent(in) :: nbnd
integer, intent(in) :: ngpt
integer, intent(in) :: nflav
integer, intent(in) :: neta
integer, intent(in) :: npres
integer, intent(in) :: ntemp
integer, intent(in) :: nPlanckTemp
real(kind=wp), intent(in), dimension(ncol,nlay ):: tlay
real(kind=wp), intent(in), dimension(ncol,nlay+1):: tlev
real(kind=wp), intent(in), dimension(ncol ):: tsfc
integer, intent(in) :: sfc_lay
real(kind=wp), intent(in), dimension(2,2,2,ncol,nlay,nflav):: fmajor
integer, intent(in), dimension(2, ncol,nlay,nflav):: jeta
logical(kind=wl), intent(in), dimension( ncol,nlay):: tropo
integer, intent(in), dimension( ncol,nlay):: jtemp
integer, intent(in), dimension( ncol,nlay):: jpress
integer, intent(in), dimension(ngpt):: gpoint_bands
integer, intent(in), dimension(2, nbnd):: band_lims_gpt
real(kind=wp), intent(in), dimension(ntemp,neta,npres+1,ngpt):: pfracin
real(kind=wp), intent(in) :: temp_ref_min
real(kind=wp), intent(in) :: totplnk_delta
real(kind=wp), intent(in), dimension(nPlanckTemp,nbnd):: totplnk
integer, intent(in), dimension(2,ngpt):: gpoint_flavor
real(kind=wp), intent(out), dimension(ncol, ngpt):: sfc_src
real(kind=wp), intent(out), dimension(ncol,nlay, ngpt):: lay_src
real(kind=wp), intent(out), dimension(ncol,nlay+1,ngpt):: lev_src
real(kind=wp), intent(out), dimension(ncol, ngpt):: sfc_source_Jac

public subroutine compute_tau_absorption(ncol, nlay, nbnd, ngpt, ngas, nflav, neta, npres, ntemp, nminorlower, nminorklower, nminorupper, nminorkupper, idx_h2o, gpoint_flavor, band_lims_gpt, kmajor, kminor_lower, kminor_upper, minor_limits_gpt_lower, minor_limits_gpt_upper, minor_scales_with_density_lower, minor_scales_with_density_upper, scale_by_complement_lower, scale_by_complement_upper, idx_minor_lower, idx_minor_upper, idx_minor_scaling_lower, idx_minor_scaling_upper, kminor_start_lower, kminor_start_upper, tropo, col_mix, fmajor, fminor, play, tlay, col_gas, jeta, jtemp, jpress, tau) bind(C, name="0")

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol
integer, intent(in) :: nlay
integer, intent(in) :: nbnd
integer, intent(in) :: ngpt
integer, intent(in) :: ngas
integer, intent(in) :: nflav
integer, intent(in) :: neta
integer, intent(in) :: npres
integer, intent(in) :: ntemp
integer, intent(in) :: nminorlower
integer, intent(in) :: nminorklower
integer, intent(in) :: nminorupper
integer, intent(in) :: nminorkupper
integer, intent(in) :: idx_h2o
integer, intent(in), dimension(2,ngpt):: gpoint_flavor
integer, intent(in), dimension(2,nbnd):: band_lims_gpt
real(kind=wp), intent(in), dimension(ntemp,neta,npres+1,ngpt):: kmajor
real(kind=wp), intent(in), dimension(ntemp,neta,nminorklower):: kminor_lower
real(kind=wp), intent(in), dimension(ntemp,neta,nminorkupper):: kminor_upper
integer, intent(in), dimension(2,nminorlower):: minor_limits_gpt_lower
integer, intent(in), dimension(2,nminorupper):: minor_limits_gpt_upper
logical(kind=wl), intent(in), dimension( nminorlower):: minor_scales_with_density_lower
logical(kind=wl), intent(in), dimension( nminorupper):: minor_scales_with_density_upper
logical(kind=wl), intent(in), dimension( nminorlower):: scale_by_complement_lower
logical(kind=wl), intent(in), dimension( nminorupper):: scale_by_complement_upper
integer, intent(in), dimension( nminorlower):: idx_minor_lower
integer, intent(in), dimension( nminorupper):: idx_minor_upper
integer, intent(in), dimension( nminorlower):: idx_minor_scaling_lower
integer, intent(in), dimension( nminorupper):: idx_minor_scaling_upper
integer, intent(in), dimension( nminorlower):: kminor_start_lower
integer, intent(in), dimension( nminorupper):: kminor_start_upper
logical(kind=wl), intent(in), dimension(ncol,nlay):: tropo
real(kind=wp), intent(in), dimension(2, ncol,nlay,nflav ):: col_mix
real(kind=wp), intent(in), dimension(2,2,2,ncol,nlay,nflav ):: fmajor
real(kind=wp), intent(in), dimension(2,2, ncol,nlay,nflav ):: fminor
real(kind=wp), intent(in), dimension( ncol,nlay ):: play
real(kind=wp), intent(in), dimension( ncol,nlay ):: tlay
real(kind=wp), intent(in), dimension( ncol,nlay,0:ngas):: col_gas
integer, intent(in), dimension(2, ncol,nlay,nflav ):: jeta
integer, intent(in), dimension( ncol,nlay ):: jtemp
integer, intent(in), dimension( ncol,nlay ):: jpress
real(kind=wp), intent(inout), dimension(ncol,nlay,ngpt):: tau

public subroutine compute_tau_rayleigh(ncol, nlay, nbnd, ngpt, ngas, nflav, neta, npres, ntemp, gpoint_flavor, band_lims_gpt, krayl, idx_h2o, col_dry, col_gas, fminor, jeta, tropo, jtemp, tau_rayleigh) bind(C, name="0")

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol
integer, intent(in) :: nlay
integer, intent(in) :: nbnd
integer, intent(in) :: ngpt
integer, intent(in) :: ngas
integer, intent(in) :: nflav
integer, intent(in) :: neta
integer, intent(in) :: npres
integer, intent(in) :: ntemp
integer, intent(in), dimension(2,ngpt):: gpoint_flavor
integer, intent(in), dimension(2,nbnd):: band_lims_gpt
real(kind=wp), intent(in), dimension(ntemp,neta,ngpt,2):: krayl
integer, intent(in) :: idx_h2o
real(kind=wp), intent(in), dimension(ncol,nlay):: col_dry
real(kind=wp), intent(in), dimension(ncol,nlay,0:ngas):: col_gas
real(kind=wp), intent(in), dimension(2,2,ncol,nlay,nflav):: fminor
integer, intent(in), dimension(2, ncol,nlay,nflav):: jeta
logical(kind=wl), intent(in), dimension(ncol,nlay):: tropo
integer, intent(in), dimension(ncol,nlay):: jtemp
real(kind=wp), intent(out), dimension(ncol,nlay,ngpt):: tau_rayleigh

public subroutine interpolation(ncol, nlay, ngas, nflav, neta, npres, ntemp, flavor, press_ref_log, temp_ref, press_ref_log_delta, temp_ref_min, temp_ref_delta, press_ref_trop_log, vmr_ref, play, tlay, col_gas, jtemp, fmajor, fminor, col_mix, tropo, jeta, jpress) bind(C, name="0")

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol
integer, intent(in) :: nlay
integer, intent(in) :: ngas
integer, intent(in) :: nflav
integer, intent(in) :: neta
integer, intent(in) :: npres
integer, intent(in) :: ntemp
integer, intent(in), dimension(2,nflav):: flavor
real(kind=wp), intent(in), dimension(npres):: press_ref_log
real(kind=wp), intent(in), dimension(ntemp):: temp_ref
real(kind=wp), intent(in) :: press_ref_log_delta
real(kind=wp), intent(in) :: temp_ref_min
real(kind=wp), intent(in) :: temp_ref_delta
real(kind=wp), intent(in) :: press_ref_trop_log
real(kind=wp), intent(in), dimension(2,0:ngas,ntemp):: vmr_ref
real(kind=wp), intent(in), dimension(ncol,nlay):: play
real(kind=wp), intent(in), dimension(ncol,nlay):: tlay
real(kind=wp), intent(in), dimension(ncol,nlay,0:ngas):: col_gas
integer, intent(out), dimension(ncol,nlay):: jtemp
real(kind=wp), intent(out), dimension(2,2,2,ncol,nlay,nflav):: fmajor
real(kind=wp), intent(out), dimension(2,2, ncol,nlay,nflav):: fminor
real(kind=wp), intent(out), dimension(2, ncol,nlay,nflav):: col_mix
logical(kind=wl), intent(out), dimension(ncol,nlay):: tropo
integer, intent(out), dimension(2, ncol,nlay,nflav):: jeta
integer, intent(out), dimension(ncol,nlay):: jpress