Changeset 2071 for LMDZ5/branches/LMDZ5-DOFOCO/makelmdz_fcm
- Timestamp:
- Jun 23, 2014, 10:35:34 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/LMDZ5-DOFOCO/makelmdz_fcm
r1789 r2071 22 22 couple=false 23 23 veget=false 24 sisvat=false 25 rrtm=false 24 26 chimie=false 25 27 parallel=none … … 29 31 LIBPREFIX="" 30 32 cosp=false 33 job=1 34 full='' 31 35 32 36 LMDGCM=`/bin/pwd` … … 63 67 [-p PHYS] : set of physical parametrizations (in libf/phyPHYS), (default: lmd) 64 68 [-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) 66 70 [-v false/orchidee2.0/orchidee1.9/true] : version of the vegetation model to include (default: false) 67 71 false : no vegetation model … … 79 83 [-filtre NOMFILTRE] : use filtre from libf/NOMFILTRE (default: filtrez) 80 84 [-link LINKS] : additional links with other libraries 85 [-j n] : active parallel compiling on ntask 86 [-full] : full recompiling 81 87 [-fcm_path path] : path to the fcm tool (default: tools/fcm/bin) 82 88 [-ext_src path] : path to an additional set of routines to compile with the model … … 113 119 veget="$2" ; shift ; shift ;; 114 120 121 "-sisvat") 122 sisvat="$2" ; shift ; shift ;; 123 124 "-rrtm") 125 rrtm="$2" ; shift ; shift ;; 126 115 127 "-chimie") 116 128 chimie="$2" ; shift ; shift ;; … … 147 159 "-ext_src") 148 160 EXT_SRC=$2 ; shift ; shift ;; 161 "-j") 162 job=$2 ; shift ; shift ;; 163 "-full") 164 full="-full" ; shift ;; 149 165 150 166 "-arch") … … 219 235 if [[ "$couple" != "false" ]] 220 236 then 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 224 249 fi 225 250 … … 248 273 fi 249 274 250 if [[ "$veget" == "orchidee2.0" ]] 251 then 252 # orchidee2.0 : 253 # Compile with ORCHIDEE 2.0 (or more recent) 275 if [ "$veget" = "true" -o "$veget" = "orchidee1.9" -o "$veget" = "orchidee2.0" ] 276 then 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}" 254 281 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 297 elif [[ "$veget" != "false" ]] ; then 274 298 echo "Option -v $veget does not exist" 275 299 echo "Use ./makelmdz_fcm -h for more information" … … 277 301 fi 278 302 303 if [[ "$sisvat" == "true" ]] 304 then 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 308 fi 309 310 if [[ "$rrtm" == "true" ]] 311 then 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 315 fi 316 279 317 if [[ $io == ioipsl ]] 280 318 then … … 282 320 INCLUDE="$INCLUDE -I${IOIPSL_INCDIR}" 283 321 LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl" 284 fi 322 elif [[ $io == xios ]] 323 then 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" 328 fi 329 285 330 if [[ "$cosp" == "true" ]] 286 331 then … … 468 513 469 514 rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock 470 ./build_gcm ${fcm_path} 515 ./build_gcm ${fcm_path} -j $job $full 471 516 472 517 rm -rf tmp_src … … 475 520 ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config/tmp tmp_src 476 521 522 #eventual cleanup for SISVAT 523 sed -e 's/^src::sisvat/#src::sisvat/' bld.cfg > bld.tmp 524 mv bld.tmp bld.cfg 525 526 #eventual cleanup for RRTM 527 sed -e 's/^src::rrtm/#src::rrtm/' bld.cfg > bld.tmp 528 mv bld.tmp bld.cfg 529 530 477 531 if [[ -r $LIBFGCM/grid/dimensions.h ]] 478 532 then
Note: See TracChangeset
for help on using the changeset viewer.