Reorganize sources to make OASIS module independent
Context
-
Reference configuration/test case (to add, chosen or used as template) -
Modifications of versioned files: Fortran routines ( *.[Ffh]90
), namelists (namelist\_*cfg
), outputs settings (*.xml
), ... -
Additional dependencies -
New datasets -
Any other relevant information
Proposal
Several features planned for development rely on the execution of NEMO coupled with other codes through OASIS (coupled PISCES module, Lagrangian tracking of icebergs, coupling with Python scripts...)
However, current OASIS module is mainly managed by SBC routines and cannot be used by other NEMO modules. Implementation is also limited to exchange of 2D fields only.
A common development step to all this features will be to make the OASIS module independent and callable by any NEMO modules.
This issue and paired branch aim to propose a solution to these needs.
Strategy
- put "cpl_oasis3.F90" to a higher level in "src", out of SBC
- reorganize the modules structure to make the OASIS module independent
- adapt the OASIS implementation and interface to perform exchanges of 3D fields
- make it callable by any module to perform external communications with a standardized procedure, adapt SBC in accordance
This should be accompagnied with a developer's guide to use the updated OASIS interface.