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.
ticket/1620_MERCATOR_SOLVER_SIMPLIFICATION (diff) – NEMO

Changes between Version 13 and Version 14 of ticket/1620_MERCATOR_SOLVER_SIMPLIFICATION


Ignore:
Timestamp:
2015-11-24T18:53:33+01:00 (8 years ago)
Author:
jchanut
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/1620_MERCATOR_SOLVER_SIMPLIFICATION

    v13 v14  
    77'''Step 1: Remove filtered free surface option and associated key_dynspg_flt key''' 
    88 
    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]] 
    1010 
    11113) Clean momentum trend routines related to filtered free surface (trddyn, trdken, trd_oce).[[BR]] 4) Update reference configurations: [[BR]] 
     
    51514) '''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) 
    5252 
    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  
    5454 
    55 '''Step 4: Additional things to do:''' 
     55'''Step 4: Gurvan's Review:''' 
    5656 
    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) : 
     57GM: change in namelist : regroup namdyn_spg and namsplit namelists + change in some names (ln_bt_nn_auto  becomes ln_bt_auto) : 
    6258 
    6359{{{ 
     
    8076Note that ln_dynspg_exp =  ln_dynspg_ts = .FALSE. in the ref namelist so that this namelist should be systematical fill up in cfg namelist. 
    8177 
    82 I don't understand the difference between  nn_bt_flt=0  and ln_bt_av=F ....??? 
     78== '''JC => DONE''' == 
     79GM: I don't understand the difference between  nn_bt_flt=0  and ln_bt_av=F ....??? 
    8380 
    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.''' == 
     82GM: Note that array of time-splitting part should only be allocated if ln_dynspg_ts=TRUE 
    8583 
    86 dynspg_exp   should be modified so that it return the after velocity as dynspg_ts    ===>>> simplify dynnxt.F90 
     84== '''JC => DONE. ''' == 
     85GM: dynspg_exp   should be modified so that it return the after velocity as dynspg_ts    ===>>> simplify dynnxt.F90 
    8786 
    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 
    8989 
    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).''' == 
     91GM: Step.F90   further simplification are needed here : 
    9192 
    9293with removal of solver the DYNAMICS should always be called first ! even in case of explicit free surface !!!!! 
    9394 
    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''' == 
     96GM: 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) 
    9597 
    96 Q? why splitting the Dynamics in two parts?  make the approximation dz(Ua) computed with e3uw_n ? to be tested … 
     98== '''JC => ??''' == 
     99GM: why splitting the Dynamics in two parts?  make the approximation dz(Ua) computed with e3uw_n ? to be tested … 
    97100 
     101== '''JC => dynamics is not splitted anymore. Yes, one could use "now" vertical scale factors. This approximation has to be tested. ''' == 
    98102Furthermore, 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? 
    99103 
    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) 
    101110 * Remove filtered free surface from documentation 
    102  
    103 ==> Commit changes to revision: ???[[BR]] '''==> Passes Sette [tests:? tests: ?]??'''