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_gas_optics_constants mo_gas_optics_constants module~mo_gas_optics_utils->module~mo_gas_optics_constants module~mo_rte_util_array~2 mo_rte_util_array module~mo_gas_optics_utils->module~mo_rte_util_array~2 module~mo_rte_kind mo_rte_kind module~mo_gas_optics_utils->module~mo_rte_kind module~mo_gas_optics_constants->module~mo_rte_util_array~2 module~mo_gas_optics_constants->module~mo_rte_kind module~mo_rte_util_array~2->module~mo_rte_kind iso_c_binding iso_c_binding module~mo_rte_kind->iso_c_binding

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 (#/m^-2) of dry air molecules "col_dry" in RRTMGP

integer, intent(in) :: nlay

Number density (#/m^-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)

public function interp_tlev_from_tlay(ncol, nlay, tlay, play, plev) result(tlev)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol
integer, intent(in) :: nlay
real(kind=wp), intent(in) :: tlay(ncol,nlay)
real(kind=wp), intent(in) :: play(ncol,nlay)
real(kind=wp), intent(in) :: plev(ncol,nlay+1)

Return Value real(kind=wp)(ncol,nlay+1)


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