Changeset 709 for LMDZ4/branches/V3_test/libf/dyn3dpar/divgrad_p.F
- Timestamp:
- Sep 20, 2006, 12:12:39 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/V3_test/libf/dyn3dpar/divgrad_p.F
r630 r709 1 SUBROUTINE divgrad_p (klevel,h, lh, divgra )1 SUBROUTINE divgrad_p (klevel,h, lh, divgra_out ) 2 2 USE parallel 3 3 USE times … … 26 26 c 27 27 INTEGER klevel 28 REAL h( ip1jmp1,klevel ), divgra( ip1jmp1,klevel ) 28 REAL h( ip1jmp1,klevel ), divgra_out( ip1jmp1,klevel ) 29 REAL,SAVE :: divgra( ip1jmp1,llm ) 30 29 31 c 30 32 REAL ghy(ip1jm,llm), ghx(ip1jmp1,llm) … … 32 34 INTEGER l,ij,iter,lh 33 35 c 34 EXTERNAL filtreg35 EXTERNAL SCOPY, grad, covcont, diverg36 36 INTEGER ijb,ije,jjb,jje 37 37 c … … 41 41 ijb=ij_begin 42 42 ije=ij_end 43 divgra(ijb:ije,1:klevel)=h(ijb:ije,1:klevel) 44 43 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 44 DO l = 1, klevel 45 divgra(ijb:ije,l)=h(ijb:ije,l) 46 ENDDO 47 c$OMP END DO NOWAIT 45 48 c 46 49 … … 53 56 54 57 c call exchange_Hallo(divgra,ip1jmp1,llm,0,1) 55 58 c$OMP BARRIER 59 c$OMP MASTER 56 60 call suspend_timer(timer_dissip) 57 61 call exchange_Hallo(divgra,ip1jmp1,llm,1,1) 58 62 call resume_timer(timer_dissip) 59 63 c$OMP END MASTER 64 c$OMP BARRIER 60 65 CALL grad_p (klevel,divgra, ghx , ghy ) 61 66 67 c$OMP BARRIER 68 c$OMP MASTER 62 69 call suspend_timer(timer_dissip) 63 70 call exchange_Hallo(ghy,ip1jm,llm,1,0) 64 71 call resume_timer(timer_dissip) 65 72 c$OMP END MASTER 73 c$OMP BARRIER 74 66 75 CALL diverg_p (klevel, ghx , ghy , divgra ) 67 76 … … 70 79 CALL filtreg_p( divgra,jjb,jje,jjp1,klevel,2,1,.true.,1) 71 80 81 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 72 82 DO 5 l = 1,klevel 73 83 DO 4 ij = ijb, ije 74 divgra ( ij,l ) = - cdivh * divgra( ij,l )84 divgra_out( ij,l ) = - cdivh * divgra( ij,l ) 75 85 4 CONTINUE 76 86 5 CONTINUE 87 c$OMP END DO NOWAIT 77 88 c 78 89 10 CONTINUE
Note: See TracChangeset
for help on using the changeset viewer.