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/phystd/dyn1d/rcm1d.F

    r1576 r1621  
    2424      use callkeys_mod, only: tracer,check_cpp_match,rings_shadow,
    2525     &                        specOLR,water,pceil,ok_slab_ocean
    26       USE comvert_mod, ONLY: ap,bp,aps,bps,pa,preff
     26      USE comvert_mod, ONLY: ap,bp,aps,bps,pa,preff, sig,
     27     &                       presnivs,pseudoalt,scaleheight
     28      USE vertical_layers_mod, ONLY: init_vertical_layers
    2729      USE logic_mod, ONLY: hybrid,autozlevs
    2830      use regular_lonlat_mod, only: init_regular_lonlat
     
    502504     &                   (/0.,0.,0.,0./),(/0.,0.,0.,0./),
    503505     &                   cell_area)
     506! Ehouarn: init_vertial_layers called later (because disvert not called yet)
     507!      call init_vertical_layers(nlayer,preff,scaleheight,
     508!     &                      ap,bp,aps,bps,presnivs,pseudoalt)
    504509      call init_dimphy(1,nlayer) ! Initialize dimphy module
    505510      call ini_planete_mod(nlayer,preff,ap,bp)
     
    734739
    735740      call disvert
     741      ! now that disvert has been called, initialize module vertical_layers_mod
     742      call init_vertical_layers(nlayer,preff,scaleheight,
     743     &                      ap,bp,aps,bps,presnivs,pseudoalt)
    736744
    737745         if(.not.autozlevs)then
Note: See TracChangeset for help on using the changeset viewer.