Changeset 734 for LMDZ4/branches
- Timestamp:
- Nov 10, 2006, 3:42:49 PM (18 years ago)
- Location:
- LMDZ4/branches/V3_test/libf/dyn3dpar
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/V3_test/libf/dyn3dpar/bands.F90
r630 r734 103 103 if (jjphy_para_begin(i)==jjphy_para_end(i-1)) then 104 104 jj_Nb_physic_bis(i)=jj_Nb_physic_bis(i)-1 105 endif 105 else 106 jj_Nb_physic_bis(i-1)=jj_Nb_physic_bis(i-1)+1 107 jj_Nb_physic_bis(i)=jj_Nb_physic_bis(i)-1 108 endif 106 109 endif 107 110 enddo … … 401 404 CLOSE(unit_number) 402 405 else 403 print *,'probl ème lors de l écriture des bandes'406 print *,'probleme lors de l ecriture des bandes' 404 407 endif 405 408 -
LMDZ4/branches/V3_test/libf/dyn3dpar/grid_noro.F
r709 r734 83 83 REAL zsig(imar+1,jmar),zgam(imar+1,jmar),zthe(imar+1,jmar) 84 84 REAL zpic(imar+1,jmar),zval(imar+1,jmar) 85 c $$$PB integer mask(imar+1,jmar)85 cxxx PB integer mask(imar+1,jmar) 86 86 real mask(imar+1,jmar), mask_tmp(imar+1,jmar) 87 87 real num_tot(2200,1100),num_lan(2200,1100) … … 274 274 IF (weight(ii,jj) .NE. 0.0) THEN 275 275 c Mask 276 c $$$if(num_lan(ii,jj)/num_tot(ii,jj).ge.0.5)then277 c $$$mask(ii,jj)=1278 c $$$else279 c $$$mask(ii,jj)=0280 c $$$ENDIF276 cXXX if(num_lan(ii,jj)/num_tot(ii,jj).ge.0.5)then 277 cXXX mask(ii,jj)=1 278 cXXX else 279 cXXX mask(ii,jj)=0 280 cXXX ENDIF 281 281 if (.not. masque_lu) then 282 282 mask(ii,jj) = num_lan(ii,jj)/num_tot(ii,jj) … … 319 319 CALL MVA9(zxtzy,iim+1,jjm+1) 320 320 CALL MVA9(zytzy,iim+1,jjm+1) 321 C $$$Masque prenant en compte maximum de terre322 C $$$On seuil a 10% de terre de terre car en dessous les parametres de surface n'on323 C $$$pas de sens (PB)321 CXXX Masque prenant en compte maximum de terre 322 CXXX On seuil a 10% de terre de terre car en dessous les parametres de surface n'on 323 CXXX pas de sens (PB) 324 324 mask_tmp= 0.0 325 325 WHERE(mask .GE. 0.1) mask_tmp = 1. … … 339 339 if(abs(xm).le.xw) xm=xw*sign(1.,xm) 340 340 c slope: 341 c $$$zsig(ii,jj)=sqrt(xq)*mask(ii,jj)342 c $$$c isotropy:343 c $$$zgam(ii,jj)=xp/xq*mask(ii,jj)344 c $$$c angle theta:345 c $$$zthe(ii,jj)=57.29577951*atan2(xm,xl)/2.*mask(ii,jj)346 c $$$zphi(ii,jj)=zmea(ii,jj)*mask(ii,jj)347 c $$$zmea(ii,jj)=zmea(ii,jj)*mask(ii,jj)348 c $$$zpic(ii,jj)=zpic(ii,jj)*mask(ii,jj)349 c $$$zval(ii,jj)=zval(ii,jj)*mask(ii,jj)350 c $$$zstd(ii,jj)=zstd(ii,jj)*mask(ii,jj)351 C $$* PB modif pour maque de terre fractionnaire341 cXXX zsig(ii,jj)=sqrt(xq)*mask(ii,jj) 342 cXXXc isotropy: 343 cXXX zgam(ii,jj)=xp/xq*mask(ii,jj) 344 cXXXc angle theta: 345 cXXX zthe(ii,jj)=57.29577951*atan2(xm,xl)/2.*mask(ii,jj) 346 cXXX zphi(ii,jj)=zmea(ii,jj)*mask(ii,jj) 347 cXXX zmea(ii,jj)=zmea(ii,jj)*mask(ii,jj) 348 cXXX zpic(ii,jj)=zpic(ii,jj)*mask(ii,jj) 349 cXXX zval(ii,jj)=zval(ii,jj)*mask(ii,jj) 350 cXXX zstd(ii,jj)=zstd(ii,jj)*mask(ii,jj) 351 CXX* PB modif pour maque de terre fractionnaire 352 352 c slope: 353 353 zsig(ii,jj)=sqrt(xq)*mask_tmp(ii,jj) -
LMDZ4/branches/V3_test/libf/dyn3dpar/leapfrog_p.F
r726 r734 181 181 PARAMETER (testita = 9) 182 182 183 c declaration li ées au parallelisme183 c declaration liees au parallelisme 184 184 INTEGER :: ierr 185 185 LOGICAL :: FirstCaldyn=.TRUE. … … 223 223 c Debut de l'integration temporelle: 224 224 c ---------------------------------- 225 c et du parall élisme !!225 c et du parallelisme !! 226 226 227 227 1 CONTINUE … … 287 287 cym CALL filtreg ( finvmaold ,jjp1, llm, -2,2, .TRUE., 1 ) 288 288 289 cym ne sert àrien289 cym ne sert a rien 290 290 cym call minmax(ijp1llm,q(:,:,3),zqmin,zqmax) 291 291 … … 474 474 call WriteField_p('ps',reshape(ps,(/iip1,jmp1/))) 475 475 call WriteField_p('masse',reshape(masse,(/iip1,jmp1,llm/))) 476 call WriteField_p('pk',reshape(pk,(/iip1,jmp1,llm/))) 476 477 call WriteField_p('pks',reshape(pks,(/iip1,jmp1/))) 477 478 call WriteField_p('pkf',reshape(pkf,(/iip1,jmp1,llm/))) … … 617 618 618 619 CALL pression_p ( ip1jmp1, ap, bp, ps, p ) 620 c$OMP BARRIER 621 622 c$OMP MASTER 619 623 CALL exner_hyb_p( ip1jmp1, ps, p,alpha,beta,pks, pk, pkf ) 620 624 c$OMP END MASTER 625 c$OMP BARRIER 621 626 rdaym_ini = itau * dtvr / daysec 622 627 rdayvrai = rdaym_ini + day_ini … … 633 638 c+jld 634 639 635 c Diagnostique de conservation de l' énergie : initialisation640 c Diagnostique de conservation de l'energie : initialisation 636 641 IF (ip_ebil_dyn.ge.1 ) THEN 637 642 ztit='bil dyn' … … 689 694 c$OMP END MASTER 690 695 c$OMP BARRIER 696 697 cc$OMP MASTER 698 c call WriteField_p('ucovfi',reshape(ucov,(/iip1,jmp1,llm/))) 699 c call WriteField_p('vcovfi',reshape(vcov,(/iip1,jjm,llm/))) 700 c call WriteField_p('tetafi',reshape(teta,(/iip1,jmp1,llm/))) 701 c call WriteField_p('pfi',reshape(p,(/iip1,jmp1,llmp1/))) 702 c call WriteField_p('pkfi',reshape(pk,(/iip1,jmp1,llm/))) 703 cc$OMP END MASTER 704 cc$OMP BARRIER 691 705 692 706 CALL calfis_p( nq, lafin ,rdayvrai,time , … … 830 844 c$OMP BARRIER 831 845 c 832 c Diagnostique de conservation de l' énergie : difference846 c Diagnostique de conservation de l'energie : difference 833 847 IF (ip_ebil_dyn.ge.1 ) THEN 834 848 ztit='bil phys' -
LMDZ4/branches/V3_test/libf/dyn3dpar/mod_hallo.F90
r726 r734 430 430 type(request_SR),pointer :: Req 431 431 type(Hallo),pointer :: PtrHallo 432 integer, dimension( 4) :: TabRequest433 integer, dimension(MPI_STATUS_SIZE, 4) :: TabStatus432 integer, dimension(2*mpi_size) :: TabRequest 433 integer, dimension(MPI_STATUS_SIZE,2*mpi_size) :: TabStatus 434 434 integer :: NbRequest 435 435 integer :: i,rank,pos,ij,l,ierr … … 512 512 type(request_SR),pointer :: Req 513 513 type(Hallo),pointer :: PtrHallo 514 integer, dimension( 4) :: TabRequest515 integer, dimension(MPI_STATUS_SIZE, 4) :: TabStatus514 integer, dimension(mpi_size) :: TabRequest 515 integer, dimension(MPI_STATUS_SIZE,mpi_size) :: TabStatus 516 516 integer :: NbRequest 517 517 integer :: i,rank,pos,ij,l,ierr … … 553 553 type(request_SR),pointer :: Req 554 554 type(Hallo),pointer :: PtrHallo 555 integer, dimension( 4) :: TabRequest556 integer, dimension(MPI_STATUS_SIZE, 4) :: TabStatus555 integer, dimension(mpi_size) :: TabRequest 556 integer, dimension(MPI_STATUS_SIZE,mpi_size) :: TabStatus 557 557 integer :: NbRequest 558 558 integer :: i,rank,pos,ij,l,ierr -
LMDZ4/branches/V3_test/libf/dyn3dpar/parallel.F90
r709 r734 410 410 411 411 call Gather_Field(Field,ij,ll,0) 412 call MPI_BCAST(Field,ij*ll,MPI_REAL8,0,COMM_LMDZ )412 call MPI_BCAST(Field,ij*ll,MPI_REAL8,0,COMM_LMDZ,ierr) 413 413 414 414 end subroutine AllGather_Field … … 425 425 INTEGER :: ierr 426 426 427 call MPI_BCAST(Field,ij*ll,MPI_REAL8,rank,COMM_LMDZ )427 call MPI_BCAST(Field,ij*ll,MPI_REAL8,rank,COMM_LMDZ,ierr) 428 428 429 429 end subroutine Broadcast_Field
Note: See TracChangeset
for help on using the changeset viewer.