#!/bin/bash #MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt #MNH_LIC for details. version 1. #set -x #set -e if [ "x$XYZ" = "x" ] then # export VERSION_MASTER=${VERSION_MASTER:-MNH-V5-5-OPENACC-FFT} export VERSION_BUG=${VERSION_BUG:-1} export VERSION_XYZ=${VERSION_XYZ:-${VERSION_MASTER}-${VERSION_BUG}${VER_OASIS:+-${VER_OASIS}}} export VERSION_DATE=${VERSION_DATE:-"19/03/2021"} export VERSION_LIBAEC=${VERSION_LIBAEC:-"1.1.2"} export VERSION_HDF=${VERSION_HDF:-"1.14.2"} export VERSION_CDFC=${VERSION_CDFC:-"4.9.2"} export VERSION_CDFCXX=${VERSION_CDFCXX:-"4.3.1"} export VERSION_CDFF=${VERSION_CDFF:-"4.6.1"} export VERSION_GRIBAPI=${VERSION_GRIBAPI:-"1.26.0-Source"} export VERSION_ECCODES=${VERSION_ECCODES:-"2.18.0"} export ECCODES_DEFINITION_PATH=${ECCODES_DEFINITION_PATH:-${SRC_MESONH}/src/LIB/eccodes-${VERSION_ECCODES}"/definitions/"} export MNH_INT=${MNH_INT:-"4"} export LFI_INT=${LFI_INT:-8} export MNH_REAL=${MNH_REAL:-"8"} export MNH_IOCDF4=${MNH_IOCDF4:-1} export VERSION_OASIS=${VERSION_OASIS:-"mct_v3"} export VERSION_TOY=${VERSION_TOY:-"v1-0"} export VERSION_NCL=${VERSION_NCL:-"ncl-6.4.0"} export VERSION_ECRAD=${VERSION_ECRAD:-"1.4.0"} export VER_ECRAD=${VERSION_ECRAD//./} # # Install MNH_EXPAND if VER_MNHEXP=MNHEXPAUTO # export VER_MNHEXP=${VER_MNHEXP:-"MNHEXPAUTO"} export VERSION_MNHEXP=${VERSION_MNHEXP:-"MNH_EXPAND_1-2-2"} export VERSION_FILEPP=${VERSION_FILEPP:-"1.8.0"} export LEN_HREC=${LEN_HREC:-16} # export NEED_TOOLS=YES # export LOCAL=${PWD%/src} RACINE=$(basename $LOCAL ) # cd ${LOCAL}/conf # TARG=$(uname -s -n) # case "$TARG" in 'Linux turpan'*) # Turpa, A100 export ARCH=${ARCH:-LXnvhpc2202} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-OPENACCO2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} case "${ARCH}" in *LXnvhpc*) # NVIDIA Compiler export MNHENV=${MNHENV:-" module purge module load nvidia module load nvhpc/22.11 module load cmake/3.25.1 export CUDALEVEL=cuda11.8 export OPT_CPTCAP=cc80 module list "} ;; *LXarm*) # ARM Compiler # No true OpenACC -> [[ "${OPTLEVEL}" =~ "OPENACCO2" ]] && OPTLEVEL=OPENACCDEFONLY export MNHENV=${MNHENV:-" module purge module load arm module load binutils/11.2.0 module load acfl/23.04 module load openmpi/arm/4.1.4-cpu module load cmake/3.25.1 module list "} ;; esac ;; 'Linux login'*leonardo*) # Leonardo A100 export ARCH=${ARCH:-LXnvhpc2202} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-OPENACCO2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module purge module load git-lfs module load nvhpc/23.1 module load openmpi/4.1.4--nvhpc--23.1-cuda-11.8 module load cuda/11.8 export CUDALEVEL=cuda11.8 export OPT_CPTCAP=cc80 export NVHPC_CUDA_HOME=\$CUDA_HOME module list "} ;; 'Linux uan'*) # LUMI MI250 export ARCH=${ARCH:-LXcray} export VER_MPI=${VER_MPI:-MPICRAY} export OPTLEVEL=${OPTLEVEL:-OPENACCO2} export MVWORK=${MVWORK:-YES} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module purge module load LUMI/23.09 partition/G module load craype-x86-trento craype-accel-amd-gfx90a module load PrgEnv-cray/8.4.0 module load craype/2.7.23 module load cce/16.0.1 module load craype-network-ofi module load cray-mpich/8.1.27 module load libfabric/1.15.2.0 module load rocm/5.2.3 module rm cray-libsci module load EasyBuild-user module load git-lfs/3.4.0 export CCE_ALIAS_NONE=:on export CCE_NO_PTR_TO_PTR_ALIAS=:on export LD_LIBRARY_PATH=\${CRAY_LD_LIBRARY_PATH}:\${LD_LIBRARY_PATH} module list "} ;; 'Linux login'*) # Adastra MI250 export ARCH=${ARCH:-LXcray} export VER_MPI=${VER_MPI:-MPICRAY} export OPTLEVEL=${OPTLEVEL:-OPENACCO2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module purge module load craype-x86-trento module load craype-network-ofi module load PrgEnv-cray/8.3.3 module load cce/16.0.0 module load craype/2.7.21 module load cray-mpich/8.1.26 module load libfabric/1.15.2.0 if ! ( [[ \"\${OPTLEVEL}\" =~ \"DEFONLY\" ]] ) ; then module load craype-accel-amd-gfx90a module load rocm/5.2.3 fi module rm cray-libsci export CCE_ALIAS_NONE=:on export CCE_NO_PTR_TO_PTR_ALIAS=:on export LD_LIBRARY_PATH=\${CRAY_LD_LIBRARY_PATH}:\${LD_LIBRARY_PATH} module list "} ;; 'Linux jean-zay'*|'Linux idrsrv'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIINTEL} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module purge module load cmake/3.18.0 module load intel-compilers/19.1.3 module load intel-mpi/2019.9 ulimit -s unlimited export SLURM_CPU_BIND=none export I_MPI_PIN_PROCESSOR_LIST=all:map=spread module load imagemagick/7.0.8-7 module load anaconda-py3/2020.11 conda activate climate_science "} ;; 'Linux'*'occigen'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIINTEL} export OPTLEVEL=${OPTLEVEL:-O2} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" ulimit -s unlimited module purge module load cmake/3.16.1 module load intel/19.4 intelmpi/2019.4.243 export SLURM_CPU_BIND=none export I_MPI_PIN_PROCESSOR_LIST=all:map=spread # force CC=gcc , for HDF5 divide by zero problem with icc !!! export CC=gcc export I_MPI_CC=gcc "} ;; 'Linux service'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIICE} export NEED_NCARG=${NEED_NCARG:-YES} export MVWORK=${MVWORK:-NO} domain=$(grep .fr /etc/hosts | head -1 ) case "${domain}" in *cines*) # jade export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFICE} export NEED_NCARG=${NEED_NCARG:-YES} export MNHENV=${MNHENV:-" module rm netcdf ; module load netcdf/4.0 module rm MPT ; module load MPT/2.02 module rm intel ; module load intel/12.0.13 export MPI_DSM_CPULIST=0-7:allhosts "} ;; *cict*) # hyperion export OPTLEVEL=${OPTLEVEL:-DEBUG} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" . /usr/share/modules/init/bash module purge module load intel-fc-10/10.1.017 module load sgi-mpt/1.26 export MPI_DSM_CPULIST=0-7:allhosts "} ;; esac ;; 'Linux platine'*|'Linux titane'*|'Linux curie'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module load ncl_ncarg/6.3.0 "} ;; 'Linux irene'*) MODEL_NAME=`lscpu | grep 'Model name' ` case ${MODEL_NAME} in *Intel*) # Irene Intel core export MNH_ARCH=`echo $ARCH | grep LX` export ARCH=${MNH_ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module purge module load cmake/3.18.1 module load intel/19.0.5.281 module load mpi/openmpi/4.0.2 export SLURM_CPU_BIND=none "} ;; *AMD*) # Irene AMD core export MNH_ARCH=`echo $ARCH | grep LX` export ARCH=${MNH_ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export VERSION_XYZ="${VERSION_XYZ}-AMD" export MNHENV=${MNHENV:-" module purge module load cmake/3.18.1 module load intel/19.0.5.281 module load mpi/openmpi/4.0.2 export SLURM_CPU_BIND=none # Set some openmpi variable for pb with nb of cores >> 1024 export OMPI_MCA_coll_hcoll_enable=0 export HCOLL_ENABLE_MCAST_ALL=0 export OMPI_MCA_coll_tuned_barrier_algorithm=2 # For GA version set GA/ARMCI variables export ARMCI_VERBOSE=1 export ARMCI_STRIDED_METHOD=IOV ARMCI_IOV_METHOD=BATCHED export ARMCI_SHR_BUF_METHOD=COPY "} ;; esac ;; 'Linux belenos'*|'Linux taranis'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O3} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export NEED_NCARG=${NEED_NCARG:-YES} export NEED_TOOLS=YES export MNHENV=${MNHENV:-" module purge module load intel/2019.5.281 module load openmpi/intel/4.0.2.2 module load cmake/3.15.4 unset CC CXX "} ;; 'Linux beaufix'*|'Linux prolix'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIINTEL} export OPTLEVEL=${OPTLEVEL:-O3} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFBFIX} export NEED_NCARG=${NEED_NCARG:-NO} export NEED_TOOLS=NO export MNHENV=${MNHENV:-" module rm intel ; module load intel/16.1.150 ; module rm intelmpi ; module load intelmpi/5.1.2.150 ; module rm netcdf ; module load netcdf/4.4.0 ; module rm grib_api ; module load grib_api/1.14.5 ; export GRIBAPI_PATH=/opt/softs/libraries/ICC16.1.150/grib_api-1.14.5 "} ;; 'Linux login0'*|'Linux compute'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O3} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFBULL} export MNHENV=${MNHENV:-" module rm intel ; module load intel/13.0.1.117 ; module rm intelmpi ; module load intelmpi/4.1.0 ; module rm intel-itac ; module load intel-itac/8.0.3 "} ;; 'Linux brodie'*|'Linux mercure'*) export ARCH=${ARCH:-SX8} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O4} export MVWORK=${MVWORK:-YES} export VER_CDF=${VER_CDF:-CDFSX} export MNHENV=${MNHENV:-" module rm sxf90 ; module load sxf90/400 ; module rm sxmpi ; module load sxmpi/8.0.10 ; module rm netcdf ; module load netcdf/3.6.3 "} ;; 'Linux babel'*) export ARCH=${ARCH:-BGQ} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-YES} export MNHENV=${MNHENV:-" module load netcdf/3.6.3 "} ;; 'Linux turing'*) export ARCH=${ARCH:-BGQ} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O2NAN} export MVWORK=${MVWORK:-YES} export VER_CDF=${VER_CDF:-CDFBGQ} export MNHENV=${MNHENV:-" source /bglocal/fe/pub/Modules/default/init/bash export MODULEPATH=/bghome/rech/mnh/rmnh007/my_modules:\$MODULEPATH module purge #module load ibmcmp/V1R2M2/14.01.0000.0011/gcc.legacy module load mpi/gcc.legacy export VER_GA=ga-mpi-5-0-3-v1r2m2-gcc-legacy module load ga/\${VER_GA} "} ;; 'Linux ada'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIINTEL} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-YES} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" #export MP_MPILIB=pempi module purge module load intel/2018.2 "} ;; AIX*) export MNH_ARCH=`echo $ARCH | grep AIX` export ARCH=${MNH_ARCH:-AIX64} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAIX} case "$(hostname)" in vargas*) export MNHENV=${MNHENV:-" module rm fortran ; module load fortran/13.1.0.7 module rm netcdf ; module load netcdf/3.6.3 "} ;; c1a*) export VERSION_GRIBAPI="1.9.9" export MNHENV=${MNHENV:-" . /usr/local/apps/module/init/sh.in module rm fortran ; module load fortran/xlf/13.1.0.7 module rm netcdf ; module load netcdf/3.6.3 export CDF_PATH=/usr/local/apps/netcdf/3.6.3/LP64 export GRIBAPI_PATH=/usr/local/lib/metaps/lib/grib_api/${VERSION_GRIBAPI} export LIB_GRIBAPI='${GRIB_API_LIB}' "} ;; c2a*) export VERSION_GRIBAPI="2.0.0" export MNHENV=${MNHENV:-" . /usr/local/apps/module/init/sh.in module rm fortran ; module load fortran/xlf/13.1.0.9 module rm netcdf ; module load netcdf/3.6.3 export CDF_PATH=/usr/local/apps/netcdf/3.6.3/LP64 export GRIBAPI_PATH=/usr/local/lib/metaps/lib/grib_api/${VERSION_GRIBAPI} export LIB_GRIBAPI='${GRIB_API_LIB}' "} ;; esac ;; 'Linux cc'*) # ECMWF Cray plateforme export MNH_ARCH=`echo $ARCH | grep LX` export ARCH=${MNH_ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPICRAY} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} if [ "${ARCH}" == "LXcray" ] then export MNHENV=${MNHENV:-" . /opt/modules/default/init/bash module rm grib_api eccodes module rm craype-broadwell export CRAY_CPU_TARGET=ivybridge module swap cdt/1.15_8.2.7 module use /opt/cray/craype/default/modulefiles "} else if [ "${ARCH}" == "LXifort" ] then export MNHENV=${MNHENV:-" . /opt/modules/default/init/bash module rm grib_api eccodes prgenvswitchto intel module rm intel module load intel/17.0.3.053 export CC=gcc "} fi fi ;; 'Linux sxmnh1') #CNRM ifort sur sxmnh1 (diff mandriva) export OMPI_FC=ifort export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-DEBUG} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFCTI} export NEED_NCARG=${NEED_NCARG:-NO} export NEED_TOOLS=NO ;; 'Linux lx'*|'Linux sx'*|'Linux px'*) #CNRM export MNH_ARCH=`echo $ARCH | grep LX` export ARCH=${MNH_ARCH:-LXgfortran} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-DEBUG} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFCTI} export NEED_NCARG=${NEED_NCARG:-YES} export NEED_TOOLS=NO ;; 'Linux nuwa'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-O2} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export NEED_NCARG=${NEED_NCARG:-YES} export MNHENV=${MNHENV:-" . /home/tools/intel/psxe2018/bin/ifortvars.sh intel64 export MPI_ROOT=/usr/local/openmpi/3.1.4/ifort18.0.2.199 export PATH=\$MPI_ROOT/bin:\$PATH export LD_LIBRARY_PATH=\$MPI_ROOT/lib64:\$LD_LIBRARY_PATH export MANPATH=\$MPI_ROOT/share/man:\$MANPATH # For python graphic source /home/sila/miniconda3/etc/profile.d/conda.sh conda activate mnh-env_nuwa "} ;; 'Linux eos'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIINTEL} export OPTLEVEL=${OPTLEVEL:-O2} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module purge module load intel/17.0.4 intelmpi/2017.3.196 ncl/6.2.0 export SLURM_CPU_BIND=none export I_MPI_PIN_PROCESSOR_LIST=all:map=spread "} ;; 'Linux olympe'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIINTEL} export OPTLEVEL=${OPTLEVEL:-O2} export VER_CDF=${VER_CDF:-CDFAUTO} export MNHENV=${MNHENV:-" module purge module load cmake/3.13.0 module load intel/20.0.015 intelmpi/20.0.015 export SLURM_CPU_BIND=none export I_MPI_PIN_PROCESSOR_LIST=all:map=spread "} ;; Linux*) export ARCH=${ARCH:-LXgfortran} export VER_MPI=${VER_MPI:-MPIVIDE} export OPTLEVEL=${OPTLEVEL:-DEBUG} export MVWORK=${MVWORK:-NO} #export VER_CDF=${VER_CDF:-CDFGFOR} export VER_CDF=${VER_CDF:-CDFAUTO} export NEED_NCARG=${NEED_NCARG:-YES} ;; Darwin*) echo "WARNING:: Darwin for Mac not tested " export ARCH=${ARCH:-LXgfortran} export VER_MPI=${VER_MPI:-MPIVIDE} export OPTLEVEL=${OPTLEVEL:-DEBUG} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export NEED_NCARG=${NEED_NCARG:-NO} ;; *) echo "WARNING ; system not yet tested " echo "WARNING ; edit profile_mesonh & set correct variables ARCH , VER_MPI & OPTLEVEL " export ARCH=${ARCH} export VER_MPI=${VER_MPI:-MPIVIDE} export OPTLEVEL=${OPTLEVEL:-DEBUG} ;; esac ## ## Environnement for scandollar ## if [ "x${CONF_DOLLAR}" = "x" ] ; then # set default value for CONF_DOLLAR file case "$(hostname)" in tori*|yuki*) export POSTCONF=confdollar_dsinec_default ;; lx*|px*|sx*) export POSTCONF=confdollar_cnrmpc_default ;; aeropc*) export POSTCONF=confdollar_aeropc_default ;; brodie*) export POSTCONF=confdollar_brodie_default ;; vargas*) export POSTCONF=confdollar_vargas_default ;; c1a*) export POSTCONF=confdollar_c1a_default ;; service*) export POSTCONF=confdollar_jade_default ;; babel*) export POSTCONF=confdollar_babel_default ;; turing*) export POSTCONF=confdollar_turing_default ;; titane*|curie*) export POSTCONF=confdollar_titane_default ;; eos*) export POSTCONF=confdollar_eos_default ;; occigen*) export POSTCONF=confdollar_occigen_default ;; *) export POSTCONF=confdollar_aeropc_default ;; esac export CONF_DOLLAR=${LOCAL}/conf/post/${POSTCONF} fi # # Install 32/64 mesonh tools # if [ "x${NEED_TOOLS}" == "xYES" ] ; then case "$(uname -m)" in 'x86_64') export BIN_TOOLS=${BIN_TOOLS:-X86_64} ;; 'x86'|'i'*'86') export BIN_TOOLS=${BIN_TOOLS:-X86} ;; esac fi # # Install MNH_EXPAND if VER_MNHEXP=MNHEXPAUTO # if [ "x${VER_MNHEXP}" == "xMNHEXPAUTO" ] ;then ( cd $LOCAL/pub/FILEPP if [ ! -d MNH_Expand_Array-${VERSION_MNHEXP} ] ; then tar xvf ${VERSION_MNHEXP}.tar.gz tar xvf filepp-${VERSION_FILEPP}.tar.gz cd filepp-${VERSION_FILEPP} FILEPP=$LOCAL/pub/FILEPP ./configure --prefix=${FILEPP}/FILEPP-${VERSION_FILEPP} make install fi ) fi # # Generate profile_mesonh # ${LOCAL}/bin/eval_dollar profile_mesonh.ihm > profile_mesonh chmod +x profile_mesonh XYZ=${ARCH}-R${MNH_REAL}I${MNH_INT}-${VERSION_XYZ}${MNH_ECRAD:+-ECRAD${VER_ECRAD}}${MNH_FOREFIRE:+-FF}${VER_USER:+-${VER_USER}}-${VER_MPI}-${OPTLEVEL} cp profile_mesonh profile_mesonh-${XYZ} # # Do some post-install stuff # if [ "x${MVWORK}" == "xYES" ] ; then if [ "x${WORKDIR}" == "x" ] ; then echo "ATTENTION :: configure !!!!!" echo echo ' ---> vous n avez pas initialiser la variable $WORKDIR ' echo ' ---> ou seront stoké les binaires et cas tests ' echo ' ---> initialisez la et relance "./configure"' exit 1 fi if [ -d ${WORKDIR} ] && [ ${LOCAL} == ${LOCAL##/work} ] ; then # if we are not allready in the workdir --> move stuff WORK=$WORKDIR/${RACINE}_WORKDIR mkdir -p ${WORK} for dir in MY_RUN exe pub src/LIB do if [ -d ${LOCAL}/${dir} ] && [ ! -L ${LOCAL}/${dir} ] ; then DIR=$( dirname ${WORK}/${dir} ) mkdir -p ${DIR} mv ${LOCAL}/${dir} ${DIR}/. ln -fs ${WORK}/${dir} ${LOCAL}/${dir} fi done fi fi if [ "x${NEED_NCARG}" != "xNO" ] ; then ( cd $LOCAL/pub ; [ ! -d ${VERSION_NCL} ] && ( tar xvfz ${VERSION_NCL}.tar.gz ) ) fi # # Install CDF if VER_CDF=CDFAUTO # if [ "x${VER_CDF}" == "xCDFAUTO" ] ;then ( cd $LOCAL/src/LIB ; [ ! -d libaec-${VERSION_LIBAEC} ] && tar xvfz libaec-${VERSION_LIBAEC}.tar.gz ) ( cd $LOCAL/src/LIB ; [ ! -d hdf5-${VERSION_HDF} ] && tar xvfz hdf5-${VERSION_HDF}.tar.gz ) ( cd $LOCAL/src/LIB ; [ ! -d netcdf-c-${VERSION_CDFC} ] && tar xvfz netcdf-c-${VERSION_CDFC}.tar.gz ) ( cd $LOCAL/src/LIB ; [ ! -d netcdf-cxx4-${VERSION_CDFCXX} ] && tar xvfz netcdf-cxx4-${VERSION_CDFCXX}.tar.gz ) ( cd $LOCAL/src/LIB ; [ ! -d netcdf-fortran-${VERSION_CDFF} ] && tar xvfz netcdf-fortran-${VERSION_CDFF}.tar.gz ) fi # # Install OASIS if VER_OASIS=OASISAUTO # if [ "x${VER_OASIS}" == "xOASISAUTO" ] ; then ( cd $LOCAL/src/LIB ; [ ! -d oasis3-${VERSION_OASIS} ] && tar xvfz oasis3-${VERSION_OASIS}.tar.gz ; [ ! -d toy_${VERSION_TOY} ] && tar xvfz toy_${VERSION_TOY}.tar.gz ) fi # # Install MEGAN if MNH_MEGAN=1 # if [ "x${MNH_MEGAN}" == "x1" ] ; then ( cd $LOCAL/src/LIB ; [ ! -d MEGAN ] && tar xvfz megan.tar.gz ) fi # # Install GRIBAPI or ecCodes # if [ "x${MNH_GRIBAPI}" == "xyes" ] ; then ( cd $LOCAL/src/LIB ; [ ! -d grib_api-${VERSION_GRIBAPI} ] && [ -f grib_api-${VERSION_GRIBAPI}.tar.gz ] && gunzip -c grib_api-${VERSION_GRIBAPI}.tar.gz |tar -xvf - ) else ( cd $LOCAL/src/LIB ; [ ! -d eccodes-${VERSION_ECCODES}-Source ] && [ -f eccodes-${VERSION_ECCODES}-Source.tar.gz ] && gunzip -c eccodes-${VERSION_ECCODES}-Source.tar.gz |tar -xvf - ) fi # # Install ECRAD 1.4.0 if MNH_ECRAD=1 & VERSION_ECRAD=1.4.0 # if [ "x${MNH_ECRAD}" == "x1" ] && [ "x${VERSION_ECRAD}" == "x1.4.0" ] ; then ( cd $LOCAL/src/LIB/RAD ; [ ! -d ecrad-1.4.0 ] && tar xvfz ecrad-1.4.0.tar.gz ) fi ########################################################## # # # RESUME # # # ########################################################## echo ARCH=${ARCH} echo VER_MPI=${VER_MPI} echo VER_USER=${VER_USER-" pas de version user ..."} echo OPTLEVEL=${OPTLEVEL} echo CONF_DOLLAR=${CONF_DOLLAR} echo VER_CDF=${VER_CDF} echo VER_OASIS=${VER_OASIS} echo BIN_TOOLS=${BIN_TOOLS} echo echo "---> XYZ=${XYZ}" echo echo "création du fichier --> ../conf/profile_mesonh-${XYZ}" echo ########################################################## # # # ENVIRONEMENT MESONH ALLREADY SET # # # ########################################################## else clear echo echo "ATTENTION :: configure !!!!!" echo echo ' ---> vous avez déjà initialisé votre environnement MESONH sur cette version' echo ' ---> $XYZ="'$XYZ'"' echo echo "Vérifiez votre fichier '.profile'" ou "'.bashrc'" !!! echo echo " ---> mettez en commentaire la ligne '. ../profile_mesonh...' " echo " ---> relogger vous sur une autre session et relancer ./configure " echo echo "Fichier 'profile_mesonh' non modifié !!! " echo exit 1 fi