VerticalGrid Derived Type

type, public, abstract :: VerticalGrid


Inherited by

type~~verticalgrid~~InheritedByGraph type~verticalgrid VerticalGrid type~basicverticalgrid BasicVerticalGrid type~basicverticalgrid->type~verticalgrid type~fixedlevelsverticalgrid FixedLevelsVerticalGrid type~fixedlevelsverticalgrid->type~verticalgrid type~geometryspec GeometrySpec type~geometryspec->type~verticalgrid vertical_grid type~mirrorverticalgrid MirrorVerticalGrid type~mirrorverticalgrid->type~verticalgrid type~modelverticalgrid ModelVerticalGrid type~modelverticalgrid->type~verticalgrid type~outermetacomponent OuterMetaComponent type~outermetacomponent->type~verticalgrid vertical_grid type~componentspec ComponentSpec type~outermetacomponent->type~componentspec component_spec type~verticalgridaspect VerticalGridAspect type~verticalgridaspect->type~verticalgrid vertical_grid type~aspectcollection AspectCollection type~aspectcollection->type~verticalgridaspect vertical_grid_aspect type~componentspec->type~geometryspec geometry_spec type~stateitemspec StateItemSpec type~stateitemspec->type~aspectcollection aspects type~variablespec VariableSpec type~variablespec->type~aspectcollection aspects type~actualptstateitemspecpair ActualPtStateItemSpecPair type~actualptstateitemspecpair->type~stateitemspec second type~bracketspec BracketSpec type~bracketspec->type~stateitemspec type~fieldspec~2 FieldSpec type~fieldspec~2->type~stateitemspec type~invalidspec InvalidSpec type~invalidspec->type~stateitemspec type~mockitemspec MockItemSpec type~mockitemspec->type~stateitemspec type~servicespec ServiceSpec type~servicespec->type~stateitemspec type~servicespec->type~variablespec variable_spec type~stateitemextension StateItemExtension type~stateitemextension->type~stateitemspec spec type~stateitemspecpair StateItemSpecPair type~stateitemspecpair->type~stateitemspec second type~stateitemspecptr StateItemSpecPtr type~stateitemspecptr->type~stateitemspec ptr type~statespec StateSpec type~statespec->type~stateitemspec type~vector_wrapper~22 vector_wrapper type~vector_wrapper~22->type~stateitemspec item type~vector_wrapper~25 vector_wrapper type~vector_wrapper~25->type~variablespec item type~virtualptstateitemspecpair VirtualPtStateItemSpecPair type~virtualptstateitemspecpair->type~stateitemspec second type~wildcardspec WildcardSpec type~wildcardspec->type~stateitemspec reference_spec type~wildcardspec->type~stateitemspec

Type-Bound Procedures

procedure(I_can_connect_to), public, deferred :: can_connect_to

  • function I_can_connect_to(this, dst, rc) result(can_connect_to) Prototype

    Arguments

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

    Return Value logical

procedure(I_get_coordinate_field), public, deferred :: get_coordinate_field

  • subroutine I_get_coordinate_field(this, field, coupler, standard_name, geom, typekind, units, vertical_dim_spec, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), 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(I_get_num_levels), public, deferred :: get_num_levels

  • function I_get_num_levels(this) result(num_levels) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), 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(I_is_identical_to), public, deferred :: is_identical_to

  • function I_is_identical_to(this, that, rc) result(is_identical_to) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), 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(I_write_formatted), public, deferred :: write_formatted

  • subroutine I_write_formatted(this, unit, iotype, v_list, iostat, iomsg) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), 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, abstract :: VerticalGrid
      private
      integer :: id = -1
      character(:), allocatable :: units
   contains
      procedure(I_get_num_levels), deferred :: get_num_levels
      procedure(I_get_coordinate_field), deferred :: get_coordinate_field
      procedure(I_can_connect_to), deferred :: can_connect_to
      procedure(I_is_identical_to), deferred :: is_identical_to
      procedure(I_write_formatted), deferred :: write_formatted
      generic :: write(formatted) => write_formatted

      procedure :: set_id
      procedure :: get_id
      procedure :: same_id
      procedure :: set_units
      procedure :: get_units
      procedure :: make_info
   end type VerticalGrid