New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9814 for NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lbclnk.F90 – NEMO

Ignore:
Timestamp:
2018-06-20T15:41:08+02:00 (6 years ago)
Author:
smasson
Message:

dev_r9759_HPC09_ESIWACE: get more informations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lbclnk.F90

    r9598 r9814  
    5050   PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
    5151 
     52   PUBLIC   simulated_lbc_lnk 
     53 
     54   REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE, SAVE ::   zdummy_halo 
    5255   !!---------------------------------------------------------------------- 
    5356   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    325328#  undef DIM_4d 
    326329 
     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 
    327413   !!====================================================================== 
    328414END MODULE lbclnk 
Note: See TracChangeset for help on using the changeset viewer.