Hi all,
I believe that there is still something suspicious going on with the "tide generating force" in Telemac-2D. The file astro.f, which calculates the position of the sun and moon, contained an error in v6p3, which has been fixed in v7p0. The file marast.f, which calculates the tidal forces that the sun and moon exert onto the ocean, may also have an error, I think.
I tested this by simulating a narrow rectangular channel with constant depth and 4 solid walls at the edges in both Telemac and a well-known Dutch hdyrodynamic model (wink). I chose the length of the channel so that it has a seiching period that matches the period of a tidal consituent (e.g. M2) in order to cause resonance. And I oriented the channel both along a circle of latitude and a circle of longitude to check the X and Y forces.
It turns out that when the channel is oriented along the equator (X direction), the Telemac and the Delft3D model both start resonating, but in opposite directions. When I change the sign of the tidal forces in the X direction (FXL and FXS in marast.f), the Telemac results match the Delft3D model very closely. For the Y forces, there seems to be no sign error (I think).
In additional, when I simulate real part of the earth's ocean in my ocean model, changing the signs of FXL and FXS in marast.f also leads to results that better match measured tidal elevations (although the results aren't entirely satisfying yet). In other words, I replaced line 00191-00205 of marast.f with:
FXL = -1.D0*F0L * COS(DL) * SIN(AHL) *
& ( ( 1.D0-2*ARL*(SINLAT(I)*SIN(DL)+
& COSLAT(I)*COS(DL)*COS(AHL))+ARL*ARL )**(-1.5D0) -1.D0 )
!
FXS = -1.D0*F0S * COS(DS) * SIN(AHS) *
& ( ( 1.D0-2*ARS*(SINLAT(I)*SIN(DS)+
& COSLAT(I)*COS(DS)*COS(AHS))+ARS*ARS )**(-1.5D0) -1.D0 )
!
FYL = F0L*(COSLAT(I)*SIN(DL)-SINLAT(I)*COS(DL)*COS(AHL))*
& ( ( 1.D0-2*ARL*(SINLAT(I)*SIN(DL)+
& COSLAT(I)*COS(DL)*COS(AHL))+ARL*ARL )**(-1.5D0) -1.D0 )
!
FYS = F0S*( COSLAT(I)*SIN(DS)-SINLAT(I)*COS(DS)*COS(AHS))*
& ( ( 1.D0-2*ARS*(SINLAT(I)*SIN(DS)+
& COSLAT(I)*COS(DS)*COS(AHS))+ARS*ARS )**(-1.5D0) -1.D0 )
Has anyone else experienced problems with the tidal generating force or does anyone know a solution? Most other models that I looked at (Delft3d, Coherens, ADCIRC) calculate the tide generating force not by calculating the position of the sun and moon, but by adding a force component for each harmonic frequency of the tide ( = just summing up a bunch of harmonic constituent forces). It would be possible to replace marast.f and astro.f with a forcing according to these terms but I do not think I have time to implement this.
Best regards,
Thijs