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/2016_SystemSimplification_hard_coding – NEMO
wiki:2014WP/2016_SystemSimplification_hard_coding

Version 2 (modified by gm, 9 years ago) (diff)

--

disappearance of “configuration hard coding”

Last edited LastModified()?



User interface

The idea here is to introduce in the code a few number of user routine with a clear interface that the user can fill up rolling his desires. This strategy will be applied for the standard configurations (GYRE, ORCA2, AMM, ...) For example, the analytical forcing of gyre configuration instead of being part of the inner part of the code (sbc_gyre) it will put put in a my_sbc.F90 module given in the MY_SRC directory of the GYRE configuration.

Typically, the my_... will be related to horizontal mesh, vertical grid, initial state and forcing. In each cases what should come out of those routine will be pass as arguments, so the user will know exactly what they have to define.


Inside the ocean code (OPA)

Here follows a brief description of "hard coding" associated to build in configuration (mostly ORCA configuration) and suggestion about what we plan to done with them
Item in bold are those that are still to be done

closea.F90 :

suppress closed seas in forced mode (typically Caspian Sea, Azov Sea…)
or balance their fresh water budget in coupled mode …
===>>> How to deal with that ? idea user_defined module for close.F90


diafwb.F90 :

only diagnostics of the global fresh water budget and of transport of mass salt and heat in some straits:
Gibraltar, Red Sea, Baltic Sea etc. for ORCA 4°, 2° & 1°
===>>> module to be suppress idea user_defined module for that


diaptr.F90 :

Computes meridional transports and zonal means (of heat salt velocities).
Inefficient on MPP as require global communication. Better to compute off line.
Suppress the module and add the output of the vertical average of u.T , v.T , u.S, v.S
from which exact poleward heat transport can be computed…
===>>> module to be suppress (?) discussion still open as in ESM, they want those diags directly in the output...


dommsk.F90 :

hard coded increase of lateral friction at the coast in some straits.
Add usrdef_fmask, called in dommsk.F90, which modified fmask following user desires.  
DONE in 2016/dev_r6409_SIMPLIF_2_usrdef 

dtatsd, dtauvd.F90 :

in ORCA_R2 case, some hand made alterations in Red and Med Seas as well as changes associated with cross-land advection.
Can be removed. If someone wants similar things, he has to modify the T-S data file.
===>>> remove hard coded part


istate.F90 :

analytical initial state for EEL and GYRE
===>>> to be kept util USER defined modules are introduced

p4zsbc.F90 :

hard coded enhance coastal supply of iron for ORCA2.
Since a file is provided that can contains the specificity of ORCA 2°
===>>> remove hard coded part

trabbl.F90 :

ORCA 4° & 2°, regional enhancement of ah_bbl
===>>> to be suppress
DONE in 2015/dev_r5721_CNRS9_NOC3_ZDF but not incorporate in the 2015 merge

trcdmp.F90 :

hard coded definition of damping in closed seas for ORCA 2°, 1°, 0.5°.
===>>> Find a solution similar to what will be done for closed seas in OPA (close.F90)