sudo apt update
sudo apt install -y git build-essential pkg-config make \\
libboost-all-dev libeigen3-dev libtbb-dev openjdk-21-jdk
cd ~
git clone <https://github.com/JGCRI/gcam-core.git> gcam-v8.2
cd gcam-core
Make a new branch successing tag gcam-v8.2
git checkout -b <new_branch_name> gcam-v8.2
git submodule init cvs/objects/climate/source/hector
git submodule update cvs/objects/climate/source/hector
libs BundleDownload a Windows Release Package v8.2 manually and copy the libs folder inside to WSL Home
# apply to sesstion
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export JAVA_INCLUDE="$JAVA_HOME/include"
export JAVA_INCLUDE_LINUX="$JAVA_HOME/include/linux"
export JAVA_LIB="$JAVA_HOME/lib/server"
export TBB_INCLUDE=/usr/include/tbb
export TBB_LIB=/usr/lib/x86_64-linux-gnu
export BOOST_INCLUDE=/usr/include
export BOOST_LIB=/usr/lib/x86_64-linux-gnu
export EIGEN_INCLUDE=/usr/include/eigen3
export JARS_LIB="$HOME/libs/jars/*"
# permanent application
cat >> ~/.bashrc <<'EOF'
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export JAVA_INCLUDE="$JAVA_HOME/include"
export JAVA_INCLUDE_LINUX="$JAVA_HOME/include/linux"
export JAVA_LIB="$JAVA_HOME/lib/server"
export TBB_INCLUDE=/usr/include/tbb
export TBB_LIB=/usr/lib/x86_64-linux-gnu
export BOOST_INCLUDE=/usr/include
export BOOST_LIB=/usr/lib/x86_64-linux-gnu
export EIGEN_INCLUDE=/usr/include/eigen3
export JARS_LIB="$HOME/libs/jars/*"
EOF
source ~/.bashrc
input/gcamdata/xml to GCAMOr you can driver_drake to generate xml input files from gcamdata.
# build
cd ~/gcam-v8.2/gcam-core/cvs/objects/build/linux
make gcam -j"$(nproc)"
# prepare for run
cd ~/gcam-v8.2/gcam-core/exe
export CLASSPATH="./XMLDBDriver.jar:$JARS_LIB:../output/modelinterface/ModelInterface.jar"
# run
./gcam.exe -C configuration_ref.xml