Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Puhti computing services have been decommissioned and no new jobs are accepted or executed on its compute nodes. Puhti login nodes and storage services are planned to remain available until 15 October 2026.

SNAP

SNAP (Sentinel Application Platform) on Euroopan avaruusjärjestön kehittämä kaukokartoituksen työkalupakkiarkkitehtuuri. Se sisältää työkaluja ESA:n satelliittidatalle.

Saatavuus

SNAP on saatavilla seuraavina versioina:

  • SNAP 13.0 + Python 3.12.3 sisältäen esa_snappy ja pyroSAR + JupyterLabin Roihussa
  • SNAP 13.0 + Python 3.12.3 sisältäen esa_snappy ja pyroSAR + JupyterLabin Puhdissa
  • SNAP jupyter (9.0) + Python 3.6.9 sisältäen snappy ja snapista + JupyterLabin Puhdissa
  • SNAP 9.0 + Python 3.6.9 sisältäen snappy ja snapista Puhdissa
  • SNAP 8.0 + Python 3.6.9 sisältäen snappy Puhdissa

JupyterLabin sisältäviä versioita voi käyttää Jupyter-sovelluksessa Puhdin selainkäyttöliittymässä custom module -valinnan kautta.

Käyttö

SNAP sisältyy snap-moduuliin, ja sen voi ladata komennolla:

module load snap

Tämä lataa uusimman saatavilla olevan version. Vanhemman version voi ladata komennolla:

module load snap/<VERSION>

SNAPin käyttö graafisella käyttöliittymällä (GUI) Puhdin/Roihun selainkäyttöliittymässä

Helpoin tapa käyttää SNAPia on avata se Puhdin/Roihun selainkäyttöliittymässä.

  1. Kirjaudu selainkäyttöliittymään: Puhti tai Roihu
  2. Avaa Desktop-sovellus.
  3. Etätyöpöydän käynnistyksen jälkeen käynnistä SNAP kohdasta Applications (vasen yläkulma) -> Geosciences.

Vaihtoehtoisesti avaa pääte kohdasta Applications -> Terminal emulator:

module load snap
source snap_add_userdir $TMPDIR
snap -J-Xmx10G

SNAPin userdir- ja Java temp dir -asetukset

SNAP käyttää huomattavan määrän tallennustilaa välimuistille ja väliaikaistiedostoille. Oletuksena ne kirjoitetaan HOME-hakemistoosi, joka voi täyttyä helposti. Tämän välttämiseksi määritä snapin käyttäjähakemisto ja Javan väliaikaishakemisto. Tämä skripti tulee suorittaa joka kerta, kun aloitat SNAPin käytön Roihussa tai haluat vaihtaa käytettäviä kansioita. Applications-valikon SNAP-käynnistin asettaa userdirin automaattisesti arvoon $TMPDIR.

Roihussa on oletuksena 20 Gt tilaa hakemistossa $TMPDIR. Jos se ei riitä, aseta userdir projektisi scratch-alueelle. Tämä onnistuu vain, jos käynnistät SNAPin päätteestä.

mkdir /scratch/project_200XXXX/snap-tmp
source snap_add_userdir /scratch/project_200XXXX/snap-tmp

Tämä skripti asettaa myös Javan väliaikaishakemiston; se asetetaan määrittämäsi kansion snap/temp-alikansioksi. Jos haluat asettaa Javan väliaikaishakemiston muualle, käytä komentoa: export _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.io.tmpdir=<SOME-FOLDER>" käyttäjähakemiston asettamisen jälkeen.

Note

Graafinen käyttöliittymä ei noudata snap.userdir-asetusta, mutta se huomioi Java-asetuksen. SNAPin GUI:n käyttö luo HOME-hakemistoosi .snap-kansion ja täyttää sitä. Tyhjennä se, jos HOME-hakemistosi tila loppuu.

Javan muistiasetukset

Oletuksena SNAP käyttää Javalle enintään vain 2 Gt muistia. Voit kasvattaa tätä lisäämällä -J-xmx10G tai vastaavan asetuksen snap- tai gpt-komentoon. -J-Xmx10G kasvattaa Javan enimmäismuistin 10 gigatavuun. Säädä tämä tarpeidesi ja työsi muistivarauksen mukaan. Käytä Javalle muutama gigatavu vähemmän kuin työsi kokonaismuistivaraus.

SNAPin käyttö Graph Processing Tool (gpt) -komennolla

Graph Processing Tool gpt on komentorivityökalu eräajoon. GPT:tä käyttämällä voidaan hyödyntää enemmän laskentatehoa kuin SNAPin graafisella käyttöliittymällä, koska sitä voidaan käyttää skripteissä ja siten sisällyttää töihin, jotka voidaan lähettää mihin tahansa osioon.

