MOM6
mom_restart::register_restart_pair Interface Reference

Detailed Description

Register a pair of restart fieilds whose rotations map onto each other.

Definition at line 120 of file MOM_restart.F90.

Private functions

subroutine register_restart_pair_ptr2d (a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)
 Register a pair of rotationally equivalent 2d restart fields. More...
 
subroutine register_restart_pair_ptr3d (a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)
 Register a pair of rotationally equivalent 3d restart fields. More...
 
subroutine register_restart_pair_ptr4d (a_ptr, b_ptr, a_desc, b_desc, mandatory, CS)
 Register a pair of rotationally equivalent 2d restart fields. More...
 

Detailed Description

Register a pair of restart fieilds whose rotations map onto each other.

Definition at line 120 of file MOM_restart.F90.

Functions and subroutines

◆ register_restart_pair_ptr2d()

subroutine mom_restart::register_restart_pair::register_restart_pair_ptr2d ( real, dimension(:,:), intent(in), target  a_ptr,
real, dimension(:,:), intent(in), target  b_ptr,
type(vardesc), intent(in)  a_desc,
type(vardesc), intent(in)  b_desc,
logical, intent(in)  mandatory,
type(mom_restart_cs), pointer  CS 
)
private

Register a pair of rotationally equivalent 2d restart fields.

Parameters
[in]a_ptrFirst field pointer
[in]b_ptrSecond field pointer
[in]a_descFirst field descriptor
[in]b_descSecond field descriptor
[in]mandatoryIf true, abort if field is missing
csMOM restart control structure

Definition at line 305 of file MOM_restart.F90.

305  real, dimension(:,:), target, intent(in) :: a_ptr !< First field pointer
306  real, dimension(:,:), target, intent(in) :: b_ptr !< Second field pointer
307  type(vardesc), intent(in) :: a_desc !< First field descriptor
308  type(vardesc), intent(in) :: b_desc !< Second field descriptor
309  logical, intent(in) :: mandatory !< If true, abort if field is missing
310  type(MOM_restart_CS), pointer :: CS !< MOM restart control structure
311 
312  if (modulo(cs%turns, 2) /= 0) then
313  call register_restart_field(b_ptr, a_desc, mandatory, cs)
314  call register_restart_field(a_ptr, b_desc, mandatory, cs)
315  else
316  call register_restart_field(a_ptr, a_desc, mandatory, cs)
317  call register_restart_field(b_ptr, b_desc, mandatory, cs)
318  endif

◆ register_restart_pair_ptr3d()

subroutine mom_restart::register_restart_pair::register_restart_pair_ptr3d ( real, dimension(:,:,:), intent(in), target  a_ptr,
real, dimension(:,:,:), intent(in), target  b_ptr,
type(vardesc), intent(in)  a_desc,
type(vardesc), intent(in)  b_desc,
logical, intent(in)  mandatory,
type(mom_restart_cs), pointer  CS 
)
private

Register a pair of rotationally equivalent 3d restart fields.

Parameters
[in]a_ptrFirst field pointer
[in]b_ptrSecond field pointer
[in]a_descFirst field descriptor
[in]b_descSecond field descriptor
[in]mandatoryIf true, abort if field is missing
csMOM restart control structure

Definition at line 325 of file MOM_restart.F90.

325  real, dimension(:,:,:), target, intent(in) :: a_ptr !< First field pointer
326  real, dimension(:,:,:), target, intent(in) :: b_ptr !< Second field pointer
327  type(vardesc), intent(in) :: a_desc !< First field descriptor
328  type(vardesc), intent(in) :: b_desc !< Second field descriptor
329  logical, intent(in) :: mandatory !< If true, abort if field is missing
330  type(MOM_restart_CS), pointer :: CS !< MOM restart control structure
331 
332  if (modulo(cs%turns, 2) /= 0) then
333  call register_restart_field(b_ptr, a_desc, mandatory, cs)
334  call register_restart_field(a_ptr, b_desc, mandatory, cs)
335  else
336  call register_restart_field(a_ptr, a_desc, mandatory, cs)
337  call register_restart_field(b_ptr, b_desc, mandatory, cs)
338  endif

◆ register_restart_pair_ptr4d()

subroutine mom_restart::register_restart_pair::register_restart_pair_ptr4d ( real, dimension(:,:,:,:), intent(in), target  a_ptr,
real, dimension(:,:,:,:), intent(in), target  b_ptr,
type(vardesc), intent(in)  a_desc,
type(vardesc), intent(in)  b_desc,
logical, intent(in)  mandatory,
type(mom_restart_cs), pointer  CS 
)
private

Register a pair of rotationally equivalent 2d restart fields.

Parameters
[in]a_ptrFirst field pointer
[in]b_ptrSecond field pointer
[in]a_descFirst field descriptor
[in]b_descSecond field descriptor
[in]mandatoryIf true, abort if field is missing
csMOM restart control structure

Definition at line 345 of file MOM_restart.F90.

345  real, dimension(:,:,:,:), target, intent(in) :: a_ptr !< First field pointer
346  real, dimension(:,:,:,:), target, intent(in) :: b_ptr !< Second field pointer
347  type(vardesc), intent(in) :: a_desc !< First field descriptor
348  type(vardesc), intent(in) :: b_desc !< Second field descriptor
349  logical, intent(in) :: mandatory !< If true, abort if field is missing
350  type(MOM_restart_CS), pointer :: CS !< MOM restart control structure
351 
352  if (modulo(cs%turns, 2) /= 0) then
353  call register_restart_field(b_ptr, a_desc, mandatory, cs)
354  call register_restart_field(a_ptr, b_desc, mandatory, cs)
355  else
356  call register_restart_field(a_ptr, a_desc, mandatory, cs)
357  call register_restart_field(b_ptr, b_desc, mandatory, cs)
358  endif

The documentation for this interface was generated from the following file: