Implementation of an Eddy-Diffusivity Mass Flux (EDMF) scheme #82
Implementation of an Eddy-Diffusivity Mass Flux (EDMF) scheme #82lemarief wants to merge 5 commits intogotm-model:masterfrom
Conversation
…convection scheme
|
That is great with input from ' the outside' :-) I think Lars is the better to judge the scientific contribution - but personally I'm not fond of a naming scheme using a specific model - nemo - is it not possible to make the attribution to a person? Karsten |
|
We can refer to Madec rather than NEMO if needed; the appropriate reference would then be the NEMO documentation, as no publication specifically focused on this scheme (and how it differs from Gaspar et al. (1990) and Blanke & Delecluse (1993) ) has been published. Gurvan Madec has been the main contributor to the two specific components added in GOTM: the mixing lengths computation and limitation as well as the formulation of the turbulent Prandtl number. Florian, |
|
More details about the mass-flux term implementation: - Change in gotm.F90 - Change in turbulence.F90 Additional arrays are declared In the a new - Change in tkeeq.F90 the extra terms Bmf, Pmf, and wk_mf are added to the buoyan component as they are not necessarily positive-definite. |
An Eddy-Diffusivity (ED) Mass-Flux (MF) scheme, as described in Perrot and Lemarié [2025] has been implemented in GOTM. The ED component is inherited from the 1-equation TKE scheme used in NEMO (Madec and al. [2024]) and inspired by Gaspar et al. [1990].
1. Eddy-Diffusivity component: NEMO 1 equation TKE scheme
For activating this option in the gotm.yaml file, the following options must be chosen:
No other parameters are required because the internal parameter values of this scheme are fixed in the code to the standard NEMO values. The boundary conditions for the tke equation are chosen in the same way as for any other
turbulence scheme as the standard
tkeeqsubroutine is used. Most of the modifications were implemented in the file turbulence.F90 and concern the following elements:In the
do_lengthscalesubroutine, there is a new caseThe same in the
stabilityfunctionssubroutine,Two new files ( lengthscale_gaspar.F90 and cmue_nemo.F90) have been added in the turbulence directory to implement the new option.
2. Mass-Flux component
The mass-flux component was much more cumbersome to implement, particularly in its$\overline{w' X'} = - K_X \partial_z \overline{X} + a_p w_p ( X_p - \overline{X} )$ with $X=u,v,\Theta,S$ , $a_p$ the fractional area occupied by convective plumes and $w_p$ their vertical velocities. A set of nonlinear ordinary differential equations must be solved to compute $X_p, a_p$ , and $w_p$ at each time-step. Moreover, these additional mass-flux terms affect the energy transfers and result in two extra terms in the TKE equation, as well as a modification of the turbulent transport of TKE: $P_{\rm MF} = - a_p w_p \partial_z \mathbf{u}\cdot(u_p-u) $ , $G_{\rm MF} = a_p w_p ( b(X_p)-b(X) )$ , and ${\cal D}_{\rm MF} = a_p w_p \left( k_p - k + \frac{1}{2} | \mathbf{u}_p - \overline{\mathbf{u}} |^2 \right)$ .
“energetically-consistent” version Perrot and Lemarié [2025]. Within this framework, the turbulent fluxes are expressed with a non-local component, in the form:
Activating and configuring the 'mass flux’ option in the gotm.yaml file corresponds to the following options:
The$a_p$ (fractional area), $w_p$ (plume vertical velocity), $T_p$ (plume temperature) and $S_p$ (plume salinity), and the application of the mass flux to the tracer equations. In$u_p$ and $v_p$ (plume horizontal velocities) are$P_{\rm MF}$ , $G_{\rm MF}$ are accounted for as well as ${\cal D}_{\rm MF}$ .
compute_massfluxlogical controls the computation of the plume variablescase
massflux_on_dynamicsis activated,computed, and a mass flux is applied to the u and v equations. Finally, when the logical
variable
massflux_energyis set to true, additional TKE production terms3. Numerical validation for the implementation
The implementation has been validated using 2 idealized cases (free_convection and wind_convection) and 1 realistic case (asics_med) all presented in Perrot and Lemarié [2025]. The cases free_convection and wind_convection will be soon submitted as a pull request in the GOTM cases, and the realistic case is currently being integrated (see Bruno Deremble). Results obtained within GOTM are similar to those reported in Perrot and Lemarié [2025].