mo_source_functions Module

Encapsulate source function arrays for longwave/lw/internal sources


Uses

  • module~~mo_source_functions~~UsesGraph module~mo_source_functions mo_source_functions module~mo_rte_kind mo_rte_kind module~mo_source_functions->module~mo_rte_kind module~mo_optical_props mo_optical_props module~mo_source_functions->module~mo_optical_props iso_c_binding iso_c_binding module~mo_rte_kind->iso_c_binding module~mo_optical_props->module~mo_rte_kind module~mo_rte_util_array_validation mo_rte_util_array_validation module~mo_optical_props->module~mo_rte_util_array_validation mo_optical_props_kernels mo_optical_props_kernels module~mo_optical_props->mo_optical_props_kernels module~mo_rte_config mo_rte_config module~mo_optical_props->module~mo_rte_config module~mo_rte_util_array_validation->module~mo_rte_kind module~mo_rte_config->module~mo_rte_kind

Used by

  • module~~mo_source_functions~~UsedByGraph module~mo_source_functions mo_source_functions module~mo_rte_lw mo_rte_lw module~mo_rte_lw->module~mo_source_functions

Contents


Derived Types

type, public, extends(ty_optical_props) :: ty_source_func_lw

Type representing Planck source functions in computed at layer center, at layer edges using spectral mapping in each direction separately, and at the surface

Components

TypeVisibilityAttributesNameInitial
real(kind=wp), public, allocatable, dimension(:,:,:):: lay_source

Planck source at layer average temperature (ncol, nlay, ngpt)

real(kind=wp), public, allocatable, dimension(:,:,:):: lev_source

Planck source at layer edge (ncol, nlay+1, ngpt)

real(kind=wp), public, allocatable, dimension(:,: ):: sfc_source

Planck function at surface temperature

real(kind=wp), public, allocatable, dimension(:,: ):: sfc_source_Jac

surface source Jacobian

Type-Bound Procedures

generic, public :: alloc => alloc_lw, copy_and_alloc_lw
procedure, public :: bands_are_equal
procedure, public :: convert_band2gpt
procedure, public :: convert_gpt2band
procedure, public :: expand
procedure, public :: finalize => finalize_lw
procedure, public :: get_band_lims_gpoint
procedure, public :: get_band_lims_wavelength
procedure, public :: get_band_lims_wavenumber
procedure, public :: get_gpoint_bands
procedure, public :: get_name
procedure, public :: get_nband
procedure, public :: get_ncol => get_ncol_lw
procedure, public :: get_ngpt
procedure, public :: get_nlay => get_nlay_lw
procedure, public :: get_subset => get_subset_range_lw
procedure, public :: gpoints_are_equal
generic, public :: init => init_base, init_base_from_copy
procedure, public :: is_allocated => is_allocated_lw
procedure, public :: is_initialized => is_initialized_base
procedure, public :: set_name

type, public, extends(ty_optical_props) :: ty_source_func_sw

Type-Bound Procedures

generic, public :: alloc => alloc_sw, copy_and_alloc_sw
procedure, public :: bands_are_equal
procedure, public :: convert_band2gpt
procedure, public :: convert_gpt2band
procedure, public :: expand
procedure, public :: finalize => finalize_sw
procedure, public :: get_band_lims_gpoint
procedure, public :: get_band_lims_wavelength
procedure, public :: get_band_lims_wavenumber
procedure, public :: get_gpoint_bands
procedure, public :: get_name
procedure, public :: get_nband
procedure, public :: get_ncol => get_ncol_sw
procedure, public :: get_ngpt
procedure, public :: get_subset => get_subset_range_sw
procedure, public :: gpoints_are_equal
generic, public :: init => init_base, init_base_from_copy
procedure, public :: is_allocated => is_allocated_sw
procedure, public :: is_initialized => is_initialized_base
procedure, public :: set_name