| 1 | '''Note on possible system simplification''' |
| 2 | |
| 3 | '''Motivation''': |
| 4 | |
| 5 | We need to simplify the code for maintenance, robustness and future evolution (change in time stepping, …etc). This means fewer options, and a consensus on the default (and thus well validated) set of numerics. |
| 6 | |
| 7 | The idea is to change the current most used choices from : |
| 8 | |
| 9 | linear filtered free surface zps ocean with TVD, "Madec" isoneutral diffusion, and standard equation of state ; levitating sea-ice with virtual salt fluxes |
| 10 | |
| 11 | possibly to : |
| 12 | |
| 13 | Non linear (vvl), split-explicit (ts) free surface, mixte zps/s-coordinate ocean with 3rd order advection (UBS), "Griffies" isoneutral diffusion ; embedded multi-category sea-ice (exact fluxes). |
| 14 | |
| 15 | And this with a removing of obsolescent features and a cleaning of the code. |
| 16 | |
| 17 | Timing: ideally, no more than 2 years from now (to be ready for CMIP6, and on time for the foreseen evolution of the time stepping) |
| 18 | |
| 19 | '''* core action (supported by all system team)''' |
| 20 | |
| 21 | '''- desired, but subject to discussion ''' |
| 22 | |
| 23 | '''? feasible but all conditions required are not yet met ''' |
| 24 | |
| 25 | '''CHANGE in paradigm''' |
| 26 | |
| 27 | '''*''' • default : non-linear free surface ('''planned''' '''in 2014''') |
| 28 | |
| 29 | '''*''' • remove filtered free surface and all associated solvers (if yes when? 2014?) |
| 30 | |
| 31 | (required AGRIF with time-splitting, '''done''' in 2013) and deeply tested ('''planned''' 2014) |
| 32 | |
| 33 | '''*''' • vertical coordinate : default option mixte zps/s-tilde coordinate (thus with variable volume level), with mixte zps*/s*, mixte z/s, zps, z and s coordinate system as sub-option (same code used) (2014-2015 ?) |
| 34 | |
| 35 | - tracer solved as thickness weighted tracer: D,,t,,(e,,3t,, T) ('''planned''' '''2014''') |
| 36 | |
| 37 | - thickness weighted quantities in the outputs ('''planned''' '''2014''') |
| 38 | |
| 39 | - no more substitute (domzgr_substitute.h90): all e3 always defined at before, now and after time steps ('''partly done''' in 2013, '''achieved''' in 2014). |
| 40 | |
| 41 | - adapte OFF line for tracer to variable volume (2015?) |
| 42 | |
| 43 | '''*''' • linear ssh option set without optimization (i.e. starting from the non-linear case with minimal changes, not optimal changes), or linear case suppressed ?? We should probably keep a linear case for test cases. (2014-2015 ?) |
| 44 | |
| 45 | '''*''' • sea-ice : embedded sea-ice as default |
| 46 | |
| 47 | - suppress levitating sea ice with virtual salt fluxes. (2014 ?) |
| 48 | |
| 49 | - Suppress levitating sea ice with mass exchange (?) CICE issue… |
| 50 | |
| 51 | - need land-fast ice ('''planned''' '''2014''') |
| 52 | |
| 53 | - need BDY compatibility with embedded sea-ice …. (who when?) |
| 54 | |
| 55 | '''-''' • tracer advection scheme: diminish their number (?). Typically one module for 2^nd^/4^th^ order and one for a 3^rd^ order scheme, both associated with an optional flux limiter to ensure positivity. |
| 56 | |
| 57 | '''-''' • vertical physics: simplification versus diversity |
| 58 | |
| 59 | - keep only one (GLS) ? or maintain some diversity? |
| 60 | |
| 61 | - KPP remove unless if-less KPP is implemented (Lemarié et al 2012). Keeping a validated KPP scheme in the system make sense for comparison purposes. |
| 62 | |
| 63 | - suppress or keep the explicit vertical diffusion |
| 64 | |
| 65 | '''OBSOLESCENT features''' |
| 66 | |
| 67 | mains: |
| 68 | |
| 69 | '''*''' • remove LIM2 : only LIM3 remains in the system (planed 2014) |
| 70 | |
| 71 | '''*''' • remove OBC : only BDY remains in the system (planed 2013, early 2014) |
| 72 | |
| 73 | '''*''' • remove OASIS 3 and 4 : OASIS-MCT (planed 2014) |
| 74 | |
| 75 | '''-''' • duplicate isoneutral operator: keep only the Griffies' one (tests needed before decision, tests planed in 2014 NOCS+LOCEAN) |
| 76 | |
| 77 | smaller one |
| 78 | |
| 79 | '''-''' • Non-penetrative convection : either correct it (using alpha & beta) or remove it (who?) |
| 80 | |
| 81 | '''*''' • remove acceleration of convergence (notably rdttra=F(k) ==> unique rdt) |
| 82 | |
| 83 | '''*''' • remove Neptune effect : ORCA1 runs shows its inefficiency. |
| 84 | |
| 85 | '''-''' • Smagorinsky (?) : use 3rd order operator (UBS) instead and remove it ? |
| 86 | |
| 87 | I/O |
| 88 | |
| 89 | '''-''' • remove Dimg format (?) (agreement needed from DRAKKAR group) |
| 90 | |
| 91 | '''?''' • remove IOIPSL : 2 issues, still use in some places, and XIOs portability… (''probably much too early to decide that'') |
| 92 | |
| 93 | '''*''' • use of XIOS logical to control the computation of diagnostics (2014-2015, '''who?''') |
| 94 | |
| 95 | '''CODE cleaning''' |
| 96 | |
| 97 | '''*''' • OBS operator : clean the stand-alone implementation ('''planned 2014''') |
| 98 | |
| 99 | '''*''' • suppress most of the CPP keys, if not all of them (2015 ?) |
| 100 | |
| 101 | '''*''' • dynamical allocation: return back to standard allocation (?) (no more '''CALL '''wrk_alloc and '''CALL '''wrk_dealloc) Evaluation to decided what to do ('''planned 2014''') |
| 102 | |
| 103 | '''*''' • no more potential density (zdfnpc and MLD computed from alpha & beta) ('''planned''' '''2014''') |
| 104 | |
| 105 | '''*''' • remove all hard coded specific alterations associated with configurations (ORCA,…) while introducing associated input files (2015 ?) |
| 106 | |
| 107 | '''*''' • same for the definition of coordinate system (s, mixed z-s): only a simple case hard coded. For more sophisticated cases, the required information should be read in an input file. (2015 ?) |
| 108 | |
| 109 | '''*''' • avm defined at t-point ==> suppress avmu, avmv and ~10 lbc_lnk calls (2015 ?) |
| 110 | |
| 111 | '''-''' • LDF: remove 1D and 2D cases, keep only 3D ; laplacian and bilaplacian coefficients defined at the same points (T and F) ; time varying coefficients (Smagorinsky, function of growth rate of baroclinic instabilities): better integration rather than configuration dependent cases (2015 ?) |