Ignore:
Timestamp:
Sep 11, 2013, 2:34:44 PM (11 years ago)
Author:
emillour
Message:

Mars GCM: (a first step towards using parallel dynamics)

  • IMPORTANT CHANGE: Implemented dynamic tracers. It is no longer necessary to compile the model with the '-t #' option, number of tracers is simply read from tracer.def file (as before). Adapted makegcm_* scripts (and co.) accordingly. Technical aspects of the switch to dynamic tracers are:
    • advtrac.h (in dyn3d) removed and replaced by module infotrac.F
    • tracer.h (in phymars) removed and replaced by module tracer_mod.F90 (which contains nqmx, the number of tracers, etc. and can be used anywhere in the physics).
  • Included some side cleanups: removed unused files (in dyn3d) anldoppler2.F, anl_mcdstats.F and anl_stats-diag.F, and all the unecessary dimensions.* files in grid/dimension.
  • Checked that changes are clean and that GCM yields identical results (in debug mode) to previous svn version.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/updaterad.F90

    r882 r1036  
    6262! Update ice radius if microphys == true
    6363subroutine updaterice_micro(qice,qccn,nccn,coeff,rice,rhocloud)
    64 implicit none
    65 
    66 #include "dimensions.h"
    67 #include "dimphys.h"
    68 #include "comcstfi.h"
    69 #include "tracer.h"
     64use tracer_mod, only: rho_dust, rho_ice
     65implicit none
     66
     67#include "dimensions.h"
     68#include "dimphys.h"
     69#include "comcstfi.h"
     70!#include "tracer.h"
    7071
    7172real, intent(in)  :: qice,qccn,nccn
     
    118119! Update ice radius from a typical profile if microphys == false
    119120subroutine updaterice_typ(qice,tau,pzlay,rice)
    120 implicit none
    121 
    122 #include "dimensions.h"
    123 #include "dimphys.h"
    124 #include "comcstfi.h"
    125 #include "tracer.h"
     121use tracer_mod, only: rho_ice
     122implicit none
     123
     124#include "dimensions.h"
     125#include "dimphys.h"
     126#include "comcstfi.h"
     127!#include "tracer.h"
    126128
    127129real, intent(in)  :: qice
     
    175177! To be used with doubleq == true. otherwise, rdust is constant !!!
    176178subroutine updaterdust(qdust,ndust,rdust,tauscaling)
    177 implicit none
    178 
    179 #include "dimensions.h"
    180 #include "dimphys.h"
    181 #include "comcstfi.h"
    182 #include "tracer.h"
     179use tracer_mod, only: r3n_q
     180implicit none
     181
     182#include "dimensions.h"
     183#include "dimphys.h"
     184#include "comcstfi.h"
     185!#include "tracer.h"
    183186
    184187real, intent(in) :: qdust,ndust ! needed if doubleq
     
    230233! geometric mean radius = mass mean radius x exp(-1.5 sigma0^2)
    231234subroutine updaterccn(qccn,nccn,rccn,tauscaling)
    232 implicit none
    233 
    234 #include "dimensions.h"
    235 #include "dimphys.h"
    236 #include "comcstfi.h"
    237 #include "tracer.h"
     235use tracer_mod, only: rho_dust
     236implicit none
     237
     238#include "dimensions.h"
     239#include "dimphys.h"
     240#include "comcstfi.h"
     241!#include "tracer.h"
    238242
    239243real, intent(in) :: qccn,nccn ! needed if doubleq
Note: See TracChangeset for help on using the changeset viewer.