-
SNAP
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ä.
- Kirjaudu selainkäyttöliittymään: Puhti tai Roihu
- Avaa Desktop-sovellus.
- 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:
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ä.
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ä:
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
Komentoa gpt --diag -J-Xmx60G -c 40G voi käyttää sen tarkistamiseen, mitä muisti- ja välimuistiasetuksia gpt käyttää.
GPT-esimerkkejä Roihulle
- Täydet esimerkit GPT:n ajamisesta Roihussa. Esimerkit sisältävät sekä yksinkertaisen työn yhdellä GPT-graafilla että rinnakkaisen erätyön, jossa sama graafi lasketaan useille syötekuville.
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ä:
Katso saatavilla olevat paketit:
Uusien pakettien asentaminen $HOME-hakemistoosi:
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ä:
Katso saatavilla olevat paketit:
Uusien pakettien asentaminen $HOME-hakemistoosi:
Paketteja on myös mahdollista asentaa muihin hakemistoihin kuin $HOME.
Katso ohjeet
Pythonin käyttöoppaasta.
Python-paketin käyttö JupyterLabissa
- Kirjaudu selainkäyttöliittymään: Puhti tai Roihu
- Avaa Jupyter-sovellus.
- 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.