tags: - Free system: - www-puhti
SNAP
SNAP (Sentinel Application Platform) on Euroopan avaruusjärjestön kehittämä kaukokartoituksen työkalupakkiarkkitehtuuri. Se sisältää työkaluja kaikille yleisille satelliittialustoille.
Saatavilla
SNAP on saatavilla Puhtiissa seuraavilla versioilla:
- 9.0 (wrapped singularity -konteineri Python 3.6.9:llä sisältäen snappy ja snapista)
- 8.0 (Singularity -konteineri snappy 8.0.3:lla ja Python 3.6.9:llä)
Lisäksi tarjoamme moduulin snap/jupyter
, jossa on SNAP 9.0 (wrapped singularity -konteineri Python 3.6.9:llä sisältäen snappy ja snapista) ja jupyter asennettuna. Voit esimerkiksi käyttää sitä Jupyter-sovelluksessa Puhti:n web-käyttöliittymän kautta custom module -vaihtoehdon avulla.
Asennetut työkalupakit
- Sentinel-työkalupakit (1,2,3)
- SMOS-työkalupakki
- Radarsat-työkalupakki
- PROBA-V-työkalupakki
Voit asentaa lisää lisäosia omaan käyttäjähakemistoosi SNAP:n graafisesta käyttöliittymästä.
Käyttö
SNAP sisältyy snap-moduuliin ja sen voi ladata komennolla:
module load snap
Tämä lataa uusimman saatavilla olevan version. Voit ladata vanhemman version komennolla:
module load snap/<VERSION>
SNAP:n käyttäminen graafisella käyttöliittymällä (GUI) Puhti:n web-käyttöliittymässä
Helpoin tapa käyttää SNAP:ia on avata se Puhti:n web-käyttöliittymässä.
- Kirjaudu Puhti:n web-käyttöliittymään.
- Avaa Desktop-sovellus.
- Työpöydän käynnistämisen jälkeen kaksoisnapsauta SNAP-kuvaketta TAI avaa
Terminal
(työpöytäkuvake) ja käynnistä SNAP:
SNAP userdir ja Java-temp-hakemiston määritykset
SNAP käyttää merkittävästi tallennustilaa välimuistille ja tilapäistiedostoille. Oletusarvoisesti nämä kirjoitetaan HOME-hakemistoosi, ja ne voivat helposti täyttää sen. Vältäksesi tämän, määritä snap-käyttäjähakemisto ja Java-väliaikainen kansio. Sinun tulee ajaa tämä skripti joka kerta, kun alat käyttää SNAP:ia Puhti:ssa tai haluat muuttaa käytettäviä kansioita.
Lataa snap-moduuli ja suorita:
source snap_add_userdir <YOUR-PROJECTS-SCRATCH-FOLDER>
Voit myös pyytää nopeaa nvme levyä eräajossa ja suorittaa ensin käskyn eräajossa, jolloin kaikki tilapäis-/välimuistotiedostot kirjoitetaan nopealle levylle raapaisualueen sijaan. Tämä voi parantaa nopeutta vaativissa laskelmissa.
source snap_add_userdir $LOCAL_SCRATCH
eräajoissa
source snap_add_userdir $TMPDIR
interaktiivisissa ajoissa
Tämä skripti asettaa myös Java-väliaikaisen kansion, joka asetetaan olemaan snap/temp-alikansiossa määrittelemässäsi kansiossa. Jos haluat asettaa Java-väliaikaisen kansion jonnekin muualle, käytä:
export _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.io.tmpdir=<SOME-FOLDER>"
käyttäjähakemiston määrityksen jälkeen.
Huom
Graafinen käyttöliittymä ei seuraa snap.userdir-asetusta, mutta huomioi Java-asetuksen. SNAP GUI luo __.snap__ -kansion HOME-hakemistosi sisälle ja täyttää sen. Tyhjennä se, jos tilasi loppuu HOME-hakemistossasi.
Java-muistiasetukset
Oletusarvoisesti SNAP/8.0 Puhtissa käyttää vain enintään 2 Gt muistia Java:lle. Lisää tätä, lisäämällä -J-xmx10G
tai vastaava asetus snap
- tai gpt
-käskyyn. -J-xmx10G
laajentaa Java:n maksimi muistin 10 Gt:iin. Säädä tämä tarpeidesi mukaan ja työn muistin varauksen mukaan. Työn muistin varaukseen verrattuna käytä Java:lle muutama Gt vähemmän.
SNAP:n käyttäminen Graph Processing Tool (gpt) komennolla
Graph Processing Tool gpt
on komentorivityökalu, jota käytetään eräprosessointiin. GPT:n avulla voidaan käyttää enemmän laskentatehoa kuin SNAP:n graafisessa käyttöliittymässä, koska sitä voidaan käyttää skripteissä ja siten sisällyttää töihin, jotka voidaan lähettää mille tahansa Puhti-osastolle.
GPT-komento näyttää usein tältä:
Joihinkin merkittäviin gpt-asetuksiin kuuluu:
- -J-xmx10G maksimi muisti, joka Java käyttää.
- -q Kierteiden lukumäärä, jota GPT-instanssi käyttää. Aseta se pyydettyjen CPU-ydinten määräksi tai suuremmaksi
- -c Välimuistitilan koko tavuina. Muuta tätä, jos tallennustilasta tulee ongelma
- -x Tyhjennä sisäinen laatikkovälimuisti täydellisen laattarivin kirjoittamisen jälkeen tulostiedostoon. Lisää tämä, jos muistista tulee ongelma
Katso lisätietoja GPT:stä alla olevista viitteistä.
Myös seuraava komento on erittäin hyödyllinen luomaan graafeja eri operaattoreille. Se voidaan suorittaa interaktiivisessa istunnossa
gpt --diag -J-Xmx60G -c 40G
voidaan käyttää näkemään, mitä muisti- ja välimuistiasetuksia gpt
käyttää.
GPT-esimerkkejä Puhtille
- Täydelliset esimerkit GPT:n käytöstä Puhtilla GitHubissa. Esimerkit sisältävät sekä yksinkertaisen työn yhden GPT-graafin kanssa että tekijöitä-jobs, joissa samaa graafia lasketaan useille syötekuville.
SNAP:n käyttäminen Python-rajapintojen kanssa
SNAP-toimintoihin on myös mahdollista päästä Pythonista snappy- ja snapista-kirjastoilla (vain SNAP 9).
SNAP 9.0
suoritetaan snappy/snapista skriptejä eräajoilla:
Katso käytettävissä olevat paketit:
Uusien pakettien asentaminen $HOME
-hakemistoon:
On myös mahdollista asentaa paketteja muihin hakemistoihin kuin $HOME
.
Katso ohjeet oppaastamme
Python-käyttöohje.
SNAP 8.0
Suoritetaan snappy-skriptejä eräajoilla:
Katso käytettävissä olevat paketit:
Uusien pakettien asentaminen $HOME
-hakemistoon:
On myös mahdollista asentaa paketteja muihin hakemistoihin kuin $HOME
.
Katso ohjeet oppaastamme
Python-käyttöohje.
Päivittäminen SNAP:iin
SNAP -pienempiä ja moduulipäivityksiä säilytetään kansiossa $HOME/.snap
. Tämä tarkoittaa, että kaikki pienemmät päivitykset on asennettava käyttäjän toimesta. Voit joko tehdä tämän SNAP:n työpöytäohjelmassa seuraamalla käynnistyessä annettuja ohjeita tai SNAP 9:lle suorittamalla source update_snap
SNAP-moduulin lataamisen jälkeen terminaalista.
Lisenssi
Kaikki SNAP-ohjelmisto on julkaistu GPL-3 lisenssillä.
Viittaus
SNAP - ESA Sentinel Application Platform v{VERSION}, http://step.esa.int
Tunnustus
Ole hyvä ja huomioi CSC ja Geoportti julkaisuissasi, sillä se on tärkeää projektin jatkumisen ja rahoitusraporttien kannalta. Esimerkkinä voit kirjoittaa "Kirjoittajat haluavat kiittää CSC - Tieteen tietotekniikan keskusta, Suomi (urn:nbn:fi:research-infras-2016072531) ja Avoimen paikkatiedon tutkimusinfrastruktuuria (Geoportti, urn:nbn:fi:research-infras-2016072513) laskentaresursseista ja tuesta".
Asennus
SNAP asennettiin Puhti:lle käyttöön Singularity:n avulla käyttäen SNAP Docker -kuvaa, jonka tarjoaa mundialis Dockerhubissa joidenkin pienten lisäysten kanssa, jotta snappy ja snapista Python-rajapinnat olisivat käytettävissä. Konteineri käärittiin lopulta Tykky:n wrap-container-toiminnallisuuden avulla:
wrap-container -w /usr/local/snap/bin,/usr/bin snap9_py.sif --prefix install_dir
Täysimittainen SNAP Singularity -määrittelytiedosto.