Changeset 239 for codes/icosagcm/branches
- Timestamp:
- 07/18/14 18:37:19 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/physics_lmdz_generic.f90
r221 r239 30 30 REAL :: year_length 31 31 32 INTEGER,ALLOCATABLE,SAVE :: domain_offset(:) 33 32 34 33 35 … … 56 58 CALL getin('year_length',year_length) 57 59 60 !$OMP PARALLEL 58 61 CALL allocate_field(f_p,field_t,type_real,llm+1) 59 62 CALL allocate_field(f_pks,field_t,type_real) … … 71 74 CALL allocate_field(f_dps,field_t,type_real) 72 75 CALL allocate_field(f_duc,field_t,type_real,3,llm) 73 76 !$OMP END PARALLEL 77 78 ALLOCATE(domain_offset(ndomain)) 74 79 nbp_phys=0 80 domain_offset(1)=0 75 81 DO ind=1,ndomain 76 82 CALL swap_dimensions(ind) 83 IF (ind<ndomain) THEN 84 domain_offset(ind+1)=domain_offset(ind)+ii_nb*jj_nb 85 ENDIF 77 86 nbp_phys=nbp_phys+ii_nb*jj_nb 78 87 ENDDO … … 107 116 USE disvert_mod 108 117 USE transfert_mod 118 USE mpipara 109 119 IMPLICIT NONE 110 120 INTEGER,INTENT(IN) :: it … … 160 170 REAL(rstd) :: day 161 171 REAL(rstd) :: real_time 162 163 INTEGER,SAVE :: offset 164 !$OMP THREADPRIVATE(offset) 172 INTEGER :: offset 165 173 LOGICAL :: lafin=.FALSE. 166 174 LOGICAL,SAVE :: first=.TRUE. … … 187 195 ALLOCATE(dq_phy(nbp_phys,llm,nqtot)) 188 196 ALLOCATE(dps_phy(nbp_phys)) 197 189 198 !$OMP END MASTER 190 199 !$OMP BARRIER … … 199 208 day = INT( MODULO(real_time,year_length) / day_length) 200 209 time = MODULO(real_time,day_length) / day_length 201 210 211 !$OMP MASTER 212 IF (is_mpi_root) PRINT*,"Enterring in physic : day", day, " time : ",time 213 !$OMP END MASTER 202 214 203 215 … … 205 217 206 218 CALL transfert_message(f_u,req_u) 207 offset=0208 219 209 220 DO ind=1,ndomain 210 221 CALL swap_dimensions(ind) 211 222 IF (assigned_domain(ind)) THEN 223 offset=domain_offset(ind) 212 224 CALL swap_geometry(ind) 213 225 … … 248 260 249 261 !$OMP BARRIER 250 offset=0251 262 252 263 DO ind=1,ndomain … … 254 265 IF (assigned_domain(ind)) THEN 255 266 CALL swap_geometry(ind) 267 offset=domain_offset(ind) 256 268 257 269 theta_rhodz=f_theta_rhodz(ind) … … 489 501 490 502 DO l = 2, llm 491 !$OMP DO492 503 DO j=jj_begin,jj_end 504 ! ---> Bug compilo intel ici en openmp 505 ! ---> Couper la boucle 506 if (j==jj_end+1) PRINT*,"this message must not be printed" 493 507 DO i=ii_begin,ii_end 494 508 ij=(j-1)*iim+i
Note: See TracChangeset
for help on using the changeset viewer.