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_gfortran

    r989 r1216  
    1515set bands="32x36"
    1616set scatterers="1"
     17set full=""
    1718########################################################################
    1819# path a changer contenant les sources et les objets du modele
     
    184185   set optim90="-O3 -funroll-loops "
    185186   set optimtru90="-O3 -funroll-loops "
    186    set opt_link=" -L$NCDFLIB -lnetcdf -lnetcdff "
     187   set opt_link=" -L$NCDFLIB -lnetcdf "
    187188
    188189   #NB: on gnome -O3 ==> NaNs ...
     
    274275             latitudes and vertical layers respectively.
    275276
    276 -t ntrac   Selects the number of tracers present in the model
    277 
    278              Options -d and -t overwrite file
    279              $LMDGCM/libf/grid/dimensions.h
    280              which contains the 3 dimensions of the
    281              horizontal grid
    282              im, jm, lm plus the number of tracers passively advected
    283              by the dynamics ntrac,
    284              in 4 PARAMETER FORTRAN format
    285              with a new file:
    286              $LMDGCM/libf/grid/dimension/dimensions.im.jm.lm.tntrac
    287              If the file does not exist already
    288              it is created by the script
    289              $LMDGCM/libf/grid/dimension/makdim
    290 
    291277-s nscat   Number of radiatively active scatterers
    292278
     
    332318           there is no need to specify  -Ldirn.
    333319
     320-full      Full (re)compilation (from scratch)
     321
    334322eod
    335323exit
     
    368356     case -olddyn
    369357        set dyntype="olddyn" ; shift; goto top
     358
     359     case -full
     360        set full="full" ; shift ; goto top
    370361
    371362     case -filtre
     
    532523# Build the appropriate 'dimensions.h' file
    533524cd dimension
    534 ./makdim $ntrac $dim
     525./makdim $dim
    535526# echo contents of dimensions.h to standard output
    536527cat $libf/grid/dimensions.h
     
    564555echo dimension $dimension dim $dim
    565556if ( $dimension == 1 ) then
    566   echo pas de dynamique
    567   set dyn="L_DYN= DYN= L_FILTRE= "
     557  echo "No dynamics"
     558##  set dyn="L_DYN= DYN= L_FILTRE= "
     559## NB: we still need to have L_DYN=libdyn3d to reach routines and module
     560## objects which are located in dyn3d
     561  set dyn="L_DYN=-ldyn3d DYN= L_FILTRE= DIRMAIN=phy$physique "
    568562endif
    569563endif
     
    593587
    594588echo "dimc $dimc"
     589
     590#cleanup for a full recompilation, if requested
     591if ("$full" == "full") then
     592# remove makefile and $libo
     593  cd $model
     594  \rm -f makefile
     595  \rm -rf $libo/*
     596endif
    595597
    596598########################################################################
     
    657659   set f77="gfortran -ffree-line-length-264"
    658660   set f90="gfortran -ffree-line-length-264"
    659    set opt_link=" -L$LIBOGCM -L$NCDFLIB -lnetcdff -lnetcdf "
     661#   set opt_link=" -L$LIBOGCM -L$NCDFLIB -lnetcdff -lnetcdf "
     662   set opt_link=" -L$LIBOGCM -L$NCDFLIB -lnetcdf "
    660663else if $SUN then
    661664   set f77=f90
Note: See TracChangeset for help on using the changeset viewer.