- Timestamp:
- Mar 11, 2009, 1:47:42 PM (16 years ago)
- Location:
- LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/etat0_netcdf.F
r1114 r1117 40 40 REAL :: vvent(iip1, jjm, llm) 41 41 REAL :: t3d(iip1, jjp1, llm), tpot(iip1, jjp1, llm) 42 REAL :: q3d(iip1, jjp1, llm,nqtot), qsat(iip1, jjp1, llm) 42 REAL :: qsat(iip1, jjp1, llm) 43 REAL,ALLOCATABLE :: q3d(:, :, :,:) 43 44 REAL :: tsol(klon), qsol(klon), sn(klon) 44 45 REAL :: tsolsrf(klon,nbsrf), qsolsrf(klon,nbsrf),snsrf(klon,nbsrf) … … 170 171 ! 171 172 CALL inifilr() 173 C init pour traceurs 174 call infotrac_init 175 ALLOCATE(q3d(iip1, jjp1, llm,nqtot)) 172 176 ! CALL phys_state_var_init() 173 177 ! … … 625 629 phis(iip1,:) = phis(1,:) 626 630 627 C init pour traceurs628 call infotrac_init629 631 C Ecriture 630 632 CALL inidissip( lstardis, nitergdiv, nitergrot, niterh , -
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/infotrac.F90
r1114 r1117 3 3 ! nqtot : total number of tracers and higher order of moment, water vapor and liquid included 4 4 INTEGER, SAVE :: nqtot 5 ! $OMP THREADPRIVATE(nqtot)5 !!$OMP THREADPRIVATE(nqtot) 6 6 7 7 ! nbtr : number of tracers not including higher order of moment or water vapor or liquid 8 8 ! number of tracers used in the physics 9 9 INTEGER, SAVE :: nbtr 10 ! $OMP THREADPRIVATE(nbtr)10 !!$OMP THREADPRIVATE(nbtr) 11 11 12 12 ! Name variables 13 13 CHARACTER(len=20), ALLOCATABLE, DIMENSION(:), SAVE :: tname ! tracer short name for restart and diagnostics 14 14 CHARACTER(len=23), ALLOCATABLE, DIMENSION(:), SAVE :: ttext ! tracer long name for diagnostics 15 ! $OMP THREADPRIVATE(tname,ttext)15 !!$OMP THREADPRIVATE(tname,ttext) 16 16 17 17 ! iadv : index of trasport schema for each tracer 18 18 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: iadv 19 ! $OMP THREADPRIVATE(iadv)19 !!$OMP THREADPRIVATE(iadv) 20 20 21 21 ! niadv : vector keeping the coorspondance between all tracers(nqtot) treated in the 22 22 ! dynamic part of the code and the tracers (nbtr+2) used in the physics part of the code. 23 23 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: niadv ! equivalent dyn / physique 24 ! $OMP THREADPRIVATE(niadv)24 !!$OMP THREADPRIVATE(niadv) 25 25 26 26 ! Variables for INCA 27 27 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: conv_flg 28 28 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: pbl_flg 29 ! $OMP THREADPRIVATE(conv_flg, pbl_flg)29 !!$OMP THREADPRIVATE(conv_flg, pbl_flg) 30 30 31 31 CONTAINS -
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/vlspltgen_p.F
r1114 r1117 69 69 INTEGER ijb,ije,iq 70 70 LOGICAL, SAVE :: firstcall=.TRUE. 71 71 !$OMP THREADPRIVATE(firstcall) 72 72 type(request) :: MyRequest1 73 73 type(request) :: MyRequest2 … … 88 88 89 89 c Allocate variables depending on dynamic variable nqtot 90 90 91 IF (firstcall) THEN 91 92 firstcall=.FALSE. 93 !$OMP MASTER 92 94 ALLOCATE(zm(ip1jmp1,llm,nqtot)) 93 95 ALLOCATE(zq(ip1jmp1,llm,nqtot)) 96 !$OMP END MASTER 97 !$OMP BARRIER 94 98 END IF 95 96 99 c-- Calcul de Qsat en chaque point 97 100 c-- approximation: au milieu des couches play(l)=(p(l)+p(l+1))/2
Note: See TracChangeset
for help on using the changeset viewer.