Changeset 2600 for LMDZ5/trunk/libf/dyn3dpar/vlspltgen_p.F
- Timestamp:
- Jul 23, 2016, 7:45:38 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3dpar/vlspltgen_p.F
r2597 r2600 34 34 #include "paramet.h" 35 35 #include "logic.h" 36 #include "comvert.h"37 36 38 37 c … … 105 104 106 105 107 108 109 110 111 106 ijb=ij_begin-iip1 107 ije=ij_end+iip1 108 if (pole_nord) ijb=ij_begin 109 if (pole_sud) ije=ij_end 110 112 111 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 113 112 DO l = 1, llm 114 113 DO ij = ijb, ije 115 114 tempe(ij) = teta(ij,l) * pk(ij,l) /cpp … … 191 190 192 191 if(iadv(iq) == 0) then 193 194 195 196 192 193 cycle 194 195 else if (iadv(iq)==10) then 197 196 198 197 #ifdef _ADV_HALO 199 200 & 198 call vlx_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu, 199 & ij_begin,ij_begin+2*iip1-1) 201 200 call vlx_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu, 202 201 & ij_end-2*iip1+1,ij_end) 203 202 #else 204 205 & 203 call vlx_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu, 204 & ij_begin,ij_end) 206 205 #endif 207 206 … … 215 214 call VTe(VTHallo) 216 215 c$OMP END MASTER 217 216 else if (iadv(iq)==14) then 218 217 219 218 #ifdef _ADV_HALO … … 239 238 c$OMP END MASTER 240 239 else 241 242 240 241 stop 'vlspltgen_p : schema non parallelise' 243 242 244 243 endif … … 261 260 262 261 if(iadv(iq) == 0) then 263 264 265 266 262 263 cycle 264 265 else if (iadv(iq)==10) then 267 266 268 267 #ifdef _ADV_HALLO … … 270 269 & ij_begin+2*iip1,ij_end-2*iip1) 271 270 #endif 272 271 else if (iadv(iq)==14) then 273 272 #ifdef _ADV_HALLO 274 273 call vlxqs_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,qsat, … … 276 275 #endif 277 276 else 278 279 277 278 stop 'vlspltgen_p : schema non parallelise' 280 279 281 280 endif … … 301 300 302 301 if(iadv(iq) == 0) then 303 304 305 306 302 303 cycle 304 305 else if (iadv(iq)==10) then 307 306 308 307 call vly_p(zq(1,1,iq),pente_max,zm(1,1,iq),mv) 309 308 310 309 else if (iadv(iq)==14) then 311 310 312 311 call vlyqs_p(zq(1,1,iq),pente_max,zm(1,1,iq),mv,qsat) 313 312 314 313 else 315 316 314 315 stop 'vlspltgen_p : schema non parallelise' 317 316 318 317 endif … … 324 323 325 324 if(iadv(iq) == 0) then 326 327 328 329 325 326 cycle 327 328 else if (iadv(iq)==10 .or. iadv(iq)==14 ) then 330 329 331 330 c$OMP BARRIER … … 350 349 c$OMP MASTER 351 350 call VTe(VTHallo) 352 c$OMP END MASTER 353 c$OMP BARRIER 354 else 355 356 351 c$OMP END MASTER 352 c$OMP BARRIER 353 else 354 355 stop 'vlspltgen_p : schema non parallelise' 357 356 358 357 endif … … 369 368 c$OMP MASTER 370 369 call VTe(VTHallo) 371 c$OMP END MASTER 370 c$OMP END MASTER 372 371 373 372 c$OMP BARRIER … … 375 374 376 375 if(iadv(iq) == 0) then 377 378 379 380 376 377 cycle 378 379 else if (iadv(iq)==10 .or. iadv(iq)==14 ) then 381 380 c$OMP BARRIER 382 381 … … 388 387 c$OMP BARRIER 389 388 else 390 391 389 390 stop 'vlspltgen_p : schema non parallelise' 392 391 393 392 endif … … 414 413 415 414 if(iadv(iq) == 0) then 416 417 418 419 415 416 cycle 417 418 else if (iadv(iq)==10) then 420 419 421 420 call vly_p(zq(1,1,iq),pente_max,zm(1,1,iq),mv) 422 421 423 422 else if (iadv(iq)==14) then 424 423 425 424 call vlyqs_p(zq(1,1,iq),pente_max,zm(1,1,iq),mv,qsat) 426 425 427 426 else 428 429 427 428 stop 'vlspltgen_p : schema non parallelise' 430 429 431 430 endif … … 436 435 437 436 if(iadv(iq) == 0) then 438 439 440 441 437 438 cycle 439 440 else if (iadv(iq)==10) then 442 441 443 442 call vlx_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu, 444 443 & ij_begin,ij_end) 445 444 446 445 else if (iadv(iq)==14) then 447 446 448 447 call vlxqs_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,qsat, … … 450 449 451 450 else 452 451 453 452 stop 'vlspltgen_p : schema non parallelise' 454 453 … … 469 468 DO ij=ijb,ije 470 469 c print *,'zq-->',ij,l,iq,zq(ij,l,iq) 471 c 472 470 c print *,'q-->',ij,l,iq,q(ij,l,iq) 471 q(ij,l,iq)=zq(ij,l,iq) 473 472 ENDDO 474 473 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.