Version 70 (modified by flavoni, 10 years ago) (diff)

2010: from merge party to 3_3 release

Last edited Timestamp?

This page is intended to facilitate the work of the next few weeks, i.e. between the merge party and the release of 3_3. Feel free to edit it to add your information, comments, suggestions….

19 October 2010: branch nemo_v3_3_beta created

After the merge party, the branch with all developments from the year has been built:
This beta version is available using :
svn co (read only)
svn+ssh://"your_login" (read/write).

List of tests done and results:

Add here test description (Branch nemo_v3_3_beta, Revision2298 (now) , configuration, computer, restartability, …)

DescriptionRevision noConfigurationComputerPerf. memoryPerf. CPURestartabilityOthers

List of problems, solutions…

Before releasing it to developer's for beta testing, the following weaknesses should be solved: (please update the information)

DateRevision noProblem descriptionTo be solved by:StateDateVersion
with AGRIFLOCEAN and LJKCompilation now OK but not execution
new EVP rheology got lost during the mergeMERCATOR & LOCEANroutines and namelist commited, some tests still ongoing??27 Oct 20102320
Atmospheric pressureMERCATOR & LOCEAN
Suppress TKE old optionLOCEANdone, ticket #74222 Oct 2010
add LibIGCM as externalLOCEANtbd
choose between key_mpp_rep1 and key_mpp_rep2, rename it key_mpp_rep and clean the codeLOCEANdone, ticket #74322 Oct 2010
add surface pressure forcingMERCATORtbd
correct input files, in ORCA2_LIM tar file, suppress duplicated files, rename chlorophyll file to be consistent with the namelist, add a sample of observation fileLOCEANdone, see page : NOv 2010
bottom condition for GLS should be checkedMERCATORdone20 Oct 2010rev 2309 in zdfbfr.F90
execution fails after 2 time step using time splitting and VVLUKMO and LOCEANmodifications sent by LOCEAN and checked by UKMO
Compilation errors to be fixed while using netcdf4NOCfixed see #755 and #75410 November
Modifications on Griffies operator to be addedNOC
LIM-2: add fldread in ice damping at open boundaries (limdmp_2.F90)LOCEANdone see ticket #19416 nov; 2010changeset:2377
cross Land Advection update : full rewriting + MPP bug correctionLOCEANdone see ticket #12716 nov; 2010changeset:2392

Rules to follow:

  • all corrections to the developments done in 2010 should be made on the beta branch, not on the original branch
    - contributions to the documentation should be send directly to Gurvan, with Rachid on copy
    - between now and the end of the tag nemo_v3_2_2, correction of bugs has to be done on both the trunk and the beta branch when the bugs are in both versions

Schedule and detailed list of actions, dates and responsibilities:

Distribution to the developers at the beginning of November → done

  • annoucement of 3_3_beta send to all NEMO users
  • no major problems detected
  • number of bugfixes, improvements implemented by nemo_st since then → need for full testing (restartability, reproducibility… on reference configurations)

Validate and tag the last version of nemo_v_3_2 (nemo_v3_2_2) 23 December : who?

16 december: Stop committing in the trunk and in the nemo_v3_3_beta branch: both have to be frozen for the tag and the release. All bugfixes should be in the trunk and the nemo_v3_3_beta branch.

A number of commits have been done, and should have been fully tested. In any case, a last extensive validation should be done before tag:

  • a 100 years simulation of ORCA2_LIM forced with CORE (Simona Flavoni will do it)
  • for each of the following reference configuration, test on: restartability (1 x 150 time steps / 75 timpte step + restart and 75 time steps), reproducibility (MPP using 2 different domain decomposition give same results).


Results of test to be confirmed here:

Once it is validated:

Tag last version of 3_2 : nemo_v3_2_2: who and when? 23 dec?

Add the tag nemo_v3_2_2 on the latest version of the trunk:

svn copy svn+ssh://  svn+ssh:// -m "Tagging nemo_v3_2_2"

Add the final nemo_v3_3_beta version in the trunk

Final validation of the 3_3_beta: who?

A number of commits have been done, and should have been fully tested. A standard general validation (i.e. with or identical to NVTK) should be done before tag: for each of the following reference configuration, test on: restartability (1 x 10 days / 5 days+ restart and 5days), reproducibility (MPP using 2 different domain decomposition give same results).

