Ignore:
Timestamp:
Jun 23, 2014, 10:35:34 AM (10 years ago)
Author:
jghattas
Message:

Updated all compile envrionement with r2064 from the trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/LMDZ5-DOFOCO/makelmdz_fcm

    r1789 r2071  
    2222couple=false
    2323veget=false
     24sisvat=false
     25rrtm=false
    2426chimie=false
    2527parallel=none
     
    2931LIBPREFIX=""
    3032cosp=false
     33job=1
     34full=''
    3135
    3236LMDGCM=`/bin/pwd`
     
    6367[-p PHYS]                  : set of physical parametrizations (in libf/phyPHYS), (default: lmd)
    6468[-prod / -dev / -debug]    : compilation mode production (default) / developement / debug
    65 [-c false/MPI1/MPI2]       : coupling with ocean model : MPI1/MPI2/false (default: false)
     69[-c false/MPI1/OMCT]       : coupling with ocean model : MPI1/OMCT/false (default: false)
    6670[-v false/orchidee2.0/orchidee1.9/true] : version of the vegetation model to include (default: false)
    6771          false       : no vegetation model
     
    7983[-filtre NOMFILTRE]        : use filtre from libf/NOMFILTRE (default: filtrez)
    8084[-link LINKS]              : additional links with other libraries
     85[-j n]                     : active parallel compiling on ntask
     86[-full]                    : full recompiling
    8187[-fcm_path path]           : path to the fcm tool (default: tools/fcm/bin)
    8288[-ext_src path]            : path to an additional set of routines to compile with the model
     
    113119          veget="$2" ; shift ; shift ;;
    114120
     121      "-sisvat")
     122          sisvat="$2" ; shift ; shift ;;
     123
     124      "-rrtm")
     125          rrtm="$2" ; shift ; shift ;;
     126
    115127      "-chimie")
    116128          chimie="$2" ; shift ; shift ;;
     
    147159      "-ext_src")
    148160          EXT_SRC=$2 ; shift ; shift ;;
     161      "-j")
     162          job=$2 ; shift ; shift ;;
     163      "-full")
     164          full="-full" ; shift ;;
    149165
    150166      "-arch")
     
    219235if [[ "$couple" != "false" ]]
    220236then
    221    CPP_KEY="$CPP_KEY CPP_COUPLE"
    222    INCLUDE="$INCLUDE -I${OASIS_INCDIR}"
    223    LIB="$LIB -L${OASIS_LIBDIR} -lpsmile.${couple} -lmpp_io"
     237    if [[ "$couple" == "MPI1" ]]
     238    then
     239        CPP_KEY="$CPP_KEY CPP_COUPLE"
     240        export OASIS_INCDIR=$LMDGCM/../../prism/X64/build/lib/psmile.MPI1
     241        export OASIS_LIBDIR=$LMDGCM/../../prism/X64/lib
     242        INCLUDE="$INCLUDE -I${OASIS_INCDIR}"
     243        LIB="$LIB -L${OASIS_LIBDIR} -lpsmile.MPI1 -lmpp_io"
     244    else
     245        CPP_KEY="$CPP_KEY CPP_COUPLE CPP_OMCT"
     246        INCLUDE="$INCLUDE -I${OASIS_INCDIR}"
     247        LIB="$LIB -L${OASIS_LIBDIR} -lpsmile.MPI1 -lscrip -lmct -lmpeu"
     248    fi
    224249fi
    225250
     
    248273fi
    249274
    250 if [[ "$veget" == "orchidee2.0" ]]
    251 then
    252 # orchidee2.0 :
    253 # Compile with ORCHIDEE 2.0 (or more recent)
     275if [ "$veget" = "true" -o "$veget" = "orchidee1.9" -o "$veget" = "orchidee2.0" ]
     276then
     277#NB: option 'true': for backward compatibility. To be used with ORCHIDEE tag 1.9-1.9.6
     278#    For this case, cpp flag ORCHIDEE_NOOPENMP must be added to the makelmdz_fcm arguments
     279#    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
     280   INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
    254281   CPP_KEY="$CPP_KEY CPP_VEGET"
    255    INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
    256    LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}orchidee "
    257 elif [[ "$veget" == "orchidee1.9" ]]
    258 then
    259 # orchidee1.9 :
    260 # Compile with ORCHIDEE version up to the inclusion of OpenMP in ORCHIDEE : tag 1.9-1.9.5(version AR5)-1.9.6
    261    CPP_KEY="$CPP_KEY CPP_VEGET ORCHIDEE_NOOPENMP"
    262    INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
    263    LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}sechiba -l${LIBPREFIX}parameters -l${LIBPREFIX}stomate -l${LIBPREFIX}parallel -l${LIBPREFIX}orglob"
    264 elif [[ "$veget" == "true" ]]
    265 then
    266 # true :
    267 # Obsolete, for backward compatibility. To be used with ORCHIDEE tag 1.9-1.9.6
    268 # For this case, cpp flag ORCHIDEE_NOOPENMP must be added to the makelmdz_fcm arguments
    269    CPP_KEY="$CPP_KEY CPP_VEGET"
    270    INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
    271    LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}sechiba -l${LIBPREFIX}parameters -l${LIBPREFIX}stomate -l${LIBPREFIX}parallel -l${LIBPREFIX}orglob"
    272 elif [[ "$veget" != "false" ]]
    273 then
     282# temporary, for Orchidee versions 1.9.* (before openmp activation)
     283   if [[ "$veget" == "orchidee1.9" ]] ; then
     284      CPP_KEY="$CPP_KEY ORCHIDEE_NOOPENMP"
     285   fi
     286   if [[ "$veget" == "orchidee2.0" ]] ; then
     287      orch_libs="sechiba parameters stomate parallel orglob orchidee"
     288   else
     289      orch_libs="sechiba parameters stomate parallel orglob"
     290   fi
     291   LIB="${LIB} -L${ORCH_LIBDIR}"
     292   for lib in ${orch_libs} ; do
     293      if [ -f ${ORCH_LIBDIR}/lib${LIBPREFIX}$lib.a ] ; then
     294         LIB="${LIB} -l${LIBPREFIX}$lib "
     295      fi
     296   done
     297elif [[ "$veget" != "false" ]] ; then
    274298   echo "Option -v $veget does not exist"
    275299   echo "Use ./makelmdz_fcm -h for more information"
     
    277301fi
    278302
     303if [[ "$sisvat" == "true" ]]
     304then
     305   CPP_KEY="$CPP_KEY CPP_SISVAT"
     306   sed -e 's/^#src::sisvat/src::sisvat/' bld.cfg > bld.tmp
     307   mv bld.tmp bld.cfg
     308fi
     309
     310if [[ "$rrtm" == "true" ]]
     311then
     312   CPP_KEY="$CPP_KEY CPP_RRTM"
     313   sed -e 's/^#src::rrtm/src::rrtm/' bld.cfg > bld.tmp
     314   mv bld.tmp bld.cfg
     315fi
     316
    279317if [[ $io == ioipsl ]]
    280318then
     
    282320   INCLUDE="$INCLUDE -I${IOIPSL_INCDIR}"
    283321   LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl"
    284 fi
     322elif [[ $io == xios ]]
     323then
     324   # For now, xios implies also using ioipsl
     325   CPP_KEY="$CPP_KEY CPP_IOIPSL CPP_XIOS"
     326   INCLUDE="$INCLUDE -I${IOIPSL_INCDIR} -I${XIOS_INCDIR}"
     327   LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl -L${XIOS_LIBDIR} -l${LIBPREFIX}stdc++ -l${LIBPREFIX}xios"
     328fi
     329
    285330if [[ "$cosp" == "true" ]]
    286331then
     
    468513
    469514rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock
    470 ./build_gcm ${fcm_path}
     515./build_gcm ${fcm_path} -j $job $full
    471516
    472517rm -rf tmp_src
     
    475520ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config/tmp tmp_src
    476521
     522#eventual cleanup for SISVAT
     523sed -e 's/^src::sisvat/#src::sisvat/' bld.cfg > bld.tmp
     524mv bld.tmp bld.cfg
     525
     526#eventual cleanup for RRTM
     527sed -e 's/^src::rrtm/#src::rrtm/' bld.cfg > bld.tmp
     528mv bld.tmp bld.cfg
     529
     530
    477531if [[ -r $LIBFGCM/grid/dimensions.h ]]
    478532then
Note: See TracChangeset for help on using the changeset viewer.