Ignore:
Timestamp:
Apr 3, 2014, 9:09:47 AM (11 years ago)
Author:
emillour
Message:

Generic model:
Major cleanup, in order to ease the use of LMDZ.GENERIC with (parallel) dynamics
in LMDZ.COMMON: (NB: this will break LMDZ.UNIVERSAL, which should be thrashed
in the near future)

  • Updated makegcm_* scripts (and makdim) and added the "-full" (to enforce full recomputation of the model) option
  • In dyn3d: converted control.h to module control_mod.F90 and converted iniadvtrac.F to module infotrac.F90
  • Added module mod_const_mpi.F90 in dyn3d (not used in serial mode)
  • Rearanged input/outputs routines everywhere to handle serial/MPI cases. physdem.F => phyredem.F90 , phyetat0.F => phyetat0.F90 ; all read/write routines for startfi files are gathered in module iostart.F90
  • added parallelism related routines init_phys_lmdz.F90, comgeomphy.F90, dimphy.F90, iniphysiq.F90, mod_grid_phy_lmdz.F90, mod_phys_lmdz_mpi_data.F90, mod_phys_lmdz_mpi_transfert.F90, mod_phys_lmdz_omp_data.F90, mod_phys_lmdz_omp_transfert.F90, mod_phys_lmdz_para.F90, mod_phys_lmdz_transfert_para.F90 in phymars and mod_const_mpi.F90 in dyn3d (for compliance with parallelism)
  • added created generic routines 'planetwide_maxval' and 'planetwide_minval', in module "planetwide_mod", that enable obtaining the max and min of a field over the whole planet. This should be further imroved with computation of means (possibly area weighed), etc.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/makegcm_pgf90

    r988 r1216  
    1515set bands="32x36"
    1616set scatterers="1"
     17set full=""
    1718########################################################################
    1819# path a changer contenant les sources et les objets du modele
     
    271272             latitudes and vertical layers respectively.
    272273
    273 -t ntrac   Selects the number of tracers present in the model
    274 
    275              Options -d and -t overwrite file
    276              $LMDGCM/libf/grid/dimensions.h
    277              which contains the 3 dimensions of the
    278              horizontal grid
    279              im, jm, lm plus the number of tracers passively advected
    280              by the dynamics ntrac,
    281              in 4 PARAMETER FORTRAN format
    282              with a new file:
    283              $LMDGCM/libf/grid/dimension/dimensions.im.jm.lm.tntrac
    284              If the file does not exist already
    285              it is created by the script
    286              $LMDGCM/libf/grid/dimension/makdim
    287 
    288274-s nscat   Number of radiatively active scatterers
    289275
     
    329315           there is no need to specify  -Ldirn.
    330316
     317-full      Full (re)compilation (from scratch)
     318
    331319eod
    332320exit
     
    365353     case -olddyn
    366354        set dyntype="olddyn" ; shift; goto top
     355
     356     case -full
     357        set full="full" ; shift ; goto top
    367358
    368359     case -filtre
     
    529520# Build the appropriate 'dimensions.h' file
    530521cd dimension
    531 ./makdim $ntrac $dim
     522./makdim $dim
    532523# echo contents of dimensions.h to standard output
    533524cat $libf/grid/dimensions.h
     
    561552echo dimension $dimension dim $dim
    562553if ( $dimension == 1 ) then
    563   echo pas de dynamique
    564   set dyn="L_DYN= DYN= L_FILTRE= "
     554  echo "No dynamics"
     555##  set dyn="L_DYN= DYN= L_FILTRE= "
     556## NB: we still need to have L_DYN=libdyn3d to reach routines and module
     557## objects which are located in dyn3d
     558  set dyn="L_DYN=-ldyn3d DYN= L_FILTRE= DIRMAIN=phy$physique "
    565559endif
    566560endif
     
    590584
    591585echo "dimc $dimc"
     586
     587#cleanup for a full recompilation, if requested
     588if ("$full" == "full") then
     589# remove makefile and $libo
     590  cd $model
     591  \rm -f makefile
     592  \rm -rf $libo/*
     593endif
    592594
    593595########################################################################
Note: See TracChangeset for help on using the changeset viewer.