Training: Meteorological Satellite Products and Applications for Mid-Latitudes

In November 6th – 11th we had a face-to-face training course on “Meteorological Satellite Products and Applications for Mid-Latitudes” in Montevideo, Uruguay, organized by @AEMET_Esp / @AECID_es and @eumetsat, with participants from Argentina, Brazil, Chile, Mexico, Paraguay and Uruguay.

A great experience! The instructors covered different products and application areas: nowcasting, fog, ocean, fires, aerosol, vegetation, data access and processing, the new generation of satellites and more. And we also visited INUMET, the Uruguayan Institute of Meteorology.

The instructors were from Spain (AEMET), Portugal (EUMETSAT), Brazil (INPE) and Uruguay (FAU).

Many hands-on activities included! Participants presented their case studies / exercises using satellite data from @eumetsat / @LSA_SAF and @NOAASatellites, including Metop, Meteosat, GOES-East, GOES-West and NWP data from @ECMWF, using Python to create their images! @PyTrollOrg

Processing GLM Gridded Products [3]

GLM FED, TOE and MFA + ABI Band 13 (10.3 μm) – Cylindrical Equidistant projection

After the preliminary tests and adjustments, the last thing we wanted to test was plotting the GLM FED, TOE and MFA gridded products in the cylindrical equidistant projection (so it can be overlayed with other products).

And that was possible thanks to the reprojection examples found on the excelent GOES package created by Joao Huamán (SENAMHI, Peru), that uses the pyproj and pyresample packages to do the task.

The GitHub repository has been updated with a third example:

https://github.com/Satellite-Data-Requirements/glm-scripts

Thanks Joao!]

GLM FED, TOE and MFA + ABI Band 13 (10.3 μm) – Cylindrical Equidistant projection

Processing GLM Gridded Products [2]

GLM FED, TOE and MFA – Processed with Python using glmtools

After the preliminary tests, I’ve noticed some big differences between our plots and the plots available in the reference quick guides.

Thanks to Joseph Patton, research scientist from CISESS, ESSIC, University of Maryland-College Park, we were able to adjust the color scales and ranges and now the FED, TOA and MFA plots are very similar to the ones available in reference material.

The GitHub repository has been updated:

https://github.com/Satellite-Data-Requirements/glm-scripts

Also, Joseph suggested a nice reference page: the College of DuPage website, that lets users overlay the GLM gridded products with their standard color bars on top of other satellite imagery in real-time. That would allow us to save some high-quality animations of GLM imagery to compare to our own output using glmtools. Great!

He also shared a presentation he gave for an AMS Short Course in March 2021 about the FED, MFA, and TOE gridded products and how to apply them in a few meteorological applications:

Thanks Joseph!

Processing GLM Gridded Products [1]

The Github repository below (based on glmtools) contains preliminary example scripts to generate the following GLM Gridded Products with Python:

Flash Extent Density, Minimum Flash Area, Total Energy, Group Extent Density, Average Group Area, Group Centroid Density

https://github.com/Satellite-Data-Requirements/glm-scripts

It needs some adjustments (units, color scales), and additions (reprojection).

This is part of the WMO Coordination Group on Satellite Data Requirements for RA III and RA IV Data Processing and Visualization Task Force.

NASA ARSET Program Online Resource Guide 2015-2022

Hi community,

We would like to share with you the Applied Remote Sensing Training (ARSET) Program Online Resource Guide: 2015-2022 shared by Brock Blevins (NASA/ARSET Program):

http://appliedsciences.nasa.gov/sites/default/files/2023-01/OnlineResourceGuide_v2_2023.pdf

It has a wide range of online resources addressing utilization of satellite data and products for various application areas (Climate & Resilience, Disasters, Health & Air Quality, Ecological Conservation, Water Resources, Capacity Building) freely available for everyone. Each online resource listed in the Guide is linked to a dedicated web page which has the recordings of the training sessions, presentation slides, as well as Q&A transcripts.

Some training resources are provided not only in English, but also in Spanish (it has “Bilingual” in its description).

We hope you find them useful!

Thanks Brock Blevins for sharing this information!

TATHU (Tracking and Analysis of Thunderstorms)

Developed by our colleagues from INPE, TATHU (Tracking and Analysis of Thunderstorms) is a Python package for tracking and analyzing the life cycle of Convective Systems (CS).

Please access the GitHub page at the following link: https://github.com/uba/tathu

The documentation is available here: https://tathu.readthedocs.io/en/latest/

The package provides a modular and extensible structure, supports different types of geospatial data and proposes the use of Geoinformatics techniques and spatial databases in order to aid in the analysis and computational representation of the CS.

In addition, the package presents a conceptual model for defining the problem using abstract interfaces.

Note: The Portuguese word for “armadillo” is tatu which is derived from the Tupi language.

GOES-16 Imagery + NHC Tracking and Forecast (MARN El Salvador)

Hi community,

William Abarca, from MARN (El Salvador’s Ministry of Environment and Natural Resources), kindly shared the examples below, where he is plotting the NHC Tracking and Forecast overlayed with GOES-16 Bands 02 (0.64 μm), 13 (10.35 μm), the True Color RGB and the Rainfall Rate / Quantitative Precipitation Estimate. MARN is receiving data via GEONETCast-Americas and is using SHOWCast for processing and visualization.