GPT-komento näyttää usein tältä:

gpt -J-Xmx10G <full_path_to_graph_xml_file> -Pfile=<inputfile> -t <outputfile>

Joitakin olennaisia gpt-valitsimia ovat:

  • -J-Xmx10G Javan käyttämä enimmäismuisti.
  • -q Säikeiden määrä, jota gpt-instanssi käyttää.
  • -c Datan välimuistin koko tavuina. Muuta tätä, jos tallennustila muodostuu ongelmaksi
  • -x Tyhjennä sisäinen tile-välimuisti sen jälkeen, kun kokonainen rivi tilejä on kirjoitettu tulostiedostoon. Lisää tämä, jos muistista tulee ongelma

Katso tämän sivun lopussa olevien viitteiden linkeistä lisätietoa GPT:stä.

Myös seuraava komento on erittäin hyödyllinen eri operaattoreiden graafien luomisessa. Sen voi suorittaa interaktiivisessa istunnossa

sinteractive -i
module load snap
gpt <snap-operator> -h

Komentoa gpt --diag -J-Xmx60G -c 40G voi käyttää sen tarkistamiseen, mitä muisti- ja välimuistiasetuksia gpt käyttää.

GPT-esimerkkejä Roihulle

SNAPin käyttö Python-rajapinnoilla

SNAPin toiminnallisuuksia on mahdollista käyttää myös Pythonista.

SNAP 9.0 ja 13.0

Python-skriptien ajaminen erätöissä:

python3 <YOUR-PYTHON-SCRIPT>

Katso saatavilla olevat paketit:

pip list

Uusien pakettien asentaminen $HOME-hakemistoosi:

pip <NEW-PACKAGE-NAME> --user

Paketteja on myös mahdollista asentaa muihin hakemistoihin kuin $HOME. Katso ohjeet Pythonin käyttöoppaasta.

SNAP 8.0

snappy-skriptien ajaminen erätöissä:

apptainer_wrapper exec python3 <YOUR-PYTHON-SCRIPT>

Katso saatavilla olevat paketit:

apptainer_wrapper exec pip list

Uusien pakettien asentaminen $HOME-hakemistoosi:

apptainer_wrapper exec pip <NEW-PACKAGE-NAME> --user

Paketteja on myös mahdollista asentaa muihin hakemistoihin kuin $HOME. Katso ohjeet Pythonin käyttöoppaasta.

Python-paketin käyttö JupyterLabissa

  1. Kirjaudu selainkäyttöliittymään: Puhti tai Roihu
  2. Avaa Jupyter-sovellus.
  3. Valitse custom module ja kirjoita moduuliksi snap.

Muista asettaa väliaikaishakemistot Jupyterissä. Aloita seuraamalla SNAPin asennus Notebookia.

SNAPin päivittäminen

SNAPin pienversio- ja moduulipäivitykset tallennetaan hakemistoon $HOME/.snap. Tämä tarkoittaa, että käyttäjän täytyy asentaa kaikki pienversiopäivitykset itse. Voit tehdä tämän SNAP Desktopissa seuraamalla käynnistyksen yhteydessä avautuvan ponnahdusikkunan ohjeita.

Lisenssi

Kaikki SNAP-ohjelmistot on julkaistu GPL-3 -lisenssillä.

Viittaus

SNAP - ESA Sentinel Application Platform v{VERSION}, http://step.esa.int

Kiitokset

Mainitse CSC ja Geoportti julkaisuissasi; tämä on tärkeää projektin jatkuvuuden ja rahoitusraportoinnin kannalta. Voit esimerkiksi kirjoittaa: "The authors wish to thank CSC - IT Center for Science, Finland (urn:nbn:fi:research-infras-2016072531) and the Open Geospatial Information Infrastructure for Research (Geoportti, urn:nbn:fi:research-infras-2016072513) for computational resources and support".

Asennus

SNAP 13.0 asennettiin Singularitylla käyttäen ESA:n tarjoamaa asennustyökalua, ja pipillä lisättiin Jupyter, esa_snappy ja pyroSAR. Kontti käärittiin lopuksi Tykyn wrap-container-toiminnallisuudella.

SNAP 9.0 asennettiin Puhtiin Singularitylla käyttäen mundialisin Dockerhubissa tarjoamaa SNAP Docker -imagea, johon tehtiin pieniä lisäyksiä snappy- ja snapista-Python-rajapintojen tarjoamiseksi. Kontti käärittiin lopuksi Tykyn wrap-container-toiminnallisuudella.

wrap-container -w /usr/local/snap/bin,/usr/bin snap9_py.sif --prefix install_dir

CSC:n SNAP Singularity -määrittelytiedostot.

Viitteet

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta