Changeset 5156 for BOL/script_install_amaury/install_lmdz.sh
- Timestamp:
- Aug 1, 2024, 5:58:40 PM (7 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOL/script_install_amaury/install_lmdz.sh
r5083 r5156 49 49 } 50 50 51 function get_svn_branch { 52 local url=$1 53 local rev=$2 54 local res 55 56 res=$(svn log -v -q "$url" -r "$rev" -l 1 | cut -d "/" -f -4) 57 if echo "$res" | grep -q "/trunk/"; then 58 res=$(echo "$res" | grep "/trunk/" | head -1 | cut -d "/" -f 2-3) 59 elif echo "$res" | grep -q "/branches/"; then 60 res=$(echo "$res" | grep "/branches/" | head -1 | cut -d "/" -f 2-4) 61 else 62 echo "Could not determine svn branch for $url, r=$rev" 63 fi 64 echo "$res" 65 } 66 51 67 function set_default_params { 52 68 # Valeur par défaut des parametres … … 61 77 benchphysiq="" 62 78 compphysiq="lmd" 79 is_1D="n" 80 fortran_file="gcm" 63 81 64 82 parallel="none" … … 249 267 if [[ $arch_dir = "" ]]; then 250 268 arch_dir="$MODEL/modipsl/config/IPSLCM7/ARCH/"; 251 elif ! readlink -fe "$arch_dir" ; then269 elif ! readlink -fe "$arch_dir" >/dev/null; then 252 270 echo "STOP: no arch dir <$arch_dir>"; exit 1 271 fi 272 273 if ! (echo "$grid_resolution" | grep -q "x"); then 274 is_1D="y" 275 fortran_file="lmdz1d" 253 276 fi 254 277 } … … 313 336 echo "problem installing with compiler $compiler"; exit 1 314 337 fi 315 \rm tt a.out tt.f90338 rm tt a.out tt.f90 316 339 } 317 340 … … 320 343 321 344 mkdir -p "$MODEL" 322 MODEL=$(readlink -e -f "$MODEL"); echo " $MODEL" # absolute path345 MODEL=$(readlink -e -f "$MODEL"); echo "MODEL: $MODEL" # absolute path 323 346 if [[ ! -d "$MODEL/modipsl" ]]; then 324 347 echo "##########################################################" 325 echo "Download a slightly modified version ofLMDZ"348 echo "Downloading a slightly modified version of modipsl+LMDZ" 326 349 echo "##########################################################" 327 350 cd "$MODEL" … … 332 355 gunzip "modipsl.$version.tar.gz" &>> get.log 333 356 tar xf "modipsl.$version.tar" &>> get.log 334 \rm "modipsl.$version.tar"357 rm "modipsl.$version.tar" 335 358 cd - &> /dev/null 336 359 fi … … 463 486 464 487 if $ncdf_compiler -I"$ncdfdir"/include test_netcdf90.f90 -L"$ncdfdir"/lib -lnetcdff -lnetcdf -Wl,-rpath="$ncdfdir"/lib && ./a.out; then 465 \rm test_netcdf90.f90 a.out488 rm test_netcdf90.f90 a.out 466 489 else 467 490 cat <<EOF … … 615 638 local lmdzbranch 616 639 echo "Fetching LMDZ $svn_lmdz from the repository" 617 lmdzbranch=$(svn log -v -q https://svn.lmd.jussieu.fr/LMDZ -r "$svn_lmdz" | grep LMDZ | head -1 | sed -e 's:trunk/.*$:trunk:' | awk '{print $2}') 640 lmdzbranch=$(get_svn_branch "https://svn.lmd.jussieu.fr/LMDZ" "$svn_lmdz") 641 echo "branch is $lmdzbranch" 618 642 cd "$MODEL/modipsl/modeles" 619 643 rm -rf LMD* 620 svn co -r "$svn_lmdz" "https://svn.lmd.jussieu.fr/LMDZ $lmdzbranch" LMDZ644 svn co -r "$svn_lmdz" "https://svn.lmd.jussieu.fr/LMDZ/$lmdzbranch" LMDZ 621 645 cd - > /dev/null 622 646 fi … … 636 660 637 661 if [[ $used_lmdz_rev -le 4185 ]]; then 638 exe_name="bin/ gcm_${grid_resolution}_phy${compphysiq}_${suff_para}${suff_orc}${suff_aer}${suff_iso}.e"662 exe_name="bin/${fortran_file}_${grid_resolution}_phy${compphysiq}_${suff_para}${suff_orc}${suff_aer}${suff_iso}.e" 639 663 else 640 exe_name="bin/ gcm_${grid_resolution}_phy${compphysiq}_${rad}${suff_para}${suff_orc}${suff_aer}${suff_iso}.e"664 exe_name="bin/${fortran_file}_${grid_resolution}_phy${compphysiq}_${rad}${suff_para}${suff_orc}${suff_aer}${suff_iso}.e" 641 665 fi 642 666 … … 660 684 makelmdz="makelmdz_fcm $optim_flag -arch $arch -j $make_j" 661 685 local para_compile_opt="-mem -parallel $parallel"; if [[ $parallel = "none" ]]; then para_compile_opt=""; fi 662 echo "$jobcmd ./$makelmdz $opt_rad $opt_cosp $opt_makelmdz_xios $opt_aer $opt_inlandsis $opt_isotopes -p $compphysiq -d ${grid_resolution} -v $fcm_veget_version $para_compile_opt gcm" > compile.sh686 echo "$jobcmd ./$makelmdz $opt_rad $opt_cosp $opt_makelmdz_xios $opt_aer $opt_inlandsis $opt_isotopes -p $compphysiq -d ${grid_resolution} -v $fcm_veget_version $para_compile_opt $fortran_file" > compile.sh 663 687 echo "Compiling lmdz using $(\cat compile.sh) (log: $lmdzlog) $(date)" 664 688 chmod +x ./compile.sh … … 677 701 678 702 function run_bench { 703 local bench_cmd="./bench.sh" 704 679 705 cd "$MODEL/modipsl/modeles/LMDZ"* 680 706 … … 683 709 ./init.sh 684 710 elif [[ $bench = 1 ]]; then 685 \rm -rf "BENCH${grid_resolution}" 686 local bench=bench_lmdz_${grid_resolution} 711 rm -rf "BENCH${grid_resolution}" 712 local bench=bench_lmdz_${grid_resolution} 713 if [[ $compphysiq = "lmdiso" ]]; then bench=bench_lmdz_iso_${grid_resolution}; fi 714 715 if [[ $is_1D = "y" ]] ; then # 1D 716 myget "1D/1D.tar.gz" 717 mkdir -p "BENCH${grid_resolution}" 718 tar xf "1D.tar.gz" -C "BENCH${grid_resolution}" --strip-components=1 719 cd "BENCH${grid_resolution}" 720 # Below: ugly, but until we rewrite the 1D case... 721 sed -i'' -e "s:^listecas=.*$:listecas=ARMCU/REF:" -e "s:cd \$local/bin ; ./compile -L \$L:#cd \$local/bin ; ./compile -L \$L:" \ 722 -e "s:./compile -L \$llm:#./compile -L \$llm:" -e "s:ln -sf \$bin/\\\\\${main}\${suffixe}.e .:ln -sf ../../../../../$exe_name \\\\\${main}\${suffixe}.e:" -e "s:gzip listing:cp listing restartphy.nc ../../../../; exit 0:" \ 723 run.sh 724 cp "../$exe_name" bin/ 725 bench_cmd="./run.sh -rad $rad" # suppress ferret commands that launch after bench is "over" 726 else 687 727 myget "3DBenchs/$bench.tar.gz" 688 tar xf "$bench.tar.gz" 728 mkdir "BENCH${grid_resolution}" 729 tar xf "$bench.tar.gz" -C "BENCH${grid_resolution}" --strip-components=1 689 730 690 731 if [[ $cosp = "v1" || $cosp = "v2" ]]; then … … 786 827 cd "BENCH${grid_resolution}" 787 828 788 local bench_cmd="./bench.sh"789 829 if [[ ${parallel:0:3} = "mpi" ]]; then 790 830 # Lancement avec deux procs mpi et 2 openMP … … 822 862 echo "./gcm.e &> listing" > bench.sh 823 863 fi 864 chmod +x bench.sh 824 865 # Getting orchidee stuff 825 866 if [[ $veget = 'CMIP6' || $veget = "orch2.0" ]]; then # TODO once we have a 2.2 bench, add it here (or in planned separate bench script) … … 862 903 fi 863 904 905 fi 906 864 907 if [[ -f ../arch.env ]]; then source ../arch.env; fi 865 908 866 echo " EXECUTION DUBENCH"909 echo "STARTING BENCH" 867 910 date 868 911 if (! $bench_cmd &> out.bench) || ! (tail -n 1 listing | grep "Everything is cool"); then
Note: See TracChangeset
for help on using the changeset viewer.