New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
2014WP/2014_SystemSimplification_v2 (diff) – NEMO

Changes between Version 3 and Version 4 of 2014WP/2014_SystemSimplification_v2


Ignore:
Timestamp:
2014-03-21T11:41:46+01:00 (10 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2014WP/2014_SystemSimplification_v2

    v3 v4  
    1 '''Note on system simplification''' 
    2 [[BR]] 
    3 [[BR]] 
     1'''Note on system simplification''' [[BR]] [[BR]] 
    42 
    53'''Motivation''': 
    64 
    7 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. 
    8 The idea is to change the current most used choices from : [[BR]] 
    9    linear filtered free surface zps ocean with TVD, "Madec" iso-neutral diffusion, and standard equation of state ;  levitating sea-ice with virtual salt fluxes 
     5We 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. The idea is to change the current most used choices from : [[BR]] 
     6 
     7  linear filtered free surface zps ocean with TVD, "Madec" iso-neutral diffusion, and standard equation of state ;  levitating sea-ice with virtual salt fluxes 
    108 
    119possibly to :[[BR]] 
    12    Non linear (vvl), split-explicit (ts) free surface, mixte zps/s-coordinate ocean with 3rd order advection (UBS with rotation of the diffusive part along iso-neutral surfaces),  "Griffies" iso-neutral diffusion ; embedded multi-category sea-ice (exact fluxes). 
     10 
     11  Non linear (vvl), split-explicit (ts) free surface, mixte zps/s-coordinate ocean with 3rd order advection (UBS with rotation of the diffusive part along iso-neutral surfaces),  "Griffies" iso-neutral diffusion ; embedded multi-category sea-ice (exact fluxes). 
     12 
    1313And this with a removing of obsolescent features and a cleaning of the code. 
    1414 
    1515Timing: achievement within 2 years from now for NEMO v4.0 (to be ready for CMIP6, and on time for the foreseen evolution of the time stepping) 
    1616 
    17 Notations:  
     17Notations: 
    1818 
    19    '''*'''  core action (supported by all system team) 
     19  '''  *'''    core action (supported by all system team) 
    2020 
    21    '''-'''  desired, but subject to discussion 
     21  '''  -'''    subject to discussion 
    2222 
    23    '''?'''  feasible but all conditions required are not yet met 
    24 [[BR]] 
    25 [[BR]] 
    26 '''CHANGE in options used by default''' 
     23  '''  ?'''    feasible but all conditions required are not yet met 
    2724 
    28 '''*''' '''non-linear free surface''': by default ('''WP 2014''') 
     25[[BR]] [[BR]] '''I. CHANGE in options used by default''' 
     26 
     27'''*'''        '''non-linear free surface''': by default ('''WP 2014''') 
    2928 
    3029'''*'''  '''filtered free surface''': remove it as well as all its associated solvers (if yes when? 2014?)[[BR]] 
    31                  (required AGRIF with time-splitting, '''done''' in 2013) and deeply tested ('''WP 2014''') 
    3230 
    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 ?) 
     31  (required AGRIF with time-splitting, '''done''' in 2013) and deeply tested ('''WP 2014''') 
    3432 
    35                 !-  tracer solved as thickness weighted tracer: D,,t,,(e,,3t,, T) ('''WP 2014''') 
     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 ?) 
    3634 
    37                 !-  thickness weighted quantities in the outputs ('''WP2014''') 
     35  !-  tracer solved as thickness weighted tracer: D,,  t,,  (e,,  3t,,   T) ('''WP 2014'''  ) 
    3836 
    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).   
     37  !-  thickness weighted quantities in the outputs ('''  WP2014'''  ) 
    4038 
    41                 !- adapte OFF line for tracer to variable volume (2015?)  
     39  !-  no more substitute (domzgr_substitute.h90): all e3 always defined at before, now and after time steps ('''  partly done'''   in 2013, ''' to be achieved'''   in 2014). 
     40 
     41  !- adapte OFF line for tracer to variable volume (2015?) 
    4242 
    4343'''*''' '''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 ?) 
    4444 
    45 '''*''' '''sea-ice''' : embedded sea-ice as default 
     45'''*'''        '''sea-ice''' : embedded sea-ice as default 
    4646 
    47                 !-  suppress levitating sea ice with virtual salt fluxes. (2014 ?) 
     47  !-  suppress levitating sea ice with virtual salt fluxes. (2014 ?) 
    4848 
    49                 !-  Suppress levitating sea ice with mass exchange (?)  CICE issue… 
     49  !-  Suppress levitating sea ice with mass exchange (?) CICE issue… 
    5050 
    51                 !-  need land-fast ice ('''WP 2014''') 
     51  !-  need land-fast ice ('''WP 2014''') 
    5252 
    53                 !- need BDY compatibility with embedded sea-ice …. (who when?) 
     53  !- need BDY compatibility with embedded sea-ice …. (who when?) 
    5454 
    55 '''-'''  '''tracer advection scheme''': diminish their number (?).  
     55'''-'''         '''tracer advection scheme''': diminish their number (?). 
    5656 
    57               !-  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. To be discussed 
     57  !-  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. To be discussed 
    5858 
    59               !- Addition of the rotation of the diffusive part of 3^rd^ order scheme (2015 ?) 
     59  !- Addition of the rotation of the diffusive part of 3^  rd^  order scheme (2015 ?) 
    6060 
    61 '''-''' '''vertical physics''':  simplification versus diversity 
     61'''-'''        '''vertical physics''': simplification versus diversity 
    6262 
    63                 !- keep only one (GLS) ? or maintain some diversity?  
     63  !- keep only one (GLS) ? or maintain some diversity? 
    6464 
    65                 !- 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.  
     65  !- 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. 
    6666 
    67                 !- suppress or keep the explicit vertical diffusion 
    68 [[BR]] 
     67  !- suppress or keep the explicit vertical diffusion 
    6968 
    70 '''OBSOLESCENT features''' 
    71 [[BR]] 
    72  
     69[[BR]] [[BR]]'''II.OBSOLESCENT features''' [[BR]] 
    7370 
    7471'''mains''': 
    7572 
    76    '''*'''      remove '''LIM2''' : only LIM3 remains in the system (planed 2014) 
     73  '''  *'''          remove '''  LIM2'''   : only LIM3 remains in the system ('''WP 2014''') 
    7774 
    78    '''*'''      remove '''OBC''' : only BDY remains in the system (planed 2013, early 2014) 
     75  '''  *'''          remove '''  OBC'''   : only BDY remains in the system  ('''==>> done in v3.6''') 
    7976 
    80    '''*'''      remove '''OASIS''' 3 and 4 :  OASIS-MCT (planed 2014) 
     77  '''  *'''          remove '''  OASIS'''   3 and 4 :  OASIS-MCT ('''WP 2014''') 
    8178 
    82    '''-''' duplicate '''isoneutral operator''': keep only the Griffies' one (tests needed before decision, tests planed in 2014 NOCS+LOCEAN)  
    83 [[BR]] 
     79  '''  -'''   duplicate '''  isoneutral operator'''  : keep only the Griffies' one (tests needed before decision, tests planed in 2014 NOCS+LOCEAN) 
     80 
    8481 
    8582'''smaller ones''' 
    8683 
    87    '''-'''      '''Non-penetrative convection''' : correct it (using alpha & beta) (L. Brodeau, Stockholm) 
     84  '''  *'''          remove '''  acceleration of convergence'''   (notably rdttra=F(k) ==> unique rdt) 
    8885 
    89    '''*'''      remove '''acceleration of convergence''' (notably rdttra=F(k) ==> unique rdt) 
     86  '''  *'''          remove '''Neptune effect''' : ORCA1 runs shows its inefficiency ('''  WP 2014'''  ). 
    9087 
    91    '''*'''      remove Neptune effect : ORCA1 runs shows its inefficiency ('''WP 2014'''). 
     88  '''  *'''          remove '''no-slip accurate''' option (key_noslip_accurate). Module divcur.F90 (==>> done in branch [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2014 2014/dev_CNRS0_NOC1_LDF​] 
    9289 
    93    '''-'''      Smagorinsky (?) : use 3rd order operator (UBS) instead and remove it ? 
    94 [[BR]] 
     90  '''  *'''           suppress cross-land advection 
    9591 
    96 '''I/O'''  
     92  '''  -'''          '''Smagorinsky''' (?) : use 3rd order operator (UBS) instead and remove it ? 
    9793 
    98    '''-'''      remove Dimg format (?) (agreement needed from DRAKKAR group)  
     94  '''  -'''          '''Non-penetrative convection''' : with its correction and improvement using alpha & beta (work done by L. Brodeau, Stockholm), it seems now vbetter to keep it in the system. 
    9995 
    100    '''?'''      remove IOIPSL : 2 issues, still use in some places, and XIOs portability… (''probably much too early to decide that'') 
    10196 
    102    '''*'''      • use of XIOS logical to control the computation of diagnostics (2014-2015, '''who?''') 
    103 [[BR]] 
    104 [[BR]] 
     97'''I/O''' 
    10598 
     99  '''  -'''          remove Dimg format (?) (agreement needed from DRAKKAR group) 
     100 
     101  '''  ?'''          remove IOIPSL : 2 issues, still use in some places, and XIOs portability… (''  probably much too early to decide that''  ) 
     102 
     103  '''  *'''          use of XIOS logical to control the computation of diagnostics (2014-2015, already done LIM3, see [https://forge.ipsl.jussieu.fr/nemo/browser/branches/dev_r4028_CNRS_LIM3_MV2014 dev_r4028_CNRS_LIM3_MV2014]) 
    106104 
    107105'''CODE cleaning''' 
    108106 
    109    '''*'''      OBS operator : clean the stand-alone implementation ('''WP 2014''') 
     107  '''  *'''          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 ('''on going work'''  , 2015 ?) 
    110108 
    111    '''*'''      suppress most of the CPP keys, if not all of them (2015 ?) 
     109  '''  *'''          OBS operator : clean the stand-alone implementation ('''WP 2014''' ) 
    112110 
    113    '''*'''      dynamical allocation: return back to standard allocation (?) (no more '''CALL '''wrk_alloc and '''CALL '''wrk_dealloc)  Evaluation to decided what to do ('''WP 2014''') 
     111  '''  *'''          suppress most of the CPP keys, if not all of them (2014-2015 ?) 
    114112 
    115    '''*'''      no more potential density (zdfnpc and MLD computed from alpha & beta) ('''WP 2014''') 
     113  '''  *'''          dynamical allocation: return back to standard allocation (?) (no more '''  CALL '''  wrk_alloc and '''  CALL '''  wrk_dealloc)  Evaluation to decided what to do ('''  WP 2014'''  ) 
    116114 
    117    '''*'''      remove all hard coded specific alterations associated with configurations (ORCA,…) while introducing associated input files (2014-2015 ?) 
     115  '''  *'''          no more potential density (zdfnpc and MLD computed from alpha & beta) ('''  WP 2014'''  ) 
    118116 
    119    '''*'''      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 ?) 
     117  '''  *'''          remove all hard coded specific alterations associated with configurations (ORCA,…) while introducing associated input files (2014-2015 ?) 
    120118 
    121    '''*'''      avm defined at t-point ==> suppress avmu, avmv and ~10 lbc_lnk calls (2015 ?) 
     119  '''  *'''           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 ?) 
    122120 
    123    '''*'''      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 ('''on going work''', 2015 ?)   
     121  '''  *'''          avm defined at t-point ==> suppress avmu, avmv and ~10 lbc_lnk calls (2015 ?)