mo_gas_optics_utils Module

Physical constants, planetary/atmospheric parameters, and utility functions for low-level gas optics calculations including Planck source functions.

layer mass for each species layer number density for each species (TK) The latter two don't have C bindings


Uses

  • module~~mo_gas_optics_utils~~UsesGraph module~mo_gas_optics_utils mo_gas_optics_utils module~mo_rte_kind mo_rte_kind module~mo_gas_optics_utils->module~mo_rte_kind module~mo_rte_util_array~2 mo_rte_util_array module~mo_gas_optics_utils->module~mo_rte_util_array~2 module~mo_gas_optics_constants mo_gas_optics_constants module~mo_gas_optics_utils->module~mo_gas_optics_constants iso_c_binding iso_c_binding module~mo_rte_kind->iso_c_binding module~mo_rte_util_array~2->module~mo_rte_kind module~mo_gas_optics_constants->module~mo_rte_kind module~mo_gas_optics_constants->module~mo_rte_util_array~2

Contents


Interfaces

public interface compute_Planck_source

  • public 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
  • public 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

Functions

public function get_layer_number(ncol, nlay, vmr_h2o, plev) result(col_dry)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol

Number density (#/cm^-2) of dry air molecules "col_dry" in RRTMGP

integer, intent(in) :: nlay

Number density (#/cm^-2) of dry air molecules "col_dry" in RRTMGP

real(kind=wp), intent(in), dimension(ncol, nlay ):: vmr_h2o
real(kind=wp), intent(in), dimension(ncol, nlay+1):: plev

Return Value real(kind=wp),dimension(ncol, nlay)


Subroutines

public 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

public 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

public subroutine get_layer_mass(ncol, nlay, ngas, vmr, plev, mol_weights, m_dry, layer_mass)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol

mass (kg m^-2) each gas in the layer

integer, intent(in) :: nlay

mass (kg m^-2) each gas in the layer

integer, intent(in) :: ngas

mass (kg m^-2) each gas in the layer

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