ocean_fold_north_corner Interface

public interface ocean_fold_north_corner

Calls

interface~~ocean_fold_north_corner~~CallsGraph interface~ocean_fold_north_corner ocean_fold_north_corner proc~fold_corner_2d fold_corner_2d interface~ocean_fold_north_corner->proc~fold_corner_2d interface~fold_north_corner fold_north_corner proc~fold_corner_2d->interface~fold_north_corner interface~ocean_fold_pack ocean_fold_pack proc~fold_corner_2d->interface~ocean_fold_pack interface~ocean_fold_unpack ocean_fold_unpack proc~fold_corner_2d->interface~ocean_fold_unpack proc~fold_stagger_nrows fold_stagger_nrows proc~fold_corner_2d->proc~fold_stagger_nrows proc~ocean_fold_begin ocean_fold_begin proc~fold_corner_2d->proc~ocean_fold_begin proc~ocean_fold_end ocean_fold_end proc~fold_corner_2d->proc~ocean_fold_end proc~ocean_fold_exchange ocean_fold_exchange proc~fold_corner_2d->proc~ocean_fold_exchange proc~ocean_fold_is_distributed ocean_fold_is_distributed proc~fold_corner_2d->proc~ocean_fold_is_distributed proc~fold_north_corner_2d fold_north_corner_2d interface~fold_north_corner->proc~fold_north_corner_2d proc~ocean_fold_pack_2d ocean_fold_pack_2d interface~ocean_fold_pack->proc~ocean_fold_pack_2d proc~ocean_fold_pack_3d ocean_fold_pack_3d interface~ocean_fold_pack->proc~ocean_fold_pack_3d proc~ocean_fold_unpack_2d ocean_fold_unpack_2d interface~ocean_fold_unpack->proc~ocean_fold_unpack_2d proc~ocean_fold_unpack_3d ocean_fold_unpack_3d interface~ocean_fold_unpack->proc~ocean_fold_unpack_3d proc~grow_buffers grow_buffers proc~ocean_fold_begin->proc~grow_buffers to_string to_string proc~ocean_fold_begin->to_string warning warning proc~ocean_fold_begin->warning comm_irecv_real_sp_array_n comm_irecv_real_sp_array_n proc~ocean_fold_exchange->comm_irecv_real_sp_array_n comm_isend_real_sp_array_n comm_isend_real_sp_array_n proc~ocean_fold_exchange->comm_isend_real_sp_array_n proc~comm_env_compute_comm comm_env_compute_comm proc~ocean_fold_exchange->proc~comm_env_compute_comm waitall waitall proc~ocean_fold_exchange->waitall comm_world comm_world proc~comm_env_compute_comm->comm_world local local proc~fold_north_corner_2d->local proc~ocean_fold_pack_2d->proc~ocean_fold_pack_3d proc~ocean_fold_pack_3d->proc~fold_stagger_nrows proc~fold_stagger_family fold_stagger_family proc~ocean_fold_pack_3d->proc~fold_stagger_family proc~ocean_fold_unpack_2d->proc~ocean_fold_unpack_3d proc~ocean_fold_unpack_3d->proc~fold_stagger_nrows proc~ocean_fold_unpack_3d->proc~fold_stagger_family

Called by

interface~~ocean_fold_north_corner~~CalledByGraph interface~ocean_fold_north_corner ocean_fold_north_corner proc~engine_setup engine_setup proc~engine_setup->interface~ocean_fold_north_corner proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Module Procedures

private subroutine fold_corner_2d(fld, nxf, nyf, nx_phys, ny_phys, ng, negate, device_resident)

SW-corner 2D north fold (+ fold-line projection); negate for a true-vector component, copy for a scalar / vorticity.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: fld(nxf,nyf)

Corner field (nx_total+1, ny_total+1).

integer, intent(in) :: nxf
integer, intent(in) :: nyf
integer, intent(in) :: nx_phys
integer, intent(in) :: ny_phys
integer, intent(in) :: ng
logical, intent(in) :: negate

.true. ⇒ negate (true vector); .false. ⇒ copy.

logical, intent(in), optional :: device_resident

Exchange path only: .false. ⇒ host arrays.