Gurvan Madec (1633b10c) at 04 Mar 11:13
Update file stprk3_stg.F90
Closes #374
Gurvan Madec (29e236b4) at 05 Feb 10:08
In fact the division by 2 is related to the averaging of Kz not of half a time step. It is an optimisation (less calculation in the 3D do loop). zDt_2 * ( avm(i+1) + avm(i) ) = zDt * [ 1/2 * ( avm(i+1) + avm(i) ) ]
Once the development is done, the PI should complete the tests section below and after ask the reviewers to start their review.
This part should contain the detailed results of SETTE tests (restartability and reproducibility for each of the reference configuration) and detailed results of restartability and reproducibility when the option is activated on specified configurations used for this test.
Regular checks
A successful review is needed to schedule the merge of this development into the future NEMO release during next Merge Party (usually in November).
Assessments
Yes !!! much much better!
One possible key remark: A model does not necessary blows up due to CFL violation! Indeed a too low diffusivity induces an accumulation of variance at grid scale that causes the crash. In the OVERFLOW case, the diffusivity on tracers is set to zero and the stability is controlled by the magnitude of viscosity in both lateral and vertical direction. That's why I suspicious about the use of OVERFLOW to test the stability limits. An idea: use UBS scheme on both momentum and tracer with avm0=avt0=50cm2/s (in current UBS, its is a second order that is used so we need high Kz, perhaps not that high?).
I think the OVERFLOW is really not a good test case for stability analysis. I'm sure that even is you decrease significantly the time step the solution will remain noisy...
By the way with Antoine and Laurent, we increases the vertical viscosity to 50 cm2/s (50.10^-4 m2/s)
current in test/OVERFLOW we have rn_avm0 = 1.e-4
I guess you are using an FCT4 (both in ij and in k direction) TRA CFL: MLF=0.522 ; RK3=1.00
and DYN: UBS in ij but CEN2 in k_direction : MLF=min(0.472,0.904) ; RK3=min(1.626,1.73)
so CFL MLF=0.472 RK3=1.
Yes a factor of 1.5 in time-step should be OK, if you are comparing rn_rDt.
I'm sure that your MLF sable solution is very noisy. You probably violate the CFL in MLF. Can you check that and possibly adjust the MLF time-step to compare with RK3 CFL limit ?
I had the same naive expectation! Probably the reason is that w is affected by non-linear momentum advection terms, that do not behave linearly....
Remark: With Sibylle we also found that MLF support some CLF violation due to the asselin filter time diffusion while RK3 didn't!
The OVERFLOW test case is usually problematic with regard to stability.... With Antoine we work a lot with this configuration in both in partial step and penalize cases: we realize that the vertical CLF is improperly written in both cases. Indeed in 2D case (and also in 3D) the CFL that have to be considered is a flux in m2/s meaning that the e3 have to be taken into account in w part of the CFL not just the the velocity field as currently done: ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) ). In the 2D OVERFLOW case and for tracers, it will be something like: ( e1(ji,jj)*( MAX( ww(ji,jj,jk) , 0._wp )- MIN( ww(ji,jj,jk+1) , 0._wp ) ) / e3t(ji,jj,jk)
Antoine in at sea in the Agulhas Current region, so I don't have access to its latest version of the code where we solve the issue together with the suppression of grid-point noise (by introducing an UP3 in vertical advection for the dynamics and a FCT3 for tracer in the vertical). My recommandation is that you use the OVERFLOW test case in FULL step only : in this case the CFL is properly defined since e3t and e3w are constants.