The PRISMA pipeline is written in the programming language IDL - Interactive Data Language v8.8, distributed by NV5 Geospatial Solutions. The code should be compatible with IDL v7 onwards.
IDL is a proprietary language and you need an IDL license to execute the pipeline. An open-source IDL compiler is available (GDL - GNU Data Language) but its full compatibility with the PRISMA pipeline is not granted.
The pipeline was developed on a Microsoft Windows 10/11 platform and is fully functional on Linux (tested on Ubuntu 18 server). To execute it on MacOS, some modifications may be needed (mostly for the graphical part).
This repository is made of two main parts: the code of the pipeline itself and the workspace for its execution.
Code
This folder contains the PRISMA pipeline code, i.e., its main procedures (calibration.pro
and event.pro
) and functions.
It must be placed in a dedicated path from which IDL will autocompile procedures or functions when called the first time in an IDL session.
This can be either:
-
the standard IDL path, where all IDL native libraries are found. On a Windows machine, this is usually:
C:\Program Files\Harris\IDL88\lib
. You will need administrator privilege to copy-paste in this directory. Be very careful when you are operating in this directory, since any modifications/deletion of native code may corrupt IDL and you will need to perform a new clean installation to solve the issue. -
an user-defined IDL path. This is the recommended option. To do so, you have to add a new folder to the IDL path. Start an IDLde (Development Environment) session, then go to
Window->Preferences->IDL->Paths
. ClickAdd
and browse for your directory. You now have to tick the new directory in the embedded list and clickApply
. For the modification to be effective, close and restart the IDL session. This directory should contain only IDL code, and nothing else.
Workspace
The folder structure needed for the execution of the PRISMA pipeline and detailed in the Workspace page.
The complete workspace for the PRISMA pipeline is hosted in a separate repository named PRISMA-workspace, which is available to PRISMA collaborators only, since it hosts detailed information about the PRISMA stations, their location and configuration. If you do not have access to it, the workspace is easily reproducible following the guidelines detailed in the Workspace page.
If you have access to it, the PRISMA-workspace repository is linked to the pipeline via a git submodule in the workspace
folder.
When cloning directly from this repository, remember to include the --recurse-submodules
option to automatically pull its content from the submodule.
Most of the directories contained in the workspace will be empty at the beginning since they will contain data (input) and results (output) of the pipeline itself.
Settings
After installing the code and recreating the workspace, some machine-dependent modifications are needed for the PRISMA pipeline to be fully operative on your computer.
Most of them are enclosed in the configuration.ini
file inside (your_path_to_the)/workspace/settings/
.
More details about this file are given in the Settings page.
The configuration file in the workspace is designed for execution on the PRISMA servers.
If you do not have access to the workspace, you can find a template here.
To make the pipeline working, you have to adjust a few fields in the configuration file. To do so, open it with a text editor and modify the following:
Path
This section contains the different paths to workspace folders and to specific files needed for the pipeline. Each entry must have the absolute path to its target on your machine; names and descriptions of entries should be self-explanatory and are however detailed in the Workspace page. A simple find/replace should get the job done.
In practice, you are not forced to put all directories of the workspace “physically” in the same directory, since the path section specifies the absolute path to each one of these. This is done to allow, for example, the raw data (captures and events) to be on separate disks with respect to the whole pipeline workspace, given the high amount of space required for their storage.
Triangulation/api_key
This is a API key used for the generation and download of static background maps needed for the triangulation map of events (see triangulation.pro). The API service is provided by Geoapify and it is based on OpenStreetMap tiles.
Go to the login page of Geoapify and generate your own API key.
This service is free up to a usage limit of 3000 credits / day.
The credit price for each map is: CP = 1 + (# tiles)/4
.
An average of 12 tiles is needed for each PRISMA map.
Therefore you can generate ~750 maps / day.
Camera configuration
To make the code acknowledge the existence of a station, a few steps are needed:
- add the station CODE (e.g.,
ITPI01
) and NAME (e.g.,PINOTORINESE
) to thesolutions.ini
file insideworkspace/settings/
. If you do not have access to the workspace, you can find a template here. - create a folder named after the camera CODE inside
/workspace/settings/configuration/
. This folder must contain an initialization file in the format ofCODE.ini
, with the station and camera specification (e.g.,ITPI01.ini
). If you do not have access to the workspace, you can find a template here .
More details are given in the Settings page.
Third-part libraries
The PRISMA pipeline makes use of many external third-part IDL libraries in its code, listed here:
- The IDL Astronomy User's Library (GitHub)
- Markwardt IDL Library
- Coyote IDL Program Libraries (GitHub)
- The Catalyst Library (GitHub)
- IDL library of Michael Galloy (GitHub)
- Chris Beaumont's IDL Library (GitHub)
- Marc Buie's IDL Library
- Dáithí Stone's IDL Library
- Exoplanet Utilities (GitHub)
- JHU/APL/S1R IDL Library
- TeXtoIDL
To install these libraries, follow the download links provided in the list and place the respective directories in an IDL path (see instructions above for the PRISMA pipeline).
NRLMSIS2.0 atmospheric model
The PRISMA pipeline uses the NRLMSIS 2.0 empirical model to define the state of the atmospheric (density and temperature) within the solution of the dynamic evolution of the meteoroid in the atmosphere (see the dynamic_model.pro page).
NRLMSIS 2.0 is a major, reformulated upgrade of the previous version, NRLMSISE-00.
To run this part of the code, you should build your own executable and place it (and other relevant files needed for the execution) in the directory /your_path_to_the/workspace/atmosphere/nrlmsis2.0
.
This executable has to be named msis20_windows.exe
for a Microsoft Windows platform or msis20_linux.exe
for a Linux platform (the version for MacOS is not yet implemented in the pipeline).
Refer to the Atmosphere page for more details.
NOTE: The MSIS 2.0 license is extremely restrictive. The PRISMA pipeline only provides an IDL interface for the execution of the model. Users must respect the underlying MSIS 2.0 license.