- Timestamp:
- 2017-11-20T17:29:54+01:00 (6 years ago)
- Location:
- branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r8186 r8758 535 535 INTEGER, DIMENSION(MPI_STATUS_SIZE) :: ml_stat ! for key_mpi_isend 536 536 !! 537 REAL(wp), DIMENSION(1-jpri:jpi+jpri, jprecj+jprj,2) :: r2dns538 REAL(wp), DIMENSION(1-jpri:jpi+jpri, jprecj+jprj,2) :: r2dsn539 REAL(wp), DIMENSION(1-jprj:jpj+jprj, jpreci+jpri,2) :: r2dwe540 REAL(wp), DIMENSION(1-jprj:jpj+jprj, jpreci+jpri,2) :: r2dew541 !!---------------------------------------------------------------------- 542 543 ipreci = jpreci+ jpri ! take into account outer extra 2D overlap area544 iprecj = jprecj+ jprj537 REAL(wp), DIMENSION(1-jpri:jpi+jpri,nn_hls+jprj,2) :: r2dns 538 REAL(wp), DIMENSION(1-jpri:jpi+jpri,nn_hls+jprj,2) :: r2dsn 539 REAL(wp), DIMENSION(1-jprj:jpj+jprj,nn_hls+jpri,2) :: r2dwe 540 REAL(wp), DIMENSION(1-jprj:jpj+jprj,nn_hls+jpri,2) :: r2dew 541 !!---------------------------------------------------------------------- 542 543 ipreci = nn_hls + jpri ! take into account outer extra 2D overlap area 544 iprecj = nn_hls + jprj 545 545 546 546 … … 553 553 pt2d(:, jpj :jpj+jprj) = pt2d ( :, 2 :2+jprj) 554 554 ELSE !* closed 555 IF( .NOT. cd_type == 'F' ) pt2d(:, 1-jprj : jprecj) = 0._wp ! south except at F-point556 pt2d(:,nlcj- jprecj+1:jpj+jprj) = 0._wp ! north555 IF( .NOT. cd_type == 'F' ) pt2d(:, 1-jprj : nn_hls ) = 0._wp ! south except at F-point 556 pt2d(:,nlcj-nn_hls+1:jpj+jprj) = 0._wp ! north 557 557 ENDIF 558 558 ! !== East-West boundaries … … 562 562 pt2d( jpi :jpi+jpri,:) = pt2d( 2 :2+jpri,:) ! west 563 563 ELSE !* closed 564 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri : jpreci,:) = 0._wp ! south except at F-point565 pt2d(nlci- jpreci+1:jpi+jpri,:) = 0._wp ! north564 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri :nn_hls ,:) = 0._wp ! south except at F-point 565 pt2d(nlci-nn_hls+1:jpi+jpri,:) = 0._wp ! north 566 566 ENDIF 567 567 ! … … 585 585 iihom = nlci-nreci-jpri 586 586 DO jl = 1, ipreci 587 r2dew(:,jl,1) = pt2d( jpreci+jl,:)587 r2dew(:,jl,1) = pt2d(nn_hls+jl,:) 588 588 r2dwe(:,jl,1) = pt2d(iihom +jl,:) 589 589 END DO … … 612 612 ! 613 613 ! ! Write Dirichlet lateral conditions 614 iihom = nlci - jpreci614 iihom = nlci - nn_hls 615 615 ! 616 616 SELECT CASE ( nbondi ) … … 638 638 DO jl = 1, iprecj 639 639 r2dsn(:,jl,1) = pt2d(:,ijhom +jl) 640 r2dns(:,jl,1) = pt2d(:, jprecj+jl)640 r2dns(:,jl,1) = pt2d(:,nn_hls+jl) 641 641 END DO 642 642 ENDIF … … 664 664 ! 665 665 ! ! Write Dirichlet lateral conditions 666 ijhom = nlcj - jprecj666 ijhom = nlcj - nn_hls 667 667 ! 668 668 SELECT CASE ( nbondj ) … … 1739 1739 INTEGER, DIMENSION(MPI_STATUS_SIZE) :: ml_stat ! for key_mpi_isend 1740 1740 !! 1741 REAL(wp), DIMENSION(1-jpri:jpi+jpri, jprecj+jprj,2) :: r2dns, r2dsn1742 REAL(wp), DIMENSION(1-jprj:jpj+jprj, jpreci+jpri,2) :: r2dwe, r2dew1743 !!---------------------------------------------------------------------- 1744 1745 ipreci = jpreci+ jpri ! take into account outer extra 2D overlap area1746 iprecj = jprecj+ jprj1741 REAL(wp), DIMENSION(1-jpri:jpi+jpri,nn_hls+jprj,2) :: r2dns, r2dsn 1742 REAL(wp), DIMENSION(1-jprj:jpj+jprj,nn_hls+jpri,2) :: r2dwe, r2dew 1743 !!---------------------------------------------------------------------- 1744 1745 ipreci = nn_hls + jpri ! take into account outer extra 2D overlap area 1746 iprecj = nn_hls + jprj 1747 1747 1748 1748 … … 1758 1758 ! 1759 1759 ELSE !* closed 1760 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri : jpreci,:) = 0._wp ! south except at F-point1761 pt2d(nlci- jpreci+1:jpi+jpri,:) = 0._wp ! north1760 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri :nn_hls ,:) = 0._wp ! south except at F-point 1761 pt2d(nlci-nn_hls+1:jpi+jpri,:) = 0._wp ! north 1762 1762 ENDIF 1763 1763 ! … … 1782 1782 iihom = nlci-nreci-jpri 1783 1783 DO jl = 1, ipreci 1784 r2dew(:,jl,1) = pt2d( jpreci+jl,:)1784 r2dew(:,jl,1) = pt2d(nn_hls+jl,:) 1785 1785 r2dwe(:,jl,1) = pt2d(iihom +jl,:) 1786 1786 END DO … … 1809 1809 ! 1810 1810 ! ! Write Dirichlet lateral conditions 1811 iihom = nlci - jpreci1811 iihom = nlci - nn_hls 1812 1812 ! 1813 1813 SELECT CASE ( nbondi ) … … 1836 1836 DO jl = 1, iprecj 1837 1837 r2dsn(:,jl,1) = pt2d(:,ijhom +jl) 1838 r2dns(:,jl,1) = pt2d(:, jprecj+jl)1838 r2dns(:,jl,1) = pt2d(:,nn_hls+jl) 1839 1839 END DO 1840 1840 ENDIF … … 1862 1862 ! 1863 1863 ! ! Write Dirichlet lateral conditions 1864 ijhom = nlcj - jprecj1864 ijhom = nlcj - nn_hls 1865 1865 ! 1866 1866 SELECT CASE ( nbondj ) -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_bdy_generic.h90
r8591 r8758 93 93 ipf = F_SIZE(ptab) ! 5th - use in "multi" case (array of pointers) 94 94 ! 95 ALLOCATE( zt3ns(jpi, jprecj,ipk,ipl,ipf,2), zt3sn(jpi,jprecj,ipk,ipl,ipf,2), &96 & zt3ew(jpj, jpreci,ipk,ipl,ipf,2), zt3we(jpj,jpreci,ipk,ipl,ipf,2) )95 ALLOCATE( zt3ns(jpi,nn_hls,ipk,ipl,ipf,2), zt3sn(jpi,nn_hls,ipk,ipl,ipf,2), & 96 & zt3ew(jpj,nn_hls,ipk,ipl,ipf,2), zt3we(jpj,nn_hls,ipk,ipl,ipf,2) ) 97 97 98 98 zland = 0._wp … … 111 111 ARRAY_IN(jpi,:,:,:,jf) = ARRAY_IN( 2 ,:,:,:,jf) 112 112 ELSE !* Closed 113 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN( 1 : jpreci,:,:,:,jf) = zland ! east except F-point114 ARRAY_IN(nlci- jpreci+1:jpi ,:,:,:,jf) = zland ! west113 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN( 1 :nn_hls,:,:,:,jf) = zland ! east except F-point 114 ARRAY_IN(nlci-nn_hls+1:jpi ,:,:,:,jf) = zland ! west 115 115 ENDIF 116 116 ELSEIF(nbondi == -1) THEN ! subdomain to the east only 117 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN(1: jpreci,:,:,:,jf) = zland ! south except F-point117 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN(1:nn_hls,:,:,:,jf) = zland ! south except F-point 118 118 ! 119 119 ELSEIF(nbondi == 1) THEN ! subdomain to the west only 120 ARRAY_IN(nlci- jpreci+1:jpi,:,:,:,jf) = zland ! north120 ARRAY_IN(nlci-nn_hls+1:jpi,:,:,:,jf) = zland ! north 121 121 ENDIF 122 122 ! ! North-South boundaries 123 123 ! 124 124 IF (nbondj == 2 .OR. nbondj == -1) THEN !* closed 125 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN(:,1: jprecj,:,:,jf) = zland ! south except F-point125 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN(:,1:nn_hls,:,:,jf) = zland ! south except F-point 126 126 ELSEIF (nbondj == 2 .OR. nbondj == 1) THEN 127 ARRAY_IN(:,nlcj- jprecj+1:jpj,:,:,jf) = zland ! north127 ARRAY_IN(:,nlcj-nn_hls+1:jpj,:,:,jf) = zland ! north 128 128 ENDIF 129 129 END DO … … 140 140 DO jl = 1, ipl 141 141 DO jk = 1, ipk 142 DO jh = 1, jpreci143 zt3ew(:,jh,jk,jl,jf,1) = ARRAY_IN( jpreci+jh,:,jk,jl,jf)142 DO jh = 1, nn_hls 143 zt3ew(:,jh,jk,jl,jf,1) = ARRAY_IN(nn_hls+jh,:,jk,jl,jf) 144 144 zt3we(:,jh,jk,jl,jf,1) = ARRAY_IN(iihom +jh,:,jk,jl,jf) 145 145 END DO … … 149 149 ! 150 150 ! ! Migrations 151 !!gm imigr = jpreci* jpj * ipk * ipl * ipf152 imigr = jpreci* jpj * ipk * ipl151 !!gm imigr = nn_hls * jpj * ipk * ipl * ipf 152 imigr = nn_hls * jpj * ipk * ipl 153 153 ! 154 154 SELECT CASE ( nbondi_bdy(IBD_IN(jf)) ) … … 171 171 ! 172 172 ! ! Write Dirichlet lateral conditions 173 iihom = nlci- jpreci173 iihom = nlci-nn_hls 174 174 ! 175 175 ! … … 178 178 DO jl = 1, ipl 179 179 DO jk = 1, ipk 180 DO jh = 1, jpreci180 DO jh = 1, nn_hls 181 181 ARRAY_IN(iihom+jh,:,jk,jl,jf) = zt3ew(:,jh,jk,jl,jf,2) 182 182 END DO … … 186 186 DO jl = 1, ipl 187 187 DO jk = 1, ipk 188 DO jh = 1, jpreci188 DO jh = 1, nn_hls 189 189 ARRAY_IN(jh ,:,jk,jl,jf) = zt3we(:,jh,jk,jl,jf,2) 190 190 ARRAY_IN(iihom+jh,:,jk,jl,jf) = zt3ew(:,jh,jk,jl,jf,2) … … 195 195 DO jl = 1, ipl 196 196 DO jk = 1, ipk 197 DO jh = 1, jpreci197 DO jh = 1, nn_hls 198 198 ARRAY_IN(jh ,:,jk,jl,jf) = zt3we(:,jh,jk,jl,jf,2) 199 199 END DO … … 213 213 DO jl = 1, ipl 214 214 DO jk = 1, ipk 215 DO jh = 1, jprecj215 DO jh = 1, nn_hls 216 216 zt3sn(:,jh,jk,jl,jf,1) = ARRAY_IN(:,ijhom +jh,jk,jl,jf) 217 zt3ns(:,jh,jk,jl,jf,1) = ARRAY_IN(:, jprecj+jh,jk,jl,jf)217 zt3ns(:,jh,jk,jl,jf,1) = ARRAY_IN(:,nn_hls+jh,jk,jl,jf) 218 218 END DO 219 219 END DO … … 222 222 ! 223 223 ! ! Migrations 224 !!gm imigr = jprecj* jpi * ipk * ipl * ipf225 imigr = jprecj* jpi * ipk * ipl224 !!gm imigr = nn_hls * jpi * ipk * ipl * ipf 225 imigr = nn_hls * jpi * ipk * ipl 226 226 ! 227 227 SELECT CASE ( nbondj_bdy(IBD_IN(jf)) ) … … 244 244 ! 245 245 ! ! Write Dirichlet lateral conditions 246 ijhom = nlcj- jprecj246 ijhom = nlcj-nn_hls 247 247 ! 248 248 SELECT CASE ( nbondj_bdy_b(IBD_IN(jf)) ) … … 250 250 DO jl = 1, ipl 251 251 DO jk = 1, ipk 252 DO jh = 1, jprecj252 DO jh = 1, nn_hls 253 253 ARRAY_IN(:,ijhom+jh,jk,jl,jf) = zt3ns(:,jh,jk,jl,jf,2) 254 254 END DO … … 258 258 DO jl = 1, ipl 259 259 DO jk = 1, ipk 260 DO jh = 1, jprecj260 DO jh = 1, nn_hls 261 261 ARRAY_IN(:, jh,jk,jl,jf) = zt3sn(:,jh,jk,jl,jf,2) 262 262 ARRAY_IN(:,ijhom+jh,jk,jl,jf) = zt3ns(:,jh,jk,jl,jf,2) … … 267 267 DO jl = 1, ipl 268 268 DO jk = 1, ipk 269 DO jh = 1, jprecj269 DO jh = 1, nn_hls 270 270 ARRAY_IN(:,jh,jk,jl,jf) = zt3sn(:,jh,jk,jl,jf,2) 271 271 END DO -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_lnk_generic.h90
r8591 r8758 72 72 ipf = F_SIZE(ptab) ! 5th - use in "multi" case (array of pointers) 73 73 ! 74 ALLOCATE( zt3ns(jpi, jprecj,ipk,ipl,ipf,2), zt3sn(jpi,jprecj,ipk,ipl,ipf,2), &75 & zt3ew(jpj, jpreci,ipk,ipl,ipf,2), zt3we(jpj,jpreci,ipk,ipl,ipf,2) )74 ALLOCATE( zt3ns(jpi,nn_hls,ipk,ipl,ipf,2), zt3sn(jpi,nn_hls,ipk,ipl,ipf,2), & 75 & zt3ew(jpj,nn_hls,ipk,ipl,ipf,2), zt3we(jpj,nn_hls,ipk,ipl,ipf,2) ) 76 76 ! 77 77 ll_Iperio = nbondi == 2 .AND. (nperio == 1 .OR. nperio == 4 .OR. nperio == 6) … … 116 116 ARRAY_IN(jpi,:,:,:,jf) = ARRAY_IN( 2 ,:,:,:,jf) 117 117 ELSE !* closed 118 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN( 1 : jpreci,:,:,:,jf) = zland ! east except F-point119 ARRAY_IN(nlci- jpreci+1:jpi ,:,:,:,jf) = zland ! west118 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN( 1 :nn_hls,:,:,:,jf) = zland ! east except F-point 119 ARRAY_IN(nlci-nn_hls+1:jpi ,:,:,:,jf) = zland ! west 120 120 ENDIF 121 121 ! ! North-South boundaries … … 124 124 ARRAY_IN(:,jpj,:,:,jf) = ARRAY_IN(:, 2 ,:,:,jf) 125 125 ELSE !* closed 126 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN(:, 1 : jprecj,:,:,jf) = zland ! south except F-point127 ARRAY_IN(:,nlcj- jprecj+1:jpj ,:,:,jf) = zland ! north126 IF( .NOT. NAT_IN(jf) == 'F' ) ARRAY_IN(:, 1 :nn_hls,:,:,jf) = zland ! south except F-point 127 ARRAY_IN(:,nlcj-nn_hls+1:jpj ,:,:,jf) = zland ! north 128 128 ENDIF 129 129 END DO … … 142 142 DO jl = 1, ipl 143 143 DO jk = 1, ipk 144 DO jh = 1, jpreci145 zt3ew(:,jh,jk,jl,jf,1) = ARRAY_IN( jpreci+jh,:,jk,jl,jf)144 DO jh = 1, nn_hls 145 zt3ew(:,jh,jk,jl,jf,1) = ARRAY_IN(nn_hls+jh,:,jk,jl,jf) 146 146 zt3we(:,jh,jk,jl,jf,1) = ARRAY_IN(iihom +jh,:,jk,jl,jf) 147 147 END DO … … 152 152 ! 153 153 ! ! Migrations 154 imigr = jpreci* jpj * ipk * ipl * ipf154 imigr = nn_hls * jpj * ipk * ipl * ipf 155 155 ! 156 156 SELECT CASE ( nbondi ) … … 173 173 ! 174 174 ! ! Write Dirichlet lateral conditions 175 iihom = nlci- jpreci175 iihom = nlci-nn_hls 176 176 ! 177 177 SELECT CASE ( nbondi ) … … 180 180 DO jl = 1, ipl 181 181 DO jk = 1, ipk 182 DO jh = 1, jpreci182 DO jh = 1, nn_hls 183 183 ARRAY_IN(iihom+jh,:,jk,jl,jf) = zt3ew(:,jh,jk,jl,jf,2) 184 184 END DO … … 190 190 DO jl = 1, ipl 191 191 DO jk = 1, ipk 192 DO jh = 1, jpreci192 DO jh = 1, nn_hls 193 193 ARRAY_IN(jh ,:,jk,jl,jf) = zt3we(:,jh,jk,jl,jf,2) 194 194 ARRAY_IN(iihom+jh,:,jk,jl,jf) = zt3ew(:,jh,jk,jl,jf,2) … … 201 201 DO jl = 1, ipl 202 202 DO jk = 1, ipk 203 DO jh = 1, jpreci203 DO jh = 1, nn_hls 204 204 ARRAY_IN(jh ,:,jk,jl,jf) = zt3we(:,jh,jk,jl,jf,2) 205 205 END DO … … 218 218 DO jl = 1, ipl 219 219 DO jk = 1, ipk 220 DO jh = 1, jprecj220 DO jh = 1, nn_hls 221 221 zt3sn(:,jh,jk,jl,jf,1) = ARRAY_IN(:,ijhom +jh,jk,jl,jf) 222 zt3ns(:,jh,jk,jl,jf,1) = ARRAY_IN(:, jprecj+jh,jk,jl,jf)222 zt3ns(:,jh,jk,jl,jf,1) = ARRAY_IN(:,nn_hls+jh,jk,jl,jf) 223 223 END DO 224 224 END DO … … 228 228 ! 229 229 ! ! Migrations 230 imigr = jprecj* jpi * ipk * ipl * ipf230 imigr = nn_hls * jpi * ipk * ipl * ipf 231 231 ! 232 232 SELECT CASE ( nbondj ) … … 249 249 ! 250 250 ! ! Write Dirichlet lateral conditions 251 ijhom = nlcj- jprecj251 ijhom = nlcj-nn_hls 252 252 ! 253 253 SELECT CASE ( nbondj ) … … 256 256 DO jl = 1, ipl 257 257 DO jk = 1, ipk 258 DO jh = 1, jprecj258 DO jh = 1, nn_hls 259 259 ARRAY_IN(:,ijhom+jh,jk,jl,jf) = zt3ns(:,jh,jk,jl,jf,2) 260 260 END DO … … 266 266 DO jl = 1, ipl 267 267 DO jk = 1, ipk 268 DO jh = 1, jprecj268 DO jh = 1, nn_hls 269 269 ARRAY_IN(:, jh,jk,jl,jf) = zt3sn(:,jh,jk,jl,jf,2) 270 270 ARRAY_IN(:,ijhom+jh,jk,jl,jf) = zt3ns(:,jh,jk,jl,jf,2) … … 277 277 DO jl = 1, ipl 278 278 DO jk = 1, ipk 279 DO jh = 1, jprecj279 DO jh = 1, nn_hls 280 280 ARRAY_IN(:,jh,jk,jl,jf) = zt3sn(:,jh,jk,jl,jf,2) 281 281 END DO -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_nfd_generic.h90
r8314 r8758 73 73 ipj = 4 ! 2nd dimension of message transfers (last j-lines) 74 74 ! 75 ALLOCATE( znorthloc(jpi ,4,ipk,ipl,ipf) )75 ALLOCATE( znorthloc(jpimax,4,ipk,ipl,ipf) ) 76 76 ! 77 77 znorthloc(:,:,:,:,:) = 0._wp … … 82 82 DO jj = nlcj - ipj +1, nlcj 83 83 ij = jj - nlcj + ipj 84 znorthloc( :,ij,jk,jl,jf) = ARRAY_IN(:,jj,jk,jl,jf)84 znorthloc(1:jpi,ij,jk,jl,jf) = ARRAY_IN(1:jpi,jj,jk,jl,jf) 85 85 END DO 86 86 END DO … … 89 89 ! 90 90 ! 91 itaille = jpi * ipj * ipk * ipl * ipf91 itaille = jpimax * ipj * ipk * ipl * ipf 92 92 ! 93 93 IF( l_north_nogather ) THEN !== ???? ==! … … 177 177 ELSE !== ???? ==! 178 178 ALLOCATE( ztab (jpiglo,4,ipk,ipl,ipf ) ) 179 ALLOCATE( znorthgloio(jpi 179 ALLOCATE( znorthgloio(jpimax,4,ipk,ipl,ipf,jpni) ) 180 180 ! 181 181 CALL MPI_ALLGATHER( znorthloc , itaille, MPI_DOUBLE_PRECISION, & -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90
r8375 r8758 153 153 ! dimensions divided by the number of processors minus the overlap array. 154 154 ! 155 nreci = 2 * jpreci156 nrecj = 2 * jprecj155 nreci = 2 * nn_hls 156 nrecj = 2 * nn_hls 157 157 iresti = 1 + MOD( jpiglo - nreci -1 , jpni ) 158 158 irestj = 1 + MOD( jpjglo - nrecj -1 , jpnj ) 159 159 ! 160 ! Need to use jpimax and jpjmax here since jpi and jpj have already been 161 ! shrunk to local sizes in nemogcm 160 162 #if defined key_nemocice_decomp 161 163 ! Change padding to be consistent with CICE 162 ilci(1:jpni-1 ,:) = jpi 163 ilci(jpni ,:) = jpiglo - (jpni - 1) * (jpi - nreci)164 ! 165 ilcj(:, 1:jpnj-1) = jpj 166 ilcj(:, jpnj) = jpjglo - (jpnj - 1) * (jpj - nrecj)164 ilci(1:jpni-1 ,:) = jpimax 165 ilci(jpni ,:) = jpiglo - (jpni - 1) * (jpimax - nreci) 166 ! 167 ilcj(:, 1:jpnj-1) = jpjmax 168 ilcj(:, jpnj) = jpjglo - (jpnj - 1) * (jpjmax - nrecj) 167 169 #else 168 ilci(1:iresti ,:) = jpi 169 ilci(iresti+1:jpni ,:) = jpi -1170 171 ilcj(:, 1:irestj) = jpj 172 ilcj(:, irestj+1:jpnj) = jpj -1170 ilci(1:iresti ,:) = jpimax 171 ilci(iresti+1:jpni ,:) = jpimax-1 172 173 ilcj(:, 1:irestj) = jpjmax 174 ilcj(:, irestj+1:jpnj) = jpjmax-1 173 175 #endif 174 176 ! … … 237 239 ioea(ii,ij) = iproc + 1 238 240 iono(ii,ij) = iproc + jpni 239 ildi(ii,ij) = 1 + jpreci240 ilei(ii,ij) = ili - jpreci241 ildi(ii,ij) = 1 + nn_hls 242 ilei(ii,ij) = ili - nn_hls 241 243 242 244 IF( ibondi(ii,ij) == -1 .OR. ibondi(ii,ij) == 2 ) ildi(ii,ij) = 1 243 245 IF( ibondi(ii,ij) == 1 .OR. ibondi(ii,ij) == 2 ) ilei(ii,ij) = ili 244 ildj(ii,ij) = 1 + jprecj245 ilej(ii,ij) = ilj - jprecj246 ildj(ii,ij) = 1 + nn_hls 247 ilej(ii,ij) = ilj - nn_hls 246 248 IF( ibondj(ii,ij) == -1 .OR. ibondj(ii,ij) == 2 ) ildj(ii,ij) = 1 247 249 IF( ibondj(ii,ij) == 1 .OR. ibondj(ii,ij) == 2 ) ilej(ii,ij) = ilj … … 441 443 IF (lwp) THEN 442 444 CALL ctl_opn( inum, 'layout.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 443 WRITE(inum,'(a)') ' jpnij jpi jpj jpk jpiglo jpjglo' 444 WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo 445 WRITE(inum,'(a)') ' jpnij jpimax jpjmax jpk jpiglo jpjglo'//& 446 & ' ( local: narea jpi jpj)' 447 WRITE(inum,'(6i8,a,3i8,a)') jpnij,jpimax,jpjmax,jpk,jpiglo,jpjglo,& 448 & ' ( local: ',narea,jpi,jpj,' )' 445 449 WRITE(inum,'(a)') 'NAREA nlci nlcj nldi nldj nlei nlej nimp njmp nono noso nowe noea nbondi nbondj ' 446 450 … … 488 492 WRITE(numout,*) ' nreci = ', nreci 489 493 WRITE(numout,*) ' nrecj = ', nrecj 490 WRITE(numout,*) ' jpreci = ', jpreci 491 WRITE(numout,*) ' jprecj = ', jprecj 494 WRITE(numout,*) ' nn_hls = ', nn_hls 492 495 ENDIF 493 496
Note: See TracChangeset
for help on using the changeset viewer.