VerticalRegridAction Derived Type

type, public, extends(ExtensionAction) :: VerticalRegridAction


Inherits

type~~verticalregridaction~~InheritsGraph type~verticalregridaction VerticalRegridAction ESMF_Field ESMF_Field type~verticalregridaction->ESMF_Field v_in_coord, v_out_coord type~componentdriver ComponentDriver type~verticalregridaction->type~componentdriver v_in_coupler, v_out_coupler type~csr_sparsematrix_sp CSR_SparseMatrix_sp type~verticalregridaction->type~csr_sparsematrix_sp matrix type~extensionaction ExtensionAction type~verticalregridaction->type~extensionaction type~verticalregridmethod VerticalRegridMethod type~verticalregridaction->type~verticalregridmethod method

Components

Type Visibility Attributes Name Initial
type(ESMF_Field), public :: v_in_coord
type(ESMF_Field), public :: v_out_coord
type(CSR_SparseMatrix_sp), public, allocatable :: matrix(:)
class(ComponentDriver), public, pointer :: v_in_coupler => null()
class(ComponentDriver), public, pointer :: v_out_coupler => null()
type(VerticalRegridMethod), public :: method = VERTICAL_REGRID_UNKNOWN

Constructor

public interface VerticalRegridAction

  • private function new_VerticalRegridAction(v_in_coord, v_in_coupler, v_out_coord, v_out_coupler, method) result(action)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Field), intent(in) :: v_in_coord
    class(ComponentDriver), intent(in), pointer :: v_in_coupler
    type(ESMF_Field), intent(in) :: v_out_coord
    class(ComponentDriver), intent(in), pointer :: v_out_coupler
    type(VerticalRegridMethod), intent(in), optional :: method

    Return Value type(VerticalRegridAction)


Type-Bound Procedures

procedure, public :: initialize

  • private subroutine initialize(this, importState, exportState, clock, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalRegridAction), intent(inout) :: this
    type(ESMF_State) :: importState
    type(ESMF_State) :: exportState
    type(ESMF_Clock) :: clock
    integer, intent(out), optional :: rc

procedure, public :: invalidate

  • private subroutine invalidate(this, importState, exportState, clock, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtensionAction), intent(inout) :: this
    type(ESMF_State) :: importState
    type(ESMF_State) :: exportState
    type(ESMF_Clock) :: clock
    integer, intent(out), optional :: rc

procedure, public :: update

  • private subroutine update(this, importState, exportState, clock, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalRegridAction), intent(inout) :: this
    type(ESMF_State) :: importState
    type(ESMF_State) :: exportState
    type(ESMF_Clock) :: clock
    integer, intent(out), optional :: rc

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

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

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalRegridAction), 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(VerticalRegridAction), 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(ExtensionAction) :: VerticalRegridAction
      type(ESMF_Field) :: v_in_coord, v_out_coord
      type(SparseMatrix_sp), allocatable :: matrix(:)
      class(ComponentDriver), pointer :: v_in_coupler => null()
      class(ComponentDriver), pointer :: v_out_coupler => null()
      type(VerticalRegridMethod) :: method = VERTICAL_REGRID_UNKNOWN
   contains
      procedure :: initialize
      procedure :: update
      procedure :: write_formatted
      generic :: write(formatted) => write_formatted
   end type VerticalRegridAction