Hyppää sisältöön

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

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

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 Puhdissa seuraavina versioina:

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

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

Asennetut liitännäiset

Voit asentaa lisää liitännäisiä omaan käyttäjähakemistoosi SNAPin graafisesta käyttöliittymästä. Ne tallennetaan kotihakemistoosi.

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 selainkäyttöliittymässä

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

  1. Kirjaudu sisään Puhdin selainkäyttöliittymään.
  2. Avaa Desktop-sovellus.
  3. Desktopin käynnistyttyä kaksoisnapsauta SNAP-kuvaketta TAI avaa Terminal (Desktop-kuvake) ja käynnistä SNAP:
module load snap
source snap_add_userdir $TMPDIR
snap -J-xmx10G

SNAP userdir- ja Java temp dir -asetukset

SNAP käyttää huomattavan määrän tallennustilaa välimuistille ja väliaikaistiedostoille. Oletuksena nämä kirjoitetaan HOME-hakemistoosi, ja ne voivat helposti täyttää sen. Tämän välttämiseksi määritä snap-käyttäjähakemistosi ja Javan väliaikaistiedostokansio. Tämä skripti kannattaa suorittaa joka kerta, kun alat käyttää SNAPia Puhdissa tai haluat vaihtaa käytettäviä kansioita.

Snap-moduulin lataamisen jälkeen suorita

source snap_add_userdir <YOUR-PROJECTS-SCRATCH-FOLDER>

Voit myös pyytää nopean nvme-levyn eräajossa ja suorittaa komennon ensin eräajossa, jolloin kaikki väliaikais- ja välimuistitiedostot 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äliaikaistiedostokansion; se asetetaan määrittelemäsi kansion snap/temp-alikansioksi. Jos haluat asettaa Javan väliaikaistiedostokansion 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. SNAP 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 Puhdissa 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 työsi muistivarauksen mukaan. Käytä Javaa varten muutama gigatavu vähemmän kuin työsi kokonaismuistivaraus.

SNAPin käyttö 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ää töihin, jotka voidaan lähettää mihin tahansa Puhdin partitioon.

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

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

Joitakin olennaisia gpt-valintoja 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 tile-rivi on kirjoitettu tulostiedostoon. Lisää tämä, jos muistista tulee ongelma

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

Myös seuraava komento on erittäin hyödyllinen eri operaattorien 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ö Python-rajapinnoilla

SNAPin toiminnallisuuksia on myös mahdollista käyttää Pythonista snappy- ja snapista-kirjastolla (vain SNAP 9).

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

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 pienpäivitykset itse. Voit tehdä tämän joko SNAP Desktopissa seuraamalla käynnistyksen yhteydessä näkyvän ponnahdusikkunan ohjeita tai SNAP 9:ssä suorittamalla source update_snap SNAP-moduulin lataamisen jälkeen terminaalissa.

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. Esimerkiksi voitte 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 asennettiin Puhtiin Singularitylla käyttäen mundialisin Dockerhubissa tarjoamaa SNAP Docker -kuvaa, johon tehtiin joitakin 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

Täysi SNAP Singularity -määritystiedosto.

Viitteet

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta