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/makegcm_ifort

    r1035 r1036  
    184184# Ehouarn 'ifort' compiler
    185185   #NB: on gnome -O3 ==> NaNs ...
    186    set optim=" -O2 -fp-model precise -ip -mkl=sequential -align all "
    187    set optim90=" -O2 -fp-model precise -ip -mkl=sequential -align all "
    188    set optimtru90=" -O2 -fp-model precise -ip -mkl=sequential -align all "
     186   set optim="-auto -O2 -fp-model precise -ip -mkl=sequential -align all "
     187   set optim90="-auto -O2 -fp-model precise -ip -mkl=sequential -align all "
     188   set optimtru90="-auto -O2 -fp-model precise -ip -mkl=sequential -align all "
    189189#   set opt_link=" -Mfree -lpgf90 -lpgftnrtl -lpghpf -lpghpf2 -L$NCDFLIB -lnetcdf -Bstatic "
    190190#   set mod_loc_dir=$LIBOGCM
     
    531531# Build the appropriate 'dimensions.h' file
    532532cd dimension
    533 ./makdim $ntrac $dim
     533./makdim $dim
    534534# echo contents of dimensions.h to standard output
    535535cat $libf/grid/dimensions.h
     
    557557echo dimension $dimension dim $dim
    558558if ( $dimension == 1 ) then
    559   echo pas de dynamique
    560   set dyn="L_DYN= DYN= L_FILTRE= DIRMAIN=phy$physique "
     559  echo "No dynamics"
     560##  set dyn="L_DYN= DYN= L_FILTRE= DIRMAIN=phy$physique "
     561## NB: we still need to have L_DYN=libdyn3d to reach routines and module
     562## objects which are located in dyn3d
     563  set dyn="L_DYN=-ldyn3d DYN= L_FILTRE= DIRMAIN=phy$physique "
    561564endif
    562565endif
Note: See TracChangeset for help on using the changeset viewer.