- Timestamp:
- 2010-10-12T20:49:32+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r2106_LOCEAN2010/NEMO/OPA_SRC/BDY/bdytides.F90
- Property svn:executable deleted
r1715 r2236 7 7 !! 2.3 ! 2008-01 (J.Holt) Add date correction. Origins POLCOMS v6.3 2007 8 8 !! 3.0 ! 2008-04 (NEMO team) add in the reference version 9 !! 3.3 ! 2010-09 (D.Storkey and E.O'Dea) bug fixes 9 10 !!---------------------------------------------------------------------- 10 11 #if defined key_bdy … … 31 32 USE bdy_par ! Unstructured boundary parameters 32 33 USE bdy_oce ! ocean open boundary conditions 34 USE daymod ! calendar 33 35 34 36 IMPLICIT NONE … … 39 41 PUBLIC tide_update ! routine called in bdydyn 40 42 41 LOGICAL, PUBLIC :: ln_tide_date !: =T correct tide phases and amplitude for model start date 42 43 INTEGER, PARAMETER :: jptides_max = 15 !: Max number of tidal contituents 44 INTEGER :: ntide !: Actual number of tidal constituents 43 LOGICAL, PUBLIC :: ln_tide_date !: =T correct tide phases and amplitude for model start date 44 INTEGER, PUBLIC, PARAMETER :: jptides_max = 15 !: Max number of tidal contituents 45 INTEGER, PUBLIC :: ntide !: Actual number of tidal constituents 45 46 46 47 CHARACTER(len=80), PUBLIC :: filtide !: Filename root for tidal input files 47 48 CHARACTER(len= 4), PUBLIC, DIMENSION(jptides_max) :: tide_cpt !: Names of tidal components used. 48 49 49 INTEGER , DIMENSION(jptides_max) :: nindx !: ???50 REAL(wp), DIMENSION(jptides_max) :: tide_speed !: Phase speed of tidal constituent (deg/hr)50 INTEGER , PUBLIC, DIMENSION(jptides_max) :: nindx !: ??? 51 REAL(wp), PUBLIC, DIMENSION(jptides_max) :: tide_speed !: Phase speed of tidal constituent (deg/hr) 51 52 52 REAL(wp), DIMENSION(jpbdim,jptides_max) :: ssh1, ssh2 ! :Tidal constituents : SSH53 REAL(wp), DIMENSION(jpbdim,jptides_max) :: u1 , u2 ! :Tidal constituents : U54 REAL(wp), DIMENSION(jpbdim,jptides_max) :: v1 , v2 ! :Tidal constituents : V53 REAL(wp), DIMENSION(jpbdim,jptides_max) :: ssh1, ssh2 ! Tidal constituents : SSH 54 REAL(wp), DIMENSION(jpbdim,jptides_max) :: u1 , u2 ! Tidal constituents : U 55 REAL(wp), DIMENSION(jpbdim,jptides_max) :: v1 , v2 ! Tidal constituents : V 55 56 56 57 !!---------------------------------------------------------------------- 57 !! NEMO/OPA 3. 0 , LOCEAN-IPSL (2008)58 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 58 59 !! $Id$ 59 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)60 !! Software governed by the CeCILL licence (NEMOGCM/License_CeCILL.txt) 60 61 !!---------------------------------------------------------------------- 61 62 62 CONTAINS 63 63 … … 87 87 ! ! Count number of components specified 88 88 ntide = jptides_max 89 itide = 1 90 DO WHILE( tide_cpt(itide) /= '' ) 91 ntide = itide 92 itide = itide + 1 89 DO itide = 1, jptides_max 90 IF( tide_cpt(itide) == '' ) THEN 91 ntide = itide-1 92 exit 93 ENDIF 93 94 END DO 95 94 96 ! ! find constituents in standard list 95 97 DO itide = 1, ntide … … 145 147 CHARACTER(len=80) :: clfile ! full file name for tidal input file 146 148 INTEGER :: ipi, ipj, inum, idvar ! temporary integers (netcdf read) 147 INTEGER, DIMENSION( 3) :: lendta=0 ! length of data in the file (note may be different from nblendta!)149 INTEGER, DIMENSION(6) :: lendta=0 ! length of data in the file (note may be different from nblendta!) 148 150 REAL(wp) :: z_arg, z_atde, z_btde, z1t, z2t 149 151 REAL(wp), DIMENSION(jpbdta,1) :: zdta ! temporary array for data fields … … 161 163 IF(lwp) WRITE(numout,*) 'Reading data from file ', clfile 162 164 CALL iom_open( clfile, inum ) 163 igrd = 1165 igrd = 4 164 166 IF( nblendta(igrd) <= 0 ) THEN 165 167 idvar = iom_varid( inum,'z1' ) … … 183 185 IF(lwp) WRITE(numout,*) 'Reading data from file ', clfile 184 186 CALL iom_open( clfile, inum ) 185 igrd = 2187 igrd = 5 186 188 IF( lendta(igrd) <= 0 ) THEN 187 189 idvar = iom_varid( inum,'u1' ) … … 204 206 if(lwp) write(numout,*) 'Reading data from file ', clfile 205 207 CALL iom_open( clfile, inum ) 206 igrd = 3208 igrd = 6 207 209 IF( lendta(igrd) <= 0 ) THEN 208 210 idvar = iom_varid( inum,'v1' ) … … 252 254 ENDIF 253 255 ! ! elevation 254 igrd = 1256 igrd = 4 255 257 DO ib = 1, nblenrim(igrd) 256 258 z1t = z_atde * ssh1(ib,itide) + z_btde * ssh2(ib,itide) … … 260 262 END DO 261 263 ! ! u 262 igrd = 2264 igrd = 5 263 265 DO ib = 1, nblenrim(igrd) 264 266 z1t = z_atde * u1(ib,itide) + z_btde * u2(ib,itide) … … 268 270 END DO 269 271 ! ! v 270 igrd = 3272 igrd = 6 271 273 DO ib = 1, nblenrim(igrd) 272 274 z1t = z_atde * v1(ib,itide) + z_btde * v2(ib,itide) … … 320 322 ! 321 323 DO itide = 1, ntide 322 igrd= 1! SSH on tracer grid.324 igrd=4 ! SSH on tracer grid. 323 325 DO ib = 1, nblenrim(igrd) 324 326 sshtide(ib) =sshtide(ib)+ ssh1(ib,itide)*z_cost(itide) + ssh2(ib,itide)*z_sist(itide) 325 327 ! if(lwp) write(numout,*) 'z',ib,itide,sshtide(ib), ssh1(ib,itide),ssh2(ib,itide) 326 328 END DO 327 igrd= 2! U grid329 igrd=5 ! U grid 328 330 DO ib=1, nblenrim(igrd) 329 331 utide(ib) = utide(ib)+ u1(ib,itide)*z_cost(itide) + u2(ib,itide)*z_sist(itide) 330 332 ! if(lwp) write(numout,*) 'u',ib,itide,utide(ib), u1(ib,itide),u2(ib,itide) 331 333 END DO 332 igrd= 3! V grid334 igrd=6 ! V grid 333 335 DO ib=1, nblenrim(igrd) 334 336 vtide(ib) = vtide(ib)+ v1(ib,itide)*z_cost(itide) + v2(ib,itide)*z_sist(itide)
Note: See TracChangeset
for help on using the changeset viewer.