Ignore:
Timestamp:
Oct 25, 2016, 9:23:21 AM (8 years ago)
Author:
emillour
Message:

Further work on full dynamics/physics separation.

LMDZ.COMMON:

  • added phy_common/vertical_layers_mod.F90 to store information on vertical grid. This is where routines in the physics should get the information.
  • The contents of vertical_layers_mod intialized via dynphy_lonlat/inigeomphy_mod.F90.

LMDZ.MARS:

  • physics now completely decoupled from dynamics; the physics package may now be compiled as a library (-libphy option of makelmdz_fcm).
  • created an "ini_tracer_mod" routine in module "tracer_mod" for a cleaner initialization of the later.
  • removed some purely dynamics-related outputs (etot0, zoom parameters, etc.) from diagfi.nc and stats.nc outputs as these informations are not available in the physics.

LMDZ.GENERIC:

  • physics now completely decoupled from dynamics; the physics package may now be compiled as a library (-libphy option of makelmdz_fcm).
  • added nqtot to tracer_h.F90.
  • removed some purely dynamics-related outputs (etot0, zoom parameters, etc.) from diagfi.nc and stats.nc outputs as these informations are not available in the physics.

LMDZ.VENUS:

  • physics now completely decoupled from dynamics; the physics package may now be compiled as a library (-libphy option of makelmdz_fcm).
  • added infotrac_phy.F90 to store information on tracers in the physics. Initialized via iniphysiq.
  • added cpdet_phy_mod.F90 to store t2tpot etc. functions to be used in the physics. Initialized via iniphysiq. IMPORTANT: there are some hard-coded constants! These should match what is in cpdet_mod.F90 in the dynamics.
  • got rid of references to moyzon_mod module within the physics. The required variables (tmoy, plevmoy) are passed to the physics as arguments to physiq.

LMDZ.TITAN:

  • added infotrac_phy.F90 to store information on tracers in the physics. Initialized via iniphysiq.
  • added cpdet_phy_mod.F90 to store t2tpot etc. functions to be used in the physics.
  • Extra work required to completely decouple physics and dynamics: moyzon_mod should be cleaned up and information passed from dynamics to physics as as arguments. Likewise moyzon_ch and moyzon_mu should not be queried from logic_mod (which is in the dynamics).

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/dyn3d/disvert.F

    r1422 r1621  
    55      USE callkeys_mod, ONLY: kastprof,pceil
    66      USE comvert_mod, ONLY: ap,bp,sig,nivsigs,nivsig,pa,preff,
    7      .                  aps,bps,presnivs,pseudoalt
     7     .                  aps,bps,presnivs,pseudoalt,scaleheight
    88
    99c    Auteur :  F. Forget Y. Wanherdrick, P. Levan
     
    3131      INTEGER l,ll
    3232      REAL snorm
    33       REAL alpha,beta,gama,delta,deltaz,h,quoi,quand
     33      REAL alpha,beta,gama,delta,deltaz,quoi,quand
    3434      REAL zsig(llm)
    3535      INTEGER np,ierr
     
    108108         PRINT*,'****************************'
    109109
    110          READ(99,*) h
     110         READ(99,*) scaleheight
    111111         do l=1,llm
    112112            read(99,*) zsig(l)
     
    117117         if(autozlevs)then
    118118            open(91,file="z2sig.def",form='formatted')
    119             read(91,*) h
     119            read(91,*) scaleheight
    120120            DO l=1,llm-2
    121121               read(91,*) Hmax
     
    126126            print*,'Auto-shifting h in disvert.F to:'
    127127!            h = Hmax / log(psurf/100.0)
    128             h = Hmax / log(psurf/pceil)
    129             print*,'h = ',h,' km'
     128            scaleheight = Hmax / log(psurf/pceil)
     129            print*,'h = ',scaleheight,' km'
    130130        endif
    131131       
    132132        sig(1)=1
    133133        do l=2,llm
    134            sig(l) = 0.5 * ( exp(-zsig(l)/h) + exp(-zsig(l-1)/h) )
     134           sig(l) = 0.5 * ( exp(-zsig(l)/scaleheight) +
     135     &                      exp(-zsig(l-1)/scaleheight) )
    135136        end do
    136137        sig(llm+1)=0
     
    223224      DO l = 1, llm
    224225       presnivs(l) = aps(l)+bps(l)*preff
    225        pseudoalt(l) = -h*log(presnivs(l)/preff)
     226       pseudoalt(l) = -scaleheight*log(presnivs(l)/preff)
    226227      ENDDO
    227228
Note: See TracChangeset for help on using the changeset viewer.