- Timestamp:
- 2018-06-20T15:41:08+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lbclnk.F90
r9598 r9814 50 50 PUBLIC lbc_lnk_icb ! iceberg lateral boundary conditions 51 51 52 PUBLIC simulated_lbc_lnk 53 54 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE, SAVE :: zdummy_halo 52 55 !!---------------------------------------------------------------------- 53 56 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 325 328 # undef DIM_4d 326 329 330 SUBROUTINE simulated_lbc_lnk () 331 332 INTEGER :: i 333 334 IF (.NOT. ALLOCATED(zdummy_halo) ) THEN 335 i = MAXVAL(icomm_sequence(:,2)) 336 ALLOCATE( zdummy_halo(jpi,jpj,jpk,i)) 337 zdummy_halo(:,:,:,:) = 0._wp 338 ENDIF 339 340 DO i = 1, n_sequence 341 ! unbufferize data 342 ! zdummy_halo(:,:,:,:) = zdummy_halo(:,:,:,:) + 1. 343 IF ( icomm_sequence(i,1) == 1 ) THEN 344 SELECT CASE ( icomm_sequence(i,2) ) 345 CASE (1) 346 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. ) 347 CASE (2) 348 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2) , 'U', -1. ) 349 CASE (3) 350 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2) , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.) 351 CASE (4) 352 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2) , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.,zdummy_halo(:,:,1,4) , 'U', -1.) 353 CASE (5) 354 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2) , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.,zdummy_halo(:,:,1,4) , 'U', -1.,zdummy_halo(:,:,1,5) , 'U', -1.) 355 CASE (6) 356 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2) , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.,zdummy_halo(:,:,1,4) , 'U', -1.,zdummy_halo(:,:,1,5) , 'U', -1.,zdummy_halo(:,:,1,6) , 'U', -1.) 357 CASE (7) 358 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1), 'U', -1., zdummy_halo(:,:,1,2), 'U', -1., & 359 zdummy_halo(:,:,1,3), 'U', -1., zdummy_halo(:,:,1,4), 'U', -1., & 360 zdummy_halo(:,:,1,5), 'U', -1., zdummy_halo(:,:,1,6), 'U', -1., & 361 zdummy_halo(:,:,1,7), 'U', -1.) 362 CASE (8) 363 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1), 'U', -1., zdummy_halo(:,:,1,2), 'U', -1., & 364 zdummy_halo(:,:,1,3), 'U', -1., zdummy_halo(:,:,1,4), 'U', -1., & 365 zdummy_halo(:,:,1,5), 'U', -1., zdummy_halo(:,:,1,6), 'U', -1., & 366 zdummy_halo(:,:,1,7), 'U', -1., zdummy_halo(:,:,1,8), 'U', -1.) 367 CASE (9) 368 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1), 'U', -1., zdummy_halo(:,:,1,2), 'U', -1., & 369 zdummy_halo(:,:,1,3), 'U', -1., zdummy_halo(:,:,1,4), 'U', -1., & 370 zdummy_halo(:,:,1,5), 'U', -1., zdummy_halo(:,:,1,6), 'U', -1., & 371 zdummy_halo(:,:,1,7), 'U', -1., zdummy_halo(:,:,1,8), 'U', -1., & 372 zdummy_halo(:,:,1,9), 'U', -1.) 373 CASE DEFAULT 374 WRITE(6,*) ' Warning (simulated_lbc_lnk): multi array dimension > 9, not transmitted ' 375 END SELECT 376 ELSE 377 SELECT CASE ( icomm_sequence(i,2) ) 378 CASE (1) 379 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1.) 380 CASE (2) 381 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2) , 'U', -1.) 382 CASE (3) 383 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2) , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.) 384 CASE (4) 385 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2) , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.,zdummy_halo(:,:,:,4) , 'U', -1.) 386 CASE (5) 387 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2) , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.,zdummy_halo(:,:,:,4) , 'U', -1.,zdummy_halo(:,:,:,5) , 'U', -1.) 388 CASE (6) 389 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2) , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.,zdummy_halo(:,:,:,4) , 'U', -1.,zdummy_halo(:,:,:,5) , 'U', -1.,zdummy_halo(:,:,:,6) , 'U', -1.) 390 CASE (7) 391 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1), 'U', -1., zdummy_halo(:,:,:,2), 'U', -1., & 392 zdummy_halo(:,:,:,3), 'U', -1., zdummy_halo(:,:,:,4), 'U', -1., & 393 zdummy_halo(:,:,:,5), 'U', -1., zdummy_halo(:,:,:,6), 'U', -1., & 394 zdummy_halo(:,:,:,7), 'U', -1.) 395 CASE (8) 396 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1), 'U', -1., zdummy_halo(:,:,:,2), 'U', -1., & 397 zdummy_halo(:,:,:,3), 'U', -1., zdummy_halo(:,:,:,4), 'U', -1., & 398 zdummy_halo(:,:,:,5), 'U', -1., zdummy_halo(:,:,:,6), 'U', -1., & 399 zdummy_halo(:,:,:,7), 'U', -1., zdummy_halo(:,:,:,8), 'U', -1.) 400 CASE (9) 401 CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1), 'U', -1., zdummy_halo(:,:,:,2), 'U', -1., & 402 zdummy_halo(:,:,:,3), 'U', -1., zdummy_halo(:,:,:,4), 'U', -1., & 403 zdummy_halo(:,:,:,5), 'U', -1., zdummy_halo(:,:,:,6), 'U', -1., & 404 zdummy_halo(:,:,:,7), 'U', -1., zdummy_halo(:,:,:,8), 'U', -1., & 405 zdummy_halo(:,:,:,9), 'U', -1.) 406 CASE DEFAULT 407 WRITE(6,*) ' Warning (simulated_lbc_lnk): multi 3D array dimension > 9, not transmitted ' 408 END SELECT 409 ENDIF 410 ENDDO 411 412 END SUBROUTINE simulated_lbc_lnk 327 413 !!====================================================================== 328 414 END MODULE lbclnk
Note: See TracChangeset
for help on using the changeset viewer.