- Timestamp:
- 2016-06-17T12:00:46+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90
r6140 r6717 100 100 101 101 DO ib_bdy = 1, nb_bdy 102 IF( nn_dyn2d_dta(ib_bdy) .ge.2 ) THEN103 102 IF( nn_dyn2d_dta(ib_bdy) >= 2 ) THEN 103 ! 104 104 td => tides(ib_bdy) 105 105 nblen => idx_bdy(ib_bdy)%nblen … … 134 134 ! JC: If FRS scheme is used, we assume that tidal is needed over the whole 135 135 ! relaxation area 136 IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN 137 ilen0(:)=nblen(:) 138 ELSE 139 ilen0(:)=nblenrim(:) 136 IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN ; ilen0(:) = nblen (:) 137 ELSE ; ilen0(:) = nblenrim(:) 140 138 ENDIF 141 139 … … 156 154 td%v (:,:,:) = 0._wp 157 155 158 IF (ln_bdytide_2ddta) THEN156 IF( ln_bdytide_2ddta ) THEN 159 157 ! It is assumed that each data file contains all complex harmonic amplitudes 160 ! given on the data domain (ie global, jpidta x jpjdta)161 ! 162 CALL wrk_alloc( jpi, jpj,zti, ztr )158 ! given on the global domain (ie global, jpiglo x jpjglo) 159 ! 160 CALL wrk_alloc( jpi,jpj, zti, ztr ) 163 161 ! 164 162 ! SSH fields 165 163 clfile = TRIM(filtide)//'_grid_T.nc' 166 CALL iom_open (clfile , inum )164 CALL iom_open( clfile , inum ) 167 165 igrd = 1 ! Everything is at T-points here 168 166 DO itide = 1, nb_harmo 169 CALL iom_get ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_z1', ztr(:,:) )170 CALL iom_get ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_z2', zti(:,:) )167 CALL iom_get( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_z1', ztr(:,:) ) 168 CALL iom_get( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_z2', zti(:,:) ) 171 169 DO ib = 1, ilen0(igrd) 172 170 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 180 178 ! U fields 181 179 clfile = TRIM(filtide)//'_grid_U.nc' 182 CALL iom_open (clfile , inum )180 CALL iom_open( clfile , inum ) 183 181 igrd = 2 ! Everything is at U-points here 184 182 DO itide = 1, nb_harmo 185 CALL iom_get ( inum, jpdom_ data, TRIM(Wave(ntide(itide))%cname_tide)//'_u1', ztr(:,:) )186 CALL iom_get ( inum, jpdom_ data, TRIM(Wave(ntide(itide))%cname_tide)//'_u2', zti(:,:) )183 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_u1', ztr(:,:) ) 184 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_u2', zti(:,:) ) 187 185 DO ib = 1, ilen0(igrd) 188 186 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 196 194 ! V fields 197 195 clfile = TRIM(filtide)//'_grid_V.nc' 198 CALL iom_open (clfile , inum )196 CALL iom_open( clfile , inum ) 199 197 igrd = 3 ! Everything is at V-points here 200 198 DO itide = 1, nb_harmo 201 CALL iom_get ( inum, jpdom_ data, TRIM(Wave(ntide(itide))%cname_tide)//'_v1', ztr(:,:) )202 CALL iom_get ( inum, jpdom_ data, TRIM(Wave(ntide(itide))%cname_tide)//'_v2', zti(:,:) )199 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_v1', ztr(:,:) ) 200 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_v2', zti(:,:) ) 203 201 DO ib = 1, ilen0(igrd) 204 202 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 210 208 CALL iom_close( inum ) 211 209 ! 212 CALL wrk_dealloc( jpi, jpj,ztr, zti )210 CALL wrk_dealloc( jpi,jpj, ztr, zti ) 213 211 ! 214 212 ELSE … … 219 217 ! 220 218 ! Set map structure 221 ibmap_ptr(1)%ptr => idx_bdy(ib_bdy)%nbmap(:,1) 222 ibmap_ptr(1)%ll_unstruc = ln_coords_file(ib_bdy) 223 ibmap_ptr(2)%ptr => idx_bdy(ib_bdy)%nbmap(:,2) 224 ibmap_ptr(2)%ll_unstruc = ln_coords_file(ib_bdy) 225 ibmap_ptr(3)%ptr => idx_bdy(ib_bdy)%nbmap(:,3) 226 ibmap_ptr(3)%ll_unstruc = ln_coords_file(ib_bdy) 219 ibmap_ptr(1)%ptr => idx_bdy(ib_bdy)%nbmap(:,1) ; ibmap_ptr(1)%ll_unstruc = ln_coords_file(ib_bdy) 220 ibmap_ptr(2)%ptr => idx_bdy(ib_bdy)%nbmap(:,2) ; ibmap_ptr(2)%ll_unstruc = ln_coords_file(ib_bdy) 221 ibmap_ptr(3)%ptr => idx_bdy(ib_bdy)%nbmap(:,3) ; ibmap_ptr(3)%ll_unstruc = ln_coords_file(ib_bdy) 227 222 228 223 ! Open files and read in tidal forcing data … … 258 253 ! 259 254 DEALLOCATE( dta_read ) 255 ! 260 256 ENDIF ! ln_bdytide_2ddta=.true. 261 257 ! … … 275 271 dta_bdy_s(ib_bdy)%v2d(:) = 0._wp 276 272 ! 277 ENDIF ! nn_dyn2d_dta(ib_bdy) .ge.2273 ENDIF ! nn_dyn2d_dta(ib_bdy) >= 2 278 274 ! 279 275 END DO ! loop on ib_bdy … … 376 372 END SUBROUTINE bdytide_update 377 373 374 378 375 SUBROUTINE bdy_dta_tides( kt, kit, time_offset ) 379 376 !!---------------------------------------------------------------------- … … 422 419 423 420 DO ib_bdy = 1,nb_bdy 424 425 IF ( nn_dyn2d_dta(ib_bdy) .ge.2 ) THEN426 421 ! 422 IF( nn_dyn2d_dta(ib_bdy) >= 2 ) THEN 423 ! 427 424 nblen(1:jpbgrd) = idx_bdy(ib_bdy)%nblen(1:jpbgrd) 428 425 nblenrim(1:jpbgrd) = idx_bdy(ib_bdy)%nblenrim(1:jpbgrd) 429 430 IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN 431 ilen0(:)=nblen(:) 432 ELSE 433 ilen0(:)=nblenrim(:) 426 ! 427 IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN ; ilen0(:) = nblen (:) 428 ELSE ; ilen0(:) = nblenrim(:) 434 429 ENDIF 435 430 ! 436 431 ! We refresh nodal factors every day below 437 432 ! This should be done somewhere else
Note: See TracChangeset
for help on using the changeset viewer.