- Timestamp:
- 2019-12-09T18:42:54+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r12114_ticket_2263/src/OCE/BDY/bdydta.F90
r12116 r12127 75 75 CONTAINS 76 76 77 SUBROUTINE bdy_dta( kt, kit, kt_offset )77 SUBROUTINE bdy_dta( kt, kit, pt_offset ) 78 78 !!---------------------------------------------------------------------- 79 79 !! *** SUBROUTINE bdy_dta *** … … 86 86 INTEGER, INTENT(in) :: kt ! ocean time-step index 87 87 INTEGER, INTENT(in), OPTIONAL :: kit ! subcycle time-step index (for timesplitting option) 88 INTEGER, INTENT(in), OPTIONAL :: kt_offset ! time offset in units of timesteps. NB. if kit88 REAL(wp),INTENT(in), OPTIONAL :: pt_offset ! time offset in units of timesteps. NB. if kit 89 89 ! ! is present then units = subcycle timesteps. 90 ! ! kt_offset = 0 => get data at "now" time level91 ! ! kt_offset = -1 => get data at "before" time level92 ! ! kt_offset = +1 => get data at "after" time level93 ! ! etc.94 90 ! 95 91 INTEGER :: jbdy, jfld, jstart, jend, ib, jl ! dummy loop indices … … 216 212 ! read/update all bdy data 217 213 ! ------------------------ 218 CALL fld_read( kt, 1, bf_alias, kit = kit, kt_offset = kt_offset )214 CALL fld_read( kt, 1, bf_alias, kit = kit, pt_offset = pt_offset ) 219 215 220 216 ! apply some corrections in some specific cases... … … 279 275 IF( PRESENT(kit) .AND. nn_dyn2d_dta(jbdy) .GE. 2 ) THEN 280 276 CALL bdytide_update( kt = kt, idx = idx_bdy(jbdy), dta = dta_alias, td = tides(jbdy), & 281 & kit = kit, kt_offset = kt_offset )277 & kit = kit, pt_offset = pt_offset ) 282 278 ENDIF 283 279 … … 343 339 nblen => idx_bdy(jbdy)%nblen 344 340 nblenrim => idx_bdy(jbdy)%nblenrim 345 IF( cn_dyn2d(jbdy) == 'frs' ) THEN ; ilen1(:)=nblen(:) ; ELSE ; ilen1(:)=nblenrim(:) ; ENDIF 346 IF ( dta_bdy(jbdy)%lneed_ssh ) dta_bdy_s(jbdy)%ssh(1:ilen1(1)) = dta_bdy(jbdy)%ssh(1:ilen1(1)) 347 IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%u2d(1:ilen1(2)) = dta_bdy(jbdy)%u2d(1:ilen1(2)) 348 IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%v2d(1:ilen1(3)) = dta_bdy(jbdy)%v2d(1:ilen1(3)) 349 ENDIF 350 END DO 351 ELSE ! Add tides if not split-explicit free surface else this is done in ts loop 352 ! 353 CALL bdy_dta_tides( kt=kt, kt_offset=kt_offset ) 354 ENDIF 355 ENDIF 356 ! 357 IF( ln_timing ) CALL timing_stop('bdy_dta') 358 ! 359 END SUBROUTINE bdy_dta 341 IF( cn_dyn2d(jbdy) == 'frs' ) THEN ; ilen1(:)=nblen(:) 342 ELSE ; ilen1(:)=nblenrim(:) 343 ENDIF 344 IF ( dta_bdy(jbdy)%lneed_ssh ) dta_bdy_s(jbdy)%ssh(1:ilen1(1)) = dta_bdy(jbdy)%ssh(1:ilen1(1)) 345 IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%u2d(1:ilen1(2)) = dta_bdy(jbdy)%u2d(1:ilen1(2)) 346 IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%v2d(1:ilen1(3)) = dta_bdy(jbdy)%v2d(1:ilen1(3)) 347 ENDIF 348 END DO 349 ELSE ! Add tides if not split-explicit free surface else this is done in ts loop 350 ! 351 CALL bdy_dta_tides( kt=kt, pt_offset=pt_offset ) 352 ENDIF 353 ENDIF 354 ! 355 IF( ln_timing ) CALL timing_stop('bdy_dta') 356 ! 357 END SUBROUTINE bdy_dta 360 358 361 359
Note: See TracChangeset
for help on using the changeset viewer.