Hyppää sisältöön

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 Roihussa seuraavilla versioilla:

  • SNAP 13.0 + Python 3.12.3 sisältäen esa_snappy- ja pyroSAR-paketit + JupyterLab

JupyterLabin sisältäviä versioita voi käyttää Roihun selainkäyttöliittymän Jupyter-sovelluksessa 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äminen graafisella käyttöliittymällä (GUI) Roihun selainkäyttöliittymässä

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

  1. Kirjaudu selainkäyttöliittymään: Roihu
  2. Avaa Desktop-sovellus.
  3. Kun etätyöpöytä on käynnistynyt, 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 Javan temp-hakemiston 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 Roihussa tai haluat vaihtaa käytettäviä hakemistoja. 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-hakemistoon. 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 hakemiston snap/temp-alihakemistoon. Jos haluat asettaa Javan väliaikaishakemiston muualle, käytä komentoa: export _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.io.tmpdir=<SOME-FOLDER>" user directoryn 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 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äminen Graph Processing Tool (gpt) -komennolla

Graph Processing Tool gpt on komentorivityökalu eräajokäsittelyyn. 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 tile-rivi on kirjoitettu tulostiedostoon. Lisää tämä, jos muistista tulee ongelma

Katso lisätietoja GPT:stä tämän sivun lopussa olevista viitelinkeistä.

Myös seuraava komento on erittäin hyödyllinen luotaessa graafeja eri operaattoreille. Sen voi suorittaa interaktiivisessa istunnossa

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

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

GPT-esimerkkejä Roihulle

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 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.

Python-paketin käyttäminen JupyterLabin kanssa

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

Muista asettaa väliaikaishakemistot Jupyterissa. Seuraa SNAP set up Notebook -ohjetta päästäksesi alkuun.

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 SNAP Desktopissa seuraamalla käynnistyksen yhteydessä avautuvan ponnahdusikkunan ohjeita.

Paikkatietoaineistot CSC:n laskentaympäristössä

Roihussa on paikallisesti saatavilla satoja suomalaisia paikkatietoaineistoja, lisäksi niitä on lisää Altaassa ja cPoudassa. Lisätietoja kohdassa Paikkatietodata CSC:n laskentaympäristössä

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 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.

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

CSC:n SNAP Singularity -määrittelytiedostot.

Viitteet

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .