Opened 10 years ago
Closed 8 years ago
#1568 closed Bug (fixed)
lbc_lnk_multi is not defined without key_mpp_mpi
Reported by: | timgraham | Owned by: | timgraham |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | OCE | Version: | v3.6 |
Severity: | Keywords: | ||
Cc: |
Description
See the emails from Paolo and Boris Strukov.
There is no definition for lbc_lnk_multi when key_mpp_mpi is not used. I think this also means that the 1D configuration may be broken.
Boris has a work around for this at the moment by adding #ifdef key_mpp_mpi calls wherever lbc_lnk_multi is called. This is quite a messy solution so we should add an lbc_lnk_multi definition for the case without key_mpp_mpi
#if defined key_mpp_mpi !!---------------------------------------------------------------------- !! 'key_mpp_mpi' MPI massively parallel processing library !!---------------------------------------------------------------------- !! lbc_lnk : generic interface for mpp_lnk_3d and mpp_lnk_2d routines defined in lib_mpp !! lbc_lnk_e : generic interface for mpp_lnk_2d_e routine defined in lib_mpp !! lbc_bdy_lnk : generic interface for mpp_lnk_bdy_2d and mpp_lnk_bdy_3d routines defined in lib_mpp !!---------------------------------------------------------------------- USE lib_mpp ! distributed memory computing library INTERFACE lbc_lnk_multi MODULE PROCEDURE mpp_lnk_2d_9 END INTERFACE INTERFACE lbc_lnk MODULE PROCEDURE mpp_lnk_3d_gather, mpp_lnk_3d, mpp_lnk_2d END INTERFACE INTERFACE lbc_bdy_lnk MODULE PROCEDURE mpp_lnk_bdy_2d, mpp_lnk_bdy_3d END INTERFACE INTERFACE lbc_lnk_e MODULE PROCEDURE mpp_lnk_2d_e END INTERFACE INTERFACE lbc_lnk_icb MODULE PROCEDURE mpp_lnk_2d_icb END INTERFACE PUBLIC lbc_lnk ! ocean lateral boundary conditions PUBLIC lbc_lnk_multi ! modified ocean lateral boundary conditions PUBLIC lbc_lnk_e PUBLIC lbc_bdy_lnk ! ocean lateral BDY boundary conditions PUBLIC lbc_lnk_icb !!---------------------------------------------------------------------- !! NEMO/OPA 3.3 , NEMO Consortium (2010) !! $Id$ !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) !!---------------------------------------------------------------------- #else !!---------------------------------------------------------------------- !! Default option shared memory computing !!---------------------------------------------------------------------- !! lbc_lnk : generic interface for lbc_lnk_3d and lbc_lnk_2d !! lbc_lnk_3d : set the lateral boundary condition on a 3D variable on ocean mesh !! lbc_lnk_2d : set the lateral boundary condition on a 2D variable on ocean mesh !! lbc_bdy_lnk : set the lateral BDY boundary condition !!---------------------------------------------------------------------- USE oce ! ocean dynamics and tracers USE dom_oce ! ocean space and time domain USE in_out_manager ! I/O manager USE lbcnfd ! north fold IMPLICIT NONE PRIVATE INTERFACE lbc_lnk MODULE PROCEDURE lbc_lnk_3d_gather, lbc_lnk_3d, lbc_lnk_2d END INTERFACE INTERFACE lbc_lnk_e MODULE PROCEDURE lbc_lnk_2d_e END INTERFACE INTERFACE lbc_bdy_lnk MODULE PROCEDURE lbc_bdy_lnk_2d, lbc_bdy_lnk_3d END INTERFACE INTERFACE lbc_lnk_icb MODULE PROCEDURE lbc_lnk_2d_e END INTERFACE
Commit History (0)
(No commits)
Attachments (1)
Change History (7)
Changed 9 years ago by dupontf
comment:1 Changed 9 years ago by dupontf
comment:2 Changed 9 years ago by dupontf
By the way, the 1D configuration is fine as it does not go into dynspg_ts, where the problem lies --at the moment.
Fred.
comment:3 Changed 9 years ago by timgraham
- Owner changed from NEMO team to timgraham
comment:4 Changed 9 years ago by mcastril
We implemented serial routine versions for mpp_lnk_2d_9 & mpp_lnk_2d_multiple on our branch:
dev_r5546_CNRS19_HPC_scalability
comment:5 Changed 9 years ago by mcastril
I commented here that we have 2 open tickets on the same issue
https://forge.ipsl.jussieu.fr/nemo/ticket/1628
There are two approaches to overcome this. We created the routines but in fact we then do simple messages. Feel free to choose the one you think is better.
comment:6 Changed 8 years ago by timgraham
- Resolution set to fixed
- Status changed from new to closed
This was fixed when dev_r5546_CNRS19_HPC_scalability was merged into 3.6 STABLE
Hi Tim, I have patched lbclnk.F90 for this purpose but had to duplicate the function load_array. There might be a better way. See attachment.
Fred.