mo_optics_ssm_kernels Module

Kernels

Details here


Uses

    • mo_gas_optics_constants
    • mo_rte_util_array
    • mo_rte_kind
  • module~~mo_optics_ssm_kernels~~UsesGraph module~mo_optics_ssm_kernels mo_optics_ssm_kernels mo_gas_optics_constants mo_gas_optics_constants module~mo_optics_ssm_kernels->mo_gas_optics_constants mo_rte_util_array mo_rte_util_array module~mo_optics_ssm_kernels->mo_rte_util_array mo_rte_kind mo_rte_kind module~mo_optics_ssm_kernels->mo_rte_kind

Used by

  • module~~mo_optics_ssm_kernels~~UsedByGraph module~mo_optics_ssm_kernels mo_optics_ssm_kernels module~mo_optics_ssm mo_optics_ssm module~mo_optics_ssm->module~mo_optics_ssm_kernels

Contents


Interfaces

public interface compute_Planck_source

  • private subroutine compute_Planck_source_1D(ncol, nnu, nus, dnus, T, source) bind(C, name="0")

    Arguments

    TypeIntentOptionalAttributesName
    integer, intent(in) :: ncol
    integer, intent(in) :: nnu
    real(kind=wp), intent(in), dimension(nnu):: nus
    real(kind=wp), intent(in), dimension(nnu):: dnus
    real(kind=wp), intent(in), dimension(ncol):: T
    real(kind=wp), intent(out), dimension(ncol, nnu):: source
  • private subroutine compute_Planck_source_2D(ncol, nlay, nnu, nus, dnus, T, source) bind(C, name="0")

    Arguments

    TypeIntentOptionalAttributesName
    integer, intent(in) :: ncol
    integer, intent(in) :: nlay
    integer, intent(in) :: nnu
    real(kind=wp), intent(in), dimension(nnu):: nus
    real(kind=wp), intent(in), dimension(nnu):: dnus
    real(kind=wp), intent(in), dimension(ncol, nlay):: T
    real(kind=wp), intent(out), dimension(ncol, nlay, nnu):: source

Subroutines

public subroutine compute_layer_mass(ncol, nlay, ngas, vmr, plev, mol_weights, m_dry, layer_mass) bind(C, name="0")

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol
integer, intent(in) :: nlay
integer, intent(in) :: ngas
real(kind=wp), intent(in), dimension(ngas, ncol, nlay ):: vmr
real(kind=wp), intent(in), dimension( ncol, nlay+1):: plev
real(kind=wp), intent(in), dimension(ngas):: mol_weights
real(kind=wp), intent(in) :: m_dry
real(kind=wp), intent(out), dimension(ngas, ncol, nlay):: layer_mass

public subroutine compute_tau(ncol, nlay, nnu, ngas, absorption_coeffs, play, pref, layer_mass, tau) bind(C, name="0")

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol
integer, intent(in) :: nlay
integer, intent(in) :: nnu
integer, intent(in) :: ngas
real(kind=wp), intent(in), dimension(ngas, nnu):: absorption_coeffs
real(kind=wp), intent(in), dimension(ncol, nlay):: play

layer pressures [Pa]; (ncol,nlay)

real(kind=wp), intent(in) :: pref

reference pressure [Pa], do foreign broadening if this is non-zero

real(kind=wp), intent(in), dimension(ngas, ncol, nlay):: layer_mass

!! mass of atm layer [kg/m2]; (ngas, ncol, nlay)

real(kind=wp), intent(out), dimension(ncol, nlay, nnu):: tau