Changeset 5917 for branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90
- Timestamp:
- 2015-11-25T11:03:43+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5847_MERCATOR9_solveur_simplification/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90
r5902 r5917 53 53 TYPE(TIDES_DATA), PUBLIC, DIMENSION(jp_bdy), TARGET :: tides !: External tidal harmonics data 54 54 !$AGRIF_END_DO_NOT_TREAT 55 TYPE(OBC_DATA) , P RIVATE, DIMENSION(jp_bdy) :: dta_bdy_s !: bdy external data (slow component)55 TYPE(OBC_DATA) , PUBLIC, DIMENSION(jp_bdy) :: dta_bdy_s !: bdy external data (slow component) 56 56 57 57 !!---------------------------------------------------------------------- … … 269 269 ENDIF 270 270 ! 271 IF ( ln_dynspg_ts ) THEN ! Allocate arrays to save slowly varying boundary data during 272 ! time splitting integration 273 ALLOCATE( dta_bdy_s(ib_bdy)%ssh ( ilen0(1) ) ) 274 ALLOCATE( dta_bdy_s(ib_bdy)%u2d ( ilen0(2) ) ) 275 ALLOCATE( dta_bdy_s(ib_bdy)%v2d ( ilen0(3) ) ) 276 dta_bdy_s(ib_bdy)%ssh(:) = 0.e0 277 dta_bdy_s(ib_bdy)%u2d(:) = 0.e0 278 dta_bdy_s(ib_bdy)%v2d(:) = 0.e0 279 ENDIF 271 ! Allocate slow varying data in the case of time splitting: 272 ! Do it anyway because at this stage knowledge of free surface scheme is unknown 273 ALLOCATE( dta_bdy_s(ib_bdy)%ssh ( ilen0(1) ) ) 274 ALLOCATE( dta_bdy_s(ib_bdy)%u2d ( ilen0(2) ) ) 275 ALLOCATE( dta_bdy_s(ib_bdy)%v2d ( ilen0(3) ) ) 276 dta_bdy_s(ib_bdy)%ssh(:) = 0.e0 277 dta_bdy_s(ib_bdy)%u2d(:) = 0.e0 278 dta_bdy_s(ib_bdy)%v2d(:) = 0.e0 280 279 ! 281 280 ENDIF ! nn_dyn2d_dta(ib_bdy) .ge. 2 … … 396 395 !! 397 396 LOGICAL :: lk_first_btstp ! =.TRUE. if time splitting and first barotropic step 398 INTEGER, 397 INTEGER, DIMENSION(jpbgrd) :: ilen0 399 398 INTEGER, DIMENSION(1:jpbgrd) :: nblen, nblenrim ! short cuts 400 399 INTEGER :: itide, ib_bdy, ib, igrd ! loop indices … … 415 414 ! Absolute time from model initialization: 416 415 IF( PRESENT(kit) ) THEN 417 z_arg = ( kt + (kit+ 0.5_wp*(time_add-1)) / REAL(nn_baro,wp) ) * rdt416 z_arg = ( kt + (kit+time_add-1) / REAL(nn_baro,wp) ) * rdt 418 417 ELSE 419 418 z_arg = ( kt + time_add ) * rdt … … 455 454 zoff = -kt_tide * rdt ! time offset relative to nodal factor computation time 456 455 ! 457 ! If time splitting, save data at first barotropic iteration 458 IF ( PRESENT(kit) ) THEN 459 IF ( lk_first_btstp ) THEN ! Save slow varying open boundary data: 460 IF ( dta_bdy(ib_bdy)%ll_ssh ) dta_bdy_s(ib_bdy)%ssh(1:ilen0(1)) = dta_bdy(ib_bdy)%ssh(1:ilen0(1)) 461 IF ( dta_bdy(ib_bdy)%ll_u2d ) dta_bdy_s(ib_bdy)%u2d(1:ilen0(2)) = dta_bdy(ib_bdy)%u2d(1:ilen0(2)) 462 IF ( dta_bdy(ib_bdy)%ll_v2d ) dta_bdy_s(ib_bdy)%v2d(1:ilen0(3)) = dta_bdy(ib_bdy)%v2d(1:ilen0(3)) 463 464 ELSE ! Initialize arrays from slow varying open boundary data: 465 IF ( dta_bdy(ib_bdy)%ll_ssh ) dta_bdy(ib_bdy)%ssh(1:ilen0(1)) = dta_bdy_s(ib_bdy)%ssh(1:ilen0(1)) 466 IF ( dta_bdy(ib_bdy)%ll_u2d ) dta_bdy(ib_bdy)%u2d(1:ilen0(2)) = dta_bdy_s(ib_bdy)%u2d(1:ilen0(2)) 467 IF ( dta_bdy(ib_bdy)%ll_v2d ) dta_bdy(ib_bdy)%v2d(1:ilen0(3)) = dta_bdy_s(ib_bdy)%v2d(1:ilen0(3)) 468 ENDIF 456 ! If time splitting, initialize arrays from slow varying open boundary data: 457 IF ( PRESENT(kit) ) THEN 458 IF ( dta_bdy(ib_bdy)%ll_ssh ) dta_bdy(ib_bdy)%ssh(1:ilen0(1)) = dta_bdy_s(ib_bdy)%ssh(1:ilen0(1)) 459 IF ( dta_bdy(ib_bdy)%ll_u2d ) dta_bdy(ib_bdy)%u2d(1:ilen0(2)) = dta_bdy_s(ib_bdy)%u2d(1:ilen0(2)) 460 IF ( dta_bdy(ib_bdy)%ll_v2d ) dta_bdy(ib_bdy)%v2d(1:ilen0(3)) = dta_bdy_s(ib_bdy)%v2d(1:ilen0(3)) 469 461 ENDIF 470 462 !
Note: See TracChangeset
for help on using the changeset viewer.