SPI is a scientific and meteorological virtual globe offering immense processing, analysis and visualization capabilities, with a user interface similar to Google Earth and NASA World Wind. SPI uses an "always 3D" rendering method. Everything is always rendered in three dimensions, looking from the top it looks like a regular 2D map, but moving the camera around gives a new perspective of things.
SPI is built in Tcl/Tk. Most of the rendering and scientific functionalities are built as binary extensions to Tcl in the form of objects and functions and then used in SPI’s Tcl source code.
An exhaustive API described in another document allows for very powerful scripting, going from generation of a map to calculating flux along the path of a shape like country boundary. This API can be used to interact with many kind of data like RPN standard file, CMC trajectories, ESRI shapefiles, GeoTIFF imagery, BURP observation files and more,.
git clone --recursive [email protected]:ECCC_CMOE_APPS/SPI-Bundle
This will provide you with the source for the following dependent packages
- You will need cmake with a version at least 3.12
. ssmuse-sh -x /fs/ssm/main/opt/cmake-3.21.1
pip install Mako
- codetools and compilers
. . r.load.dot rpn/code-tools/ENV/cdt-1.6.0/SCIENCE/inteloneapi-2022.1.2
. r.load.dot rpn/libs/20220216
- External dependencies (GDAL, eccodes, libecbufr, fltlib). Within the ECCC/SCIENCE network, a package containing all the dependencies can be loaded
export CMD_EXT_PATH=/fs/ssm/eccc/cmd/cmds/ext/20220726; . ssmuse-sh -x $CMD_EXT_PATH
Geographical base map database (GDB)
The geographical database (GDB), contains the base map geographical data used by SPI and takes up to 13GB of space Download and decompress it into it's final installation directory if it has'nt been installed before. Define the GDB_PATH variable to the location of the geographical database for SPI to use it:
export GDB_PATH=[GDB extract path]/data
The build process requires the definition of a variable indicating where the build will occur otherwise the current path will be used
export SSM_DEV=[where to build]
cd SPI-Bundle
./makeit -build -reconf
makeit -pack