ocean_boundary_data_source_t Derived Type

type, public, abstract :: ocean_boundary_data_source_t

Polymorphic base. Concrete backends extend this and provide update + destroy.


Inherited by

type~~ocean_boundary_data_source_t~~InheritedByGraph type~ocean_boundary_data_source_t ocean_boundary_data_source_t type~ocean_boundary_data_constant_t ocean_boundary_data_constant_t type~ocean_boundary_data_constant_t->type~ocean_boundary_data_source_t type~ocean_engine_t ocean_engine_t type~ocean_engine_t->type~ocean_boundary_data_constant_t bc_source type~ocean_handle_t ocean_handle_t type~ocean_handle_t->type~ocean_engine_t engine

Type-Bound Procedures

procedure(boundary_data_destroy_iface), public, deferred :: destroy

  • subroutine boundary_data_destroy_iface(this) Prototype

    Arguments

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

procedure(boundary_data_update_iface), public, deferred :: update

  • subroutine boundary_data_update_iface(this, t, bc) Prototype

    Refresh bc%data_* (and any other time-varying fields) for the current outer-step wall time t (s).

    Arguments

    Type IntentOptional Attributes Name
    class(ocean_boundary_data_source_t), intent(inout) :: this
    real(kind=wp), intent(in) :: t
    type(ocean_bc_state_t), intent(inout) :: bc

Source Code

   type, abstract :: ocean_boundary_data_source_t
      !! Polymorphic base. Concrete backends extend this and provide
      !! `update` + `destroy`.
   contains
      procedure(boundary_data_update_iface), deferred :: update
      procedure(boundary_data_destroy_iface), deferred :: destroy
   end type ocean_boundary_data_source_t