Changes between Version 20 and Version 21 of 2014WP/2014_SystemSimplification_v2
- Timestamp:
- 2015-10-26T07:29:16+01:00 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2014WP/2014_SystemSimplification_v2
v20 v21 19 19 Notations: 20 20 21 ''' *''' core action (supported by all system team)[[BR]] ''' -''' subject to discussion[[BR]] ''' ?'''feasible but all conditions required are not yet met21 ''' *''' core action (supported by all system team)[[BR]] ''' -''' subject to discussion[[BR]] ''' ?''' feasible but all conditions required are not yet met 22 22 23 23 ---- … … 27 27 '''*''' '''filtered free surface''': remove it as well as all its associated solvers ('''WP 2015''') 28 28 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)''' 30 30 31 31 '''*''' '''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 ?) 32 32 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 branch33 !- 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 34 34 35 !- thickness weighted quantities in the outputs ( WP2014 ) ''' DONE (v3.6 stable)'''35 !- thickness weighted quantities in the outputs ( WP2014 ) ''' DONE (v3.6 stable)''' 36 36 37 37 !- no more substitute (domzgr_substitute.h90): all e3 always defined at before, now and after time steps (WP 2015) ==>> see NOC3 2015 branch … … 49 49 !- Suppress levitating sea ice with mass exchange (?) CICE issue… 50 50 51 !- need the management of grounded-ice & land-fast ice (''' WP 2016''')51 !- need the management of grounded-ice & land-fast ice (''' WP 2016''' ) 52 52 53 53 !- need BDY compatibility with embedded sea-ice …. (who when?) … … 59 59 '''*''' '''vertical physics''': simplification versus diversity 60 60 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''' 62 62 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] 64 64 65 65 !- 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) 67 67 68 68 ---- … … 70 70 '''mains''': 71 71 72 ''' *''' remove ''' LIM2''' : only LIM3 remains in the system (''' WP 2016''')72 ''' *''' remove ''' LIM2''' : only LIM3 remains in the system (''' WP 2016''' ) 73 73 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''' 75 75 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''' 77 77 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) ???? 79 79 80 80 '''smaller ones''' 81 81 82 ''' *''' remove ''' acceleration of convergence'''(notably rdttra=F(k) ==> unique rdt)82 ''' *''' remove ''' acceleration of convergence''' (notably rdttra=F(k) ==> unique rdt) 83 83 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] 85 85 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] 87 87 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] 89 89 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] 91 91 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] 93 93 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''' 95 95 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. 97 97 98 ''' -''' ''' passive tracers''': use trasbc routines for passive tracers to add the river inputs of nutrients98 ''' -''' ''' passive tracers''' : use trasbc routines for passive tracers to add the river inputs of nutrients 99 99 100 100 ---- 101 101 === III. I/O === 102 ''' *'''remove Dimg format (agreement obtained from the DRAKKAR group) (2015) ==>> Italian branch102 ''' *''' remove Dimg format (agreement obtained from the DRAKKAR group) (2015) ==>> Italian branch 103 103 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'' ''' ) 105 105 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 ! 107 107 108 108 ---- 109 109 === 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] 111 111 112 ''' *''' OBS operator : clean the stand-alone implementation (''' WP 2015''')112 ''' *''' OBS operator : clean the stand-alone implementation (''' WP 2015''' ) 113 113 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''' ) 115 115 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) ==>>> ????? 118 117 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] 120 119 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] 123 121 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] 128 125 129 126 ---- 130 131 127 === 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.