Opened 4 weeks ago

#2495 new Bug

trunk/OCE won't compile without MPI (1-proc "nemo.exe")

Reported by: laurent Owned by: systeam
Priority: high Milestone: Unscheduled
Component: LBC Version: trunk
Severity: major Keywords: LBC, MPI, MPP, compilation
Cc:

Description

Context

Compilation of the code (OCE) without MPI (i.e. without the CPP key "key_mpp_mpi") crashes when attempting to compile "lbc_lnk.F90".

Analysis

Some MPI-related calls are still in use in 2 included headers after pre-processing stage: mpp_lbc_north_icb_generic.h90 and mpp_nfd_generic.h90. These 2 header files both call "MPI_ALLGATHER" without any "#if defined key_mpp_mpi"…

Fix

(Note: I'm in unknown territories here, this fix worked for my simple test-case "STATION_ASF")

In mpp_nfd_generic.h90, replace:

         CALL MPI_ALLGATHER( znorthloc  , ibuffsize, MPI_TYPE,                &
            &                znorthgloio, ibuffsize, MPI_TYPE, ncomm_north, ierr )

with:

#if defined key_mpp_mpi
         CALL MPI_ALLGATHER( znorthloc  , ibuffsize, MPI_TYPE,                &
            &                znorthgloio, ibuffsize, MPI_TYPE, ncomm_north, ierr )
#endif

In mpp_lbc_north_icb_generic.h90, replace:      

CALL MPI_ALLGATHER( znorthloc_e(1,1-kextj)    , itaille, MPI_TYPE,    &
         &                znorthgloio_e(1,1-kextj,1), itaille, MPI_TYPE,    &
         &                ncomm_north, ierr )

with
#if defined key_mpp_mpi

      CALL MPI_ALLGATHER( znorthloc_e(1,1-kextj)    , itaille, MPI_TYPE,    &
         &                znorthgloio_e(1,1-kextj,1), itaille, MPI_TYPE,    &
         &                ncomm_north, ierr )
#endif

Commit History (0)

(No commits)

Change History (0)

Note: See TracTickets for help on using tickets.