gas_type Derived Type

type, public :: gas_type


Contents


Components

Type Visibility Attributes Name Initial
integer, public :: iunits(NMaxGases) = 0
real(kind=jprb), public :: scale_factor(NMaxGases) = 1.0_jprb
real(kind=jprb), public, allocatable, dimension(:,:,:) :: mixing_ratio
logical, public :: is_present(NMaxGases) = .false.
logical, public :: is_well_mixed(NMaxGases) = .false.
integer, public :: ntype = 0
integer, public :: ncol = 0
integer, public :: nlev = 0
integer, public :: icode(NMaxGases) = 0

Type-Bound Procedures

procedure, public :: allocate => allocate_gas

  • public subroutine allocate_gas(this, ncol, nlev)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(inout) :: this
    integer, intent(in) :: ncol
    integer, intent(in) :: nlev

procedure, public :: deallocate => deallocate_gas

  • public subroutine deallocate_gas(this)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(inout) :: this

procedure, public :: put => put_gas

  • public subroutine put_gas(this, igas, iunits, mixing_ratio, scale_factor, istartcol)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(inout) :: this
    integer, intent(in) :: igas
    integer, intent(in) :: iunits
    real(kind=jprb), intent(in) :: mixing_ratio(:,:)
    real(kind=jprb), intent(in), optional :: scale_factor
    integer, intent(in), optional :: istartcol

procedure, public :: put_well_mixed => put_well_mixed_gas

  • public subroutine put_well_mixed_gas(this, igas, iunits, mixing_ratio, scale_factor, istartcol, iendcol)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(inout) :: this
    integer, intent(in) :: igas
    integer, intent(in) :: iunits
    real(kind=jprb), intent(in) :: mixing_ratio
    real(kind=jprb), intent(in), optional :: scale_factor
    integer, intent(in), optional :: istartcol
    integer, intent(in), optional :: iendcol

procedure, public :: scale => scale_gas

  • public subroutine scale_gas(this, igas, scale_factor, lverbose)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(inout) :: this
    integer, intent(in) :: igas
    real(kind=jprb), intent(in) :: scale_factor
    logical, intent(in), optional :: lverbose

procedure, public :: set_units => set_units_gas

  • publicrecursive subroutine set_units_gas(this, iunits, igas, scale_factor)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(inout) :: this
    integer, intent(in) :: iunits
    integer, intent(in), optional :: igas
    real(kind=jprb), intent(in), optional :: scale_factor

procedure, public :: assert_units => assert_units_gas

  • publicrecursive subroutine assert_units_gas(this, iunits, igas, scale_factor, istatus)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(in) :: this
    integer, intent(in) :: iunits
    integer, intent(in), optional :: igas
    real(kind=jprb), intent(in), optional :: scale_factor
    logical, intent(out), optional :: istatus

procedure, public :: get => get_gas

  • public subroutine get_gas(this, igas, iunits, mixing_ratio, scale_factor, istartcol)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(in) :: this
    integer, intent(in) :: igas
    integer, intent(in) :: iunits
    real(kind=jprb), intent(out) :: mixing_ratio(:,:)
    real(kind=jprb), intent(in), optional :: scale_factor
    integer, intent(in), optional :: istartcol

procedure, public :: get_scaling

  • public subroutine get_scaling(this, iunits, scaling)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(in) :: this
    integer, intent(in) :: iunits
    real(kind=jprb), intent(out) :: scaling(NMaxGases)

procedure, public :: reverse => reverse_gas

  • public subroutine reverse_gas(this, istartcol, iendcol, gas_rev)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(in) :: this
    integer, intent(in) :: istartcol
    integer, intent(in) :: iendcol
    type(gas_type), intent(out) :: gas_rev

procedure, public :: out_of_physical_bounds

  • public function out_of_physical_bounds(this, istartcol, iendcol, do_fix) result(is_bad)

    Arguments

    Type IntentOptional Attributes Name
    class(gas_type), intent(inout) :: this
    integer, intent(in), optional :: istartcol
    integer, intent(in), optional :: iendcol
    logical, intent(in), optional :: do_fix

    Return Value logical