- Timestamp:
- 2018-06-21T11:58:42+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_nemo2cice_prints/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90
r9816 r9817 31 31 USE in_out_manager ! I/O manager 32 32 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 33 33 34 34 IMPLICIT NONE 35 35 PRIVATE … … 41 41 PUBLIC cpl_freq 42 42 PUBLIC cpl_finalize 43 #if defined key_mpp_mpi 44 INCLUDE 'mpif.h' 45 #endif 46 47 INTEGER, PARAMETER :: localRoot = 0 48 LOGICAL :: commRank ! true for ranks doing OASIS communication 49 #if defined key_cpl_rootexchg 50 LOGICAL :: rootexchg =.true. ! logical switch 51 #else 52 LOGICAL :: rootexchg =.false. ! logical switch 53 #endif 43 54 44 55 INTEGER, PUBLIC :: OASIS_Rcv = 1 !: return code if received field … … 82 93 83 94 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: exfld ! Temporary buffer for receiving 84 95 INTEGER, PUBLIC :: localComm 96 85 97 !!---------------------------------------------------------------------- 86 98 !! NEMO/OPA 3.3 , NEMO Consortium (2010) … … 120 132 IF ( nerror /= OASIS_Ok ) & 121 133 CALL oasis_abort (ncomp_id, 'cpl_init','Failure in oasis_get_localcomm' ) 134 localComm = kl_comm 122 135 ! 123 136 END SUBROUTINE cpl_init … … 177 190 IF( nerror > 0 ) THEN 178 191 CALL oasis_abort ( ncomp_id, 'cpl_define', 'Failure in allocating exfld') ; RETURN 179 ENDIF 192 ENDIF 180 193 ! 181 194 ! ----------------------------------------------------------------- 182 195 ! ... Define the partition 183 196 ! ----------------------------------------------------------------- 184 197 185 198 paral(1) = 2 ! box partitioning 186 199 paral(2) = jpiglo * (nldj-1+njmpp-1) + (nldi-1+nimpp-1) ! NEMO lower left corner global offset … … 196 209 ENDIF 197 210 198 CALL oasis_def_partition ( id_part, paral, nerror 211 CALL oasis_def_partition ( id_part, paral, nerror, jpiglo*jpjglo) 199 212 ! 200 213 ! ... Announce send variables. … … 241 254 END DO 242 255 ENDIF 243 END DO 256 END DO 244 257 ! 245 258 ! ... Announce received variables. … … 373 386 IF( srcv(kid)%nid(jc,jm) /= -1 ) THEN 374 387 375 CALL oasis_get ( srcv(kid)%nid(jc,jm), kstep, exfld, kinfo ) 388 CALL oasis_get ( srcv(kid)%nid(jc,jm), kstep, exfld, kinfo ) 376 389 377 390 llaction = kinfo == OASIS_Recvd .OR. kinfo == OASIS_FromRest .OR. & … … 384 397 kinfo = OASIS_Rcv 385 398 IF( llfisrt ) THEN 386 pdata(nldi:nlei,nldj:nlej,jc) = exfld(:,:) * pmask(nldi:nlei,nldj:nlej,jm) 399 pdata(nldi:nlei,nldj:nlej,jc) = exfld(:,:) * pmask(nldi:nlei,nldj:nlej,jm) 387 400 llfisrt = .FALSE. 388 401 ELSE … … 463 476 CALL oasis_get_freqs(id, mop, 1, itmp, info) 464 477 #else 478 #if defined key_oasis3 479 itmp(1) = namflddti( id ) 480 #else 465 481 CALL oasis_get_freqs(id, 1, itmp, info) 482 #endif 466 483 #endif 467 484 cpl_freq = itmp(1) … … 514 531 END SUBROUTINE oasis_get_localcomm 515 532 516 SUBROUTINE oasis_def_partition(k1,k2,k3 )533 SUBROUTINE oasis_def_partition(k1,k2,k3,K4) 517 534 INTEGER , INTENT( out) :: k1,k3 518 535 INTEGER , INTENT(in ) :: k2(5) 536 INTEGER , OPTIONAL, INTENT(in ) :: k4 519 537 k1 = k2(1) ; k3 = k2(5) 520 538 WRITE(numout,*) 'oasis_def_partition: Error you sould not be there...'
Note: See TracChangeset
for help on using the changeset viewer.