This repo builds a Docker image that can run Community Satellite Processing Package (CSPP) package provided by Cooperative Institute for Meteorological Satellite Studies (CIMSS) of Space Science and Engineering Center (SSEC) at the University of Wisconsin.
phusion/baseimage is used as the base image because it includes a functional cron service which is useful for keeping the ancillary data required by CSPP up-to-date.
gosu is included so that the code is run using a non-root user in the Docker container for better security.
Intel or AMD CPU with 64-bit instruction support
16 GB RAM when running 1-core processing. Add 8 GB for every additional concurrent processing core
CentOS 6 64-bit Linux (or other compatible 64-bit Linux distribution)
100 GB disk space (minimum)
Internet connection (for downloading ancillary data)
Download required software from https://cimss.ssec.wisc.edu/cspp/download/. For VIIRS active fire, you will need:
Optionally, download the Test Files in the respective groups
Go to directory in a partition with plenty of free disk space
Create directories for runtime user and data products
mkdir -p home/{CSPP,tmp} data/incoming
cd home/CSPP
# Repeat tar xf for all downloaded tarballs
tar xf ../CSPP_VIIRS_EDR_V2.0.tar.gz
docker-compose.yml. If you decide not to use docker-compose,
you're on your own. ;-) Just map the directives to docker
command line options. Set RUNUSER_UID accordingly who will
own everything in home and data directories. In the example below,
it assumes that both home and data directories are in
the same directory where docker-compose.yml is located.version: '2.2'
services:
cspp:
image: cheewai/cspp
environment:
- RUNUSER_UID=1000
volumes:
- ./home:/home/runuser
- ./data:/data
Pull docker image cheewai/cspp
from Docker hub, docker-compose pull. Alternatively, you can clone
this git repo and build the Docker image locally, in which case,
you should replace image with build in the docker-compose.yml file.
Read installation instructions to
/home/runuser/.bashrcThe CSPP software will download current ancillary files it requires while processing input data. You can shave some minutes off if you run schedule a daily cron job to run this container to download ancillary files like so:
docker-compose run -T --rm cspp /usr/local/bin/cspp-update.sh
On arrival of new input data, simply run
docker-compose run -T --rm cspp viirs_sdr.sh ...
docker-compose run -T --rm cspp viirs_edr.sh ...
From the CSPP v2.2 Installation Guilde:
CSPP SDR Version 2.2 can be used for creating VIIRS, CrIS and ATMS SDRs from historical RDRs beginning with data collected on 5 July 2014. However, processing historical VIIRS datasets that cross the static LUT to RSBAUTOCAL coefficient file boundary (See section 2.2.1) of 9 November 2015 at 17:00 UTC, will cause the CSPP SDR v2.2 software to fail. Processing data sets that begin and end prior to this boundary, or begin and end after this boundary will complete successfully.
Content type
Image
Digest
Size
78.5 MB
Last updated
over 7 years ago
docker pull cheewai/cspp