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/dyn3d/leapfrog.F

    r1403 r1437  
    430430
    431431      IF(iflag_phys.EQ.2) THEN ! "Newtonian" case
    432 c   Calcul academique de la physique = Rappel Newtonien + friction
    433 c   --------------------------------------------------------------
    434        teta(:,:)=teta(:,:)
    435      s  -iphysiq*dtvr*(teta(:,:)-tetarappel(:,:))/taurappel
    436        call friction(ucov,vcov,iphysiq*dtvr)
    437       ENDIF
     432!   Academic case : Simple friction and Newtonan relaxation
     433!   -------------------------------------------------------
     434        DO l=1,llm   
     435          DO ij=1,ip1jmp1
     436           teta(ij,l)=teta(ij,l)-dtvr*
     437     &      (teta(ij,l)-tetarappel(ij,l))*(knewt_g+knewt_t(l)*clat4(ij))
     438          ENDDO
     439        ENDDO ! of DO l=1,llm
     440          call friction(ucov,vcov,dtvr)
     441       
     442        ! Sponge layer (if any)
     443        IF (ok_strato) THEN
     444          dufi(:,:)=0.
     445          dvfi(:,:)=0.
     446          dtetafi(:,:)=0.
     447          dqfi(:,:,:)=0.
     448          dpfi(:)=0.
     449          CALL top_bound(vcov,ucov,teta,masse,dufi,dvfi,dtetafi)
     450          CALL addfi( dtvr, leapf, forward   ,
     451     $                  ucov, vcov, teta , q   ,ps ,
     452     $                 dufi, dvfi, dtetafi , dqfi ,dpfi  )
     453        ENDIF ! of IF (ok_strato)
     454      ENDIF ! of IF (iflag_phys.EQ.2)
    438455
    439456
Note: See TracChangeset for help on using the changeset viewer.