A benchmark case for tide

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
feroda

A benchmark case for tide

#1 Post by feroda » Fri Mar 14, 2014 12:13 pm

In SVN repository, various cases are collected in the folder of '/test'.

I wanted to setup a 2-dimension run solely forced by tide. By looking through the 'test' folder, I did not find any case for reference.

I am wondering if it is physically sounding to have ROMS solely forced by tide. If it is:
1. Do zeta, ubar, vbar represent tidal amplitude and currents, respectively?
2. without any other forcing except tide, ROMS could keep running as far into the future as one
wants. Is this sort of tide prediction?

Anyone has done a 2-D case forced solely by tide, and would like to share the header file and input parameter file (.h and .in)?

Thanks.

User avatar
jivica
Posts: 135
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia

Re: A benchmark case for tide

#2 Post by jivica » Thu Apr 10, 2014 7:25 am

I believe it is too simple to have it ;)
You can setup it easily without any grid or forcing, just using ana_*
For example use ana_grid.h to make rectangular basin, in that case you can increase resolution within ocean.in file where you specify number of cells, no need for recompile (specify some analytic function for bathymetry) then use for boundary again ana_fsobc.h to force elevation (and/or momentum) and that's it. Actually it is nice example of Taylor case when having Kelvin wave propagate and reflect in the channel giving amphidromic point and so on..
Just checked and all is setup for you;
have a look at the $ROMS/Functionals/ana_fsobc.h

you'll see:

Code: Select all

-----------------------------------------------------------------------
!  Free-surface open boundary conditions.
!-----------------------------------------------------------------------
!
#if defined INLET_TEST
# ifdef NORTH_FSOBC
      IF (NORTHERN_EDGE) THEN
        cff=-1.0_r8*sin(2.0_r8*pi*time(ng)/(12.0_r8*3600.0_r8))
        DO i=IstrR,IendR
          BOUNDARY(ng)%zeta_north(i)=cff
        END DO
      END IF
# endif
#elif defined KELVIN
      fac=1.0_r8                                ! zeta0
      omega=2.0_r8*pi/(12.42_r8*3600.0_r8)      ! M2 Tide period
# ifdef WEST_FSOBC
      IF (WESTERN_EDGE) THEN
        DO j=JstrR,JendR
          val=fac*EXP(-GRID(ng)%f(Istr-1,j)*GRID(ng)%yp(Istr-1,j)/      &
     &                SQRT(g*GRID(ng)%h(Istr-1,j)))
          BOUNDARY(ng)%zeta_west(j)=val*COS(omega*time(ng))
        END DO
      END IF
# endif
# ifdef EAST_FSOBC
Cheers,
Ivica

Post Reply