Level 2 Visualization Using Python Pyresample Library (1)

Pyresample is a Python package for resampling (reprojection) of earth observing satellite data. Pyresample handles both resampling of gridded data (e.g. geostationary satellites) and swath data (polar orbiting satellites). Pyresample can use multiple processor cores for resampling. Pyresample supports masked arrays.
Here is the plot and code using VIIRS Level 2 dataset:
Please refer to the following link for more detail information:
https://pyresample.readthedocs.io/en/latest/
Here is the plot and code using VIIRS Level 2 dataset:
- Code: Select all
import numpy as np
import matplotlib.pyplot as plt
import pyresample as pr
from pyresample import image, geometry
from netCDF4 import Dataset
import glob
import os
dirname = 'Your Data Directory'
k = 0
for filename in glob.glob(dirname+'/20160901*.nc'):
fname = os.path.basename(filename)
#Read data
ncin = Dataset(filename, 'r')
lons = ncin.variables['lon'][:]
lats = ncin.variables['lat'][:]
sst = ncin.variables['sea_surface_temperature'][:]
ncin.close()
alat = np.average(lats)
alon = np.average(lons)
idx = np.where((sst<=-1000.0))
sst[idx] = np.nan
area_def = pr.utils.load_area('areas.cfg', 'pc_world')
bmap = pr.plot.area_def2basemap(area_def)
bmng = bmap.bluemarble()
swath_def2 = pr.geometry.SwathDefinition(lons, lats)
if k == 0:
sst_cat = sst
sst1 = sst
swath_def = swath_def2
swath_def1 = swath_def2
else:
swath_def = swath_def1.concatenate(swath_def2)
swath_def1 = swath_def
sst_cat = np.concatenate((sst1, sst), axis=1)
sst1 = sst_cat
result = pr.kd_tree.resample_nearest(swath_def, sst_cat, area_def, radius_of_influence=20000, fill_value=None)
col = bmap.imshow(result, origin='upper', vmin=250, vmax=310)
plt.title('MODIS L2 VIIRS SST')
plt.savefig("modis_l2_globe_{0}".format(str(k).rjust(4, "0")), num_meridians=10, num_parallels=10, bbox_inches='tight')
k = k + 1
Please refer to the following link for more detail information:
https://pyresample.readthedocs.io/en/latest/