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

Location:
trunk/LMDZ.MARS/libf/dyn3d
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/dyn3d/comvert_mod.F90

    r1422 r1621  
    1010! Mars Ce qui suit vient de gcm
    1111REAL sig(llm+1),ds(llm),aps(llm),bps(llm),pseudoalt(llm)
     12REAL scaleheight ! atmospheric scale height (km)
    1213
    1314END MODULE comvert_mod
  • trunk/LMDZ.MARS/libf/dyn3d/disvert.F

    r1422 r1621  
    55
    66      USE comvert_mod, ONLY: ap,bp,sig,nivsigs,nivsig,pa,preff,
    7      .                  aps,bps,presnivs,pseudoalt
     7     .                  aps,bps,presnivs,pseudoalt,scaleheight
    88      USE comconst_mod, ONLY: kappa,pi
    99      USE logic_mod, ONLY: hybrid
     
    2525      INTEGER l,ll
    2626      REAL snorm
    27       REAL alpha,beta,gama,delta,deltaz,h,quoi,quand
     27      REAL alpha,beta,gama,delta,deltaz,quoi,quand
    2828      REAL zsig(llm)
    2929      INTEGER np,ierr
     
    7070         PRINT*,'WARNING Lecture de esasig.def'
    7171         PRINT*,'*****************************'
    72          READ(99,*) h
     72         READ(99,*) scaleheight
    7373         READ(99,*) dz0
    7474         READ(99,*) dz1
     
    7676         CLOSE(99)
    7777
    78          dz0=dz0/h
    79          dz1=dz1/h
     78         dz0=dz0/scaleheight
     79         dz1=dz1/scaleheight
    8080
    8181         sig1=(1.-dz1)/tanh(.5*(llm-1)/nhaut)
     
    120120         PRINT*,'****************************'
    121121
    122          READ(99,*) h
     122         READ(99,*) scaleheight
    123123         do l=1,llm
    124124            read(99,*) zsig(l)
     
    128128         sig(1) =1
    129129         do l=2,llm
    130            sig(l) = 0.5 * ( exp(-zsig(l)/h) + exp(-zsig(l-1)/h) )
     130           sig(l) = 0.5 * ( exp(-zsig(l)/scaleheight) +
     131     &                      exp(-zsig(l-1)/scaleheight) )
    131132         end do
    132133         sig(llm+1) =0
Note: See TracChangeset for help on using the changeset viewer.