New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
2010WP/2010Stream1/AGRIF_IOSERVER – NEMO
wiki:2010WP/2010Stream1/AGRIF_IOSERVER

Version 1 (modified by rblod, 14 years ago) (diff)

--

Adapt NEMO-AGRIF to work with IOM

Last edited Timestamp?


main idea

We use the "swap context" functionality provided by the IO server/library. * changes inside NEMO:

changes in NEMO code

  • add new routine iom_swap (in iom.F90) to encapsulate the call to event__swap_context, this is called at the beginning of step. The xml file is parsed only by the root grid, others iomput operations are performed by all the grids.
  • the principal implication is the definition of the MPI communicator. We clean all the mess at the beginning of mynode, with AGRIF the communicator is now a shared variable between the grids and is either defined by the root grid, either transmitted by another application (OASIS, ioserver ...)
  • add new routine Agrif_comm_def (in Agrif2model.F90) to transmit the ocean MPI communicator to AGRIF internal routines.

changes in AGRIF code

  • change the default communicator MPI_COMM_WORLD to MPI_COMM_AGRIF, which is obtained from the model.

how to use it

There is only one iodef.xml ( no 1_iodef.xml), with the following structure:

<simulation>

<context id="nemo">

usual description of the grid, axis and data

 </context>

<context id="1_nemo">

usual description of the grid, axis and data

 </context>

</simulation>