Changes between Version 13 and Version 14 of ticket/1620_MERCATOR_SOLVER_SIMPLIFICATION
- Timestamp:
- 2015-11-24T18:53:33+01:00 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ticket/1620_MERCATOR_SOLVER_SIMPLIFICATION
v13 v14 7 7 '''Step 1: Remove filtered free surface option and associated key_dynspg_flt key''' 8 8 9 1) Remove parts of the code specific to "key_dynspg_flt" or lk_dynspg_flt=T and the need for solver modules in the code.[[BR]] 2) Suppress SOL directory and dynspg_flt module[[BR]]9 1) Remove parts of the code specific to "key_dynspg_flt" or lk_dynspg_flt=T and the need for solver modules in the code.[[BR]] 2) Suppress SOL directory and dynspg_flt module[[BR]] 10 10 11 11 3) Clean momentum trend routines related to filtered free surface (trddyn, trdken, trd_oce).[[BR]] 4) Update reference configurations: [[BR]] … … 51 51 4) '''Reviewed AGRIF code in the case of explicit free surface''': slight changes in agrif_opa_interp module, but otherwise ok (quickly tested in ORCA2 Agulhas configuration) 52 52 53 ==> Commit changes to revision: 5902 https://forge.ipsl.jussieu.fr/nemo/changeset?old_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&old=5869&new_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&new=5902 [[BR]] '''==> Passes Sette tests[tests:? : YES]'''53 ==> Commit changes to revision: 5902 https://forge.ipsl.jussieu.fr/nemo/changeset?old_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&old=5869&new_path=%2Fbranches%2F2015%2Fdev_r5847_MERCATOR9_solveur_simplification&new=5902 54 54 55 '''Step 4: Additional things to do:'''55 '''Step 4: Gurvan's Review:''' 56 56 57 * Answering Gurvan' review : 58 59 change in namelist : 60 61 regroup namdyn_spg and namsplit namelists + change in some names (ln_bt_nn_auto becomes ln_bt_auto) : 57 GM: change in namelist : regroup namdyn_spg and namsplit namelists + change in some names (ln_bt_nn_auto becomes ln_bt_auto) : 62 58 63 59 {{{ … … 80 76 Note that ln_dynspg_exp = ln_dynspg_ts = .FALSE. in the ref namelist so that this namelist should be systematical fill up in cfg namelist. 81 77 82 I don't understand the difference between nn_bt_flt=0 and ln_bt_av=F ....??? 78 == '''JC => DONE''' == 79 GM: I don't understand the difference between nn_bt_flt=0 and ln_bt_av=F ....??? 83 80 84 Note that array of time-splitting part should only be allocated if ln_dynspg_ts=TRUE 81 == '''JC => Small difference: with nn_bt_flt=0 there is still a specific startup of the barotropic loop, previous bt arrays being not saved.''' == 82 GM: Note that array of time-splitting part should only be allocated if ln_dynspg_ts=TRUE 85 83 86 dynspg_exp should be modified so that it return the after velocity as dynspg_ts ===>>> simplify dynnxt.F90 84 == '''JC => DONE. ''' == 85 GM: dynspg_exp should be modified so that it return the after velocity as dynspg_ts ===>>> simplify dynnxt.F90 87 86 88 dynspg_oce should be suppressed : all variables should be declared either in dynspg.F90 (ln_dynspg_exp and ln_dynspg_ts) or in dynspg_ts for the others 87 == '''JC => No. dynzdf returns velocities and dynspg_ts still returns tendencies: compliant with tracers, and dynzdf must be called at the end (all tendencies must be known because of possible implicit bottom friction) ''' == 88 !GM:dynspg_oce should be suppressed : all variables should be declared either in dynspg.F90 (ln_dynspg_exp and ln_dynspg_ts) or in dynspg_ts for the others 89 89 90 [[BR]]Step.F90 further simplification are needed here : 90 == '''JC => DONE. But time splitting arrays are defined in oce.F90 to avoid cyclic dependencies (this is linked to agrif bcs).''' == 91 GM: Step.F90 further simplification are needed here : 91 92 92 93 with removal of solver the DYNAMICS should always be called first ! even in case of explicit free surface !!!!! 93 94 94 The only 2 differences is that in explicit free surface un,vn are not updated after the dynamics, and domvvl is called before the dynamics instead of after the dynamics (or in-between if you don’t follow the remark just below) 95 == '''JC => DONE''' == 96 GM: The only 2 differences is that in explicit free surface un,vn are not updated after the dynamics, and domvvl is called before the dynamics instead of after the dynamics (or in-between if you don’t follow the remark just below) 95 97 96 Q? why splitting the Dynamics in two parts? make the approximation dz(Ua) computed with e3uw_n ? to be tested … 98 == '''JC => ??''' == 99 GM: why splitting the Dynamics in two parts? make the approximation dz(Ua) computed with e3uw_n ? to be tested … 97 100 101 == '''JC => dynamics is not splitted anymore. Yes, one could use "now" vertical scale factors. This approximation has to be tested. ''' == 98 102 Furthermore, you can notice that ua,va are no more used as workspace in the tracers, ua_sv and va_sn are no more needed , no? 99 103 100 * Correct momentum trend computation with time splitting (Gurvan, your input here ?) 104 == '''JC => ua_sv, va_sv have been suppressed''' == 105 ==> Commit changes to revision: ???[[BR]] '''==> Passes Sette [tests:? tests: ?]??''' 106 107 [[BR]]'''Step 5: Remaining things to do:''' 108 109 * Correct momentum trend computation with time splitting (Gurvan 2016 dvpt) 101 110 * Remove filtered free surface from documentation 102 103 ==> Commit changes to revision: ???[[BR]] '''==> Passes Sette [tests:? tests: ?]??'''