Results of test to be confirmed here:

, blue 

RES = restartability: run 150 time steps, and then only time steps 76 to 150 using the restart of first run. OK if solver.stat are stricly identical. Comments: for configuration using PISCES, set ln_piscdmp=.false. in namelist_pisces file
REP = reproducibility for MPP: run the same experiment with 2 domains decomposition: add cpp keuys key_mpp_rep key_mpp_mpi ; change key cpp key_nproci=2 key_nprocj=1 to define domain decomposition and change namelist variable to 0 : nn_fwb 0, ln_trcrad = .FALSE.

Tests can be made by hand or using SETTE (users guide coming soon)

NEMO revision 2470ORCA2_LIMORCA2_LIM_PISCESORCA2_LIM_AGRIFGYREGYRE_LOBSTERORCA2_OFF_PISCESPOMMEORCA2_LIM forced COREII 100 yearsOthers… NEC SX8 sxf90 Rev.400 NEMO rev 2470RESRESRES IBM Power9 xlf 12.0.xx NEMO rev 2474REP Does not workREP Does not work NEC SX8 sxf90 NEMO rev 2537REPforcing file coreII NEC SX8 sxf90 NEMO rev 2539 REP forcing file coreII NEC SX8 xlf 12.0.xx optimisation 0 NEMO rev 2541REP does not work IBM Power9 NEMO rev 2545REP Does not workREP Does not workforcing file coreII

Once it is validated:

, blue  23 dec, who?

This has to be checked carefully: we have a lot of changes in the code, and also a new organisation of the directories. The goal of the following proposition is to try to keep track of history of developments for as many routines as possible.

1 - Move directories in the trunk to fit with 3_3_beta structure:

Starting from the trunk, after the 3_2_2 tag:

svn mkdir -m "Create NEMOGCM directory" svn+ssh://
svn move -m "Move  NEMO directory in NEMOGCM" svn+ssh:// svn+ssh://
svn move -m "Move  EXTERNAL directory in NEMOGCM" svn+ssh:// svn+ssh://
svn move -m "Move  CONFIG directory in NEMOGCM" svn+ssh:// svn+ssh://
svn move -m "Move  AGRIF directory in NEMOGCM/EXTERNAL" svn+ssh:// svn+ssh://

Comments: this leaves NVTK and UTIL at the trunk level, is this what we want?)

2 - Add the new release 3_3 in the trunk, and make the updated reference manual available:

This has to be a direct copy: we do not want to do any merge at this stage. Copy what we need of the 3_3_beta branch into the trunk:

svn copy -m "Copy nemo_v3_3_beta/NEMOGCM into the trunk" svn+ssh:// svn+ssh://
svn copy -m "Copy nemo_v3_3_beta/DOC into the trunk" svn+ssh:// svn+ssh://
svn copy -m "Copy nemo_v3_3_beta/ADM into the trunk" svn+ssh:// svn+ssh://

Tag and release of nemo_v3_3

Create the 3_3 tag:

svn copy svn+ssh://  svn+ssh:// -m "Tagging nemo_v3_3"

Announce to users : mail to nemo users mailing list, based on informations below: who?

Add new reference manual

Add the pdf file of the new reference manaul corresponding to tag 3_3 in the reference manual web pages

Delete the development branches for 2010 (if they went back to the new version of course)

Remains unclear for me: we definitely want to "stop these branches" which should not stay alive anymore. Do we really want to remove them?
Yes because they are "dead" and we don't really want to deal with them anymore. No, because we will be loosing track of the different development stages for each branch. Still to be decided. If removal is decided, each developer hould do the work for his development branch.

Announcement of 3_3 to users (To be improved, in particular by adding the ticket number to find more details of the development)

Main features:

