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 8 and Version 9 of ticket/1674_TMX


Ignore:
Timestamp:
2016-02-17T11:43:02+01:00 (8 years ago)
Author:
cetlod
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/1674_TMX

    v8 v9  
    66 
    77'''Branch''' : [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r6287_ZDFTMX_new 2015/dev_r6287_ZDFTMX_new] 
    8  
    98 
    109'''Reviewer''' : Christian Ethé 
     
    1817Here, 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. 
    1918 
    20  
    2119---- 
    2220= Strategy = 
    23  
    2421In Changeset [https://forge.ipsl.jussieu.fr/nemo/changeset/6294 6294] the following changes have been made : 
    2522 
     
    5754#endif 
    5855}}} 
    59  
    6056(2) add in the new param a test to stop the code if key_zdfddm not defined. 
    61  
    6257 
    6358(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). 
    6459 
    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.  
     60(4) Introduce in namelist_ref a new namelist called “namzdf_tmx_new” which is used if key_zdftmx_new and key_zdfddm are defined. 
    6661 
    6762(5) Update field_def.xml with the new possible output. 
     
    6964(6) Add in the input .tar file for both ORCA2 and ORCA1 the input files of the new parameterization. 
    7065 
    71  
    7266The rationale behind changes in zdftke.F90 and zdffdm.F90 mentioned in (3) is the following: 
    7367 
    74 - zdftke.F90:  
     68 * zdftke.F90: 
    7569 
    76 The 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.  
     70The 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. 
    7771 
    78 However, 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. 
     72However, 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.^ 
    7973 
    80 - zdfddm.F90: 
     74 * zdfddm.F90: 
    8175 
    8276The 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. 
     77 
     78= Code Review : = 
     79(1) The code  is OK, not intrusive and do not change the results when key_zdftmx_new  is switched off 
     80 
     81(2) SETTE tests are OK with each of the 2 parameterization  ( key_zdftmx or key_zdftmx_new ) 
     82 
     83(3) The new parameterization gives the results that have been expected in a longer run ( ORCA2 )