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/1674_TMX (diff) – NEMO

Changes between Version 7 and Version 8 of ticket/1674_TMX


Ignore:
Timestamp:
2016-02-10T05:47:06+01:00 (8 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/1674_TMX

    v7 v8  
    88 
    99 
    10 ''Reviewer''' : Christian Ethé 
     10'''Reviewer''' : Christian Ethé 
    1111 
    1212---- 
     
    1616The original parameterization that has been developed is implemented with the two following undesirable features for the v3.6_STABLE:[[BR]] (1) a module replacing the existing zdftmx.F90 module (impossible to use the old param); [[BR]] (2) avt and avs arrays always defined (suppression of zdfddm_substitute.h90 which introduces changes in ~25 modules) 
    1717 
    18 Here, the parameterization is introduced as an additional option, making both the current parameterization and the new one available, and the new one will only be available if double diffusion mixing is activated (key_zdfddm defined). Therefore changes in the code are restricted to the namlist and zdftmx.F90 (+ an update of the ZDF chapter of the Documentation). 
     18Here, the parameterization is introduced as an additional option, making both the current parameterization and the new one available. Note that the new one will only be available if double diffusive mixing is activated (key_zdfddm defined). Therefore changes to the code are restricted to the namelist and the zdftmx.F90 module. The ZDF chapter of the Documentation is also updated. 
     19 
    1920 
    2021---- 
     
    5758}}} 
    5859 
    59 (2) add in the new param a test to stop the code if key_zdfddm not defined) 
     60(2) add in the new param a test to stop the code if key_zdfddm not defined. 
    6061 
    61 (3) introduce in the Namelist_ref, a new namelist: namzdf_tmx_new used if key_zdftmx_new and key_zdfddm are defined. Update field_def.xml with new possible output 
    6262 
    63 (4) introduce changes in in both zdfddm.F90 and zdftke.F90 (changes surrounded by #ifdef  key_zdftmx_new and #endif : no changes when the key is not defined) 
     63(3) Introduce minimal changes to zdfddm.F90 and zdftke.F90: these changes are surrounded by #ifdef key_zdftmx_new and #endif (hence no changes when the key is not defined). 
    6464 
    65 (5) add in the input file  of both ORCA2 and ORCA1 the input files of the new TMX 
     65(4) Introduce in namelist_ref a new namelist called “namzdf_tmx_new” which is used if key_zdftmx_new and key_zdfddm are defined.  
     66 
     67(5) Update field_def.xml with the new possible output. 
     68 
     69(6) Add in the input .tar file for both ORCA2 and ORCA1 the input files of the new parameterization. 
     70 
     71 
     72The rationale behind changes in zdftke.F90 and zdffdm.F90 mentioned in (3) is the following: 
     73 
     74- zdftke.F90:  
     75 
     76The new parameterization replaces BOTH the former tidal mixing scheme and the so-called background diffusion. Up to now, the background diffusion was set by the namelist parameters rn_avm0 and rn_avt0, which define floors on diffusivity and viscosity, and the parameter rn_emin, which defines the floor on the turbulent kinetic energy (TKE, m^2/s^2). With the new mixing scheme activated, floors on diffusivity and viscosity are set to molecular levels (1.4e-7 m^2/s and 1.4e-6 m^2/s, respectively) within the new zdftmx.F90 module, and a very low floor on TKE (1e-10 m^2/s^2) is enforced in the zdf_tke_init subroutine of zdftke.F90.  
     77 
     78However, the low floors on viscosity (avm) and TKE could cause some numerical instability in the computation of the TKE, so that we imposed a floor of 1e-5 m^2/s for the vertical diffusion of TKE in the tke_tke subroutine. 
     79 
     80- zdfddm.F90: 
     81 
     82The zdfddm module used to set avs to avt plus an additional double diffusive component. Because the new zdftmx parameterization, which is called before zdfddm, can give different values to avt and avs (if default namelist parameter nn_tsdiff=T is used), zdfddm should update avs as avs plus the double diffusive component when the new scheme is chosen.