Ignore:
Timestamp:
Nov 18, 2010, 1:01:24 PM (14 years ago)
Author:
Laurent Fairhead
Message:

Merge of LMDZ5V1.0-dev branch r1453 into LMDZ5 trunk r1434


Fusion entre la version r1453 de la branche de développement LMDZ5V1.0-dev
et le tronc LMDZ5 (r1434)

Location:
LMDZ5/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk

  • LMDZ5/trunk/libf/dyn3dpar/leapfrog_p.F

    r1403 r1454  
    234234
    235235c$OMP MASTER
    236       dq=0.
     236      dq(:,:,:)=0.
    237237      CALL pression ( ip1jmp1, ap, bp, ps, p       )
    238238      CALL exner_hyb( ip1jmp1, ps, p,alpha,beta, pks, pk, pkf )
     
    596596     .        flxw,pk, iapptrac)
    597597
    598        IF (offline) THEN
    599 Cmaf stokage du flux de masse pour traceurs OFF-LINE
    600 
    601 #ifdef CPP_IOIPSL
    602            CALL fluxstokenc_p(pbaru,pbarv,masse,teta,phi,phis,
    603      .   dtvr, itau)
    604 #endif
    605 
    606 
    607          ENDIF ! of IF (offline)
    608 c
     598C        Stokage du flux de masse pour traceurs OFF-LINE
     599         IF (offline .AND. .NOT. adjust) THEN
     600            CALL fluxstokenc_p(pbaru,pbarv,masse,teta,phi,phis,
     601     .           dtvr, itau)
     602         ENDIF
     603
    609604      ENDIF ! of IF( forward. OR . leapf )
    610605cc$OMP END PARALLEL
     
    968963
    969964      IF(iflag_phys.EQ.2) THEN ! "Newtonian" case
    970 c   Calcul academique de la physique = Rappel Newtonien + fritcion
    971 c   --------------------------------------------------------------
    972 cym       teta(:,:)=teta(:,:)
    973 cym     s  -iphysiq*dtvr*(teta(:,:)-tetarappel(:,:))/taurappel
     965!   Academic case : Simple friction and Newtonan relaxation
     966!   -------------------------------------------------------
    974967       ijb=ij_begin
    975968       ije=ij_end
    976969!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    977970       do l=1,llm
    978        teta(ijb:ije,l)=teta(ijb:ije,l)
    979      &  -iphysiq*dtvr*(teta(ijb:ije,l)-tetarappel(ijb:ije,l))/taurappel
    980        enddo
     971        teta(ijb:ije,l)=teta(ijb:ije,l)-dtvr*
     972     &         (teta(ijb:ije,l)-tetarappel(ijb:ije,l))*
     973     &                  (knewt_g+knewt_t(l)*clat4(ijb:ije))
     974       enddo ! of do l=1,llm
    981975!$OMP END DO
    982976
     
    987981       call WaitRequest(Request_Physic)     
    988982c$OMP BARRIER
    989 !$OMP MASTER
    990        call friction_p(ucov,vcov,iphysiq*dtvr)
    991 !$OMP END MASTER
     983       call friction_p(ucov,vcov,dtvr)
    992984!$OMP BARRIER
     985
     986        ! Sponge layer (if any)
     987        IF (ok_strato) THEN
     988          ! set dufi,dvfi,... to zero
     989          ijb=ij_begin
     990          ije=ij_end
     991!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     992          do l=1,llm
     993            dufi(ijb:ije,l)=0
     994            dtetafi(ijb:ije,l)=0
     995            dqfi(ijb:ije,l,1:nqtot)=0
     996          enddo
     997!$OMP END DO
     998!$OMP SINGLE
     999          dpfi(ijb:ije)=0
     1000!$OMP END SINGLE
     1001          ijb=ij_begin
     1002          ije=ij_end
     1003          if (pole_sud) ije=ije-iip1
     1004!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     1005          do l=1,llm
     1006            dvfi(ijb:ije,l)=0
     1007          enddo
     1008!$OMP END DO
     1009
     1010          CALL top_bound_p(vcov,ucov,teta,masse,dufi,dvfi,dtetafi)
     1011          CALL addfi_p( dtvr, leapf, forward   ,
     1012     $                  ucov, vcov, teta , q   ,ps ,
     1013     $                 dufi, dvfi, dtetafi , dqfi ,dpfi  )
     1014!$OMP BARRIER
     1015        ENDIF ! of IF (ok_strato)
    9931016      ENDIF ! of IF(iflag_phys.EQ.2)
    9941017
     
    14651488c$OMP MASTER
    14661489
    1467               if (planet_type.eq."earth") then
     1490!              if (planet_type.eq."earth") then
    14681491! Write an Earth-format restart file
    14691492                CALL dynredem1_p("restart.nc",0.0,
    14701493     &                           vcov,ucov,teta,q,masse,ps)
    1471               endif ! of if (planet_type.eq."earth")
     1494!              endif ! of if (planet_type.eq."earth")
    14721495
    14731496!              CLOSE(99)
     
    16581681
    16591682              IF(itau.EQ.itaufin) THEN
    1660                 if (planet_type.eq."earth") then
     1683!                if (planet_type.eq."earth") then
    16611684c$OMP MASTER
    16621685                   CALL dynredem1_p("restart.nc",0.0,
    16631686     .                               vcov,ucov,teta,q,masse,ps)
    16641687c$OMP END MASTER
    1665                 endif ! of if (planet_type.eq."earth")
     1688!                endif ! of if (planet_type.eq."earth")
    16661689              ENDIF ! of IF(itau.EQ.itaufin)
    16671690
Note: See TracChangeset for help on using the changeset viewer.