- Timestamp:
- 2014-03-26T12:52:24+01:00 (10 years ago)
- Location:
- branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/OPATAM_SRC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/OPATAM_SRC/DYN/dynspg_flt_tam.F90
r4578 r4597 865 865 zub_adout(:,:,:) = ub_ad(:,:,:) 866 866 zvb_adout(:,:,:) = vb_ad(:,:,:) 867 zemp_adout (:,:) = emp_ad (:,:)868 867 zsshn_adout(:,:) = sshn_ad(:,:) 869 868 zgcx_adout (:,:) = gcx_ad (:,:) -
branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/OPATAM_SRC/LBC/lbcnfd_tam.F90
r4585 r4597 55 55 ! 56 56 INTEGER :: ji, jk 57 INTEGER :: ijt, iju, ijpj,ijpjm157 INTEGER :: zijt, ziju, zijpj, zijpjm1 58 58 ! 59 59 REAL(wp) :: ztmp … … 61 61 62 62 SELECT CASE ( jpni ) 63 CASE ( 1 ) ; ijpj = nlcj ! 1 proc only along the i-direction64 CASE DEFAULT ; ijpj = 4 ! several proc along the i-direction63 CASE ( 1 ) ; zijpj = nlcj ! 1 proc only along the i-direction 64 CASE DEFAULT ; zijpj = 4 ! several proc along the i-direction 65 65 END SELECT 66 ijpjm1 =ijpj-166 zijpjm1 = zijpj-1 67 67 68 68 DO jk = 1, jpk … … 75 75 CASE ( 'T' , 'W' ) ! T-, W-point 76 76 DO ji = jpiglo, jpiglo/2+1, -1 77 ijt = jpiglo-ji+278 ztmp = psgn * pt3d(ji, ijpjm1,jk)79 pt3d(ji , ijpjm1,jk) = 0.0_wp80 pt3d( ijt,ijpjm1,jk) = pt3d(ijt,ijpjm1,jk) + ztmp77 zijt = jpiglo-ji+2 78 ztmp = psgn * pt3d(ji,zijpjm1,jk) 79 pt3d(ji ,zijpjm1,jk) = 0.0_wp 80 pt3d(zijt,zijpjm1,jk) = pt3d(zijt,zijpjm1,jk) + ztmp 81 81 END DO 82 82 83 83 DO ji = jpiglo, 2, -1 84 ijt = jpiglo-ji+285 pt3d( ijt,ijpj-2,jk) = pt3d(ijt,ijpj-2,jk) + psgn * pt3d(ji,ijpj,jk)86 pt3d(ji , ijpj ,jk) = 0.0_wp84 zijt = jpiglo-ji+2 85 pt3d(zijt,zijpj-2,jk) = pt3d(zijt,zijpj-2,jk) + psgn * pt3d(ji,zijpj,jk) 86 pt3d(ji ,zijpj ,jk) = 0.0_wp 87 87 END DO 88 88 CASE ( 'U' ) ! U-point 89 89 DO ji = jpiglo-1, jpiglo/2, -1 90 iju = jpiglo-ji+191 ztmp = psgn * pt3d(ji, ijpjm1,jk)92 pt3d(ji , ijpjm1,jk) = 0.0_wp93 pt3d( iju,ijpjm1,jk) = pt3d(iju,ijpjm1,jk) + ztmp90 ziju = jpiglo-ji+1 91 ztmp = psgn * pt3d(ji,zijpjm1,jk) 92 pt3d(ji ,zijpjm1,jk) = 0.0_wp 93 pt3d(ziju,zijpjm1,jk) = pt3d(ziju,zijpjm1,jk) + ztmp 94 94 END DO 95 95 96 96 DO ji = jpiglo-1, 1, -1 97 iju = jpiglo-ji+198 pt3d( iju,ijpj-2,jk) = pt3d(iju,ijpj-2,jk) + psgn * pt3d(ji,ijpj,jk)99 pt3d(ji , ijpj ,jk) = 0.0_wp97 ziju = jpiglo-ji+1 98 pt3d(ziju,zijpj-2,jk) = pt3d(ziju,zijpj-2,jk) + psgn * pt3d(ji,zijpj,jk) 99 pt3d(ji ,zijpj ,jk) = 0.0_wp 100 100 END DO 101 101 CASE ( 'V' ) ! V-point 102 102 DO ji = jpiglo, 2, -1 103 ijt = jpiglo-ji+2104 pt3d( ijt,ijpj-3,jk) = pt3d(ijt,ijpj-3,jk) + psgn * pt3d(ji,ijpj ,jk)105 pt3d(ji, ijpj ,jk) = 0.0_wp106 pt3d( ijt,ijpj-2,jk) = pt3d(ijt,ijpj-2,jk) + psgn * pt3d(ji,ijpj-1,jk)107 pt3d(ji, ijpj-1,jk) = 0.0_wp103 zijt = jpiglo-ji+2 104 pt3d(zijt,zijpj-3,jk) = pt3d(zijt,zijpj-3,jk) + psgn * pt3d(ji,zijpj ,jk) 105 pt3d(ji,zijpj ,jk) = 0.0_wp 106 pt3d(zijt,zijpj-2,jk) = pt3d(zijt,zijpj-2,jk) + psgn * pt3d(ji,zijpj-1,jk) 107 pt3d(ji,zijpj-1,jk) = 0.0_wp 108 108 END DO 109 109 CASE ( 'F' ) ! F-point 110 110 DO ji = jpiglo-1, 1, -1 111 iju = jpiglo-ji+1112 pt3d( iju,ijpj-3,jk) = pt3d(iju,ijpj-3,jk) + psgn * pt3d(ji,ijpj ,jk)113 pt3d(ji , ijpj ,jk) = 0.0_wp114 pt3d( iju,ijpj-2,jk) = pt3d(iju,ijpj-2,jk) + psgn * pt3d(ji,ijpj-1,jk)115 pt3d(ji , ijpj-1,jk) = 0.0_wp111 ziju = jpiglo-ji+1 112 pt3d(ziju,zijpj-3,jk) = pt3d(ziju,zijpj-3,jk) + psgn * pt3d(ji,zijpj ,jk) 113 pt3d(ji ,zijpj ,jk) = 0.0_wp 114 pt3d(ziju,zijpj-2,jk) = pt3d(ziju,zijpj-2,jk) + psgn * pt3d(ji,zijpj-1,jk) 115 pt3d(ji ,zijpj-1,jk) = 0.0_wp 116 116 END DO 117 117 END SELECT … … 122 122 CASE ( 'T' , 'W' ) ! T-, W-point 123 123 DO ji = jpiglo, 1, -1 124 ijt = jpiglo-ji+1125 pt3d( ijt,ijpj-1,jk) = pt3d(ijt,ijpj-1,jk) + psgn * pt3d(ji,ijpj,jk)126 pt3d(ji , ijpj ,jk) = 0.0_wp124 zijt = jpiglo-ji+1 125 pt3d(zijt,zijpj-1,jk) = pt3d(zijt,zijpj-1,jk) + psgn * pt3d(ji,zijpj,jk) 126 pt3d(ji ,zijpj ,jk) = 0.0_wp 127 127 END DO 128 128 CASE ( 'U' ) ! U-point 129 129 DO ji = jpiglo-1, 1, -1 130 iju = jpiglo-ji131 pt3d( iju,ijpj-1,jk) = pt3d(iju,ijpj-1,jk) + psgn * pt3d(ji,ijpj,jk)132 pt3d(ji , ijpj ,jk) = 0.0_wp130 ziju = jpiglo-ji 131 pt3d(ziju,zijpj-1,jk) = pt3d(ziju,zijpj-1,jk) + psgn * pt3d(ji,zijpj,jk) 132 pt3d(ji ,zijpj ,jk) = 0.0_wp 133 133 END DO 134 134 CASE ( 'V' ) ! V-point 135 135 DO ji = jpiglo, jpiglo/2+1, -1 136 ijt = jpiglo-ji+1137 ztmp = psgn * pt3d(ji, ijpjm1,jk)138 pt3d(ji , ijpjm1,jk) = 0.0_wp139 pt3d( ijt,ijpjm1,jk) = pt3d(ijt,ijpjm1,jk) + ztmp136 zijt = jpiglo-ji+1 137 ztmp = psgn * pt3d(ji,zijpjm1,jk) 138 pt3d(ji ,zijpjm1,jk) = 0.0_wp 139 pt3d(zijt,zijpjm1,jk) = pt3d(zijt,zijpjm1,jk) + ztmp 140 140 END DO 141 141 DO ji = jpiglo, 1, -1 142 ijt = jpiglo-ji+1143 pt3d( ijt,ijpj-2,jk) = pt3d(ijt,ijpj-2,jk) + psgn * pt3d(ji,ijpj,jk)144 pt3d(ji , ijpj ,jk) = 0.0_wp142 zijt = jpiglo-ji+1 143 pt3d(zijt,zijpj-2,jk) = pt3d(zijt,zijpj-2,jk) + psgn * pt3d(ji,zijpj,jk) 144 pt3d(ji ,zijpj ,jk) = 0.0_wp 145 145 END DO 146 146 CASE ( 'F' ) ! F-point 147 147 DO ji = jpiglo-1, jpiglo/2+1, -1 148 iju = jpiglo-ji149 ztmp = psgn * pt3d(ji, ijpjm1,jk)150 pt3d(ji , ijpjm1,jk) = 0.0_wp151 pt3d( iju,ijpjm1,jk) = pt3d(iju,ijpjm1,jk) + ztmp148 ziju = jpiglo-ji 149 ztmp = psgn * pt3d(ji,zijpjm1,jk) 150 pt3d(ji ,zijpjm1,jk) = 0.0_wp 151 pt3d(ziju,zijpjm1,jk) = pt3d(ziju,zijpjm1,jk) + ztmp 152 152 END DO 153 153 DO ji = jpiglo-1, 1, -1 154 iju = jpiglo-ji155 pt3d( iju,ijpj-2,jk) = pt3d(iju,ijpj-2,jk) + psgn * pt3d(ji,ijpj ,jk)156 pt3d(ji , ijpj ,jk) = 0.0_wp154 ziju = jpiglo-ji 155 pt3d(ziju,zijpj-2,jk) = pt3d(ziju,zijpj-2,jk) + psgn * pt3d(ji,zijpj ,jk) 156 pt3d(ji ,zijpj ,jk) = 0.0_wp 157 157 END DO 158 158 END SELECT … … 163 163 CASE ( 'T' , 'U' , 'V' , 'W' ) ! T-, U-, V-, W-points 164 164 pt3d(:, 1 ,jk) = 0.e0 165 pt3d(:, ijpj,jk) = 0.e0165 pt3d(:,zijpj,jk) = 0.e0 166 166 CASE ( 'F' ) ! F-point 167 pt3d(:, ijpj,jk) = 0.e0167 pt3d(:,zijpj,jk) = 0.e0 168 168 END SELECT 169 169 ! … … 195 195 ! 196 196 INTEGER :: ji, jl, ipr2dj 197 INTEGER :: ijt, iju, ijpj,ijpjm1197 INTEGER :: zijt, ziju, zijpj, zijpjm1 198 198 ! 199 199 REAL(wp) :: ztmp … … 201 201 202 202 SELECT CASE ( jpni ) 203 CASE ( 1 ) ; ijpj = nlcj ! 1 proc only along the i-direction204 CASE DEFAULT ; ijpj = 4 ! several proc along the i-direction203 CASE ( 1 ) ; zijpj = nlcj ! 1 proc only along the i-direction 204 CASE DEFAULT ; zijpj = 4 ! several proc along the i-direction 205 205 END SELECT 206 206 ! 207 207 IF( PRESENT(pr2dj) ) THEN ! use of additional halos 208 208 ipr2dj = pr2dj 209 IF( jpni > 1 ) ijpj =ijpj + ipr2dj209 IF( jpni > 1 ) zijpj = zijpj + ipr2dj 210 210 ELSE 211 211 ipr2dj = 0 212 212 ENDIF 213 213 ! 214 ijpjm1 =ijpj-1214 zijpjm1 = zijpj-1 215 215 SELECT CASE ( npolj ) 216 216 ! … … 221 221 CASE ( 'T', 'W' ) 222 222 DO ji = jpiglo, jpiglo/2+1, -1 223 ijt=jpiglo-ji+2224 ztmp = psgn * pt2d(ji, ijpj-1)225 pt2d(ji, ijpj-1) = 0.0_wp226 pt2d( ijt,ijpj-1) = pt2d(ijt,ijpj-1) + ztmp223 zijt=jpiglo-ji+2 224 ztmp = psgn * pt2d(ji,zijpj-1) 225 pt2d(ji,zijpj-1) = 0.0_wp 226 pt2d(zijt,zijpj-1) = pt2d(zijt,zijpj-1) + ztmp 227 227 END DO 228 228 DO jl = ipr2dj, 0, -1 229 229 DO ji = jpiglo, 2, -1 230 ijt=jpiglo-ji+2231 ztmp = psgn * pt2d(ji, ijpj+jl)232 pt2d(ji , ijpj+jl ) = 0.0_wp233 pt2d( ijt,ijpj-2-jl) = pt2d(ijt,ijpj-2-jl) + ztmp230 zijt=jpiglo-ji+2 231 ztmp = psgn * pt2d(ji,zijpj+jl) 232 pt2d(ji ,zijpj+jl ) = 0.0_wp 233 pt2d(zijt,zijpj-2-jl) = pt2d(zijt,zijpj-2-jl) + ztmp 234 234 END DO 235 235 END DO 236 236 CASE ( 'U' ) ! U-point 237 237 DO ji = jpiglo-1, jpiglo/2, -1 238 iju = jpiglo-ji+1239 ztmp = psgn * pt2d(ji, ijpjm1)240 pt2d(ji, ijpjm1) = 0.0_wp241 pt2d( iju,ijpjm1) = pt2d(iju,ijpjm1) + ztmp238 ziju = jpiglo-ji+1 239 ztmp = psgn * pt2d(ji,zijpjm1) 240 pt2d(ji,zijpjm1) = 0.0_wp 241 pt2d(ziju,zijpjm1) = pt2d(ziju,zijpjm1) + ztmp 242 242 END DO 243 243 DO jl = ipr2dj, 0, -1 244 244 DO ji = jpiglo-1, 1, -1 245 iju = jpiglo-ji+1246 ztmp = psgn * pt2d(ji, ijpj+jl)247 pt2d(ji , ijpj+jl ) = 0.0_wp248 pt2d( iju,ijpj-2-jl) = pt2d(iju,ijpj-2-jl) + ztmp245 ziju = jpiglo-ji+1 246 ztmp = psgn * pt2d(ji,zijpj+jl) 247 pt2d(ji ,zijpj+jl ) = 0.0_wp 248 pt2d(ziju,zijpj-2-jl) = pt2d(ziju,zijpj-2-jl) + ztmp 249 249 END DO 250 250 END DO … … 252 252 DO jl = ipr2dj, -1, -1 253 253 DO ji = jpiglo, 2, -1 254 ijt = jpiglo-ji+2255 ztmp = psgn * pt2d(ji, ijpj+jl)256 pt2d(ji , ijpj+jl ) = 0.0_wp257 pt2d( ijt,ijpj-3-jl) = pt2d(ijt,ijpj-3-jl) + ztmp254 zijt = jpiglo-ji+2 255 ztmp = psgn * pt2d(ji,zijpj+jl) 256 pt2d(ji ,zijpj+jl ) = 0.0_wp 257 pt2d(zijt,zijpj-3-jl) = pt2d(zijt,zijpj-3-jl) + ztmp 258 258 END DO 259 259 END DO … … 261 261 DO jl = ipr2dj, -1, -1 262 262 DO ji = jpiglo-1, 1, -1 263 iju = jpiglo-ji+1264 ztmp = psgn * pt2d(ji, ijpj+jl)265 pt2d(ji, ijpj+jl) = 0.0_wp266 pt2d( iju,ijpj-3-jl) = pt2d(iju,ijpj-3-jl) + ztmp263 ziju = jpiglo-ji+1 264 ztmp = psgn * pt2d(ji,zijpj+jl) 265 pt2d(ji,zijpj+jl) = 0.0_wp 266 pt2d(ziju,zijpj-3-jl) = pt2d(ziju,zijpj-3-jl) + ztmp 267 267 END DO 268 268 END DO … … 270 270 DO jl = ipr2dj, 0, -1 271 271 DO ji = jpiglo, 3, -1 272 iju = jpiglo - ji + 3273 ztmp = psgn * pt2d(ji, ijpj+jl)274 pt2d(ji, ijpj+jl) = 0.0_wp275 pt2d( iju,ijpj-1-jl) = pt2d(iju,ijpj-1-jl) + ztmp276 END DO 277 ztmp = psgn * pt2d(2, ijpj+jl)278 pt2d(2, ijpj+jl) = 0.0_wp279 pt2d(3, ijpj-1+jl) = pt2d(3,ijpj-1+jl) + ztmp272 ziju = jpiglo - ji + 3 273 ztmp = psgn * pt2d(ji,zijpj+jl) 274 pt2d(ji,zijpj+jl) = 0.0_wp 275 pt2d(ziju,zijpj-1-jl) = pt2d(ziju,zijpj-1-jl) + ztmp 276 END DO 277 ztmp = psgn * pt2d(2,zijpj+jl) 278 pt2d(2,zijpj+jl) = 0.0_wp 279 pt2d(3,zijpj-1+jl) = pt2d(3,zijpj-1+jl) + ztmp 280 280 END DO 281 281 CASE ( 'J' ) ! first ice U-V point 282 282 DO jl =ipr2dj,0,-1 283 283 DO ji = 3, jpiglo 284 iju = jpiglo - ji + 3285 ztmp = psgn * pt2d(ji, ijpj+jl)286 pt2d(ji, ijpj+jl) = 0.0_wp287 pt2d( iju,ijpj-1-jl) = pt2d(iju,ijpj-1-jl) + ztmp288 END DO 289 pt2d(3, ijpj-1+jl) = pt2d(3,ijpj-1+jl) + psgn * pt2d(2,ijpj+jl)290 pt2d(2, ijpj+jl) = 0.0_wp284 ziju = jpiglo - ji + 3 285 ztmp = psgn * pt2d(ji,zijpj+jl) 286 pt2d(ji,zijpj+jl) = 0.0_wp 287 pt2d(ziju,zijpj-1-jl) = pt2d(ziju,zijpj-1-jl) + ztmp 288 END DO 289 pt2d(3,zijpj-1+jl) = pt2d(3,zijpj-1+jl) + psgn * pt2d(2,zijpj+jl) 290 pt2d(2,zijpj+jl) = 0.0_wp 291 291 END DO 292 292 CASE ( 'K' ) ! second ice U-V point 293 293 DO jl =0, ipr2dj 294 294 DO ji = 3, jpiglo 295 iju = jpiglo - ji + 3296 pt2d(3, ijpj-1+jl) = pt2d(3,ijpj-1+jl) + psgn * pt2d(ji,ijpj+jl)297 pt2d(ji, ijpj+jl) = 0.0_wp298 END DO 299 ztmp = psgn * pt2d(2, ijpj+jl)300 pt2d(2, ijpj+jl) = 0.0_wp301 pt2d(3, ijpj-1+jl) = pt2d(3,ijpj-1+jl) + ztmp295 ziju = jpiglo - ji + 3 296 pt2d(3,zijpj-1+jl) = pt2d(3,zijpj-1+jl) + psgn * pt2d(ji,zijpj+jl) 297 pt2d(ji,zijpj+jl) = 0.0_wp 298 END DO 299 ztmp = psgn * pt2d(2,zijpj+jl) 300 pt2d(2,zijpj+jl) = 0.0_wp 301 pt2d(3,zijpj-1+jl) = pt2d(3,zijpj-1+jl) + ztmp 302 302 END DO 303 303 END SELECT … … 309 309 DO jl = ipr2dj, 0, -1 310 310 DO ji = jpiglo, 1, -1 311 ijt = jpiglo-ji+1312 ztmp = psgn * pt2d(ji, ijpj+jl)313 pt2d(ji , ijpj+jl ) = 0.0_wp314 pt2d( ijt,ijpj-1-jl) = pt2d(ijt,ijpj-1-jl) + ztmp311 zijt = jpiglo-ji+1 312 ztmp = psgn * pt2d(ji,zijpj+jl) 313 pt2d(ji ,zijpj+jl ) = 0.0_wp 314 pt2d(zijt,zijpj-1-jl) = pt2d(zijt,zijpj-1-jl) + ztmp 315 315 END DO 316 316 END DO … … 318 318 DO jl = ipr2dj, 0, -1 319 319 DO ji = jpiglo-1, 1, -1 320 iju = jpiglo-ji321 ztmp = psgn * pt2d(ji, ijpj+jl)322 pt2d(ji, ijpj+jl) = 0.0_wp323 pt2d( iju,ijpj-1-jl) = pt2d(iju,ijpj-1-jl) + ztmp320 ziju = jpiglo-ji 321 ztmp = psgn * pt2d(ji,zijpj+jl) 322 pt2d(ji,zijpj+jl) = 0.0_wp 323 pt2d(ziju,zijpj-1-jl) = pt2d(ziju,zijpj-1-jl) + ztmp 324 324 END DO 325 325 END DO 326 326 CASE ( 'V' ) ! V-point 327 327 DO ji = jpiglo, jpiglo/2+1, -1 328 ijt = jpiglo-ji+1329 ztmp = psgn * pt2d(ji, ijpjm1)330 pt2d(ji , ijpjm1) = 0.0_wp331 pt2d( ijt,ijpjm1) = pt2d(ijt,ijpjm1) + ztmp328 zijt = jpiglo-ji+1 329 ztmp = psgn * pt2d(ji,zijpjm1) 330 pt2d(ji ,zijpjm1) = 0.0_wp 331 pt2d(zijt,zijpjm1) = pt2d(zijt,zijpjm1) + ztmp 332 332 END DO 333 333 DO jl = ipr2dj, 0, -1 334 334 DO ji = jpiglo, 1, -1 335 ijt = jpiglo-ji+1336 ztmp = psgn * pt2d(ji, ijpj+jl)337 pt2d(ji, ijpj+jl) = 0.0_wp338 pt2d( ijt,ijpj-2-jl) = pt2d(ijt,ijpj-2-jl) + ztmp335 zijt = jpiglo-ji+1 336 ztmp = psgn * pt2d(ji,zijpj+jl) 337 pt2d(ji,zijpj+jl) = 0.0_wp 338 pt2d(zijt,zijpj-2-jl) = pt2d(zijt,zijpj-2-jl) + ztmp 339 339 END DO 340 340 END DO 341 341 CASE ( 'F' ) ! F-point 342 342 DO ji = jpiglo-1, jpiglo/2+1, -1 343 iju = jpiglo-ji344 ztmp = psgn * pt2d(ji, ijpjm1)345 pt2d(ji , ijpjm1) = 0.0_wp346 pt2d( iju,ijpjm1) = pt2d(iju,ijpjm1) + ztmp343 ziju = jpiglo-ji 344 ztmp = psgn * pt2d(ji,zijpjm1) 345 pt2d(ji ,zijpjm1) = 0.0_wp 346 pt2d(ziju,zijpjm1) = pt2d(ziju,zijpjm1) + ztmp 347 347 END DO 348 348 DO jl = ipr2dj, 0, -1 349 349 DO ji = jpiglo-1, 1, -1 350 iju = jpiglo-ji351 ztmp = psgn * pt2d(ji, ijpj+jl)352 pt2d(ji , ijpj+jl ) = 0.0_wp353 pt2d( iju,ijpj-2-jl) = pt2d(iju,ijpj-2-jl) + ztmp350 ziju = jpiglo-ji 351 ztmp = psgn * pt2d(ji,zijpj+jl) 352 pt2d(ji ,zijpj+jl ) = 0.0_wp 353 pt2d(ziju,zijpj-2-jl) = pt2d(ziju,zijpj-2-jl) + ztmp 354 354 END DO 355 355 END DO … … 357 357 DO jl = ipr2dj, 0, -1 358 358 DO ji = jpiglo-1, 2, -1 359 ijt = jpiglo - ji + 2360 pt2d(ji , ijpj-1-jl) = pt2d(ji ,ijpj-1-jl) + 0.5 * pt2d(ji,ijpj+jl)361 pt2d( ijt,ijpj-1-jl) = pt2d(ijt,ijpj-1-jl) + 0.5 * psgn * pt2d(ji,ijpj+jl)362 pt2d(ji , ijpj+jl ) = 0.0_wp363 END DO 364 END DO 365 pt2d( 2 , ijpj:ijpj+ipr2dj) = 0.0_wp359 zijt = jpiglo - ji + 2 360 pt2d(ji ,zijpj-1-jl) = pt2d(ji ,zijpj-1-jl) + 0.5 * pt2d(ji,zijpj+jl) 361 pt2d(zijt,zijpj-1-jl) = pt2d(zijt,zijpj-1-jl) + 0.5 * psgn * pt2d(ji,zijpj+jl) 362 pt2d(ji ,zijpj+jl ) = 0.0_wp 363 END DO 364 END DO 365 pt2d( 2 ,zijpj:zijpj+ipr2dj) = 0.0_wp 366 366 CASE ( 'J' ) ! first ice U-V point 367 367 DO jl = 0, ipr2dj 368 368 DO ji = 2 , jpiglo-1 369 ijt = jpiglo - ji + 2370 pt2d(ji, ijpj-1-jl) = pt2d(ji,ijpj-1-jl) + pt2d(ji,ijpj+jl)371 pt2d(ji, ijpj+jl) = 0.0_wp372 END DO 373 END DO 374 pt2d( 2 , ijpj:ijpj+ipr2dj) = 0.e0369 zijt = jpiglo - ji + 2 370 pt2d(ji,zijpj-1-jl) = pt2d(ji,zijpj-1-jl) + pt2d(ji,zijpj+jl) 371 pt2d(ji,zijpj+jl) = 0.0_wp 372 END DO 373 END DO 374 pt2d( 2 ,zijpj:zijpj+ipr2dj) = 0.e0 375 375 CASE ( 'K' ) ! second ice U-V point 376 376 DO jl = 0, ipr2dj 377 377 DO ji = 2 , jpiglo-1 378 ijt = jpiglo - ji + 2379 pt2d( ijt,ijpj-1-jl) = pt2d(ijt,ijpj-1-jl) + pt2d(ji,ijpj+jl)380 pt2d(ji, ijpj+jl) = 0.0_wp381 END DO 382 END DO 383 pt2d( 2 , ijpj:ijpj+ipr2dj) = 0.e0378 zijt = jpiglo - ji + 2 379 pt2d(zijt,zijpj-1-jl) = pt2d(zijt,zijpj-1-jl) + pt2d(ji,zijpj+jl) 380 pt2d(ji,zijpj+jl) = 0.0_wp 381 END DO 382 END DO 383 pt2d( 2 ,zijpj:zijpj+ipr2dj) = 0.e0 384 384 END SELECT 385 385 ! … … 389 389 CASE ( 'T' , 'U' , 'V' , 'W' ) ! T-, U-, V-, W-points 390 390 pt2d(:, 1:1-ipr2dj ) = 0.e0 391 pt2d(:, ijpj:ijpj+ipr2dj) = 0.e0391 pt2d(:,zijpj:zijpj+ipr2dj) = 0.e0 392 392 CASE ( 'F' ) ! F-point 393 pt2d(:, ijpj:ijpj+ipr2dj) = 0.e0393 pt2d(:,zijpj:zijpj+ipr2dj) = 0.e0 394 394 CASE ( 'I' ) ! ice U-V point 395 395 pt2d(:, 1:1-ipr2dj ) = 0.e0 396 pt2d(:, ijpj:ijpj+ipr2dj) = 0.e0396 pt2d(:,zijpj:zijpj+ipr2dj) = 0.e0 397 397 CASE ( 'J' ) ! first ice U-V point 398 398 pt2d(:, 1:1-ipr2dj ) = 0.e0 399 pt2d(:, ijpj:ijpj+ipr2dj) = 0.e0399 pt2d(:,zijpj:zijpj+ipr2dj) = 0.e0 400 400 CASE ( 'K' ) ! second ice U-V point 401 401 pt2d(:, 1:1-ipr2dj ) = 0.e0 402 pt2d(:, ijpj:ijpj+ipr2dj) = 0.e0402 pt2d(:,zijpj:zijpj+ipr2dj) = 0.e0 403 403 END SELECT 404 404 ! … … 503 503 504 504 SELECT CASE ( jpni ) 505 CASE ( 1 ) ; ijpj = nlcj ! 1 proc only along the i-direction506 CASE DEFAULT ; ijpj = 4 ! several proc along the i-direction505 CASE ( 1 ) ; zijpj = nlcj ! 1 proc only along the i-direction 506 CASE DEFAULT ; zijpj = 4 ! several proc along the i-direction 507 507 END SELECT 508 508 … … 765 765 766 766 SELECT CASE ( jpni ) 767 CASE ( 1 ) ; ijpj = nlcj ! 1 proc only along the i-direction768 CASE DEFAULT ; ijpj = 4 ! several proc along the i-direction767 CASE ( 1 ) ; zijpj = nlcj ! 1 proc only along the i-direction 768 CASE DEFAULT ; zijpj = 4 ! several proc along the i-direction 769 769 END SELECT 770 770
Note: See TracChangeset
for help on using the changeset viewer.