Use of RAMP_TIDES

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
sankaras
Posts: 33
Joined: Mon Nov 27, 2006 6:02 pm
Location: Stanford University.

Use of RAMP_TIDES

#1 Unread post by sankaras »

Hello,

I am using the following southern boundary conditions for observed tidal height forcing on the southern boundary. Eventhough I use the RAMP_TIDES in my CPP options, it does not show up in the output log file. The effect of ramping is also not seen in the output.

#define SOUTH_FSCLAMPED
#define SOUTH_M2REDUCED
#define SOUTH_TCLAMPED
#define RAMP_TIDES

Any suggestions would be appreciated.

Thanks,

Sankar

sankaras
Posts: 33
Joined: Mon Nov 27, 2006 6:02 pm
Location: Stanford University.

RAMP_TIDES

#2 Unread post by sankaras »

Hello,

RAMP_TIDES does not seem to be activated in zetabc.f for SOUTH_FSCLAMPED.


elif defined SOUTH_FSCLAMPED
!
! Southern edge, clamped boundary condition.
!
DO i=Istr,Iend
zeta(i,Jstr-1,kout)=BOUNDARY(ng)%zeta_south(i)
# ifdef MASKING
zeta(i,Jstr-1,kout)=zeta(i,Jstr-1,kout)* &
& GRID(ng)%rmask(i,Jstr-1)
# endif
END DO


On the otherhand, I find RAMP_TIDES in set_TIDES.F


# ifdef RAMP_TIDES
ramp=TANH((tdays(ng)-dstart)/1.0_r8)
# else
ramp=1.0_r8
# endif


Can I copy the above 5 lines and put in zetabc.f, for the ramp to work?

By the way, what does the % sign in the following lines do?

eta(i,Jstr-1,kout)=zeta(i,Jstr-1,kout)* &
& GRID(ng)%rmask(i,Jstr-1)


Thanks,

Sankar

User avatar
m.hadfield
Posts: 521
Joined: Tue Jul 01, 2003 4:12 am
Location: NIWA

#3 Unread post by m.hadfield »

To the best of my recollection, RAMP_TIDES applies only when you are specifying tidal amplitude & phase data and letting ROMS calculate the height/velocity at each time step, not when you are supplying time series data yourself.

Sure, you can apply your own time-ramping in zetabc.F.

Have you considered supply tide data in the form of amplitudes & phases? The relevant preprocessor macros are SSH_TIDES & UV_TIDES.

The "%" sign in "GRID(ng)%rmask(i,Jstr-1)" indicates that rmask is a component of structure GRID(ng). GRID is an array of structures, one per nesting level, containing grid data in the form of allocatable arrays. It is made available to subroutine zetabc_tile by the following statement:

Code: Select all

      USE mod_grid
If you look in mod_grid.F you will see the declaration of GRID as an array of structures of type T_GRID, and the definition of the T_GRID structure type.

On the other hand, variable zeta in zetabc_tile has been passed to the subroutine as an argument and is declared in the subroutine header.

wiltonwang

#4 Unread post by wiltonwang »

in set_tide.F, you can find (at line 264)
ifdef RAMP_TIDES
ramp=TANH((tdays(ng)-dstart)/1.0_r8)
# else
ramp=1.0_r8
# endif

ramp will work for Etide(i,j) and Utide(i,j) at following program.

Post Reply