Changeset 2597 for LMDZ5/trunk/libf/dyn3dmem/vlspltgen_loc.F
- Timestamp:
- Jul 22, 2016, 8:44:47 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3dmem/vlspltgen_loc.F
r2286 r2597 31 31 & ok_iso_verif 32 32 USE vlspltgen_mod 33 USE comconst_mod, ONLY: cpp 33 34 IMPLICIT NONE 34 35 35 36 c 36 #include "dimensions.h" 37 #include "paramet.h" 38 #include "logic.h" 39 #include "comvert.h" 40 #include "comconst.h" 37 include "dimensions.h" 38 include "paramet.h" 39 include "logic.h" 40 include "comvert.h" 41 41 42 42 c … … 100 100 101 101 102 103 104 105 106 102 ijb=ij_begin-iip1 103 ije=ij_end+iip1 104 if (pole_nord) ijb=ij_begin 105 if (pole_sud) ije=ij_end 106 107 107 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 108 108 DO l = 1, llm 109 109 DO ij = ijb, ije 110 110 tempe(ij) = teta(ij,l) * pk(ij,l) /cpp … … 208 208 #endif 209 209 if(iadv(iq) == 0) then 210 211 212 213 210 211 cycle 212 213 else if (iadv(iq)==10) then 214 214 215 215 #ifdef _ADV_HALO 216 216 ! CRisi: on ajoute les nombres de fils et tableaux des fils 217 217 ! On suppose qu'on ne peut advecter les fils que par le schéma 10. 218 219 & 218 call vlx_loc(zq,pente_max,zm,mu, 219 & ij_begin,ij_begin+2*iip1-1,iq) 220 220 call vlx_loc(zq,pente_max,zm,mu, 221 221 & ij_end-2*iip1+1,ij_end,iq) 222 222 #else 223 224 & 223 call vlx_loc(zq,pente_max,zm,mu, 224 & ij_begin,ij_end,iq) 225 225 #endif 226 226 … … 240 240 call VTe(VTHallo) 241 241 c$OMP END MASTER 242 242 else if (iadv(iq)==14) then 243 243 244 244 #ifdef _ADV_HALO … … 268 268 c$OMP END MASTER 269 269 else 270 271 270 271 stop 'vlspltgen_p : schema non parallelise' 272 272 273 273 endif … … 301 301 302 302 if(iadv(iq) == 0) then 303 304 305 306 303 304 cycle 305 306 else if (iadv(iq)==10) then 307 307 308 308 #ifdef _ADV_HALLO … … 310 310 & ij_begin+2*iip1,ij_end-2*iip1,iq) 311 311 #endif 312 312 else if (iadv(iq)==14) then 313 313 #ifdef _ADV_HALLO 314 314 call vlxqs_loc(zq,pente_max,zm,mu, … … 316 316 #endif 317 317 else 318 319 318 319 stop 'vlspltgen_p : schema non parallelise' 320 320 321 321 endif … … 358 358 359 359 if(iadv(iq) == 0) then 360 361 362 363 360 361 cycle 362 363 else if (iadv(iq)==10) then 364 364 365 365 call vly_loc(zq,pente_max,zm,mv,iq) 366 366 367 367 else if (iadv(iq)==14) then 368 368 369 369 call vlyqs_loc(zq,pente_max,zm,mv, … … 371 371 372 372 else 373 374 373 374 stop 'vlspltgen_p : schema non parallelise' 375 375 376 376 endif … … 389 389 #endif 390 390 if(iadv(iq) == 0) then 391 392 393 394 391 392 cycle 393 394 else if (iadv(iq)==10 .or. iadv(iq)==14 ) then 395 395 396 396 c$OMP BARRIER … … 420 420 c$OMP MASTER 421 421 call VTe(VTHallo) 422 c$OMP END MASTER 422 c$OMP END MASTER 423 423 c$OMP BARRIER 424 424 else 425 426 425 426 stop 'vlspltgen_p : schema non parallelise' 427 427 428 428 endif … … 439 439 c$OMP MASTER 440 440 call VTe(VTHallo) 441 c$OMP END MASTER 441 c$OMP END MASTER 442 442 443 443 … … 451 451 452 452 if(iadv(iq) == 0) then 453 454 455 456 453 454 cycle 455 456 else if (iadv(iq)==10 .or. iadv(iq)==14 ) then 457 457 c$OMP BARRIER 458 458 … … 464 464 c$OMP BARRIER 465 465 else 466 467 466 467 stop 'vlspltgen_p : schema non parallelise' 468 468 469 469 endif … … 501 501 #endif 502 502 if(iadv(iq) == 0) then 503 504 505 506 503 504 cycle 505 506 else if (iadv(iq)==10) then 507 507 508 508 call vly_loc(zq,pente_max,zm,mv,iq) 509 509 510 510 else if (iadv(iq)==14) then 511 511 512 512 call vlyqs_loc(zq,pente_max,zm,mv, … … 514 514 515 515 else 516 517 516 517 stop 'vlspltgen_p : schema non parallelise' 518 518 519 519 endif … … 532 532 #endif 533 533 if(iadv(iq) == 0) then 534 535 536 537 534 535 cycle 536 537 else if (iadv(iq)==10) then 538 538 539 539 call vlx_loc(zq,pente_max,zm,mu, 540 540 & ij_begin,ij_end,iq) 541 541 542 542 else if (iadv(iq)==14) then 543 543 544 544 call vlxqs_loc(zq,pente_max,zm,mu, … … 546 546 547 547 else 548 548 549 549 stop 'vlspltgen_p : schema non parallelise' 550 550 … … 574 574 DO ij=ijb,ije 575 575 c print *,'zq-->',ij,l,iq,zq(ij,l,iq) 576 c 577 576 c print *,'q-->',ij,l,iq,q(ij,l,iq) 577 q(ij,l,iq)=zq(ij,l,iq) 578 578 ENDDO 579 579 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.