Table of contents
TODO:
Formating
General
* Guide rather than tutorial
Data sources:
Storage solutions
* I would have Puhti and Allas storage under same heading.
* merge during process/short term storage
* keep only Allas/Puhti part, remove others, only have links to docs about other services
* Add Allas webinar link to Allas links. Some more comments about usage
* Would leave out Long term and PAS all together.
Processing
Added later: link to geocomputing page for Puhti basics?
GUI
* NoMachine away
* deprecated
Python
* Add Python GIS course link ?
* CSC course link
* GEE, Py6S added in 2022 to geoconda, any comment on that
* check geoconda content and add here
* GEE left out to avoid confusion
* STAC libraries
* (R libraries a lot more limited; no example, but is installed)
~~
Added later: add link to ML stuff too?~~
~~Matlab
This guide aims to help users who wish to work with Earth Observation (EO) data using CSC's computing resources.
The purpose of this guide is to help you finding the right data and tools for EO tasks. The basis of this guide is a seminar about the topic held at CSC in 2018 and 2022. And part of the material will also be taught in geospatial training at CSC, check the training calendar for dates and topics of upcoming courses. If you encounter any problems or questions come up, CSC's specialists are happy to help with all aspects of your data driven research, and can be contacted via the CSC Service Desk: servicedesk@csc.fi
.
If you are interested in the fundamentals of remote sensing, take a look at these excellent resources:
Consider:
The best place to get the data from depends on your needs: Do you want to download the data into your own processing environment or do you need a processing environment close to the data? The answer depends on what you want to do with the data and where it is located.
Below is a (uncomplete) set of services, that provide download or download and processing (marked with *) capabilities:
See also a list of other places on CSC research pages.
=== "CSC * "
ββββ* Puhti
ββββ * [List of all available datasets in Puhti](https://docs.csc.fi/data/datasets/spatial-data-in-csc-computing-env/#spatial-data-in-puhti)
ββββ * Sentinel and Landsat mosaics of Finland provided by FMI and SYKE: ```/appl/data/geo/sentinel/s2```
ββββ * Every CSC user has **read** access to data stored on Puhti, no need to move it, unless you need to modify it
ββββ* Allas
ββββ * [List of all available geospatial datasets in Allas](https://docs.csc.fi/data/datasets/spatial-data-in-csc-computing-env/#spatial-data-in-allas)
ββββ * Sentinel-2 L2A data of crop growing Finland, growing seasons 2016-present, [usage instructions](https://a3s.fi/sentinel-readme/README.txt)
ββββ * Data can be directly read from Allas without download for some cases, see eg [GDAL docs](https://docs.csc.fi/apps/gdal/#using-files-directly-from-allas) and [Allas Python examples](https://github.com/csc-training/geocomputing/blob/master/python/allas/working_with_allas_from_Python_S3.py)
=== "Open Access Hubs"
ββββ[SciHub](https://scihub.copernicus.eu/dhus/#/home)
ββββ* needs [registration](https://scihub.copernicus.eu/dhus/#/self-registration)
ββββ* Sentinel 2 L1C and L2A products
ββββ* Sentinel 1 SLC, GRD , RAW and OCN products
ββββ* Worldwide
ββββ* Note: most of the data is in "Long term archive" and cannot be downloaded directly, but needs to be requested
ββββ[FinHub](https://finhub.nsdc.fmi.fi/#/home)
ββββ* Needs [registration](https://nsdc.fmi.fi/services/service_finhub_registration)
ββββ* Sentinel 2 L1C product
ββββ* Sentinel 1 SLC, GRD and OCN products
ββββ* Only Finland (and Baltics)
ββββ[ASF](https://search.asf.alaska.edu/#/)
ββββ
ββββ* Needs [registration](https://urs.earthdata.nasa.gov/users/new?)
ββββ* Sentinel 1 SLC, GRD , RAW and OCN products
ββββ* Many SAR and SAR derived datasets from other sensors
ββββ* Worldwide
ββββ* Sentinel 1 data available for immediate download
ββββ
ββββ**All of the above** provide a similar Graphical User Interface (GUI) and Application Programming Interface (API) to access the data.
ββββOther tools for downloading the data from open access hubs: [sentinelsat](https://sentinelsat.readthedocs.io/en/stable/) with [examples for SciHub and FinHub](https://github.com/csc-training/geocomputing/blob/master/python/sentinel/sentinelsat_download_from_finhub_and_scihub.py), ...
=== "USGS EarthExplorer"
ββββ[Earthexplorer](https://earthexplorer.usgs.gov/)
ββββ* Needs [registration](https://ers.cr.usgs.gov/register)
ββββ* Lots of different US related datasets
ββββ* Main: Landsat worldwide
ββββ* GUI in web interface and bulk download
ββββ* Landsat download instructions: https://lta.cr.usgs.gov/sites/default/files/LS_C2_Help_122020.pdf
=== "NASA Earthdata"
ββββ[Earthdata](https://search.earthdata.nasa.gov)
ββββ
ββββ* Needs [registration](https://urs.earthdata.nasa.gov/users/new)
ββββ* Harmonized Landsat 8 and Sentinel-2 dataset and many more
ββββ* Graphical web interface and bulk download
=== "Sentinel image mosaics"
ββββ* Available in Puhti: /appl/data/geo/sentinel
ββββ* Only Finland
ββββ* [Sentinel-2 image index mosaics](https://ckan.ymparisto.fi/dataset/sentinel-2-image-index-mosaics-s2ind-sentinel-2-kuvamosaiikit-s2ind)
ββββ* [Sentinel-1 SAR-image mosaics](https://ckan.ymparisto.fi/dataset/sentinel-1-sar-image-mosaic-s1sar-sentinel-1-sar-kuvamosaiikki-s1sar)
ββββ* [WMS (Geoserver)](https://data.nsdc.fmi.fi/geoserver/wms)
ββββ* [WCS (Geoserver)](https://data.nsdc.fmi.fi/geoserver/wcs)
ββββ* Provided by [SYKE](https://www.syke.fi/en-US) and [FMI](https://en.ilmatieteenlaitos.fi/)
ββββ* Instructions on how to use - link to example script?
=== "Google Cloud Storage"
ββββ[Google Cloud Storage](https://cloud.google.com)
ββββ* [Sentinel 2: L1C](https://cloud.google.com/storage/docs/public-datasets/sentinel-2)
ββββ* [Landsat: Collection 1](https://cloud.google.com/storage/docs/public-datasets/landsat)
ββββ* [FORCE](https://docs.csc.fi/apps/force/) can download directly from here
=== "Amazon Web Service (AWS) *"
ββββ* Worldwide
ββββ* [Sentinel-2 bucket](https://registry.opendata.aws/sentinel-2/)
ββββ* [Sentinel-1 bucket](https://registry.opendata.aws/sentinel-1/)
ββββ* Requester pays the download costs
ββββ* Managed by [Sinergise](http://www.sinergise.com/)
=== "DIAS *"
ββββ* Data and Information Access Services
ββββ* Multiple sites exits:
ββββ * [ONDA](https://www.onda-dias.eu/cms/)
ββββ * [sobloo](https://sobloo.eu/)
ββββ * [CREODIAS](https://creodias.eu/)
ββββ * [MUNDI](https://mundiwebservices.com/)
ββββ* Costs
ββββ* Processing platform with the data, no download needed
ββββ* Data from DIAS objectstorage can easily be transferred to Allas (link to instructions here)
=== "Microsoft planetary computer *"
ββββ* [Data](https://planetarycomputer.microsoft.com/catalog) and processing platform ([Hub](https://planetarycomputer.microsoft.com/compute))
ββββ* Currently available in preview, [request access](https://planetarycomputer.microsoft.com/account/request)
=== "Terramonitor"
ββββ[Terramonitor](https://www.terramonitor.com/services/analysis-ready)
ββββ* Pre-prosessed, analysis ready Sentinel-2 data
ββββ* Data from Finland available between 2018-2020
ββββ* [Pricing](https://store.terramonitor.com/category/analysis-ready?6f8e8f38_page=1)
=== "Sentinelhub *"
ββββ[Sentinelhub](https://www.sentinel-hub.com/explore/)
ββββ* Wordlwide
ββββ* Lots of different EO data sets:
ββββ * [Sentinel-2](https://collections.sentinel-hub.com/sentinel-2-l2a/)
ββββ * [Sentinel-1](https://collections.sentinel-hub.com/sentinel-1-grd/)
ββββ* Requires [subscription](https://www.sentinel-hub.com/pricing/)
=== "Google Earth Engine * "
ββββ[Google Earh Engine](https://earthengine.google.com/) is a platform for planetary-scale Earth observation data and analysis
ββββ* Usage:
ββββ * [Registration](https://signup.earthengine.google.com/)
ββββ * [From a browser](https://code.earthengine.google.com/)
ββββ * Python:
ββββ * [API](https://developers.google.com/earth-engine/guides/python_install)
ββββ * [geemap-library](https://geemap.org/)
ββββ * [R-package](https://github.com/r-spatial/rgee)
ββββ* Pros:
ββββ * Good coverage of analysis ready data worldwide
ββββ * [Sentinel-2](https://developers.google.com/earth-engine/datasets/catalog/sentinel-2/)
ββββ * [Sentinel-1](https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S1_GRD)
ββββ * (rather easy to use, nice tool to test new ideas)
ββββ * lots of case studies and tutorials:
ββββ * https://developers.google.com/earth-engine/tutorials
ββββ * https://www.csc.fi/fi/web/training/-/introduction-to-using-google-earth-engine
ββββ
ββββ* Cons:
ββββ * Uncertain long-term availability
ββββ * Google Cloud Storage might be needed to export large datasets
ββββ * Not always suitable for small-scale analysis
If you plan to work with Sentinel-2 and Landsat 8, check also the 30 m harmonized Landsat 8 and Sentinel-2 product: https://hls.gsfc.nasa.gov/
Many data providers and companies also provide a Spatio Temporal Asset Catalog (STAC) of their and other datasets. These catalogues help in finding available data based on time and location with the possibility for multiple additional filters, such as cloud cover and resolution. The STAC Index provides a nice overview of available catalogues from all over the world. The STAC Index page also includes many resources for learning and utilizing STAC.
What to consider:
/scratch/project_xxx
with xxx being your project number$LOCAL_SCRATCH
during processingFor longer term storage and publication, CSC offers a range of other services. See also CSC's general guide on stroing data.
At CSC, EO data can be processed and analyzed using for example supercomputer Puhti or a virtual machine in the CSC cloud = cPouta. You can find more information around geocomputing using CSC resources on our Geocomputing pages.
Puhti has a lot of applications ready installed (see below), you do not need to worry about it. You can also add your own installations using for example the Tykky tool. In cPouta, you need to set up your own virtual machine including all security and software setup, see instructions.
What to consider:
GUIs of software available on Puhti can be accessed as an interactive job via the Puhti web interface or X11 connection. These graphical interfaces are mainly for visualization and testing purposes, the actual efficient processing should be done within batch jobs rather than interactive jobs.
"All-in-one" Graphical User Interface for processing of Sentinel data (+ support for other data sources) with Python interfaces snappy and snapista and the Graph Processing Tool as Command Line Interface.
GIS software with limited multispectral image processing capabilities
Visualization
Map algebra / Band math and other raster processing
Offers a wide variety of applications from ortho-rectification or pansharpening, all the way to classification, SAR processing, and much more!
Orfeo Toolbox is available as Command Line Interface, Graphical User Interface, Python API and as plugin to other applications.
Sen2Cor is a stand-alone processor for Sentinel-2 Level 2A product generation and formatting with CLI.
FORCE (Framework for Operational Radiometric Correction for Environmental monitoring) is an all-in-one solution for mass-processing medium-resolution satellite images with CLI and GUI.
See examples for use of FORCE on Puhti on github
GDAL (Geospatial Data Abstraction Library) is a geospatial library for accessing and transforming geospatial data with CLI and Python package.
See examples for use of GDAL on Puhti on github
Geospatial Python module on Puhti
The geoconda module provides - among others - many useful Python packages for raster data processing and analysis:
py6s: Python interface to the Second Simulation of the Satellite Signal in the Solar Spectrum (6S) atmospheric Radiative Transfer Model.
rasterio: access to geospatial raster data.
rasterstats: summarizing geospatial raster datasets based on vector geometries.
sentinelsat: downloading Sentinel images
scimage: algorithms for image processing.
stackstac: STAC data to xarray
xarray: working with multidimensional raster data.
See examples for use of geopspatial Python on Puhti on github
See also raster lesson of CSC version of GeoPython course material
All available R packages on Puhti are included in the r-env module.
One example of the advanced usage of EO data is for machine learning. If you are interested in the topic, you can find a lot of examples using EO and other geospatial data for machine learning in our Machine learning with spatial data course exercises on Github.
Help from CSC specialists is available via servicedesk@csc.fi.
We are happy to help with technical problems around our services and are open for suggestions on which Software should be installed to Puhti, or what kind of courses should be offered or materials/examples should be prepared.
This guide was developed in cooperation with the Finnish Environment Institute SYKE, as part of the Geoportti project.
https://step.esa.int/main/doc/tutorials/
https://www.earthdatascience.org/courses/use-data-open-source-python/multispectral-remote-sensing/intro-multispectral-data/
https://github.com/sacridini/Awesome-Geospatial
https://github.com/acgeospatial/awesome-earthobservation-code
http://database.eohandbook.com/