I have a coastal model set up with land/sea masking, forced by tidal harmonics on both elevation and currents at the open boundaries. The peak tidal amplitude is just over 1 m at the coast. If I set my minimum water depth to 2 m, everything runs fine without WET_DRY. If I set the minimum water depth to 1 m then I enable WET_DRY otherwise I'll get negative water depths. I am using the default DCRIT of 0.1 m.
I understand from https://www.myroms.org/wiki/index.php/WET_DRY that if the water depth is less than DCRIT, i.e.
Code: Select all
zeta(i,j) + h(i,j) < Dcrit
Code: Select all
zeta(i,j) = Dcrit - h(i,j)
Looking through the code for occurrences of Dcrit, it seems that Nonlinear/step2d_LF_AM3.h is probably the file of interest. Lines 2423-2433 check if zeta is less than Dcrit-h and set the wet/dry mask accordingly:
Code: Select all
DO j=JstrV-1,Jend
DO i=IstrU-1,Iend
wetdry(i,j)=1.0_r8
IF (zwrk(i,j).le.(Dcrit(ng)-h(i,j))) THEN
wetdry(i,j)=0.0_r8
END IF
# ifdef MASKING
wetdry(i,j)=wetdry(i,j)*rmask(i,j)
# endif
END DO
END DO
Code: Select all
zeta(i,j,knew) = (Dcrit(ng) - h(i,j))*rmask(i,j)
Could someone who understands the wet/dry code take a look at this and see if it is a real problem or if I am doing something wrong? I can supply my model input files if that helps.