Changeset 8758 for branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_bdy_generic.h90
- Timestamp:
- 2017-11-20T17:29:54+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.