Scientific and numeric Developments

  • Lateral ocean physics: Griffies operator added - still under test, DO NOT USE (ticket #680, and appendix in reference manual)
  • Vertical mixing scheme Generic Length Scale (GLS) added (ticket #687), old TKE option suppressed (ticket #742)
  • Changes in bottom boundary layer (bbl) (ticket #774)
  • Develop mixed laplacian-bilaplacian diffusion. See ticket #659 and documentation in section 9.1 of the NEMO book.
  • Time stepping : modified Leap-Frog Asselin filter (MLF) implemented (Leclair and Madec Ocean Mod. 2009) (ticket #663)
  • LIM-2: the C-grid Elasto-Visco Plastic (EVP) rheology has been added in LIM2 (the oldest version of the sea-ice component) ticket #704
  • LIM-2 & -3: ice-ocean momentum coupling at each ocean time step simplified and available on both version of LIM
  • LIM-3: correct a small bug in latent heat of solid precipitation melting (limthd.F90) (ticket#670 , changeset:2383) [Also done in consolidated v3.2 version, see changeset:2387]
  • OPA: allow mixed laplacian/bilaplacian lateral diffusion on momentum (ticket #659)
  • Atmospheric pressure forcing added to both ocean and ice dynamics (ticket #725)
  • River runoffs: option to spread it over several ocean levels and specify both its temperature and salinity. See ticket #465, and documentation in section 7.7 of the NEMO book.
  • SBC: Diurnal cycle added when using daily solar radiation (ticket #730)
  • Coupling interface for WRF atmospheric model added
  • New module (OBS) to compare observations and model equivalent values. See ticket #681 and documentation in the NEMO book (section 11).
  • New data assimilation module (ASM) for applying of increments to the model. See ticket #681 and documentation in the NEMO book (section 12).
  • Linear-tangent and Adjoint component (TAM) added, phased on tag 3.0
  • Updates to BDY open boundaries for shelf configurations and implementation of seaice boundary conditions for LIM2. See ticket #718. Documentation now available in section 8.5 of the NEMO book.
  • LIM & CLIO bulk: correct the surface ice stress (sbcblk_clio.F90) (ticket #757 , changeset:2370) [Also done in consolidated v3.2 version, see changeset:2388]
  • OPA: correct an error in Qsr when using key_vvl (traqsr.F90) (ticket 726, done in both v3.3 and consolidated v3.2)
  • OPA: correct an error in the slope just below the mixed layer + optimization (ldfslp.F90) (ticket #435 , changeset:2401, done in both v3.3 and consolidated v3.2)

Computing Developments

  • Performance improvements and reproducibility in parallel (MPI) ticket #677 and #679
  • Reorganisation in tracers transport computation (merge of TRA and TRC modules) (ticket #693, #694 , #717)
  • Reorganisation of the initialisation phase (ticket #695)
  • Biogeochemistry offline (TOP) reorganised (avoid duplication of routines between on-line and offline use of TOP)
  • "On the fly" interpolation now modified in fldread.F90 to obtain information about the input grid from an attribute in the weights file (ticket #631)
  • "On the fly" interpolation tool added for input (forcing) files (ticket #631)
  • LIM-2: use of fldread in ice damping along open boundaries (limdmp_2.F90) (see ticket #194 and changeset:2377)
  • fldread: Read 3D files (like Levitus) with fldread.F90 (ticket #649 , #650), add a weekly forcing option (ticket #632 , #706), correct the time interpolation and co (#745, #751)
  • OPA: remove 2 obsolescent diagnostics (diagap.F90 and diahdy.F90) (tickets #749 and #750)
  • OPA: rewriting + DOCTOR norme on diaptr.F90 (ticket #759 , changeset:2399)
  • NetCDF-4: add NetCDF4 chunking and compression support to v3.3 (ticket #755 and #754)
  • Use of FCM (Flexible Configuration Manager) to build the chosen configuration, generate Makefile and run it to produce the executable)


  • Major updates in the reference manual, which is now almost in phase with the code (see tickets #458 #459 #658 …)
  • Smaller updates on the web pages documentation (but FAQ page more active from now on)
  • Detailed documentation and results of the reference configuration ORCA2_LIM forced by CORE II
  • CORE II normal year forcing set as the default forcing of ORCA2-LIM (ticket #756)

Major changes and warnings

  • List of cpp keys has changed, see here
  • In MPP, number of processors is now specified by cpp keys: -Dkey_nproci=2 -Dkey_nprocj=2 for instance'
  • use of FCM changes the directory hierarchy and the way to set up a configuration and create an executable. see documentation here:
  • runoff are now positive in the input file
  • domzgr needs to be manually reverted (minimi number of levels) for use of old obc files and possibly old restarts