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 22 and Version 23 of 2014WP/2014_SystemSimplification_v2


Ignore:
Timestamp:
2015-10-26T07:40:52+01:00 (9 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2014WP/2014_SystemSimplification_v2

    v22 v23  
    1919Notations: 
    2020 
    21   '''                   *'''                     core action (supported by all system team)[[BR]]    '''    -'''                     subject to discussion[[BR]]    '''    ?'''                     feasible but all conditions required are not yet met 
     21  '''                    *'''                      core action (supported by all system team)[[BR]]     '''     -'''                      subject to discussion[[BR]]     '''     ?'''                      feasible but all conditions required are not yet met 
    2222 
    2323---- 
     
    2727'''*'''  '''filtered free surface''': remove it as well as all its associated solvers ('''WP 2015''') 
    2828 
    29   pre-requirement, AGRIF with time-splitting ( done  in 2013) and deeply tested ( WP 2014 ), '''                DONE (v3.6 stable)''' 
     29  pre-requirement, AGRIF with time-splitting ( done  in 2013) and deeply tested ( WP 2014 ), '''                 DONE (v3.6 stable)''' 
    3030 
    3131'''*'''  '''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 ?) 
    3232 
    33   !-  tracer solved as thickness weighted tracer: D,,    t,,    (e,,    3t,,                    T) or possibly D,,    t,,    (e,,    1t,,    e,,    2t,,    e,,    3t,,     T)  ('''                 WP 2015'''                 ) ==>>   see NOC3 2015 branch 
     33  !-  tracer solved as thickness weighted tracer: D,,     t,,     (e,,     3t,,                     T) or possibly D,,     t,,     (e,,     1t,,     e,,     2t,,     e,,     3t,,      T)  ('''                  WP 2015'''                  ) ==>>   see NOC3 2015 branch 
    3434 
    35   !-  thickness weighted quantities in the outputs ( WP2014 )            '''                DONE (v3.6 stable)''' 
     35  !-  thickness weighted quantities in the outputs ( WP2014 )            '''                 DONE (v3.6 stable)''' 
    3636 
    3737  !-  no more substitute (domzgr_substitute.h90): all e3 always defined at before, now and after time steps (WP 2015) ==>>  see NOC3 2015 branch 
     
    4949  !-  Suppress levitating sea ice with mass exchange (?)  CICE issue… 
    5050 
    51   !-  need the management of grounded-ice & land-fast ice ('''                 WP 2016'''                 ) 
     51  !-  need the management of grounded-ice & land-fast ice ('''                  WP 2016'''                  ) 
    5252 
    5353  !- need BDY compatibility with embedded sea-ice …. (who when?) 
     
    5959'''*''' '''vertical physics''':  simplification versus diversity 
    6060 
    61   !- keep only one (GLS) ? or maintain some diversity?  ==>> '''              keep both TKE and GLS''' 
     61  !- keep only one (GLS) ? or maintain some diversity?  ==>> '''               keep both TKE and GLS''' 
    6262 
    63   !- 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] 
     63  !- 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] 
    6464 
    6565  !- suppress or keep the explicit vertical diffusion?  needed for numerical tests, we keep explicit option, but implicit is the default choice. 
    66     !- 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) 
     66    !- 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) 
    6767 
    6868---- 
     
    7070'''mains''': 
    7171 
    72   '''                   *'''                           remove '''                 LIM2'''                    : only LIM3 remains in the system ('''                 WP 2016'''             ) 
     72  '''                    *'''                            remove '''                  LIM2'''                     : only LIM3 remains in the system ('''                  WP 2016'''              ) 
    7373 
    74   '''                   *'''                           remove '''                 OBC'''                    : only BDY remains in the system  '''              ==>> DONE in v3.6'''               '''              stable''' 
     74  '''                    *'''                            remove '''                  OBC'''                     : only BDY remains in the system  '''               ==>> DONE in v3.6'''                '''               stable''' 
    7575 
    76   '''                   *'''                           remove '''                 OASIS'''                    3 and 4 :  OASIS-MCT instead    '''              ==>>  DONE in v3.6 stable''' 
     76  '''                    *'''                            remove '''                  OASIS'''                     3 and 4 :  OASIS-MCT instead    '''               ==>>  DONE in v3.6 stable''' 
    7777 
    78   '''                   -'''                    duplicate '''                   isoneutral operator'''                   : keep only the triad operator (Griffies' one) ? Tests needed before decision. Those tests should be planed in 2016 (NOCS+LOCEAN) ???? 
     78  '''                    -'''                     duplicate '''                    isoneutral operator'''                    : keep only the triad operator (Griffies' one) ? Tests needed before decision. Those tests should be planed in 2016 (NOCS+LOCEAN) ???? 
    7979 
    8080'''smaller ones''' 
    8181 
    82   '''                   *'''                           remove '''                   acceleration of convergence'''                    (notably rdttra=F(k) ==> unique rdt) 
     82  '''                    *'''                            remove '''                    acceleration of convergence'''                     (notably rdttra=F(k) ==> unique rdt) 
    8383 
    84   '''                   *'''                           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] 
     84  '''                    *'''                            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] 
    8585 
    86   '''                   *'''                           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] 
     86  '''                    *'''                            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] 
    8787 
    88   '''                   *'''                            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] 
     88  '''                    *'''                             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] 
    8989 
    90   '''                   *'''                            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​] 
     90  '''                    *'''                             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​] 
    9191 
    92   '''                   -'''                           '''                 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] 
     92  '''                    -'''                            '''                  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] 
    9393 
    94   '''                   -'''                           '''                 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''' 
     94  '''                    -'''                            '''                  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''' 
    9595 
    96   '''                   -'''                           '''                 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. 
     96  '''                    -'''                            '''                  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. 
    9797 
    98   '''                   -'''                          '''                 passive tracers'''                  : use trasbc routines for passive tracers to add the river inputs of nutrients 
     98  '''                    -'''                           '''                  passive tracers'''                   : use trasbc routines for passive tracers to add the river inputs of nutrients 
    9999 
    100100---- 
    101101=== III. I/O === 
    102   '''                   *'''                           remove Dimg format (agreement obtained from the DRAKKAR group) (2015)  ==>> Italian branch 
     102  '''                    *'''                            remove Dimg format (agreement obtained from the DRAKKAR group) (2015)  ==>> Italian branch 
    103103 
    104   '''                   ?'''                           remove IOIPSL : 2 issues, still use in some places, and XIOs portability… (''                   '''            probably much too early to decide that''             '''                  ) 
     104  '''                    ?'''                            remove IOIPSL : 2 issues, still use in some places, and XIOs portability… (''                    '''             probably much too early to decide that''              '''                   ) 
    105105 
    106   '''                   *'''               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 ! 
     106  '''                    *'''                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 ! 
    107107 
    108108---- 
    109109=== IV. CODE cleaning === 
    110   '''                   *'''                           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] 
     110  '''                    *'''                            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] 
    111111 
    112   '''                   *'''                           OBS operator : clean the stand-alone implementation ('''                 WP 2015'''             ) 
     112  '''                    *'''                            OBS operator : clean the stand-alone implementation ('''                  WP 2015'''              ) 
    113113 
    114   '''                   *'''                           dynamical allocation: return back to standard allocation (?) (no more '''                   CALL '''                   wrk_alloc and '''                   CALL '''                   wrk_dealloc)  Evaluation to decided what to do ('''                 WP 2014'''                 ) 
     114  '''                    *'''                            dynamical allocation: return back to standard allocation (?) (no more '''                    CALL '''                    wrk_alloc and '''                    CALL '''                    wrk_dealloc)  Evaluation to decided what to do ('''                  WP 2014'''                  ) 
    115115 
    116   '''                   *'''                           no more potential density (zdfnpc and MLD computed from alpha & beta)   ==>>> ????? 
     116  '''                    *'''                            no more potential density (zdfnpc and MLD computed from alpha & beta)   ==>>> ????? 
    117117 
    118    '''                   *''' remove the use of ua,va, ta and sa as workspace in tra.. & dyn... modules   '''DONE in '''[https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
     118  '''                    *'''  remove the use of ua,va, ta and sa as workspace in tra.. & dyn... modules   ''' DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF ​2015/dev_r5721_CNRS9_NOC3_LDF] 
    119119 
    120   '''                   *'''                           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] [[BR]] - etc... 
     120  '''                    *'''                            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]  [[BR]] - etc... 
    121121 
    122   '''                   *'''                            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 ?) 
     122  '''                    *'''                             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 ?) 
    123123 
    124   '''                   *''' suppress most of the CPP keys, if not all of them (2015-2016): 
     124  '''                    *''' suppress most of the CPP keys, if not all of them (2015-2016): 
    125125 
    126126 * 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] 
     
    132132 * 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] 
    133133 
     134 * Keys that should remains: key_agrif ; key_top ; key_offline ; key_mpp_mpi ; key_lim ; ...  
     135 
    134136---- 
    135137=== New ideas to be discussed : === 
    136   • remove'''            key_mpp_rep'''             : this option should become the default case !  Global sum without this option should be removed.   
    137   • remove lib_print.F90 and all associated CALL. Easy to do. Involved modules: instate.F90 ; dtauvd.F90 ; domzgr.F90 ; dommsk.F90 and sbcflx.F90.  
    138   • remove lib_cray.F90 : only contains wheneq routine used in diawri.F90 and trevor.F90. Easy to do. 
     138  • remove'''             key_mpp_rep'''              : this option should become the default case !  Global sum without this option should be removed.   • remove lib_print.F90 and all associated CALL. Easy to do. Involved modules: instate.F90 ; dtauvd.F90 ; domzgr.F90 ; dommsk.F90 and sbcflx.F90.  • remove lib_cray.F90 : only contains wheneq routine used in diawri.F90 and trevor.F90. Easy to do.