Wet dry: zeta not following bathymetry

Hi,
I am having issues with zeta in wet-dry simulations. For some reason, when reaching wet-dry region, zeta = dcrit instead of dcrit - h. I am not sure why, nor how to debug this.

This a north-south periodical 2DH (n_eta = 3) configuration based on sandbar nbq TESTCASE, without analytical initial state. Instead, initial fields are set using a standard inifile with appropriate ssh. however, even in the first outpout file time step, zeta = dcrit for eta=1,2 and eta = dcrit -h for eta=3 (northern boundary).

If anyone knows where to look for issue I’ll be very happy :slight_smile:

Capture d’écran du 2025-06-26 15-08-04

In this figure we can see that for northern boundary zeta follow the dune, however inside the domain and at southern boundary there only a slight increase of dcrit = 0.1 m.

I would like to add that I am using an old version of CROCO v1.3.1 and I wonder if another issue I spotted (relection and spurious wave generation) is not linked to this issue

Could this be only an IO problem ?

If you look at lines 248 to 256 in wrt_his OCEAN/wrt_his.F · master · croco-ocean / croco · GitLab there is an addition of h (I do not know why) :

work2d=zeta(:,:,fast_indx_out)
#if defined WET_DRY && ! defined ZETA_DRY_IO
        do j=0,Mm
          do i=0,Lm
            if (h(i,j) .le. Dcrit(i,j)) then
              work2d(i,j)=work2d(i,j)+h(i,j)
            endif
          enddo
        enddo
#endif

Try with ZETA_DRY_IO perhaps or just change this line…

Yes, this is just an I/O problem. I’ll create an issue about this.

Thanks for your reply,
Jeremy