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 17 and Version 18 of 2014WP/2014_SystemSimplification_v2


Ignore:
Timestamp:
2015-10-25T12:04:17+01:00 (9 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2014WP/2014_SystemSimplification_v2

    v17 v18  
    1 '''Actions on System Simplication towards NEMO 4.0 ''' [[BR]] [[BR]] 
     1[[PageOutline]] Last edited [[Timestamp]] 
     2 
     3'''Actions on System Simplication:  towards NEMO 4.0'''[[BR]] [[BR]] 
    24 
    35'''Motivation''': 
     
    1719Notations: 
    1820 
    19   '''       *'''         core action (supported by all system team) 
     21  '''           *'''             core action (supported by all system team) 
    2022 
    21   '''       -'''         subject to discussion 
     23  '''           -'''             subject to discussion 
    2224 
    23   '''       ?'''         feasible but all conditions required are not yet met 
     25  '''           ?'''             feasible but all conditions required are not yet met 
    2426 
    25 [[BR]] [[BR]] '''I. CHANGE in options used by default''' 
     27---- 
     28[[BR]] '''I. CHANGE in options used by default''' 
    2629 
    27 '''*'''        '''non-linear free surface''': by default ('''WP 2015''') ==>>  see NOC3 2015 branch 
     30'''*'''        '''non-linear free surface''': by default ('''WP 2015''') ==>>  see NOC3 2015 branch 
    2831 
    2932'''*'''  '''filtered free surface''': remove it as well as all its associated solvers ('''WP 2015''') 
    3033 
    31   pre-requirement, AGRIF with time-splitting ( done  in 2013) and deeply tested ( WP 2014 ), '''    DONE (v3.6 stable)''' 
     34  pre-requirement, AGRIF with time-splitting ( done  in 2013) and deeply tested ( WP 2014 ), '''        DONE (v3.6 stable)''' 
    3235 
    3336'''*'''  '''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 ?) 
    3437 
    35   !-  tracer solved as thickness weighted tracer: D,,       t,,       (e,,       3t,,        T) ('''     WP 2015'''     ) ==>>   see NOC3 2015 branch 
     38  !-  tracer solved as thickness weighted tracer: D,,           t,,           (e,,           3t,,            T) ('''         WP 2015'''         ) ==>>  see NOC3 2015 branch 
    3639 
    37   !-  thickness weighted quantities in the outputs ( WP2014 )            '''    DONE (v3.6 stable)''' 
     40  !-  thickness weighted quantities in the outputs ( WP2014 )            '''        DONE (v3.6 stable)''' 
    3841 
    39   !-  no more substitute (domzgr_substitute.h90): all e3 always defined at before, now and after time steps (WP 2015) ==>>  see NOC3 2015 branch 
     42  !-  no more substitute (domzgr_substitute.h90): all e3 always defined at before, now and after time steps (WP 2015) ==>>  see NOC3 2015 branch 
    4043 
    4144  !- adapt OFFLINE for tracer to variable volume (WP 2015) 
     
    4346  !- For OFFLINE, compute the grid in the same way than in ONLINE. 
    4447 
    45 '''*''' '''linear ssh''' option set without optimization (i.e. starting from the non-linear case with minimal changes, not optimal changes). ('''2015''') ==>> see NOC3 2015 branch 
     48'''*''' '''linear ssh''' option set without optimization (i.e. starting from the non-linear case with minimal changes, not optimal changes). ('''2015''') ==>> see NOC3 2015 branch 
    4649 
    4750'''*'''        '''sea-ice''' : embedded sea-ice as default 
     
    5154  !-  Suppress levitating sea ice with mass exchange (?)  CICE issue… 
    5255 
    53   !-  need the management of grounded-ice & land-fast ice ('''     WP 2016'''     ) 
     56  !-  need the management of grounded-ice & land-fast ice ('''         WP 2016'''         ) 
    5457 
    5558  !- need BDY compatibility with embedded sea-ice …. (who when?) 
     
    6164'''*''' '''vertical physics''':  simplification versus diversity 
    6265 
    63   !- keep only one (GLS) ? or maintain some diversity?  ==>> '''  keep both TKE and GLS''' 
     66  !- keep only one (GLS) ? or maintain some diversity?  ==>> '''      keep both TKE and GLS''' 
    6467 
    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. '''==>> DONE in '''  [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     68  !- 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. '''    ==>> DONE in '''      [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    6669 
    67   !- suppress or keep the explicit vertical diffusion?  needed for numerical tests, we keep explicit option, but implicit is the default choice.  !- introduce a manager of vertical physics called by step.F90 with the following features: ''' ==>> see ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_ZDF ​2015/dev_r5721_CNRS9_NOC3_ZDF] [[BR]]  (1) minimization of lvc_lnk communication (remove ~10 lvc_lnk call) ; (2) remove avmu, and avmv ; (3) remove all key_zdf... CPP keys (replaced by namelist logicals) ; (4) remove zdfddm_subsitute.h90 : ave is always defined) ; (5) introduce a separate computation of the shear production term (shared by TKE and GLS) 
     70  !- suppress or keep the explicit vertical diffusion?  needed for numerical tests, we keep explicit option, but implicit is the default choice.  !- introduce a manager of vertical physics called by step.F90 with the following features: '''     ==>> see '''     [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_ZDF ​2015/dev_r5721_CNRS9_NOC3_ZDF]     [[BR]]      (1) minimization of lvc_lnk communication (remove ~10 lvc_lnk call) ; (2) remove avmu, and avmv ; (3) remove all key_zdf... CPP keys (replaced by namelist logicals) ; (4) remove zdfddm_subsitute.h90 : ave is always defined) ; (5) introduce a separate computation of the shear production term (shared by TKE and GLS) 
    6871 
    69 [[BR]]'''II.OBSOLESCENT features''' [[BR]] 
     72---- 
     73'''II.OBSOLESCENT features''' [[BR]] 
    7074 
    7175'''mains''': 
    7276 
    73   '''       *'''               remove '''     LIM2'''        : only LIM3 remains in the system ('''     WP 2016''' ) 
     77  '''           *'''                   remove '''         LIM2'''            : only LIM3 remains in the system ('''         WP 2016'''     ) 
    7478 
    75   '''       *'''               remove '''     OBC'''        : only BDY remains in the system  '''  ==>> DONE in v3.6'''   '''  stable''' 
     79  '''           *'''                   remove '''         OBC'''            : only BDY remains in the system  '''      ==>> DONE in v3.6'''       '''      stable''' 
    7680 
    77   '''       *'''               remove '''     OASIS'''        3 and 4 :  OASIS-MCT instead    '''  ==>>  DONE in v3.6 stable''' 
     81  '''           *'''                   remove '''         OASIS'''            3 and 4 :  OASIS-MCT instead    '''      ==>>  DONE in v3.6 stable''' 
    7882 
    79   '''       -'''        duplicate '''       isoneutral operator'''       : keep only the triad operator (Griffies' one) ? Tests needed before decision. Those tests should be planed in 2016 (NOCS+LOCEAN) ???? 
     83  '''           -'''            duplicate '''           isoneutral operator'''           : keep only the triad operator (Griffies' one) ? Tests needed before decision. Those tests should be planed in 2016 (NOCS+LOCEAN) ???? 
    8084 
    8185'''smaller ones''' 
    8286 
    83   '''       *'''               remove '''       acceleration of convergence'''        (notably rdttra=F(k) ==> unique rdt) 
     87  '''           *'''                   remove '''           acceleration of convergence'''            (notably rdttra=F(k) ==> unique rdt) 
    8488 
    85   '''       *'''               remove '''     Neptune effect'''      : ORCA1 runs shows its inefficiency.     '''==>> DONE in '''[https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     89  '''           *'''                   remove '''         Neptune effect'''          : ORCA1 runs shows its inefficiency.     '''    ==>> DONE in '''    [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    8690 
    87   '''       *'''               remove '''     no-slip accurate'''      option (key_noslip_accurate). Module divcur.F90    '''  ==>> DONE in '''  [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     91  '''           *'''                   remove '''         no-slip accurate'''          option (key_noslip_accurate). Module divcur.F90    '''      ==>> DONE in '''      [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    8892 
    89   '''       *'''                suppress '''     cross-land advection'''      : this option is hard coded for ORCA_R2_L31 and is nomore used.   '''  ==>> DONE in '''  [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     93  '''           *'''                    suppress '''         cross-land advection'''          : this option is hard coded for ORCA_R2_L31 and is nomore used.   '''      ==>> DONE in '''      [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    9094 
    91   '''       *'''                suppress '''     key_traldf_ano'''      and the associated possibility of computing lateral diffusion on tracer using only the departure from a given profile.  (==>> done in branch [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2014 2014/dev_CNRS0_NOC1_LDF​] 
     95  '''           *'''                    suppress '''         key_traldf_ano'''          and the associated possibility of computing lateral diffusion on tracer using only the departure from a given profile.  (==>> done in branch [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2014 2014/dev_CNRS0_NOC1_LDF​] 
    9296 
    93   '''       -'''               '''     Smagorinsky'''   : to be removed.   '''  ==>> DONE in '''  [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     97  '''           -'''                   '''         Smagorinsky'''       : to be removed.   '''      ==>> DONE in '''      [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    9498 
    95   '''       -'''               '''     Non-penetrative convection'''      : with its correction and improvement using alpha & beta (work done by L. Brodeau, Stockholm), it seems now better to keep it in the system.                    '''  ==>> DONE in v3.6 stable''' 
     99  '''           -'''                   '''         Non-penetrative convection'''          : with its correction and improvement using alpha & beta (work done by L. Brodeau, Stockholm), it seems now better to keep it in the system.                    '''      ==>> DONE in v3.6 stable''' 
    96100 
    97   '''       -'''               '''     runoffs'''      : only introduced as lateral flow: remove the option of runoff as surface boundary condition as well as specific treatment in vicinity of river mouths. 
     101  '''           -'''                   '''         runoffs'''          : only introduced as lateral flow: remove the option of runoff as surface boundary condition as well as specific treatment in vicinity of river mouths. 
    98102 
    99   '''       -'''              '''     passive tracers'''      : use trasbc routines for passive tracers to add the river inputs of nutrients 
     103  '''           -'''                  '''         passive tracers'''          : use trasbc routines for passive tracers to add the river inputs of nutrients 
    100104 
     105---- 
    101106'''I/O''' 
    102107 
    103   '''       *'''               remove Dimg format (agreement obtained from the DRAKKAR group) (2015)  ==>> Italian branch 
     108  '''           *'''                   remove Dimg format (agreement obtained from the DRAKKAR group) (2015)  ==>> Italian branch 
    104109 
    105   '''       ?'''               remove IOIPSL : 2 issues, still use in some places, and XIOs portability… (''       '''probably much too early to decide that'' '''      ) 
     110  '''           ?'''                   remove IOIPSL : 2 issues, still use in some places, and XIOs portability… (''           '''    probably much too early to decide that''     '''          ) 
    106111 
    107   '''       *'''   use of XIOS logical to control the computation of diagnostics (2014-2015), already done but only for LIM3, see [https://forge.ipsl.jussieu.fr/nemo/browser/branches/dev_r4028_CNRS_LIM3_MV2014 dev_r4028_CNRS_LIM3_MV2014]     )[[BR]]    generalize its use throughout the code ! 
     112  '''           *'''       use of XIOS logical to control the computation of diagnostics (2014-2015), already done but only for LIM3, see [https://forge.ipsl.jussieu.fr/nemo/browser/branches/dev_r4028_CNRS_LIM3_MV2014 dev_r4028_CNRS_LIM3_MV2014]         )[[BR]]        generalize its use throughout the code ! 
    108113 
     114---- 
    109115'''CODE cleaning''' 
    110116 
    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 (function of growth rate of baroclinic instabilities, of the local velocity...): better integration rather than configuration dependent cases. This is also associated with the re-writing of bilaplacian operator on tracer and on dynamics as re-entrant laplacian operator. As a results, curl and div are no more required in the restart file.'''                     DONE in '''     [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     117  '''           *'''                   LDF: remove 1D and 2D cases, keep only 3D ; laplacian and bilaplacian coefficients defined at the same points (T and F) ;  time varying coefficients (function of growth rate of baroclinic instabilities, of the local velocity...): better integration rather than configuration dependent cases. This is also associated with the re-writing of bilaplacian operator on tracer and on dynamics as re-entrant laplacian operator. As a results, curl and div are no more required in the restart file.'''                         DONE in '''         [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    112118 
    113   '''       *'''               OBS operator : clean the stand-alone implementation ('''     WP 2015''' )  
     119  '''           *'''                   OBS operator : clean the stand-alone implementation ('''         WP 2015'''     ) 
    114120 
    115   '''   *'''               suppress most of the CPP keys, if not all of them (2014-2015 ?)   
     121  '''   *'''                   dynamical allocation: return back to standard allocation (?) (no more '''           CALL '''           wrk_alloc and '''           CALL '''           wrk_dealloc)  Evaluation to decided what to do ('''         WP 2014'''         ) 
    116122 
    117   '''       *'''               dynamical allocation: return back to standard allocation (?) (no more '''       CALL '''       wrk_alloc and '''       CALL '''       wrk_dealloc)  Evaluation to decided what to do ('''     WP 2014'''     ) 
     123  '''           *'''                   no more potential density (zdfnpc and MLD computed from alpha & beta)   ==>>> ????? 
    118124 
    119   '''       *'''               no more potential density (zdfnpc and MLD computed from alpha & beta)   ==>>> ????? 
     125  '''           *'''                   remove all '''    hard coded specific alterations'''     associated with configurations (ORCA,…) while introducing associated input files (2014-2015 ?)[[BR]]                          - strait width reduction in domhgr : '''      ==>> DONE in '''      [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF]      [[BR]]                          - cross-land advection (ORCA2 only) removed '''    ==>> DONE in '''    [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    120126 
    121   '''       *'''               remove all '''hard coded specific alterations''' associated with configurations (ORCA,…) while introducing associated input files (2014-2015 ?)[[BR]]                      - strait width reduction in domhgr : '''  ==>> DONE in '''  [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF]  [[BR]]                      - cross-land advection (ORCA2 only) removed '''==>> DONE in '''[https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF]  
     127  '''           *'''                    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 ?) '''   *'''    suppress most of the CPP keys, if not all of them (2015-2016): 
    122128 
    123   '''       *'''                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 ?) 
     129  '''   * '''   LDF simplification ==>> the 9 related keys have been suppressed ('''   key_ldfslp'''    ; '''   ley_ldftra_eiv'''    ; '''   key_traldf_ano'''    ; '''   key_traldf_c1d'''   , '''   key_traldf_c2d'''   , '''   key_traldf_c3d'''    ; '''   key_dynldf_c1d'''   , '''   dynldf_c2d'''   , '''   dynldf_c3d'''   )    '''   ==>> DONE in '''   [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF]   '''   *'''                    remove the '''   key_esopa'''    option that allow to compile and test all code option that are controlled by a cpp key. '''    ==>> DONE in '''         [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    124130 
    125   '''       -'''                remove the key_esopa option that allow to compile and test all code option that are controlled by a cpp key. With the removal of nearly all cpp keys, it should become useless...'''         DONE in '''     [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    126   ? '''key_mpp_rep''' : this option should become the default case !  global sum without this option should be removed.  '''NOT discussed yet''' 
     131 * remove '''key_vectopt_loop''' from all the code except in ''vectopt_loop_substitute.h90'' (it is an obsolescent feature only adapted to vector computers)   '''==>> DONE in '''[https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     132 * remove '''key_noslip_accurate''' ''' ''' '''==>> DONE in '''[https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     133 
     134---- 
     135'''New ideas to be discussed :''' 
     136 
     137  • remove'''    key_mpp_rep'''     : this option should become the default case !  Global sum without this option should be removed. •