[[PageOutline]] Last edited [[Timestamp]] Author : Gurvan Madec, Andrew Coward ticket : #1613 Branch : '''[https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5836_NOC3_vvl_by_default dev_r5836_NOC3_vvl_by_default]''' WP2015 Action : NOC-3 ---- = Description = Development branch related to NOC-3 system simplification actions of 2015 work plan : set the non-linear free surface (i.e. key_vvl) by default. * suppression of domzgr_substitute.h90 : before, now and after e3 scale factors are systematically defined. All fse3… desappear from all NEMO modules. * key_vvl is removed. A namelist logical (ln_linssh) is used. * linear free surface (constant volume) case : e3 before, now and after are set equal one for all, and we use exactly the same calculation as in non-linear case (except that update of e3 at each time-step is by-passed) * time stepping on tracers is performed systematically on thickness-weighted tracers (or possibly on volume-weighted tracers). Starting from '''trunk''' (revision: [https://forge.ipsl.jussieu.fr/nemo/log/trunk/NEMOGCM?rev=5838 ​5836]) after the merge with [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​dev_r5721_CNRS9_NOC3_LDF] ---- = Strategy = Three steps: == I. Before/Now/After vertical coordinate system by default == ===>>> runs ORCA2_LIM3 trunk and this branch identical to the last digit BUT both blow up atter 138 time step.... NB: to obtain the same results 1 things : revert domhpg.F90 optimization (use of r1_e...) =========>>>>>>>>>>>> try to find the origine of the model explosion: (1) dynvor.F90 reverted to the v3.6_stable version, i.e. with use of fmask at the proper place, the trunk still explode round the same time-step... ===>>> OK see revision XXX + minor correction revision XXX (SETTE OK) * dom_oce : [[BR]](1) systematic declaration of before/now/after vertical coordinate [[BR]](2) uniformisation of the name: hur (hvr) becomes r1_hu_n (r1_hv_n) ; idem for before and after[[BR]](3) gdep3w becomes gde3w === * all NEMO code: replace fs... by the the associated variable. When time-step is not prescribed, use _n variable (as was done in domzgr_substitute.h90). Results should be identical: '''===>>> TO BE verified''' (NB: in dynhpg.F90, some 1/e1u, 1/e2v has been replaced by r1_e1u, r1_e2v ==>> last digit changes !) * remove domzgr_substitute.h90 and its #include every where in the code. compilation OK (ORCA2_LIM3, ORCA2_LIM with/without AGRIF, ORCA2_LIM_PISCES,ORCA2_SAS_LIM, AMM12, C1D_PAPA, ORCA2_OFF_PISCES, GYRE_PISCES) * domzgr.F90 : Add the initialization of "_b", "_n", "_a" vertical coordinate arrays to "_0" in cas of linear free surface (i.e. .not.lk_vvl) === II. Non-linear free surface by default === * introduce an namelist parameter (ln_linssh) for linear free surface * remove key_vvl and replace the "IF( lk_vvl ) THEN...ELSE...ENDIF" by "IF( ln_linssh ) THEN...ELSE...ENDIF" ---- == Misc. == * domhpg.F90 : replace everywhere /e1u (/e2v) by *r1_e1u (*r1_e2v) ==>> put in comment !!gm to get same results * use nn_print test to bypass some control print. (domcfg.F90 ; ...) * remove the use of prihre, prihin, prizre ==>>> remove lib_print.f90