ty_cloud_optics_rrtmgp Derived Type

type, public, extends(ty_optical_props) :: ty_cloud_optics_rrtmgp


Inherits

type~~ty_cloud_optics_rrtmgp~~InheritsGraph type~ty_cloud_optics_rrtmgp ty_cloud_optics_rrtmgp ty_optical_props ty_optical_props type~ty_cloud_optics_rrtmgp->ty_optical_props

Contents


Components

TypeVisibilityAttributesNameInitial
real(kind=wp), public, dimension(:,:,:), allocatable:: asyice
real(kind=wp), public, dimension(:,: ), allocatable:: asyliq
real(kind=wp), public :: diamice_lwr =0._wp
real(kind=wp), public :: diamice_upr =0._wp
real(kind=wp), public, dimension(:,:,:), allocatable:: extice
real(kind=wp), public, dimension(:,: ), allocatable:: extliq
integer, public :: ice_nsteps =0
real(kind=wp), public :: ice_step_size =0._wp
integer, public :: icergh =0
integer, public :: liq_nsteps =0
real(kind=wp), public :: liq_step_size =0._wp
real(kind=wp), public :: radliq_lwr =0._wp
real(kind=wp), public :: radliq_upr =0._wp
real(kind=wp), public, dimension(:,:,:), allocatable:: ssaice
real(kind=wp), public, dimension(:,: ), allocatable:: ssaliq

Type-Bound Procedures

procedure, public :: cloud_optics

  • private function cloud_optics(this, clwp, ciwp, reliq, reice, optical_props) result(error_msg)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(in) :: this
    real(kind=wp), intent(in) :: clwp(:,:)
    real(kind=wp), intent(in) :: ciwp(:,:)
    real(kind=wp), intent(in) :: reliq(:,:)
    real(kind=wp), intent(in) :: reice(:,:)
    class(ty_optical_props_arry), intent(inout) :: optical_props

    Return Value character(len=128)

procedure, public :: finalize

  • private subroutine finalize(this)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(inout) :: this

procedure, public :: get_max_radius_ice

  • private function get_max_radius_ice(this) result(r)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(in) :: this

    Return Value real(kind=wp)

procedure, public :: get_max_radius_liq

  • private function get_max_radius_liq(this) result(r)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(in) :: this

    Return Value real(kind=wp)

procedure, public :: get_min_radius_ice

  • private function get_min_radius_ice(this) result(r)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(in) :: this

    Return Value real(kind=wp)

procedure, public :: get_min_radius_liq

  • private function get_min_radius_liq(this) result(r)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(in) :: this

    Return Value real(kind=wp)

procedure, public :: get_num_ice_roughness_types

  • private function get_num_ice_roughness_types(this) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(in) :: this

    Return Value integer

procedure, public :: load

  • private function load(this, band_lims_wvn, radliq_lwr, radliq_upr, diamice_lwr, diamice_upr, extliq, ssaliq, asyliq, extice, ssaice, asyice, band_lims_gpt) result(error_msg)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(inout) :: this
    real(kind=wp), intent(in), dimension(:,:):: band_lims_wvn
    real(kind=wp), intent(in) :: radliq_lwr
    real(kind=wp), intent(in) :: radliq_upr
    real(kind=wp), intent(in) :: diamice_lwr
    real(kind=wp), intent(in) :: diamice_upr
    real(kind=wp), intent(in), dimension(:,:):: extliq
    real(kind=wp), intent(in), dimension(:,:):: ssaliq
    real(kind=wp), intent(in), dimension(:,:):: asyliq
    real(kind=wp), intent(in), dimension(:,:,:):: extice
    real(kind=wp), intent(in), dimension(:,:,:):: ssaice
    real(kind=wp), intent(in), dimension(:,:,:):: asyice
    integer, intent(in), optional dimension(:,:):: band_lims_gpt

    Return Value character(len=128)

procedure, public :: set_ice_roughness

  • private function set_ice_roughness(this, icergh) result(error_msg)

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_cloud_optics_rrtmgp), intent(inout) :: this
    integer, intent(in) :: icergh

    Return Value character(len=128)