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
Use of RAMP_TIDES
RAMP_TIDES
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
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
- m.hadfield
- Posts: 521
- Joined: Tue Jul 01, 2003 4:12 am
- Location: NIWA
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:
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.
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
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.