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_g95

    r988 r1216  
    1515set bands="32x36"
    1616set scatterers="1"
     17set full=""
    1718########################################################################
    1819# path a changer contenant les sources et les objets du modele
     
    273274             latitudes and vertical layers respectively.
    274275
    275 -t ntrac   Selects the number of tracers present in the model
    276 
    277              Options -d and -t overwrite file
    278              $LMDGCM/libf/grid/dimensions.h
    279              which contains the 3 dimensions of the
    280              horizontal grid
    281              im, jm, lm plus the number of tracers passively advected
    282              by the dynamics ntrac,
    283              in 4 PARAMETER FORTRAN format
    284              with a new file:
    285              $LMDGCM/libf/grid/dimension/dimensions.im.jm.lm.tntrac
    286              If the file does not exist already
    287              it is created by the script
    288              $LMDGCM/libf/grid/dimension/makdim
    289 
    290276-s nscat   Number of radiatively active scatterers
    291277
     
    331317           there is no need to specify  -Ldirn.
    332318
     319-full      Full (re)compilation (from scratch)
     320
    333321eod
    334322exit
     
    367355     case -olddyn
    368356        set dyntype="olddyn" ; shift; goto top
     357
     358     case -full
     359        set full="full" ; shift ; goto top
    369360
    370361     case -filtre
     
    527518# Build the appropriate 'dimensions.h' file
    528519cd dimension
    529 ./makdim $ntrac $dim
     520./makdim $dim
    530521# echo contents of dimensions.h to standard output
    531522cat $libf/grid/dimensions.h
     
    559550echo dimension $dimension dim $dim
    560551if ( $dimension == 1 ) then
    561   echo pas de dynamique
    562   set dyn="L_DYN= DYN= L_FILTRE= "
     552  echo "No dynamics"
     553##  set dyn="L_DYN= DYN= L_FILTRE= "
     554## NB: we still need to have L_DYN=libdyn3d to reach routines and module
     555## objects which are located in dyn3d
     556  set dyn="L_DYN=-ldyn3d DYN= L_FILTRE= DIRMAIN=phy$physique "
    563557endif
    564558endif
     
    588582
    589583echo "dimc $dimc"
     584
     585#cleanup for a full recompilation, if requested
     586if ("$full" == "full") then
     587# remove makefile and $libo
     588  cd $model
     589  \rm -f makefile
     590  \rm -rf $libo/*
     591endif
    590592
    591593########################################################################
Note: See TracChangeset for help on using the changeset viewer.