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 scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

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 + JupyterLab Roihussa
  • SNAP 13.0 + Python 3.12.3 sisältäen esa_snappy ja pyroSAR + JupyterLab Puhdissa
  • SNAP jupyter (9.0) + Python 3.6.9 sisältäen snappy ja snapista + JupyterLab 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 voidaan 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 voit ladata komennolla:

module load snap/<VERSION>

SNAPin käyttäminen 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. Desktopin käynnistyttyä kaksoisnapsauta SNAP-kuvaketta TAI avaa Terminal Emulator (Desktop-kuvake) ja käynnistä SNAP:
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älimuistiin ja väliaikaistiedostoihin. Oletuksena nämä kirjoitetaan HOME-hakemistoosi, ja ne voivat helposti täyttää sen. Tämän välttämiseksi määritä snapin user directory ja Javan väliaikaishakemisto. Tämä skripti kannattaa suorittaa aina, kun aloitat SNAPin käytön Puhdissa tai haluat vaihtaa käytettäviä kansioita.

Snap-moduulin lataamisen jälkeen suorita

source snap_add_userdir <YOUR-PROJECTS-SCRATCH-FOLDER>

Puhdissa voit myös pyytää nopean nvme -levyn eräajossa ja suorittaa komennon ensin eräajossa, jolloin kaikki temp-/cache-tiedostot kirjoitetaan nopealle levylle scratchin sijaan. Tämä voi parantaa suorituskykyä vaativissa laskennoissa.

source snap_add_userdir $LOCAL_SCRATCH eräajoissa

source snap_add_userdir $TMPDIR interaktiivisissa ajoissa

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ä: export _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.io.tmpdir=<SOME-FOLDER>" userdir-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/8.0 käyttää Javalle enintään 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 ajon muistivarauksen mukaan. Käytä Javalle muutama gigatavu vähemmän kuin ajollesi varattu kokonaismuisti.

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

Graph Processing Tool gpt on komentorivityökalu massaprosessointiin. 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ää ajoihin, 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ää. Aseta tämä pyydettyjen CPU-ytimien määrään tai suuremmaksi
  • -c 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ätietoja 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

gpt --diag -J-Xmx60G -c 40G -komennolla voi tarkistaa, mitä muisti- ja välimuistiasetuksia gpt käyttää.

GPT-esimerkkejä Puhdille

SNAPin käyttäminen Python-rajapinnoilla

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

SNAP 9.0 ja 13.0

Python-skriptien ajaminen eräajoissa:

python3 <YOUR-PYTHON-SCRIPT>

Katso saatavilla olevat paketit:

pip list

Uusien pakettien asentaminen $HOME-hakemistoosi:

pip <NEW-PACKAGE-NAME> --user

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

SNAP 8.0

snappy-skriptien ajaminen eräajoissa:

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 mahdollista asentaa myös muihin hakemistoihin kuin $HOME. Katso ohjeet Pythonin käyttöoppaasta.

Python-paketin käyttäminen 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ä. Seuraa SNAPin asennusnotebookia päästäksesi alkuun.

SNAPin päivittäminen

SNAPin pienversio- ja moduulipäivitykset tallennetaan $HOME/.snap-hakemistoon. 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

Pyydämme mainitsemaan CSC:n ja Geoportin julkaisuissanne; tämä on tärkeää projektin jatkuvuuden ja rahoitusraportoinnin kannalta. Voit kirjoittaa esimerkiksi: "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 -kuvaa, 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