Changeset 4871 for BOL/script_install_amaury/install_lmdz.sh
- Timestamp:
- Mar 25, 2024, 10:27:44 AM (8 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOL/script_install_amaury/install_lmdz.sh
r4862 r4871 38 38 ### Functions 39 39 40 function myget { 41 # A function to fetch files either locally or on the internet 42 43 local file_name=$1 44 # Path on local computer where to look for the datafile 45 if [[ -f "/u/lmdz/WWW/LMDZ/pub/$file_name" ]]; then 46 \cp -f -p "/u/lmdz/WWW/LMDZ/pub/$file_name" . 47 elif [[ -f ~"/LMDZ/pub/$file_name" ]]; then 48 \cp -f -p ~"/LMDZ/pub/$file_name" . 49 else 50 wget --no-check-certificate -nv "http://lmdz.lmd.jussieu.fr/pub/$file_name" 51 fi 40 function myget { # Get a file from LMDZ repository 41 local url=$1 42 43 local filename 44 filename=$(basename "$url") 45 46 wget --no-check-certificate -nv "http://lmdz.lmd.jussieu.fr/pub/$url" 47 if [[ $filename =~ .*\.(ba)?sh ]]; then chmod +x "$filename"; fi 52 48 } 53 49 … … 323 319 \rm "modipsl.$version.tar" 324 320 fi 321 322 if [[ $svn != "" ]]; then 323 mysvn=$svn 324 else 325 mysvn="$(grep 'Revision: [0-9]' "$MODEL"/Read*.md | awk ' { print $2 } ' 2>/dev/null)" 326 fi 327 echo "SVN revision used: $mysvn" 328 } 329 330 function setup_local_arch { 331 # Setup local arch, and correspondance between arch names accross different programs 332 333 case $arch in 334 local) 335 arch_ioipsl="gfortran" 336 arch_xios="local" 337 338 cat <<EOF >"$MODEL/modipsl/modeles/IOIPSL/arch/arch-${arch_ioipsl}.path" # fix bad IOIPSL arch files... 339 NETCDF_INCDIR="\$(nf-config --fflags)" 340 NETCDF_LIBDIR="\$(nf-config --flibs)" 341 EOF 342 ;; 343 *) arch_ioipsl=$arch 344 arch_xios=$arch 345 esac 325 346 } 326 347 … … 405 426 echo "Compiling IOIPSL, the interface library with Netcdf $(date) (log: $ioipsllog)" 406 427 407 if ! ./makeioipsl_fcm - job 8 > "$ioipsllog" 2>&1; then428 if ! ./makeioipsl_fcm -arch "$arch_ioipsl" -job 8 > "$ioipsllog" 2>&1; then 408 429 echo "IOIPSL compile failed, exiting"; exit 1 409 430 fi … … 413 434 } 414 435 436 function install_XIOS { 437 if [[ $with_xios = "y" && ! -f "$MODEL/modipsl/modeles/XIOS/lib/libxios.a" ]]; then 438 cd "$MODEL/modipsl/modeles" 439 xioslog="$(pwd)/xios.log" 440 echo "##########################################################" 441 echo "Compiling XIOS (log $xioslog) $(date)" 442 echo "##########################################################" 443 myget script_install/install_xios.bash 444 445 if ! ./install_xios.bash -prefix "$MODEL/modipsl/modeles" -arch "$arch_xios" > "$xioslog" 2>&1; then 446 echo "XIOS compilation failed, exiting"; exit 1 447 fi 448 449 echo "Compiled XIOS $(date)" 450 fi 451 } 452 415 453 echo "install_lmdz.sh DEBUT $(date)" 416 454 … … 419 457 check_available_software 420 458 download_model 459 setup_local_arch 421 460 install_netcdf 422 461 install_IOIPSL 462 install_XIOS 463 464 exit 0 423 465 424 466 … … 562 604 563 605 564 if [[ "$with_xios" = "y" ]]; then565 echo '##########################################################'566 echo 'Compiling XIOS'567 echo '##########################################################'568 cd "$MODEL/modipsl/modeles"569 xioslog="$(pwd)/xios.log"570 #wget http://www.lmd.jussieu.fr/~lmdz/Distrib/install_xios.bash571 myget script_install/install_xios.bash572 chmod u=rwx install_xios.bash573 # following will be recalculated later on once LMDZ is updated574 # mysvn=`svnversion LMDZ | egrep || "[0-9]+" 2>/dev/null`575 mysvn=$(grep 'Revision: [0-9]' "$MODEL"/Read*.md | awk ' { print $2 } ' 2>/dev/null)576 if [[ $svn != "" ]]; then mysvn=$svn; fi577 echo "mysvn $mysvn"578 579 if [[ ${hostname:0:5} = jean- ]]; then580 if [[ $mysvn -ge 4619 ]]; then581 svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS2/branches/xios-2.6 XIOS582 else583 svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS2/branches/xios-2.5 XIOS584 fi585 cd XIOS/arch586 svn update587 cd ..588 echo "Compiling XIOS, start $(date) (it takes about 20 min on Jean-Zay)"589 echo "log file: $xioslog"590 ./make_xios --prod --arch $arch --job 4 > xios.log 2>&1591 else592 ./install_xios.bash -prefix "$MODEL/modipsl/modeles" \593 -netcdf "$ncdfdir" -hdf5 "$ncdfdir" \594 -MPI "$root_mpi" -arch $arch > xios.log 2>&1595 fi # of case Jean-Zay596 if [[ -f XIOS/lib/libxios.a ]]; then597 echo "XIOS library successfully generated"598 echo install_lmdz.sh XIOS_OK "$(date)"599 fi600 fi601 602 606 #============================================================================ 603 607 veget_version=false 604 if [[ "$veget"!= 'NONE' ]]; then608 if [[ $veget != 'NONE' ]]; then 605 609 cd "$MODEL/modipsl/modeles/ORCHIDEE" 606 610 set +e; svn upgrade; set -e 607 if [[ "$veget"= "CMIP6" ]]; then611 if [[ $veget = "CMIP6" ]]; then 608 612 veget_version=orchidee2.0 609 613 orchidee_rev=6592 … … 652 656 # Pour les experts qui voudraient changer de version d'orchidee. 653 657 # Attention : necessite d'avoir le password pour orchidee 654 655 # Correctif suite debug Jean-Zay656 if [[ -f src_global/time.f90 ]]; then657 sed -i -e 's/CALL tlen2itau/\!CALL tlen2itau/' src_global/time.f90658 fi659 658 ################################################################### 660 659 if [[ "$veget_version" == "false" ]]; then
Note: See TracChangeset
for help on using the changeset viewer.