- Timestamp:
- 2018-07-11T10:24:17+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9838_ENHANCE04_MLF/src/OCE/SBC/updtide.F90
r9598 r9923 6 6 !! History : 9.0 ! 07 (O. Le Galloudec) Original code 7 7 !!---------------------------------------------------------------------- 8 !! upd_tide : update tidal potential 8 9 9 !!---------------------------------------------------------------------- 10 USE oce ! ocean dynamics and tracers variables 11 USE dom_oce ! ocean space and time domain 12 USE in_out_manager ! I/O units 13 USE phycst ! physical constant 14 USE sbctide ! tide potential variable 15 USE tideini, ONLY: ln_tide_ramp, rdttideramp 10 !! upd_tide : update tidal potential 11 !!---------------------------------------------------------------------- 12 USE oce ! ocean dynamics and tracers variables 13 USE dom_oce ! ocean space and time domain 14 USE in_out_manager ! I/O units 15 USE phycst ! physical constant 16 USE sbctide ! tide potential variable 17 USE tideini , ONLY : ln_tide_ramp, rn_ramp 16 18 17 19 IMPLICIT NONE … … 37 39 !! ** Action : pot_astro actronomical potential 38 40 !!---------------------------------------------------------------------- 39 INTEGER, INTENT(in) :: kt ! ocean time-step index 40 INTEGER, INTENT(in), OPTIONAL :: kit ! external mode sub-time-step index (lk_dynspg_ts=T) 41 INTEGER, INTENT(in), OPTIONAL :: time_offset ! time offset in number 42 ! of internal steps (lk_dynspg_ts=F) 43 ! of external steps (lk_dynspg_ts=T) 41 INTEGER, INTENT(in) :: kt ! ocean time-step index 42 INTEGER, INTENT(in), OPTIONAL :: kit ! external mode sub-time-step index (lk_dynspg_ts=T) 43 INTEGER, INTENT(in), OPTIONAL :: time_offset ! time offset in number of internal steps (lk_dynspg_ts=F) 44 ! ! of external steps (lk_dynspg_ts=T) 44 45 ! 46 INTEGER :: ji, jj, jk ! dummy loop indices 45 47 INTEGER :: joffset ! local integer 46 INTEGER :: ji, jj, jk ! dummy loop indices47 48 REAL(wp) :: zt, zramp ! local scalar 48 49 REAL(wp), DIMENSION(nb_harmo) :: zwt … … 50 51 ! 51 52 ! ! tide pulsation at model time step (or sub-time-step) 52 zt = ( kt - kt_tide ) * r dt53 zt = ( kt - kt_tide ) * rn_Dt 53 54 ! 54 55 joffset = 0 … … 56 57 ! 57 58 IF( PRESENT( kit ) ) THEN 58 zt = zt + ( kit + joffset - 1 ) * r dt / REAL( nn_baro, wp )59 zt = zt + ( kit + joffset - 1 ) * rn_Dt / REAL( nn_e, wp ) 59 60 ELSE 60 zt = zt + joffset * r dt61 zt = zt + joffset * rn_Dt 61 62 ENDIF 62 63 ! … … 69 70 ! 70 71 IF( ln_tide_ramp ) THEN ! linear increase if asked 71 zt = ( kt - nit000 ) * r dt72 IF( PRESENT( kit ) ) zt = zt + ( kit + joffset -1) * r dt / REAL( nn_baro, wp )73 zramp = MIN( MAX( zt / (rdttideramp*rday) , 0._wp) , 1._wp )72 zt = ( kt - nit000 ) * rn_Dt 73 IF( PRESENT( kit ) ) zt = zt + ( kit + joffset -1) * rn_Dt / REAL( nn_e, wp ) 74 zramp = MIN( MAX( 0._wp , zt / (rn_ramp*rday) ) , 1._wp ) 74 75 pot_astro(:,:) = zramp * pot_astro(:,:) 75 76 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.