Vai ai contenuti

Creare una Basemap con OpenGrADS - MetCast

Le meraviglie dell'atmosfera, un progetto di Vittorio Villasmunta
Salta menù
Creare una basemap con OpenGrADS
Le basemap sono un ottimo modo per aggiungere colore e vivacità alle tue mappe meteorologiche. GrADS ti permette di sovrapporre i dati su un'immagine .png pre-generata (la basemap stessa), evitando di dover ridisegnare la mappa ogni volta che vuoi creare una figura. Questo può essere un grande risparmio di tempo se stai creando diverse immagini in sequenza.

Obiettivo di questa guida: Imparerai come:
  1. Scaricare e aprire i dati di topografia netCDF da NOAA.
  2. Utilizzare lo script "basemap" dalla GMU GrADS Script Library per mascherare gli oceani.

Passo 0: Prerequisiti e download dei file necessari
Prima di iniziare, devi scaricare i seguenti file dalla GMU GrADS Script Library, oppure cliccando qui:
  • basemap.gs
  • lpoly_lowres.asc
  • opoly_lowres.asc
  • lpoly_mres.asc
  • opoly_hires.asc
Inoltre, è consigliato avere gli script color.gs e/o colormaps nella tua cartella script personale per utilizzare le stesse impostazioni di colore del tutorial.

Passo 0.1: Ottenere i dati di topografia
Sebbene il Grads Data Server sia stato disattivato, puoi ancora accedere a dataset di topografia ad alta risoluzione (1 minuto) in formato netCDF da NOAA.
  • Accedi al link di NOAA (https://www.ncei.noaa.gov/products/etopo-global-relief-model) e scarica il file ETOPO1 (netCDF) completo o usa il "Grid Extract Tool" di NCEI per sottocampionare i dati a una regione geografica di tua scelta.
  • Una volta che hai il file netCDF (etopo1.nc) localmente, spostalo nella tua cartella dati (ad esempio, home/grads_data/terrain/).

Passo 1: Caricare i dati di topografia e impostare il dominio
Questo è uno dei passi più importanti. Per poter utilizzare la basemap in seguito con le tue mappe meteorologiche, devi conoscere:
  • Le coordinate di latitudine/longitudine (lat/lon) della mappa.
  • La dimensione dell'immagine in pixel.
  • L'area della pagina GrADS (parea) della mappa.
È fortemente raccomandato annotare i confini lat/lon, le coordinate dell'area della pagina e le dimensioni in pixel X e Y per sapere come far corrispondere i dati sopra la mappa.
Ecco i comandi GrADS da eseguire:
  • Imposta il display e cancella: 'set display color white' 'set mpdset hires' 'clear'
  • Definisci il percorso del file di topografia: path = 'home/grads_data/terrain/' (o il tuo percorso specifico per etopo1.nc)
  • Apri il file di topografia: 'sdfopen 'path'etopo1.nc' Potresti eseguire un qfile per vedere i metadati, ma non è strettamente necessario.
  • Imposta il dominio geografico: Utilizza i comandi 'set lat' e 'set lon' per definire l'area. Per l'Europa, ad esempio: 'set lon -16 35' 'set lat 35 75' (Esempio per l'Europa, non presente nella fonte per il 2019, ma si intende che va impostato)
  • Definisci l'area della pagina: Usa il comando 'set parea'. Questo è cruciale per scalare correttamente le tue mappe meteorologiche sulla basemap. Per l'immagine di esempio (vecchia mappa USA), l'area della pagina era: 'set parea 0.5 10.0 0.5 7.5'

Passo 2: Definire una scala di colori per la topografia
Questo passo è reso molto semplice dall'uso degli script color.gs o colormaps. Scegli un intervallo di colori che si adatti alla gamma di topografia della tua regione.
  • Usando color.gs (esempio per la vecchia mappa USA): int=(4100-200)/50 (questo imposta 50 intervalli per la topografia tra 200 e 4100 metri) 'color 200 4100 'int' -kind lightgreen->tan->brown'
  • Usando colormaps_v2 (per l'aggiornamento 2019): 'colormaps_v2 -map terrain2 -levels 0 3500 100'
Una volta impostata la scala di colori, visualizza la variabile (presumibilmente l'altitudine).

Passo 3: Riempire le aree acquatiche
Questo è l'ultimo passo e l'unico che coinvolge l'uso dello script basemap.gs.
  • Esegui lo script basemap.gs: 'basemap O 11 1 M'
    • O sta per "Ocean", indicando che lo script riempirà i corpi idrici.
    • I due numeri successivi (11 e 1) corrispondono rispettivamente ai colori di riempimento e contorno. 11 per blu medio e 1 per nero.
    • M sta per "medium resolution", il che significa che userà il file opoly_mres.asc per riempire l'oceano. Viene consigliato mres invece di hires perché gli oceani hires coprono solo le aree intorno al Nord America.

Passo 4: Salvare l'immagine della Basemap
Ora che hai una bella basemap, l'ultima cosa da fare è salvarla usando il comando 'printim'.
  • Salva l'immagine specificando le dimensioni in pixel: 'printim img_name.png x800 y600 png'
    • Assicurati di specificare le dimensioni dell'immagine (x800 y600) in modo da poterle far corrispondere in seguito quando salvi l'output di GrADS sulla tua basemap.

Note importanti e risoluzione dei problemi:
  • Server Dati discontinuati: Il Grads Data Server (ad esempio, http://monsoondata.org:9090/dods/topo/rose/etopo05) è stato disattivato a causa della mancanza di fondi. Pertanto, dovrai scaricare i dati ETOPO1 localmente come descritto nel "Passo 0.1".
  • Errore "sh: bash: command not found. error in reading opoly_mres.asc.": Questo errore si verifica spesso se il file opoly_mres.asc non è presente o non si trova nella cartella corretta (ad esempio, la directory di GrADS o la stessa cartella dello script basemap.gs). Assicurati di aver scaricato tutti i file .asc e di averli posizionati correttamente.
  • "NetCDF: File not found" o "nc_open failed to open": Questo può indicare un problema di connessione internet se stai cercando di aprire un file remoto, o che il file locale non si trova nel percorso specificato.
Creare basemap richiede pratica, ma seguendo questi passaggi sarai in grado di generare sfondi efficaci per le tue visualizzazioni GrADS.
Torna ai contenuti