Version 5 (modified by jchanut, 21 months ago) (diff)

Name and subject of the action

Last edition: 09/26/19 19:31:43 by jamesharle

  1. Summary
  2. Development plan
  3. Preview
  4. Tests
  5. Review


Action AGRIF-05_jchanut_vert_coord_interp
PI(S) Jérôme Chanut, James Harle


Developments to nesting (IMMERSE T3.2: Lead Mercator-Ocean , Participants: NERC ) The two-way nesting AGRIF capability will be developed in year 1 to allow each inner nest to use a different vertical coordinate from the model in which it is nested.

Trac Ticket #2222
SVN branch NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp
Previewer(s) Rachid Benshila
Reviewer(s) TBD

'.' => '/nemo/wiki/2019WP/AGRIF-05_jchanut_vert_coord_interp'

Development plan

  1. Simplify existing AGRIF code (open boundary routines only - update part unchanged):
    • Remove any non purely local update near boundaries, e.g. 3 points velocity filtering near boundaries / upstream advection for tracers for outflows. Target is "specified" open boundaries (this does change the results).
    • Ensure that NEMO-AGRIF handles small (~3x3 points) local mpp sub-domains (the preceding task should enable that more easily - current status is local sub-domains greater than ~10x10 points, e.g. greater than sponge layer width).
  2. Check current interpolation of vertical nesting (key_vertical).
    • Ensure that with identical vertical grids, results are bit-for-bit identical (VORTEX).
    • Optimization ? Consider existing PPM interpolation at this stage.
  3. Volume connection with different coordinate systems.
    • Existing code supports only nesting a z-coord model into a z-coord model. Should be more general.
    • Nesting tools have to be updated to allow this. Grenoble's version of Nesting tools (available on NEMO trac) should be the starting point.
  4. Design test cases.
    • One should check how boundary layers react at the domains boundaries (top and bottom): extrapolation methods will matter here.
    • Overflow test case (3D). Internal Wave packet crossing the boundary. 2D upwelling. Others ?
  5. Implement other remapping methods.
    • Could be borrowed from D. Engwirda (MOM6) library.
    • Should be coordinated with Mike Bell who plans to use the package for pressure gradient scheme.
  6. Set up a realistic test case (Denmark strait) in col. with WPX (TBD).
    • How far in the validation should be go ? Not sure this is really part of the WP3.


Since the preview step must be completed before the PI starts the coding, the previewer(s) answers are expected to be completed within the two weeks after the PI has sent the request to the previewer(s).
Then an iterative process should take place between PI and previewer(s) in order to find a consensus

Possible bottlenecks:

  • the methodology
  • the flowchart and list of routines to be changed
  • the new list of variables wrt coding rules
  • the summary of updates in literature

Once an agreement has been reached, preview is ended and the PI can start the development into his branch.


Reproducibility tests (VORTEX, 60 cores, 100 parent steps - diff run.stat 1_run.stat):
revision: 11573
2 way mode (ln_agrif_2way = .true.)

jpni x jpnj jpimax x jpjmax (child) status
10 x 6 9 x 13 ref
5 x 12 15 x 8 ok
12 x 5 8 x 15 ok
15 x 4 7 x 18 ok
4 x 15 18 x 7 NOK
30 x 2 5 x 34 memory corruption !

1 way mode (ln_agrif_2way = .false.)

jpni x jpnj jpimax x jpjmax (child) status
10 x 6 9 x 13 ref
30 x 2 5 x 34 ok
1 x 60 65 x 4 ok
60 x 1 4 x 65 ok

Once the development is done, the PI should complete the tests section below and after ask the reviewers to start their review.

This part should contain the detailed results of SETTE tests (restartability and reproducibility for each of the reference configuration) and detailed results of restartability and reproducibility when the option is activated on specified configurations used for this test

Regular checks:

  • Can this change be shown to produce expected impact (option activated)?
  • Can this change be shown to have a null impact (option not activated)?
  • Results of the required bit comparability tests been run: are there no differences when activating the development?
  • If some differences appear, is reason for the change valid/understood?
  • If some differences appear, is the impact as expected on model configurations?
  • Is this change expected to preserve all diagnostics?
  • If no, is reason for the change valid/understood?
  • Are there significant changes in run time/memory?


A successful review is needed to schedule the merge of this development into the future NEMO release during next Merge Party (usually in November).


  • Is the proposed methodology now implemented?
  • Are the code changes in agreement with the flowchart defined at preview step?
  • Are the code changes in agreement with list of routines and variables as proposed at preview step?
    If, not, are the discrepancies acceptable?
  • Is the in-line documentation accurate and sufficient?
  • Do the code changes comply with NEMO coding standards?
  • Is the development documented with sufficient details for others to understand the impact of the change?
  • Is the project literature (manual, guide, web, …) now updated or completed following the proposed summary in preview section?


Is the review fully successful? If not, please indicate what is still missing

Once review is successful, the development must be scheduled for merge during next Merge Party Meeting.