Ignore:
Timestamp:
Sep 30, 2010, 10:29:10 AM (14 years ago)
Author:
Ehouarn Millour
Message:

Implementation of FC's improved Newtonian configuration: more realistic (and tunable) friction & fields towards which to relax and planet parameters (gravity, radius, rotation rate...) can be read in from a planet.def file (this occurs only when running in "newtonian mode"; planet parameters are otherwise read in from the start file).

Checked that these implementation don't change results when running standard Earth bench tests on Vargas.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/LMDZ5V1.0-dev/libf/dyn3dpar/leapfrog_p.F

    r1403 r1437  
    968968
    969969      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
     970!   Academic case : Simple friction and Newtonan relaxation
     971!   -------------------------------------------------------
    974972       ijb=ij_begin
    975973       ije=ij_end
    976974!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    977975       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
     976        teta(ijb:ije,l)=teta(ijb:ije,l)-dtvr*
     977     &         (teta(ijb:ije,l)-tetarappel(ijb:ije,l))*
     978     &                  (knewt_g+knewt_t(l)*clat4(ijb:ije))
     979       enddo ! of do l=1,llm
    981980!$OMP END DO
    982981
     
    987986       call WaitRequest(Request_Physic)     
    988987c$OMP BARRIER
    989 !$OMP MASTER
    990        call friction_p(ucov,vcov,iphysiq*dtvr)
    991 !$OMP END MASTER
     988       call friction_p(ucov,vcov,dtvr)
    992989!$OMP BARRIER
     990
     991        ! Sponge layer (if any)
     992        IF (ok_strato) THEN
     993          ! set dufi,dvfi,... to zero
     994          ijb=ij_begin
     995          ije=ij_end
     996!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     997          do l=1,llm
     998            dufi(ijb:ije,l)=0
     999            dtetafi(ijb:ije,l)=0
     1000            dqfi(ijb:ije,l,1:nqtot)=0
     1001          enddo
     1002!$OMP END DO
     1003!$OMP SINGLE
     1004          dpfi(ijb:ije)=0
     1005!$OMP END SINGLE
     1006          ijb=ij_begin
     1007          ije=ij_end
     1008          if (pole_sud) ije=ije-iip1
     1009!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     1010          do l=1,llm
     1011            dvfi(ijb:ije,l)=0
     1012          enddo
     1013!$OMP END DO
     1014
     1015          CALL top_bound_p(vcov,ucov,teta,masse,dufi,dvfi,dtetafi)
     1016          CALL addfi_p( dtvr, leapf, forward   ,
     1017     $                  ucov, vcov, teta , q   ,ps ,
     1018     $                 dufi, dvfi, dtetafi , dqfi ,dpfi  )
     1019!$OMP BARRIER
     1020        ENDIF ! of IF (ok_strato)
    9931021      ENDIF ! of IF(iflag_phys.EQ.2)
    9941022
Note: See TracChangeset for help on using the changeset viewer.