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 20 and Version 21 of 2014WP/2014_SystemSimplification_v2


Ignore:
Timestamp:
2015-10-26T07:29:16+01:00 (8 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2014WP/2014_SystemSimplification_v2

    v20 v21  
    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)   ==>>> ????? 
    117   * 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]  
     116  '''                 *'''                         no more potential density (zdfnpc and MLD computed from alpha & beta)   ==>>> ????? 
    118117 
    119   '''                *'''                        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] 
     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] 
    120119 
    121   '''                *'''                         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   '''        *'''         suppress most of the CPP keys, if not all of them (2015-2016): 
     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] 
    123121 
    124     • 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]  
    125     • 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] 
    126     • 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] 
    127     • 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] 
     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 ?)  '''         *'''          suppress most of the CPP keys, if not all of them (2015-2016): 
     123 
     124  • 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] • 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] • 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] 
    128125 
    129126---- 
    130  
    131127=== New ideas to be discussed : === 
    132   • remove'''         key_mpp_rep'''          : this option should become the default case !  Global sum without this option should be removed. • 
     128  • remove'''          key_mpp_rep'''           : this option should become the default case !  Global sum without this option should be removed.  
     129  • remove lib_print.F90 and all associated CALL. Easy to do. Involved modules: instate.F90 ; dtauvd.F90 ; domzgr.F90 ; dommsk.F90 and sbcflx.F90. 
     130  • remove lib_cray.F90 : only contains wheneq routine used in diawri.F90 and trevor.F90. Easy to do.