Molpro 2025.1.0
Webpage
Version
2025.1.0
Build Environment
- GCC 13.1.1 (gcc-toolset-13)
- Intel MPI 2021.14.1
- Eigen 3.4.0
- MKL 2025.0
Files Required
- molpro-2025.1.0.tar.gz
- ga-5.9.tar.gz
- work.patch
- patch-argos-binput.F
- patch-cic-ItfFortranInt.h
- patch-common_modules-common_cconf
- Parameter values for large CI calculations and default path of temporary directory were changed.
- Patch files are available in /apl/molpro/2025.1.0/patches.
- token
Build Procedure
#!/bin/sh
# Exit script if any error occurs
set -e# Variable definitions
GA_VERSION=5.9
GA_ARCHIVE=/home/users/${USER}/Software/GlobalArrays/${GA_VERSION}/ga-${GA_VERSION}.tar.gz
MOLPRO_VERSION=2025.1.0
MOLPRO_DIRNAME=molpro-${MOLPRO_VERSION}
BASEDIR=/home/users/${USER}/Software/Molpro/${MOLPRO_VERSION}
MOLPRO_TARBALL=${BASEDIR}/${MOLPRO_DIRNAME}.tar.gz
PATCH0=${BASEDIR}/work.patch
PATCH1=${BASEDIR}/patch-argos-binput.F
PATCH2=${BASEDIR}/patch-cic-ItfFortranInt.h
PATCH3=${BASEDIR}/patch-common_modules-common_cconf
TOKEN=${BASEDIR}/token
WORKDIR=/gwork/users/${USER}
GA_INSTALLDIR=${WORKDIR}/ga-temporary
INSTALLDIR=/apl/molpro/${MOLPRO_VERSION}
PARALLEL=12# Common environment setup function
setup_environment() {
umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
export OMP_NUM_THREADS=1
}# Directory cleanup function
cleanup_directory() {
local dir_name=$1
if [ -d "$dir_name" ]; then
local temp_name="${dir_name}_tmp"
mv "$dir_name" "$temp_name"
rm -rf "$temp_name"
fi
}# Compiler and flags setup function
setup_compiler_flags() {
# Compiler flags configuration
export CFLAGS="-mpc80"
export FFLAGS="-mpc80"
export FCFLAGS="-mpc80"
export CXXFLAGS="-mpc80"
# Compiler settings
export F77=mpif90
export F90=mpif90
export FC=mpif90
export CC=mpicc
export CXX=mpicxx
export MPIF77=mpif90
export MPICC=mpicc
export MPICXX=mpicxx
export GA_FOPT="-O3"
export GA_COPT="-O3"
export GA_CXXOPT="-O3"
}# Patch application function
apply_patches() {
local patch_files=("$@")
for patch_file in "${patch_files[@]}"; do
echo "Applying patch: $patch_file"
patch -p0 < "$patch_file"
done
}# Build execution function
run_make() {
local target=$1
local options=$2
if [ -z "$options" ]; then
make -j ${PARALLEL} $target
else
make -j ${PARALLEL} $target $options
fi
}# Main processing
main() {
# Environment setup
setup_environment# Change to working directory
cd $WORKDIR# Cleanup old directories
cleanup_directory "ga-${GA_VERSION}"
cleanup_directory "ga-temporary"
cleanup_directory "${MOLPRO_DIRNAME}"# Load modules
module -s purge
module -s load gcc-toolset/13
module -s load intelmpi/2021.14.1
module -s load eigen/3.4.0# Building Global Arrays
echo "Building Global Arrays ${GA_VERSION}..."
tar zxf ${GA_ARCHIVE}
cd ga-${GA_VERSION}
setup_compiler_flags
./autogen.sh
./configure --enable-i8 \
--with-mpi-pr \
--prefix=${GA_INSTALLDIR}
run_make
make check
make install# Building Molpro
echo "Building Molpro ${MOLPRO_VERSION}..."
module -s load mkl/2025.0.0.1
cd ${WORKDIR}
tar zxf ${MOLPRO_TARBALL}
cd ${MOLPRO_DIRNAME}# Apply patches
apply_patches "$PATCH0" "$PATCH1" "$PATCH2" "$PATCH3"
export PATH="${GA_INSTALLDIR}/bin:$PATH"
# Check GA library directory
GA_LIBDIR="lib64"
if [ ! -d "${GA_INSTALLDIR}/${GA_LIBDIR}" ]; then
GA_LIBDIR="lib"
fi
# Molpro configuration and build
CPPFLAGS="-I${GA_INSTALLDIR}/include" \
LDFLAGS="-L${GA_INSTALLDIR}/${GA_LIBDIR}" \
./configure --prefix=${INSTALLDIR} \
--enable-slater
run_make
# Copy token
cp $TOKEN "$(pwd)/lib/.token"
# Run tests
make quicktest MOLPRO_OPTIONS="-n2"
make test
# Installation
make install
cp -a testjobs ${INSTALLDIR}/molpro*
cp -a bench ${INSTALLDIR}/molpro*
echo "Installation of Molpro ${MOLPRO_VERSION} completed successfully!"
}# Execute main processing
main
Tests
All the tests have passed successfully.
メモ
- Delete “make tuning” as it is no longer present.