if [ "$macos_64bit_GNU" = "1" ]; then echo "MET INSTALLING" brew install wget brew install git brew install gcc@12 brew install libtool brew install automake brew install autoconf brew install make brew install m4 brew install java brew install ksh brew install mpich brew install grads brew install ksh brew install tcsh brew install snapcraft brew install python@3.10 brew install cmake brew install xorgproto brew install xorgrgb brew install xauth brew install curl brew install flex brew install byacc brew install bison brew install gnu-sed pip3.10 install python-dateutil #Directory Listings mkdir $HOME/DTC export WRF_FOLDER=$HOME/DTC if [ "$WRFCHEM_PICK" = "1" ]; then mkdir $HOME/WRFCHEM export WRF_FOLDER=$HOME/WRFCHEM fi if [ "$WRFHYDRO_COUPLED_PICK" = "1" ]; then mkdir $HOME/WRFHYDRO_COUPLED export WRF_FOLDER=$HOME/WRFHYDRO_COUPLED fi if [ "$WRFHYDRO_STANDALONE_PICK" = "1" ]; then mkdir $HOME/WRFHYDRO_STANDALONE export WRF_FOLDER=$HOME/WRFHYDRO_STANDALONE fi if [ "$WRF_PICK" = "1" ]; then mkdir $HOME/WRF export WRF_FOLDER=$HOME/WRF fi if [ "$HWRF_PICK" = "1" ]; then mkdir $HOME/HWRF export WRF_FOLDER=$HOME/HWRF fi mkdir $WRF_FOLDER/MET-11.1.0 mkdir $WRF_FOLDER/MET-11.1.0/Downloads mkdir $WRF_FOLDER/METplus-5.1.0 mkdir $WRF_FOLDER/METplus-5.1.0/Downloads #Symlink to avoid clang conflicts with compilers #default gcc path /usr/bin/gcc #default homebrew path /usr/local/bin echo "Please enter password for linking GNU libraries" echo $PASSWD | sudo -S ln -sf /usr/local/bin/gcc-12 /usr/local/bin/gcc echo $PASSWD | sudo -S ln -sf /usr/local/bin/g++-12 /usr/local/bin/g++ echo $PASSWD | sudo -S ln -sf /usr/local/bin/gfortran-12 /usr/local/bin/gfortran echo $PASSWD | sudo -S ln -sf /usr/local/bin/python3.10 /usr/local/bin/python3 cd $WRF_FOLDER/MET-11.1.0/Downloads wget -c -4 https://raw.githubusercontent.com/dtcenter/MET/bugfix_2596_main_v11.1_rpath_compilation/internal/scripts/installation/compile_MET_all.sh wget -c -4 https://dtcenter.ucar.edu/dfiles/code/METplus/MET/installation/tar_files.tgz wget -c -4 https://github.com/dtcenter/MET/archive/refs/tags/v11.1.0-rc1.tar.gz -O v11.1.0.tar.gz cp compile_MET_all.sh $WRF_FOLDER/MET-11.1.0 tar -xvzf tar_files.tgz -C $WRF_FOLDER/MET-11.1.0 cp v11.1.0.tar.gz $WRF_FOLDER/MET-11.1.0/tar_files cd $WRF_FOLDER/MET-11.1.0 cd $WRF_FOLDER/MET-11.1.0 export PYTHON_VERSION=$(python3 -V 2>1|awk '{print $2}') export PYTHON_VERSION_MAJOR_VERSION=$(echo $PYTHON_VERSION | awk -F. '{print $1}') export PYTHON_VERSION_MINOR_VERSION=$(echo $PYTHON_VERSION | awk -F. '{print $2}') export PYTHON_VERSION_COMBINED=$PYTHON_VERSION_MAJOR_VERSION.$PYTHON_VERSION_MINOR_VERSION export CC=/usr/local/bin/gcc export CXX=/usr/local/bin/g++ export CFLAGS="-fPIC -fPIE -O3 -Wno-implicit-function-declaration" export FC=/usr/local/bin/gfortran export F77=/usr/local/bin/gfortran export F90=/usr/local/bin/gfortran export gcc_version=$(gcc -dumpfullversion) export TEST_BASE=$WRF_FOLDER/MET-11.1.0 export COMPILER=gnu_$gcc_version export MET_SUBDIR=${TEST_BASE} export MET_TARBALL=v11.1.0.tar.gz export USE_MODULES=FALSE export MET_PYTHON=/usr/local export MET_PYTHON_CC="-I$MET_PYTHON/opt/python@$PYTHON_VERSION_COMBINED//Frameworks/Python.framework/Versions/$PYTHON_VERSION_COMBINED/include/python$PYTHON_VERSION_COMBINED" export MET_PYTHON_LD="-L$MET_PYTHON//opt/python@$PYTHON_VERSION_COMBINED/Frameworks/Python.framework/Versions/$PYTHON_VERSION_COMBINED/lib/python$PYTHON_VERSION_COMBINED/config-$PYTHON_VERSION_COMBINED-darwin -lpython$PYTHON_VERSION_COMBINED -ldl -framework CoreFoundation" export SET_D64BIT=FALSE ########################## MAKE_ARGS Parallel tests ########################## #export CPU_CORE=$(sysctl -n hw.ncpu) # number of available threads on system #export CPU_6CORE="6" #export CPU_HALF=$(($CPU_CORE / 2)) #1/2 of availble cores on system #export CPU_HALF_EVEN=$(( $CPU_HALF - ($CPU_HALF % 2) )) #Forces CPU cores to even number to avoid partial core export. ie 7 cores would be 3.5 cores. #if [ $CPU_CORE -le $CPU_6CORE ] #If statement for low core systems. Forces computers to only use 1 core if there are 4 cores or less on the system. #then #export CPU_HALF_EVEN="2" #else #export CPU_HALF_EVEN=$(( $CPU_HALF - ($CPU_HALF % 2) )) #fi #echo "##########################################" #echo "Number of Threads being used $CPU_HALF_EVEN" #echo "##########################################" #echo " " #export MAKE_ARGS=$CPU_HALF_EVEN #echo "MAKE_ARGS=$MAKE_ARGS" ###################################################################################### chmod 775 compile_MET_all.sh time ./compile_MET_all.sh | tee compile_MET_all.log export PATH=$WRF_FOLDER/MET-11.1.0/bin:$PATH mkdir $WRF_FOLDER/METplus-5.1.0 mkdir $WRF_FOLDER/METplus-5.1.0/Sample_Data mkdir $WRF_FOLDER/METplus-5.1.0/Output mkdir $WRF_FOLDER/METplus-5.1.0/Downloads #Downloading METplus and untarring files cd $WRF_FOLDER/METplus-5.1.0/Downloads wget -c -4 https://github.com/dtcenter/METplus/archive/refs/tags/v5.1.0-rc2.tar.gz -O v5.1.0.tar.gz tar -xvzf v5.1.0.tar.gz -C $WRF_FOLDER # Insatlllation of Model Evaluation Tools Plus cd $WRF_FOLDER/METplus-5.1.0/parm/metplus_config sed -i'' -e "s|MET_INSTALL_DIR = /path/to|MET_INSTALL_DIR = $WRF_FOLDER/MET-11.1.0|" defaults.conf sed -i'' -e "s|INPUT_BASE = /path/to|INPUT_BASE = $WRF_FOLDER/METplus-5.1.0/Sample_Data|" defaults.conf sed -i'' -e "s|OUTPUT_BASE = /path/to|OUTPUT_BASE = $WRF_FOLDER/METplus-5.1.0/Output|" defaults.conf # Downloading Sample Data cd $WRF_FOLDER/METplus-5.1.0/Downloads wget -c -4 https://dtcenter.ucar.edu/dfiles/code/METplus/METplus_Data/v5.1/sample_data-met_tool_wrapper-5.1.tgz tar -xvzf sample_data-met_tool_wrapper-5.0.tgz -C $WRF_FOLDER/METplus-5.1.0/Sample_Data # Testing if installation of MET & METPlus was sucessfull # If you see in terminal "METplus has successfully finished running." # Then MET & METPLUS is sucessfully installed echo 'Testing MET & METPLUS Installation.' $WRF_FOLDER/METplus-5.1.0/ush/run_metplus.py -c $WRF_FOLDER/METplus-5.1.0/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf export PATH=$WRF_FOLDER/METplus-5.1.0/ush:$PATH read -r -t 5 -p "MET and METPLUS sucessfully installed with GNU compilers." fi