True Color RGB Composite overlayed with the NHC Tracking and Forecast – MARN El Salvador
GOES-16 Rainfall Rate / QPE product overlayed with the NHC Tracking and Forecast – MARN El Salvador
MARN El Salvador – SHOWCast Interface

Thanks for sharing William!

Community Development.png

This Blog series shows the products developed by the community in the Americas. Most of them refers to data received from GNC-A, however, we also post the development with data received from other means. Please find below the other posts from this series:

VLAB: Produtos de Oceanografia por Satélite (Conteúdo Completo)

Clique na imagem para acessar o GitHub do curso
Clique na imagem para acessar o notebook Colab principal do curso
Clique na imagem para acessar o notebook Colab da Tarefa 1
Clique na imagem para acessar o notebook Colab da Tarefa 2
Clique na imagem para acessar o notebook Colab das aplicações
Clique na imagem para acessar o notebook Colab do estudo de caso de nevoeiro

VLAB: Produtos de Oceanografia por Satélite (Google Colab)

brazil_640

Prezados participantes do curso: “Produtos de Oceanogradia por Satélite – Conceitos, Acesso e Processamento”, segue abaixo o link do “notebook” interativo do Google Colab com as atividades do curso.

https://colab.research.google.com/drive/1J7IP_xRb6JQmhg3CyT5T3WfuzqrQwR3b?usp=sharing

Este “notebook” interativo contém instruções para a instalação das ferramentas necessárias para a criação de scripts Python e a manipulação dos dados mostrados no curso. Todas as instruções e scripts são executados na nuvem, não sendo necessário instalar as ferramentas e baixar arquivos localmente, como no procedimento pré-curso. Para executar as instruções, clicar no ícone “Play” entre colchetes à esquerda de cada célula.

Para ter uma melhor experiência com a ferramenta e poder editar / salvar seus scripts, é imprescindível a criação de uma cópia no seu próprio Google Drive, em “Arquivo” -> “Salvar uma cópia no Drive”.

Seguem algumas orientações nas imagens abaixo (clique nas imagens para ampliar):

Criando uma cópia do “notebook” e executando as células sequencialmente
Adicionando células de código e de texto
Seções, células de texto, células de código e sua saída
Impando as saídas das células de código, resetando o kernel Python e resetando a máquina
Visualizando seções e diretórios da máquina virtual

Nos vemos no curso!

Equipe VLAB – Brazil CoE – INPE

Creating a GeoTIFF from a Numpy Array

A test 2D array converted to GeoTIFF and opened in QGIS

We received the following question:

How can I generate a GeoTIFF from GOES-16 products?

The example code below demonstrates how to generate a GeoTIFF from a numpy array. This array could be your GOES-16 data or data from other satellites.

In this example, we’ll create a 2D array (30×30) with random numbers between 0 and 9:

# Create a test 2D array (randon numbers between 0 and 9)
import numpy as np
nlines = 30
ncolumns = 30
data = np.random.randint(0, 10, size=(nlines,ncolumns))

Then, we’ll export this array to GeoTIFF, for the region defined at the “extent” list:

#---------------------------------------------------------------------------------------------------------------------------
# Required modules
from osgeo import gdal, osr, ogr # Python bindings for GDAL
#---------------------------------------------------------------------------------------------------------------------------

def getGeoTransform(extent, nlines, ncols):
    resx = (extent[2] - extent[0]) / ncols
    resy = (extent[3] - extent[1]) / nlines
    return [extent[0], resx, 0, extent[3] , 0, -resy]

# Define the data extent (min. lon, min. lat, max. lon, max. lat)
extent = [-93.0, -60.00, -25.00, 18.00] # South America

# Export the test array to GeoTIFF ================================================

# Get GDAL driver GeoTiff
driver = gdal.GetDriverByName('GTiff')

# Get dimensions
nlines = data.shape[0]
ncols = data.shape[1]
nbands = len(data.shape)
data_type = gdal.GDT_Int16 # gdal.GDT_Float32

# Create a temp grid
#options = ['COMPRESS=JPEG', 'JPEG_QUALITY=80', 'TILED=YES']
grid_data = driver.Create('grid_data', ncols, nlines, 1, data_type)#, options)

# Write data for each bands
grid_data.GetRasterBand(1).WriteArray(data)

# Lat/Lon WSG84 Spatial Reference System
srs = osr.SpatialReference()
srs.ImportFromProj4('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')

# Setup projection and geo-transform
grid_data.SetProjection(srs.ExportToWkt())
grid_data.SetGeoTransform(getGeoTransform(extent, nlines, ncols))

# Save the file
file_name = 'my_test_data.tif'
print(f'Generated GeoTIFF: {file_name}')
driver.CreateCopy(file_name, grid_data, 0)	

# Close the file
driver = None
grid_data = None

# Delete the temp grid
import os                
os.remove('grid_data')
#==============================================================================

The code above generated a 2 KB GeoTIFF that could be opened in any GIS.

You may find a Google COLAB example in the following link: