- Timestamp:
- 2020-04-23T15:14:45+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/prtctl_trc.F90
r12377 r12807 18 18 PRIVATE 19 19 20 INTEGER , DIMENSION(:), ALLOCATABLE :: numid_trc !: logical unit21 INTEGER , DIMENSION(:), ALLOCATABLE :: n lditl , nldjtl!: first, last indoor index for each i-domain22 INTEGER , DIMENSION(:), ALLOCATABLE :: n leitl , nlejtl!: first, last indoor index for each j-domain23 INTEGER , DIMENSION(:), ALLOCATABLE :: nimpptl,njmpptl !: i-, j-indexes for each processor24 INTEGER , DIMENSION(:), ALLOCATABLE :: nlcitl , nlcjtl!: dimensions of every subdomain25 INTEGER , DIMENSION(:), ALLOCATABLE :: ibonitl,ibonjtl20 INTEGER , DIMENSION(:), ALLOCATABLE :: numid_trc !: logical unit 21 INTEGER , DIMENSION(:), ALLOCATABLE :: nis0allp, njs0allp !: first, last indoor index for each i-domain 22 INTEGER , DIMENSION(:), ALLOCATABLE :: nie0allp, nje0allp !: first, last indoor index for each j-domain 23 INTEGER , DIMENSION(:), ALLOCATABLE :: nimpptl, njmpptl !: i-, j-indexes for each processor 24 INTEGER , DIMENSION(:), ALLOCATABLE :: jpiallp, jpjallp !: dimensions of every subdomain 25 INTEGER , DIMENSION(:), ALLOCATABLE :: ibonitl, ibonjtl 26 26 27 27 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: tra_ctl !: previous trend values … … 105 105 IF( .NOT. lsp_area ) THEN 106 106 IF (lk_mpp ) THEN 107 nictls = MAX( 1, n lditl(js) - overlap )108 nictle = n leitl(js) + overlap * MIN( 1, nlcitl(js) - nleitl(js))109 njctls = MAX( 1, n ldjtl(js) - overlap )110 njctle = n lejtl(js) + overlap * MIN( 1, nlcjtl(js) - nlejtl(js))107 nictls = MAX( 1, nis0allp(js) - overlap ) 108 nictle = nie0allp(js) + overlap * MIN( 1, jpiallp(js) - nie0allp(js)) 109 njctls = MAX( 1, njs0allp(js) - overlap ) 110 njctle = nje0allp(js) + overlap * MIN( 1, jpjallp(js) - nje0allp(js)) 111 111 ! Do not take into account the bound of the domain 112 112 IF( ibonitl(js) == -1 .OR. ibonitl(js) == 2 ) nictls = MAX( 2, nictls ) 113 IF( ibonitl(js) == 1 .OR. ibonitl(js) == 2 ) nictle = MIN( nictle, n leitl(js) - 1 )113 IF( ibonitl(js) == 1 .OR. ibonitl(js) == 2 ) nictle = MIN( nictle, nie0allp(js) - 1 ) 114 114 IF( ibonjtl(js) == -1 .OR. ibonjtl(js) == 2 ) njctls = MAX( 2, njctls ) 115 IF( ibonjtl(js) == 1 .OR. ibonjtl(js) == 2 ) njctle = MIN( njctle, n lejtl(js) - 1 )115 IF( ibonjtl(js) == 1 .OR. ibonjtl(js) == 2 ) njctle = MIN( njctle, nje0allp(js) - 1 ) 116 116 ELSE 117 nictls = MAX( 1, nimpptl(js) + n lditl(js) - 1 - overlap )118 nictle = nimpptl(js) + n leitl(js) - 1 + overlap * MIN( 1, nlcitl(js) - nleitl(js) )119 njctls = MAX( 1, njmpptl(js) + n ldjtl(js) - 1 - overlap )120 njctle = njmpptl(js) + n lejtl(js) - 1 + overlap * MIN( 1, nlcjtl(js) - nlejtl(js) )117 nictls = MAX( 1, nimpptl(js) + nis0allp(js) - 1 - overlap ) 118 nictle = nimpptl(js) + nie0allp(js) - 1 + overlap * MIN( 1, jpiallp(js) - nie0allp(js) ) 119 njctls = MAX( 1, njmpptl(js) + njs0allp(js) - 1 - overlap ) 120 njctle = njmpptl(js) + nje0allp(js) - 1 + overlap * MIN( 1, jpjallp(js) - nje0allp(js) ) 121 121 ! Do not take into account the bound of the domain 122 122 IF( ibonitl(js) == -1 .OR. ibonitl(js) == 2 ) nictls = MAX( 2, nictls ) 123 123 IF( ibonjtl(js) == -1 .OR. ibonjtl(js) == 2 ) njctls = MAX( 2, njctls ) 124 IF( ibonitl(js) == 1 .OR. ibonitl(js) == 2 ) nictle = MIN( nictle, nimpptl(js) + n leitl(js) - 2 )125 IF( ibonjtl(js) == 1 .OR. ibonjtl(js) == 2 ) njctle = MIN( njctle, njmpptl(js) + n lejtl(js) - 2 )124 IF( ibonitl(js) == 1 .OR. ibonitl(js) == 2 ) nictle = MIN( nictle, nimpptl(js) + nie0allp(js) - 2 ) 125 IF( ibonjtl(js) == 1 .OR. ibonjtl(js) == 2 ) njctle = MIN( njctle, njmpptl(js) + nje0allp(js) - 2 ) 126 126 ENDIF 127 127 ENDIF … … 193 193 194 194 ! ! Allocate arrays 195 ALLOCATE( n lditl(ijsplt) )196 ALLOCATE( n ldjtl(ijsplt) )197 ALLOCATE( n leitl(ijsplt) )198 ALLOCATE( n lejtl(ijsplt) )195 ALLOCATE( nis0allp(ijsplt) ) 196 ALLOCATE( njs0allp(ijsplt) ) 197 ALLOCATE( nie0allp(ijsplt) ) 198 ALLOCATE( nje0allp(ijsplt) ) 199 199 ALLOCATE( nimpptl(ijsplt) ) 200 200 ALLOCATE( njmpptl(ijsplt) ) 201 ALLOCATE( nlcitl(ijsplt) )202 ALLOCATE( nlcjtl(ijsplt) )201 ALLOCATE( jpiallp(ijsplt) ) 202 ALLOCATE( jpjallp(ijsplt) ) 203 203 ALLOCATE( tra_ctl(jptra,ijsplt) ) 204 204 ALLOCATE( ibonitl(ijsplt) ) … … 213 213 cl_run = 'MULTI processor run' 214 214 ! use indices for each area computed by mpp_init subroutine 215 n lditl(1:jpnij) = nldit(:)216 n leitl(1:jpnij) = nleit(:)217 n ldjtl(1:jpnij) = nldjt(:)218 n lejtl(1:jpnij) = nlejt(:)215 nis0allp(1:jpnij) = nis0all(:) 216 nie0allp(1:jpnij) = nie0all(:) 217 njs0allp(1:jpnij) = njs0all(:) 218 nje0allp(1:jpnij) = nje0all(:) 219 219 ! 220 220 nimpptl(1:jpnij) = nimppt(:) 221 221 njmpptl(1:jpnij) = njmppt(:) 222 222 ! 223 nlcitl(1:jpnij) = nlcit(:)224 nlcjtl(1:jpnij) = nlcjt(:)223 jpiallp(1:jpnij) = jpiall(:) 224 jpjallp(1:jpnij) = jpjall(:) 225 225 ! 226 226 ibonitl(1:jpnij) = ibonit(:) … … 254 254 IF( .NOT. lsp_area ) THEN 255 255 IF ( lk_mpp ) THEN 256 nictls = n lditl(js)257 nictle = n leitl(js)258 njctls = n ldjtl(js)259 njctle = n lejtl(js)256 nictls = nis0allp(js) 257 nictle = nie0allp(js) 258 njctls = njs0allp(js) 259 njctle = nje0allp(js) 260 260 ELSE 261 nictls = nimpptl(js) + n lditl(js) - 1262 nictle = nimpptl(js) + n leitl(js) - 1263 njctls = njmpptl(js) + n ldjtl(js) - 1264 njctle = njmpptl(js) + n lejtl(js) - 1261 nictls = nimpptl(js) + nis0allp(js) - 1 262 nictle = nimpptl(js) + nie0allp(js) - 1 263 njctls = njmpptl(js) + njs0allp(js) - 1 264 njctle = njmpptl(js) + nje0allp(js) - 1 265 265 ENDIF 266 266 ENDIF … … 269 269 WRITE(j_id,*) '~~~~~~~' 270 270 WRITE(j_id,*) 271 WRITE(j_id,9000)' nlej = ', nlejtl(js), ' '271 WRITE(j_id,9000)' Nje0 = ', nje0allp(js), ' ' 272 272 WRITE(j_id,9000)' ------------- njctle = ', njctle, ' -------------' 273 273 WRITE(j_id,9001)' | |' … … 275 275 WRITE(j_id,9001)' | |' 276 276 WRITE(j_id,9002)' nictls = ', nictls, ' nictle = ', nictle 277 WRITE(j_id,9002)' nldi = ', nlditl(js), ' nlei = ', nleitl(js)277 WRITE(j_id,9002)' Nis0 = ', nis0allp(js), ' Nie0 = ', nie0allp(js) 278 278 WRITE(j_id,9001)' | |' 279 279 WRITE(j_id,9001)' | |' 280 280 WRITE(j_id,9001)' | |' 281 281 WRITE(j_id,9004)' njmpp = ',njmpptl(js),' ------------- njctls = ', njctls, ' -------------' 282 WRITE(j_id,9003)' nimpp = ', nimpptl(js), ' nldj = ', nldjtl(js), ' '282 WRITE(j_id,9003)' nimpp = ', nimpptl(js), ' Njs0 = ', njs0allp(js), ' ' 283 283 WRITE(j_id,*) 284 284 WRITE(j_id,*)
Note: See TracChangeset
for help on using the changeset viewer.