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.MARS/libf/phymars/phys_state_var_init_mod.F90

    r1524 r1621  
    33CONTAINS
    44
    5       SUBROUTINE phys_state_var_init(ngrid,nlayer,nq, &
     5      SUBROUTINE phys_state_var_init(ngrid,nlayer,nq,tname, &
    66                                     day_ini,hour_ini,pdaysec,ptimestep, &
    77                                     prad,pg,pr,pcpp)
     
    4444      use turb_mod, only: ini_turb_mod
    4545      use comcstfi_h, only: pi,rad,cpp,g,r,rcp
    46       use tracer_mod, only: nqmx
     46      use tracer_mod, only: ini_tracer_mod
    4747      use time_phylmdz_mod, only: init_time
    4848
     
    5050     
    5151      INTEGER,INTENT(IN) :: ngrid,nlayer,nq
     52      CHARACTER(len=*),INTENT(IN) :: tname(nq)
    5253      INTEGER,INTENT(IN) :: day_ini
    5354      REAL,INTENT(IN) :: hour_ini
    5455      REAL,INTENT(IN) :: pdaysec,ptimestep,prad,pg,pr,pcpp
    5556
    56       ! set dimension in tracer_mod
    57       nqmx=nq
     57      ! set dimension and allocate arrays in tracer_mod
     58      call ini_tracer_mod(nq,tname)
    5859
    5960      ! set parameters in comcstfi_h
Note: See TracChangeset for help on using the changeset viewer.