correct bug in overflow + zps
Context
Simple stupid bug in the may introduced by myself in usrdef_zgr.F90 when optimizing zps.
-
Branches impacted: main -
Reference test case ~OVERFLOW engines involved USR -
compiled in debug mode
Analysis
In "summer body" pe3t defintion
- ik = k_bot(ji,jj)
- pdepw(ji,jj,ik+1) = MIN( zht(ji,jj) , pdepw_1d(ik+1) )
- pe3t (ji,jj,ik ) = pdepw(ji,jj,ik+1) - pdepw(ji,jj,ik)
- pe3t (ji,jj,ik+1) = pe3t (ji,jj,ik )
has been replaced by
+ ik = k_bot(ji,jj)
+ zdepw(ji,jj,ik+1) = MIN( zht(ji,jj) , pdepw_1d(ik+1) )
+ pe3t (ji,jj,ik ) = zdepw(ji,jj,ik+1) - zdepw(ji,jj,ik)
+ pe3t (ji,jj,ik+1) = pe3t (ji,jj,ik )
zdepw
is not initialised except in ji,jj,ik+1
so zdepw(ji,jj,ik)
is NaN...
As a result OVERFLOW test case with zps option does not run in DEBUG mode.
Fix
ik = k_bot(ji,jj)
pe3t (ji,jj,ik ) = MIN( zht(ji,jj) , pdepw_1d(ik+1) ) - pdepw_1d(ik)
pe3t (ji,jj,ik+1) = pe3t (ji,jj,ik )