Ignore:
Timestamp:
Aug 26, 2013, 9:21:41 AM (11 years ago)
Author:
emillour
Message:

Common dynamics; keep up with updates (seq and ) in LMDZ5 (up tio rev 1845):

  • General stuff:
  • makelmdz_fcm: add options -j # (compile using # threads) and -full, and to keep up

with Earth model, possibility to compile with various versions of orchidee

  • bld.cfg: adaptations to enable compiling using multiple threads
  • build_gcm: adaptations to enable compiling using multiple threads
  • makelmdz: keep up with Earth model: possibility to compile with various versions of orchidee + cosmetic changes + library directory name change
  • bibio:
  • wxios.F90 : Added for possible future use of XIOS library
  • filtrez:
  • mkl_dft_type.f90 & mkl_dfti.f90 : MKL (for MKL FFT) interface definitions
  • filtreg_mod : limit use of FFT to parallel mode
  • mod_filtre_fft.F90 & mod_filtre_fft_lov.F90 : swich to use parallel_lmdz
  • dyn3d:
  • abort_gcm.F : add things for xios
  • advtrac.F90 : minor change in CFL outputs
  • ce0l.F90 : indicesol.h is now module indice_sol_mod
  • comvert.h : cosmetic change on comments
  • gcm.F : add xios and use module indice_sol_mod (for INCA)
  • inigeom.F : move two computations outside loop
  • dyn3dpar:
  • parallel.F90 => parallel_lmdz.F90 : and change all the "use parallel" into "use parallel_lmdz" in all files in dyn3dpar
  • comvert.h : cosmetic change on comments
  • gcm.F : add xios and use module indice_sol_mod (for INCA)
  • leapfrog_p.F : add xios + correction for times in Newtonian case
  • ce0l.F90 : indicesol.h is now module indice_sol_mod
  • inigeom.F : move two computations outside loop

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/makelmdz_fcm

    r979 r1019  
    3232bands=""
    3333scatterers=""
     34job=1
     35full=''
    3436
    3537LMDGCM=`/bin/pwd`
     
    4042CHEM_PATH=$LMDGCM/.void_dir
    4143# Path to fcm utility:
    42 fcm_path=$LMDGCM/tools/fcm/bin
     44##fcm_path=$LMDGCM/tools/fcm/bin
     45fcm_path=$(dirname $(which fcm))
    4346
    4447########################################################################
     
    7275[-prod / -dev / -debug]    : compilation mode production (default) / developement / debug .
    7376[-c false/MPI1/MPI2]       : (Earth) coupling with ocean model : MPI1/MPI2/false (default: false)
    74 [-v false/true]            : (Earth) with or without vegetation (default: false)
     77[-v false/orchidee2.0/orchidee1.9/true] : version of the vegetation model to include (default: false)
     78          false       : no vegetation model
     79          orchidee2.0 : compile using ORCHIDEE 2.0 (or more recent version)
     80          orchidee1.9 : compile using ORCHIDEE up to the version including OpenMP in ORCHIDEE : tag 1.9-1.9.5(version AR5)-1.9.6
     81          true        : (obsolete; for backward compatibility) use ORCHIDEE tag 1.9-1.9.6
    7582[-chimie INCA/false]       : (Earth) with INCA chemistry model or without (default: false)
    7683[-cosp cosp/false]         : (Earth) add the cosp model (default: false)
     
    8491[-filtre NOMFILTRE]        : use filtre from libf/NOMFILTRE (default: filtrez)
    8592[-link LINKS]              : additional links with other libraries
     93[-j n]                     : active parallel compiling on ntask
     94[-full]                    : full recompiling
    8695[-fcm_path path]           : path to the fcm tool (default: tools/fcm/bin)
    8796[-ext_src path]            : path to an additional set of routines to compile with the model
     
    158167      "-ext_src")
    159168          EXT_SRC=$2 ; shift ; shift ;;
     169
     170      "-j")
     171          job=$2 ; shift ; shift ;;
     172
     173      "-full")
     174          full="-full" ; shift ;;
    160175
    161176      "-arch")
     
    259274fi
    260275
    261 if [[ "$veget" == "true" ]]
    262 then
     276if [ "$veget" = "true" -o "$veget" = "orchidee1.9" -o "$veget" = "orchidee2.0" ]
     277then
     278#NB: option 'true': for backward compatibility. To be used with ORCHIDEE tag 1.9-1.9.6
     279#    For this case, cpp flag ORCHIDEE_NOOPENMP must be added to the makelmdz_fcm arguments
     280#    option orchidee1.9 : Compile with ORCHIDEE version up to the inclusion of OpenMP in ORCHIDEE : tag 1.9-1.9.5(version AR5)-1.9.6
     281   INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
    263282   CPP_KEY="$CPP_KEY CPP_VEGET"
    264    INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
    265    LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}sechiba -l${LIBPREFIX}parameters -l${LIBPREFIX}stomate -l${LIBPREFIX}parallel -l${LIBPREFIX}orglob"
     283# temporary, for Orchidee versions 1.9.* (before openmp activation)
     284   if [[ "$veget" == "orchidee1.9" ]] ; then
     285      CPP_KEY="$CPP_KEY ORCHIDEE_NOOPENMP"
     286   fi
     287   if [[ "$veget" == "orchidee2.0" ]] ; then
     288      orch_libs=orchidee
     289   else
     290      orch_libs="sechiba parameters stomate parallel orglob"
     291   fi
     292   LIB="${LIB} -L${ORCH_LIBDIR}"
     293   for lib in ${orch_libs} ; do
     294      if [ -f ${ORCH_LIBDIR}/lib${LIBPREFIX}$lib.a ] ; then
     295         LIB="${LIB} -l${LIBPREFIX}$lib "
     296      fi
     297   done
     298elif [[ "$veget" != "false" ]] ; then
     299   echo "Option -v $veget does not exist"
     300   echo "Use ./makelmdz_fcm -h for more information"
     301   exit
    266302fi
    267303
     
    444480fi
    445481
    446 if [[ $veget == "true" ]]
     482if [[ $veget != "false" ]]
    447483then
    448484  SUFF_NAME=${SUFF_NAME}_orch
     
    497533
    498534rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock
    499 ./build_gcm
     535./build_gcm ${fcm_path} -j $job $full
    500536
    501537rm -rf tmp_src
Note: See TracChangeset for help on using the changeset viewer.