Changeset 735 for LMDZ4/branches/V3_test/libf/phylmd/phyredem.F
- Timestamp:
- Nov 10, 2006, 3:50:16 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/V3_test/libf/phylmd/phyredem.F
r704 r735 95 95 real clwcon(klon2,klev),rnebcon(klon2,klev),ratqs(klon2,klev) 96 96 REAL run_off_lic_0(klon2) 97 REAL masq(klon2) 97 98 c 98 99 INTEGER nid, nvarid, idim1, idim2, idim3 … … 138 139 REAL,SAVE,ALLOCATABLE :: ratqs_mpi(:,:) 139 140 REAL,SAVE,ALLOCATABLE :: run_off_lic_0_mpi(:) 141 REAL,SAVE,ALLOCATABLE :: masq_mpi(:) 140 142 141 143 c$OMP MASTER … … 173 175 ALLOCATE( ratqs_mpi(klon_mpi,klev)) 174 176 ALLOCATE( run_off_lic_0_mpi(klon_mpi)) 177 ALLOCATE( masq_mpi(klon_mpi)) 175 178 c$OMP END MASTER 176 179 c$OMP BARRIER … … 211 214 call GatherField_omp( clwcon_p,clwcon_mpi,klev) 212 215 call GatherField_omp( ratqs_p,ratqs_mpi,klev) 213 216 call GatherField_omp( zmasq,masq_mpi,1) 217 214 218 c$OMP MASTER 215 219 call GatherField( rlat_mpi,rlat,1) … … 248 252 call GatherField( clwcon_mpi,clwcon,klev) 249 253 call GatherField( ratqs_mpi,ratqs,klev) 250 254 call GatherField( masq_mpi,masq,1) 255 251 256 DEALLOCATE( rlat_mpi, rlon_mpi) 252 257 DEALLOCATE( tsol_mpi) … … 282 287 DEALLOCATE( ratqs_mpi) 283 288 DEALLOCATE( run_off_lic_0_mpi) 289 DEALLOCATE( masq_mpi) 284 290 285 291 if (phy_rank==0) then … … 296 302 c 297 303 ierr = NF_DEF_DIM (nid, "index", length, idim1) 298 ierr = NF_DEF_DIM (nid, "points_physiques", klon , idim2)299 ierr = NF_DEF_DIM (nid, "horizon_vertical", klon *klev, idim3)304 ierr = NF_DEF_DIM (nid, "points_physiques", klon2, idim2) 305 ierr = NF_DEF_DIM (nid, "horizon_vertical", klon2*klev, idim3) 300 306 c 301 307 ierr = NF_ENDDEF(nid) … … 378 384 ierr = NF_ENDDEF(nid) 379 385 #ifdef NC_DOUBLE 380 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid, zmasq)381 #else 382 ierr = NF_PUT_VAR_REAL (nid,nvarid, zmasq)386 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,masq) 387 #else 388 ierr = NF_PUT_VAR_REAL (nid,nvarid,masq) 383 389 #endif 384 390 c BP ajout des fraction de chaque sous-surface … … 396 402 ierr = NF_ENDDEF(nid) 397 403 #ifdef NC_DOUBLE 398 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon , is_ter))399 #else 400 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon , is_ter))404 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_ter)) 405 #else 406 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_ter)) 401 407 #endif 402 408 C … … 413 419 ierr = NF_ENDDEF(nid) 414 420 #ifdef NC_DOUBLE 415 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon ,is_lic))416 #else 417 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon , is_lic))421 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2,is_lic)) 422 #else 423 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_lic)) 418 424 #endif 419 425 C … … 430 436 ierr = NF_ENDDEF(nid) 431 437 #ifdef NC_DOUBLE 432 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon , is_oce))433 #else 434 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon , is_oce))438 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_oce)) 439 #else 440 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_oce)) 435 441 #endif 436 442 C … … 447 453 ierr = NF_ENDDEF(nid) 448 454 #ifdef NC_DOUBLE 449 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon , is_sic))450 #else 451 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon , is_sic))455 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_sic)) 456 #else 457 ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_sic)) 452 458 #endif 453 459 C … … 757 763 #endif 758 764 c 765 endif 766 c$OMP END MASTER 767 cc ----> necessaire pour eviter bug openMP sur SX6 768 c$OMP MASTER 769 if (phy_rank==0) then 759 770 DO nsrf = 1, nbsrf 760 771 IF (nsrf.LE.99) THEN
Note: See TracChangeset
for help on using the changeset viewer.