@@ -38,7 +38,7 @@ function WaveField_GetNodeWaveElev1( WaveField, WaveField_m, Time, pos, ErrStat,
3838 ErrMsg = " "
3939
4040 IF (ALLOCATED (WaveField% WaveElev1)) THEN
41- CALL WaveField_Interp_Setup3D( Time, pos, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 )
41+ CALL WaveField_Interp_Setup3D( Time+ WaveField % WaveTimeShift , pos, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 )
4242 CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
4343 Zeta = GridInterp3D(WaveField% WaveElev1,WaveField_m)
4444 ELSE
@@ -68,7 +68,7 @@ function WaveField_GetNodeWaveElev2( WaveField, WaveField_m, Time, pos, ErrStat,
6868 ErrMsg = " "
6969
7070 IF (ALLOCATED (WaveField% WaveElev2)) THEN
71- CALL WaveField_Interp_Setup3D( Time, pos, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 )
71+ CALL WaveField_Interp_Setup3D( Time+ WaveField % WaveTimeShift , pos, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 )
7272 CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
7373 Zeta = GridInterp3D(WaveField% WaveElev2,WaveField_m)
7474 ELSE
@@ -126,7 +126,7 @@ SUBROUTINE WaveField_GetNodeWaveNormal( WaveField, WaveField_m, Time, pos, n, Er
126126 ErrStat = ErrID_None
127127 ErrMsg = " "
128128
129- call GridInterpSetupN( (/ Real (Time,ReKi),pos(1 ),pos(2 )/ ), WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 )
129+ call GridInterpSetupN( (/ Real (Time+ WaveField % WaveTimeShift ,ReKi),pos(1 ),pos(2 )/ ), WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 )
130130 slope = GridInterpS( WaveField% WaveElev1, WaveField% SrfGridParams, WaveField_m )
131131 if (ALLOCATED (WaveField% WaveElev2)) then
132132 slope = slope + GridInterpS( WaveField% WaveElev2, WaveField% SrfGridParams, WaveField_m )
@@ -183,7 +183,7 @@ SUBROUTINE WaveField_GetNodeWaveKin( WaveField, WaveField_m, Time, pos, forceNod
183183 IF ( pos(3 ) <= 0.0_ReKi ) THEN ! Node is at or below the SWL
184184 nodeInWater = 1_IntKi
185185 ! Use location to obtain interpolated values of kinematics
186- CALL WaveField_Interp_Setup4D( Time, pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
186+ CALL WaveField_Interp_Setup4D( Time+ WaveField % WaveTimeShift , pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
187187 FV(:) = GridInterp4DVec( WaveField% WaveVel, WaveField_m )
188188 FA(:) = GridInterp4DVec( WaveField% WaveAcc, WaveField_m )
189189 FDynP = GridInterp4D ( WaveField% WaveDynP, WaveField_m )
@@ -209,7 +209,7 @@ SUBROUTINE WaveField_GetNodeWaveKin( WaveField, WaveField_m, Time, pos, forceNod
209209 IF ( pos(3 ) <= 0.0_SiKi ) THEN ! Node is below the SWL - evaluate wave dynamics as usual
210210
211211 ! Use location to obtain interpolated values of kinematics
212- CALL WaveField_Interp_Setup4D( Time, pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
212+ CALL WaveField_Interp_Setup4D( Time+ WaveField % WaveTimeShift , pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
213213 FV(:) = GridInterp4DVec( WaveField% WaveVel, WaveField_m )
214214 FA(:) = GridInterp4DVec( WaveField% WaveAcc, WaveField_m )
215215 FDynP = GridInterp4D ( WaveField% WaveDynP, WaveField_m )
@@ -220,7 +220,7 @@ SUBROUTINE WaveField_GetNodeWaveKin( WaveField, WaveField_m, Time, pos, forceNod
220220 ELSE ! Node is above SWL - need wave stretching
221221
222222 ! Vertical wave stretching
223- CALL WaveField_Interp_Setup4D( Time, posXY0, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
223+ CALL WaveField_Interp_Setup4D( Time+ WaveField % WaveTimeShift , posXY0, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
224224 FV(:) = GridInterp4DVec( WaveField% WaveVel, WaveField_m )
225225 FA(:) = GridInterp4DVec( WaveField% WaveAcc, WaveField_m )
226226 FDynP = GridInterp4D ( WaveField% WaveDynP, WaveField_m )
@@ -230,7 +230,7 @@ SUBROUTINE WaveField_GetNodeWaveKin( WaveField, WaveField_m, Time, pos, forceNod
230230
231231 ! Extrapoled wave stretching
232232 IF (WaveField% WaveStMod == 2 ) THEN
233- CALL WaveField_Interp_Setup3D( Time, posXY, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
233+ CALL WaveField_Interp_Setup3D( Time+ WaveField % WaveTimeShift , posXY, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
234234 FV(:) = FV(:) + GridInterp3DVec( WaveField% PWaveVel0, WaveField_m ) * pos(3 )
235235 FA(:) = FA(:) + GridInterp3DVec( WaveField% PWaveAcc0, WaveField_m ) * pos(3 )
236236 FDynP = FDynP + GridInterp3D ( WaveField% PWaveDynP0, WaveField_m ) * pos(3 )
@@ -249,7 +249,7 @@ SUBROUTINE WaveField_GetNodeWaveKin( WaveField, WaveField_m, Time, pos, forceNod
249249 posPrime(3 ) = MIN ( posPrime(3 ), 0.0_ReKi ) ! Clamp z-position to zero. Needed when forceNodeInWater=.TRUE.
250250
251251 ! Obtain the wave-field variables by interpolation with the mapped position.
252- CALL WaveField_Interp_Setup4D( Time, posPrime, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
252+ CALL WaveField_Interp_Setup4D( Time+ WaveField % WaveTimeShift , posPrime, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
253253 FV(:) = GridInterp4DVec( WaveField% WaveVel, WaveField_m )
254254 FA(:) = GridInterp4DVec( WaveField% WaveAcc, WaveField_m )
255255 FDynP = GridInterp4D ( WaveField% WaveDynP, WaveField_m )
@@ -311,7 +311,7 @@ SUBROUTINE WaveField_GetNodeWaveVelAcc( WaveField, WaveField_m, Time, pos, force
311311 IF ( pos(3 ) <= 0.0_ReKi ) THEN ! Node is at or below the SWL
312312 nodeInWater = 1_IntKi
313313 ! Use location to obtain interpolated values of kinematics
314- CALL WaveField_Interp_Setup4D( Time, pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
314+ CALL WaveField_Interp_Setup4D( Time+ WaveField % WaveTimeShift , pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
315315 FV(:) = GridInterp4DVec( WaveField% WaveVel, WaveField_m )
316316 FA(:) = GridInterp4DVec( WaveField% WaveAcc, WaveField_m )
317317 ELSE ! Node is above the SWL
@@ -331,7 +331,7 @@ SUBROUTINE WaveField_GetNodeWaveVelAcc( WaveField, WaveField_m, Time, pos, force
331331 IF ( pos(3 ) <= 0.0_SiKi ) THEN ! Node is below the SWL - evaluate wave dynamics as usual
332332
333333 ! Use location to obtain interpolated values of kinematics
334- CALL WaveField_Interp_Setup4D( Time, pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
334+ CALL WaveField_Interp_Setup4D( Time+ WaveField % WaveTimeShift , pos, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
335335 FV(:) = GridInterp4DVec( WaveField% WaveVel, WaveField_m )
336336 FA(:) = GridInterp4DVec( WaveField% WaveAcc, WaveField_m )
337337
@@ -344,7 +344,7 @@ SUBROUTINE WaveField_GetNodeWaveVelAcc( WaveField, WaveField_m, Time, pos, force
344344
345345 ! Extrapoled wave stretching
346346 IF (WaveField% WaveStMod == 2 ) THEN
347- CALL WaveField_Interp_Setup3D( Time, posXY, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
347+ CALL WaveField_Interp_Setup3D( Time+ WaveField % WaveTimeShift , posXY, WaveField% SrfGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
348348 FV(:) = FV(:) + GridInterp3DVec( WaveField% PWaveVel0, WaveField_m ) * pos(3 )
349349 FA(:) = FA(:) + GridInterp3DVec( WaveField% PWaveAcc0, WaveField_m ) * pos(3 )
350350 END IF
@@ -359,7 +359,7 @@ SUBROUTINE WaveField_GetNodeWaveVelAcc( WaveField, WaveField_m, Time, pos, force
359359 posPrime(3 ) = MIN ( posPrime(3 ), 0.0_ReKi ) ! Clamp z-position to zero. Needed when forceNodeInWater=.TRUE.
360360
361361 ! Obtain the wave-field variables by interpolation with the mapped position.
362- CALL WaveField_Interp_Setup4D( Time, posPrime, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
362+ CALL WaveField_Interp_Setup4D( Time+ WaveField % WaveTimeShift , posPrime, WaveField% GridDepth, WaveField% VolGridParams, WaveField_m, ErrStat2, ErrMsg2 ); if (Failed()) return ;
363363 FV(:) = GridInterp4DVec( WaveField% WaveVel, WaveField_m )
364364 FA(:) = GridInterp4DVec( WaveField% WaveAcc, WaveField_m )
365365
0 commit comments