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_ifort

    r988 r1216  
    1515set bands="32x36"
    1616set scatterers="1"
     17set full=""
    1718########################################################################
    1819# path a changer contenant les sources et les objets du modele
     
    279280             latitudes and vertical layers respectively.
    280281
    281 -t ntrac   Selects the number of tracers present in the model
    282 
    283              Options -d and -t overwrite file
    284              $LMDGCM/libf/grid/dimensions.h
    285              which contains the 3 dimensions of the
    286              horizontal grid
    287              im, jm, lm plus the number of tracers passively advected
    288              by the dynamics ntrac,
    289              in 4 PARAMETER FORTRAN format
    290              with a new file:
    291              $LMDGCM/libf/grid/dimension/dimensions.im.jm.lm.tntrac
    292              If the file does not exist already
    293              it is created by the script
    294              $LMDGCM/libf/grid/dimension/makdim
    295 
    296282-s nscat   Number of radiatively active scatterers
    297283
     
    337323           there is no need to specify  -Ldirn.
    338324
     325-full      Full (re)compilation (from scratch)
     326
    339327eod
    340328exit
     
    373361     case -olddyn
    374362        set dyntype="olddyn" ; shift; goto top
     363
     364     case -full
     365        set full="full" ; shift ; goto top
    375366
    376367     case -filtre
     
    534525# Build the appropriate 'dimensions.h' file
    535526cd dimension
    536 ./makdim $ntrac $dim
     527./makdim $dim
    537528# echo contents of dimensions.h to standard output
    538529cat $libf/grid/dimensions.h
     
    566557echo dimension $dimension dim $dim
    567558if ( $dimension == 1 ) then
    568   echo pas de dynamique
    569   set dyn="L_DYN= DYN= L_FILTRE= "
     559  echo "No dynamics"
     560##  set dyn="L_DYN= DYN= L_FILTRE= "
     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 "
    570564endif
    571565endif
     
    595589
    596590echo "dimc $dimc"
     591
     592#cleanup for a full recompilation, if requested
     593if ("$full" == "full") then
     594# remove makefile and $libo
     595  cd $model
     596  \rm -f makefile
     597  \rm -rf $libo/*
     598endif
    597599
    598600########################################################################
Note: See TracChangeset for help on using the changeset viewer.