FixedLevelsVerticalGrid Derived Type

type, public, extends(VerticalGrid) :: FixedLevelsVerticalGrid


Inherits

type~~fixedlevelsverticalgrid~~InheritsGraph type~fixedlevelsverticalgrid FixedLevelsVerticalGrid type~verticalgrid VerticalGrid type~fixedlevelsverticalgrid->type~verticalgrid

Constructor

public interface FixedLevelsVerticalGrid

  • private function new_FixedLevelsVerticalGrid_r32(standard_name, levels, units) result(vgrid)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: standard_name
    real(kind=ESMF_KIND_R4), intent(in) :: levels(:)
    character(len=*), intent(in) :: units

    Return Value type(FixedLevelsVerticalGrid)


Type-Bound Procedures

procedure, public :: can_connect_to

  • private function can_connect_to(this, dst, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FixedLevelsVerticalGrid), intent(in) :: this
    class(VerticalGrid), intent(in) :: dst
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: get_coordinate_field

  • private subroutine get_coordinate_field(this, field, coupler, standard_name, geom, typekind, units, vertical_dim_spec, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FixedLevelsVerticalGrid), intent(in) :: this
    type(ESMF_Field), intent(out) :: field
    class(ComponentDriver), intent(out), pointer :: coupler
    character(len=*), intent(in) :: standard_name
    type(ESMF_Geom), intent(in) :: geom
    type(ESMF_TypeKind_Flag), intent(in) :: typekind
    character(len=*), intent(in) :: units
    type(VerticalDimSpec), intent(in) :: vertical_dim_spec
    integer, intent(out), optional :: rc

procedure, public :: get_id

  • private function get_id(this) result(id)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), intent(in) :: this

    Return Value integer

procedure, public :: get_num_levels

  • private function get_num_levels(this) result(num_levels)

    Arguments

    Type IntentOptional Attributes Name
    class(FixedLevelsVerticalGrid), intent(in) :: this

    Return Value integer

procedure, public :: get_units

  • private function get_units(this) result(units)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), intent(in) :: this

    Return Value character(len=:), allocatable

procedure, public :: is_identical_to

  • private function is_identical_to(this, that, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FixedLevelsVerticalGrid), intent(in) :: this
    class(VerticalGrid), intent(in), allocatable :: that
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: make_info

  • private function make_info(this, rc) result(info)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), intent(in) :: this
    integer, intent(out), optional :: rc

    Return Value type(ESMF_Info)

procedure, public :: same_id

  • private function same_id(this, other)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), intent(in) :: this
    class(VerticalGrid), intent(in) :: other

    Return Value logical

procedure, public :: set_id

  • private subroutine set_id(this)

    Arguments

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

procedure, public :: set_units

  • private subroutine set_units(this, units)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), intent(inout) :: this
    character(len=*), intent(in) :: units

generic, public :: write(formatted) => write_formatted

  • private subroutine write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(ModelVerticalGrid), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

procedure, public :: write_formatted

  • private subroutine write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(FixedLevelsVerticalGrid), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

Source Code

   type, extends(VerticalGrid) :: FixedLevelsVerticalGrid
      private
      real(kind=ESMF_KIND_R4), allocatable :: levels(:)
      character(:), allocatable :: standard_name ! air_pressure, height, etc.
   contains
      procedure :: get_num_levels
      procedure :: get_coordinate_field
      procedure :: can_connect_to
      procedure :: is_identical_to
      procedure :: write_formatted
   end type FixedLevelsVerticalGrid