BwUniCluster2.0/Software/R/terra: Difference between revisions
No edit summary |
|||
Line 18: | Line 18: | ||
The whole process will take approximately 30 minutes. |
The whole process will take approximately 30 minutes. |
||
== Preparations == |
|||
Prepare .R directory (if it does not already exists). This is then filled with information how R should compile the packages (so-called 'compilation flags'). These are written (and can be reviewed) into the (text) file Makevars. |
|||
If you already have a .R/Makevars file, check whether these flags are already set. |
|||
<pre> |
|||
cat ~/.R/Makevars |
|||
</pre> |
|||
In this case, skip the following block of five commands. If not, please enter the following commands in your shell (command line): |
|||
<pre> |
|||
mkdir -p ~/.R |
|||
echo "CXX14=icpc" > ~/.R/Makevars |
|||
echo "CXX17=icpc" >> ~/.R/Makevars |
|||
echo "CXX14FLAGS=-O3 -fPIC -std=c++14 -wd308 -axCORE-AVX512,CORE-AVX2,AVX -xSSE4.2 -fp-model strict -qopenmp" >> ~/.R/Makevars |
|||
echo "CXX17FLAGS=-O3 -fPIC -std=c++17 -wd308 -axCORE-AVX512,CORE-AVX2,AVX -xSSE4.2 -fp-model strict -qopenmp" >> ~/.R/Makevars |
|||
echo "CXXFLAGS += -wd308" >> ~/.R/Makevars |
|||
echo "PKG_CXXFLAGS += -std=c++14 -wd308" >> ~/.R/Makevars |
|||
</pre> |
|||
== Install external programs == |
== Install external programs == |
||
Line 130: | Line 152: | ||
<pre> |
<pre> |
||
export LD_LIBRARY_PATH=$HOME/sw/R/ |
export LD_LIBRARY_PATH=$HOME/sw/R/lib64:$LD_LIBRARY_PATH |
||
export PATH=$PATH:$HOME/sw/R/bin |
export PATH=$PATH:$HOME/sw/R/bin |
||
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig |
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig |
Revision as of 10:49, 15 February 2024
General information
Please note that THIS SITE IS UNDER CONSTRUCTION!!!
sf and terra allow to use the following tools for handling spatial structures in R
- the 'Geospatial' Data Abstraction Library GDAL
- Projection/transformation operations from the PROJ library
- Interface to the open source Geometry Engine GEOS
Installation
Please enter the following code, presented in the boxes below, directly into your shell/command line on bwUniCluster.
The whole process will take approximately 30 minutes.
Preparations
Prepare .R directory (if it does not already exists). This is then filled with information how R should compile the packages (so-called 'compilation flags'). These are written (and can be reviewed) into the (text) file Makevars.
If you already have a .R/Makevars file, check whether these flags are already set.
cat ~/.R/Makevars
In this case, skip the following block of five commands. If not, please enter the following commands in your shell (command line):
mkdir -p ~/.R echo "CXX14=icpc" > ~/.R/Makevars echo "CXX17=icpc" >> ~/.R/Makevars echo "CXX14FLAGS=-O3 -fPIC -std=c++14 -wd308 -axCORE-AVX512,CORE-AVX2,AVX -xSSE4.2 -fp-model strict -qopenmp" >> ~/.R/Makevars echo "CXX17FLAGS=-O3 -fPIC -std=c++17 -wd308 -axCORE-AVX512,CORE-AVX2,AVX -xSSE4.2 -fp-model strict -qopenmp" >> ~/.R/Makevars echo "CXXFLAGS += -wd308" >> ~/.R/Makevars echo "PKG_CXXFLAGS += -std=c++14 -wd308" >> ~/.R/Makevars
Install external programs
First, we download the sources of GDAL, PROJ, GEOS and install the three programs.
We will gather them in a folder src, unpack there and then compile.
We strongly recommend to use a interactive session with multiple cores.
salloc -n 4 -t 30 -p dev_single
First, provide the source directory (if not yet existing)
mkdir -p ~/src cd ~/src
Then, download and install PROJ
PROJ_VER=9.3.1 wget http://download.osgeo.org/proj/proj-$PROJ_VER.tar.gz tar xf proj-$PROJ_VER.tar.gz cd proj-$PROJ_VER mkdir build cd build export CMAKE_BUILD_PARALLEL_LEVEL=8 cmake -DCMAKE_INSTALL_PREFIX=$HOME/sw/R .. cmake --build . cmake --build . --target install
Then, install GDAL
cd $HOME/src GDAL_VER=3.8.3 wget http://download.osgeo.org/gdal/$GDAL_VER/gdal-$GDAL_VER.tar.gz tar xf gdal-$GDAL_VER.tar.gz cd gdal-$GDAL_VER mkdir build cd build CMAKE_BUILD_PARALLEL_LEVEL=8 cmake -DCMAKE_INSTALL_PREFIX=$HOME/sw/R .. cmake --build . cmake --build . --target install
Finally, install GEOS
cd $HOME/src GEOS_VER=3.12.1 wget http://download.osgeo.org/geos/geos-$GEOS_VER.tar.bz2 tar xf geos-$GEOS_VER.tar.bz2 cd geos-$GEOS_VER mkdir _build cd _build CMAKE_BUILD_PARALLEL_LEVEL=4 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/sw/R .. make ctest make install
Installing the R packages
In order to install the two R packages, we need R to understand where we installed the 3 underlying programs, so we export the necessary paths.
export LD_LIBRARY_PATH=$HOME/sw/R/lib64:$LD_LIBRARY_PATH export PATH=$PATH:$HOME/sw/R/bin export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig export GDAL_DATA=$HOME/sw/R/share/gdal
Additionally, the R package installation features compilation of built-in C++ code, for which we specify compilation options ('compiler flags')
export CFLAGS=-I$HOME/sw/R/include export CXX="icpc -std=c++11" export CXX17=icpc
Now, we install rgdal and rgeos from within R.
module load math/R/4.1.2 R -q R> install.packages("terra") R> library(terra)
Preparations to use the rgdal/rgeos packages
Since rgdal and rgeos depend on the external programs we installed, several environment variables have to be set before using the packages to allow R to address these programs.
We recommend to add the export commands
export LD_LIBRARY_PATH=$HOME/sw/R/lib64:$LD_LIBRARY_PATH export PATH=$PATH:$HOME/sw/R/bin export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig export GDAL_DATA=$HOME/sw/R/share/gdal
to your batch job scripts that use rgdal and rgeos or to run them directly in the command line if you use an interactive session.