Author: '''Jérôme Chanut, Mercator Océan''' Page related to ticket: #1620 and associated to the following development branch: [​https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5847_MERCATOR9_solveur_simplification] This development is part of the shared simplication process, task: SIMPLIF-2: Removal of filtered free surface. Split explicit and explicit free surface only. '''Step 1: Remove filtered free surface option and associated key_dynspg_flt key''' 1) Remove parts of the code specific to "key_dynspg_flt" or lk_dynspg_flt=T and the need for solver modules in the code.[[BR]] 2) Suppress SOL directory and dynspg_flt module[[BR]] 3) Clean momentum trend routines related to filtered free surface (trddyn, trdken, trd_oce).[[BR]] 4) Update reference configurations: [[BR]] - Replace key_dynspg_flt by key_dynspg_ts if needed in CONFIG/* directories. [[BR]] - Remove namsol block in namelist_* and references to flt variables (trends) in field_def.xml[[BR]] - SETTE: update sette.sh, to remove modifications of namelist variables related to solver. [[BR]] NB: one should change "solver.stat" file and numsol names in stp_ctl and in_out_manager... keep it as is for the time being[[BR]] ==> '''Commit changes to revision 5868''' [https://forge.ipsl.jussieu.fr/nemo/changeset?old_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&old=5867&new_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&new=5868] GYRE restartability passed ORCA2LIMPIS restartability passed ORCA2OFFPIS restartability passed AMM12 restartability passed ORCA2LIM3 restartability passed SAS restartability inconclusive ( solver.stat not found ) GYRE reproducibility passed ORCA2LIMPIS reproducibility passed ORCA2OFFPIS reproducibility passed AMM12 reproducibility passed ORCA2LIM3 reproducibility passed SAS reproducibility inconclusive ( solver.stat not found ) ORCA2_LIM_AGRIF runability passed ORCA2_LIM_AGRIF code corruption test passed ==> Pass Sette tests:YES '''Step 2: Suppress implicit pressure gradient option, ln_hpg_imp=T ''' Since this option is not supported with the now default split explicit free surface: remove it ( => simpler step routine). ln_hpg_imp namelist variable suppressed in reference namelist.[[BR]] ==> '''Commit changes to revision 5869'''[ https://forge.ipsl.jussieu.fr/nemo/changeset?old_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&old=5868&new_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&new=5869] [[BR]] ==> Pass Sette tests: OK '''Step 3: Time Stepping readibility '''[[BR]] 1)''' dynzdf'''[[BR]] Make time stepping identical in explicit or split-explicit cases => assume that "after" velocities not tendencies are available after vertical diffusion of momentum (as for tracers) => modify dynzdf/dynnxt routines 2) '''step'''[[BR]] - Group all dynamical trends at the same place (at the beginning of the time stepping). Still keep dynnxt after tracer time stepping at the end.[[BR]] - Assuming ua/va are not used anymore during tracer computation as working arrays, remove temporary 3d arrays ua_sv, va_sv ==> Commit changes to revision: ???[[BR]] ==> Pass Sette tests:??? '''Step 4: additional simplifications/corrections''' - Correct momentum trend computation with time splitting - Agrif cleaning and compatibility with explicit free surface - Remove key_dynspg_ts and key_dynspg_exp cpp keys (create namelist block to choose between the two) - Suppress dynspg_oce module ? - Others ? ==> Commit changes to revision: ???[[BR]] ==> Pass Sette tests:???