AWX Satellite Data Reader
Project description
python reader for satellite product format data (.AWX)
This package provide a user-friendly interface to AWX data, it can read 3 type AWX, that is
- Product Type 1, geostationary satellite image product
- Product Type 2, polar orbiting satellite image product
- Product Type 3, Grid product
README
Install
install from pypi
pip install awx
Quick Start
Basic usage for library
1 Read data, access data values, slicing longitude and latitude and save to netCDF
import os
from awx import Awx
pathfile = r'../data/ANI_VIS_R02_20230217_1000_FY2G.AWX'
ds = Awx(pathfile)
# print file head information
print(ds)
# get satellite observation data in xarray.DataArray format
print(ds.values)
# clip data to given longitude and latitude extent
print(ds.sel(lat=slice(20, 40), lon=slice(100, 130)))
# save data to netcdf4
ds.values.to_netcdf('ANI_VIS_R02_20230217_1000_FY2G.nc')
2 Basic draw data without projection
# draw data use matplotlib
import matplotlib.pyplot as plt
from awx import Awx
fpath = r'./data/ANI_VIS_R02_20230217_1000_FY2G.AWX'
ds = Awx(pathfile=fpath)
print(ds)
dar = ds.values.squeeze()
plt.pcolormesh(dar.lon, dar.lat, dar, cmap='Greys_r')
plt.savefig('ANI_VIS_R02_20230217_1000_FY2G_NoProj.png', dpi=300)
plt.show()
3 Draw data in native projection
# draw data in projection coordination
import os
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from awx import Awx
# fpath = r'./data/ANI_VIS_R02_20230217_1000_FY2G.AWX' # Mercator
fpath = r'./data/ANI_IR2_R01_20230217_0800_FY2G.AWX' # lambert
ds = Awx(pathfile=fpath)
print(ds)
dar = ds.values.squeeze()
plt.figure(figsize=(8, 8))
if dar.projection == 1:
proj = ccrs.LambertConformal(central_longitude=dar.clon / 100,
central_latitude=dar.clat / 100,
standard_parallels=(dar.std_lat1_or_lon / 100.,
dar.std_lat2 / 100.))
extent = [dar.x.min(), dar.x.max(), dar.y.min(), dar.y.max()]
elif dar.projection == 2:
proj = ccrs.Mercator(central_longitude=dar.clon / 100,
latitude_true_scale=dar.std_lat1_or_lon / 100.)
extent = [dar.x.min(), dar.x.max(), dar.y.min(), dar.y.max()]
elif dar.projection == 4:
proj = ccrs.PlateCarree(central_longitude=dar.clon / 100.)
extent = [dar.lon.min(), dar.lon.max(), dar.lat.min(), dar.lat.max()]
else:
raise NotImplementedError()
ax = plt.axes(projection=proj)
ax.set_extent(extent, crs=proj)
ax.coastlines(resolution='110m')
ax.gridlines(draw_labels=True)
ax.pcolormesh(dar.x, dar.y, dar, cmap='Greys_r')
plt.savefig(os.path.splitext(os.path.basename(fpath))[0] + '.png', dpi=300, bbox_inches='tight')
plt.show()
Command line procedure
awx_info
Print AWX file head information
Usage:
awx_info AWX_File_Name
Example:
awx_info FY2G_TBB_IR1_OTG_20150729_0000.AWX
awx_to_nc
Convert AWX file to netCDF4 file
Usage:
awx_to_nc AWX_File_Name NetCDF_File_Name
Example:
awx_to_nc FY2G_TBB_IR1_OTG_20150729_0000.AWX FY2G_TBB_IR1_OTG_20150729_0000.nc
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file awx-0.1.1.tar.gz.
File metadata
- Download URL: awx-0.1.1.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.3 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdc9c83c6c4ab6ff834f37fe25d9d73552e0ef3fd7b8e19e944d83828b39ba03
|
|
| MD5 |
948da6171d5ce49f329fb054bb14e0ac
|
|
| BLAKE2b-256 |
8bf4596042ccc8067d383daff419405daaf3e94331462f5b9e5d94cf0bc043f5
|
File details
Details for the file awx-0.1.1-py3-none-any.whl.
File metadata
- Download URL: awx-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.3 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22b6767df58172a077abc16b2ac5d92a8a1d735cfddb71a728a01f6acc402810
|
|
| MD5 |
b76325529f96f0640792c2511ae8c3e8
|
|
| BLAKE2b-256 |
a2e823b328efcdc6c63f92afe071eca6b286aa59cd59d154937e0eed697d586a
|