Version 4 (modified by gm, 15 years ago) (diff) |
---|
Debugging variable volume option
Last edited Timestamp?
This page gives a non exhaustive description of the work done to restore VVL option from NEMO version 3.1
At this stage (april 2009) :
- variable volume option can be used with either z, zps and s coordinate
- time splitting issue has not been really investigated
1. Getting the code
At this time (04-20-09), the work has been done on a branch starting from svn rev1359.
- Outside modipsl :
svn co --username nemo_user http://forge.ipsl.jussieu.fr/nemo/svn/branches/dev_004_VVL/NEMO
- Using modipsl :
Edit modipsl/util/mod.def and replace
tags/nemo_v3_1
by
branches/dev_004_VVL in NEMO section
Note that this branch has been created some time after nemo_v3_1 release (svn rev1332) so it includes intermediate developments and correction not dealing with vvl, including:
- complete work on time origin in outputs (ticket:335) + downward vertical axis (ticket:357)
- Update lib_mpp, see ticket #379
- add s-sigma coordinates option, ticket #378
- Update lib_mpp, see ticket #379 -first implementation of iom_put, see ticket:387
- update of diaptr
In addition, the VVL has been synchronized with the trunk :
- dev_004_VVL:sync: see ticket #417 : corrections for IOM
- dev_004_VVL:sync: synchro with trunk, see ticket #361 : correction in diaptr
- dev_004_VVL:sync: synchronisation with the trunk, see ticket #388 : bound salt exchange
2. Code organisation
2.1 Flow chart
(original from Mathieu Leclair)
2.2 Sea surface height repartition
Repartition on the whole water column, so key_sigma_vll has been suppressed. Reference coordinate is referred as e3t_0 for instance, and pre-processing (in domzgr_substitute.h90) is used to define before, now, after scale factors, for instance :
# define fsdept_n(i,j,k) (fsdept_0(i,j,k)*(1+sshn(i,j)*mut(i,j,k)))
Note: we shouldn't need 3d array mut (muu, muv) , but the code blows up without.
3. Modified routines
- domvvl is now used only for initialisation (called from istate) (===> should be better to call it from domain....)
- dynspg_flt, dynspg_ts, dynspg_exp : no more update of ssh, just barotropic contribution for velocities
- trazdf_exp, trazdf_imp : ponderation by the correct scale factors
- wzvmod : suprresion of wzv_mod routine, addition of ssh_wzv to compute ssh after from the ssh equation, update the vertical coordinate and compute vertical velocity, addition of ssh_nxt for ssh time stepping
- dynnxt, tranxt : rewritting, take vvl case into account
- zdfevd : for stability issue, test to apply enhanced diffusion has to be performed on now Brunt-Vaisala frequency
4. Cautions
- use s-coordinate pressure gradient when using variable volume
- the time splitting is minimalistic
- sea ice and vvl
- vertical velocity in output is shifted by 1 time step
5. To be done
- embedded sea-ice (Gurvan and Yevgeni)
- in vector invariant formulation, temporal derivatif of h is not treated (for both baroclinic and barotropic mode of momentum equations)
- a simplification for code and diagnostic : work on the tracer content tendancy everywhere, not on the tracer tendency
- for global ocean, resolve the damping force using time splitting routine
- use a predictor-corrector shceme for time splitting (as Jérome does)
- suppress mu* 3D arrays, and anly use instead 2D arrays
- we should used correct before, now, after fse3 everywhere in the code
- develop a pressure gradient algorithm specific and more accurate for zps-vvl (not only the use of the standard s-coord pressure gradient)
- put the call to domvvl in domain.F90 (not in istate)
6. Tests
6.1 Paris
- ORCA2_LIM zps fixed volume and filtred free surface
- ORCA2_LIM zps variable volume and filtred free surface
- ORCA2_LIM zps fixed volume and time splitting free surface
- ORCA2_LIM zps variable volume and time splitting free surface
- restartability
- Agrif test case
- parallelisation
- conservation (with Asselin filter to 0 and ice tracer fluxes to 0)
Attachments (5)
-
NEW_flowchart.png
(216.1 KB) -
added by rblod 15 years ago.
NEMO/OPA flowchart
- dynnxt.F90 (12.4 KB) - added by gm 15 years ago.
- dynspg_flt.F90 (20.3 KB) - added by gm 15 years ago.
- dynspg_exp.F90 (5.2 KB) - added by gm 15 years ago.
- dynspg.F90 (8.8 KB) - added by gm 15 years ago.
Download all attachments as: .zip