WXP
Tutorial

Processing GOES-R NetCDF files with WXP

LDM Data Flow

The GOES-R satellite files are sents as a set of tiles. Even though WXP can display the tiles individually, the ideal way to view the image is to composite the tiles into a single image. The data comes across as netCDF files with a WMO head attached. To view the netCDFs, the WMO header must be stripped from the beginning of the product. The tiles come in under a specific WMO header with a PXX extension. This extension specifies each tile starting with PAA through PAZ and then starts with PBA and continues. At the beginning the images were up to 48 small tiles but now come in 4 (full disk) or 15 (hi-res) tiles.

Compositing GOES-R Tiles

It starts with compositing the tiles. I have written a simple Python script using the netCDF module that creates a single netCDF image file from the tiles. Here are the LDM entries:

NOTHER  TI([RSTU]...) KNES ([0-3][0-9])([0-2][0-9])([0-5][0-9]) (...)
        PIPE    -close /home/ldm/scripts/strip_header /data/noaaport/satraw/(\2:yyyy)(\2:mm)\2_\3\4_g16_\1_\5.nc
# Composite vis-blue
NOTHER  TI(R[CERSTUW]01) KNES ([0-3][0-9])([0-2][0-9])([0-5][0-9]) (PAA)
        EXEC    /home/ldm/scripts/composite_goes16 /data/noaaport/satraw/(\2:yyyy)(\2:mm)\2_\3\4_g16_\1_\5.nc
# Composite vis-red
NOTHER  TI(R[CERSTUW]02) KNES ([0-3][0-9])([0-2][0-9])([0-5][0-9]) (PAA)
        EXEC    /home/ldm/scripts/composite_goes16 /data/noaaport/satraw/(\2:yyyy)(\2:mm)\2_\3\4_g16_\1_\5.nc
# Composite wv
NOTHER  TI(R[CERSTUW]09) KNES ([0-3][0-9])([0-2][0-9])([0-5][0-9]) (PAA)
        EXEC    /home/ldm/scripts/composite_goes16 /data/noaaport/satraw/(\2:yyyy)(\2:mm)\2_\3\4_g16_\1_\5.nc
# Composite ir
NOTHER  TI(R[CERSTUW]14) KNES ([0-3][0-9])([0-2][0-9])([0-5][0-9]) (PAA)
        EXEC    /home/ldm/scripts/composite_goes16 /data/noaaport/satraw/(\2:yyyy)(\2:mm)\2_\3\4_g16_\1_\5.nc

The strip header script removes the WMO header from the files so they are true netCDF files. The netCDF library can't handle a netCDF that's embedded inside other data.

Once it's written to disk, you can start the composite process. This Python script determines the number of tiles from the PAA (first tile) and then slowly adds tiles into the composite file as they come in. When all the tiles are received, it writes the full file. It will also time out after about 5 minutes and write what it has seen so far.

Displaying with WXP

The satplot program reads the netCDF file and converts it into a 8 bit WXP image for processing. WXP has the concept of a valued image which means there is, for IR images, a temperature value attached to each pixel value 0-255. You can then pass a color_fill file to satplot to enhance the image. There are sample color fill files in the See Also section below.

satplot -if=sat_ir_g16 -cof=sat_mb.cfl

The file type can be specified in the name convention file:

sat_vib_g16f  %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_full_vib.nc -  850000,cdf min=45
sat_vis_g16f  %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_full_vir.nc -  850000,cdf min=45
sat_ir_g16f   %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_full_ir.nc -   850000,cdf min=45
sat_wv_g16f   %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_full_wv.nc -   850000,cdf min=45

sat_vib_g16   %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_us_vib.nc -    850000,cdf min=45
sat_vis_g16   %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_us_vir.nc -    850000,cdf min=45
sat_ir_g16    %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_us_ir.nc -     850000,cdf min=45
sat_wv_g16    %S/g16/%Y%m%d/%Y%m%d_%h%n_g16_us_wv.nc -     850000,cdf min=45

Otherwise, you'll have to add a -in=cdf to the command line. Here are a few samples:

See Also

Last updated May 1, 2020