Dependencies | Version |
---|---|
SatPy | 0.9.0 |
PyResample | 1.10.1 |
Trollimage | 1.5.3 |
PyKdtree | 1.3.1 |
In December 2012 EUMETSAT extended the EARS services to include a new service with the purpose of supporting European users with cloud information from polar orbiting satellites in near real time.
This EARS-NWC service provides the parameters Cloud Mask, Cloud Type and Cloud Top Temperature and Height (CTTH) as derived using the Polar Platform System (PPS) software package from the NWC SAF. The products are derived from AVHRR data received at the EARS core stations with a reception coverage including Europe and the North Atlantic. Products are disseminated on EUMETCast (EUMETSAT data channel 1) with a timeliness better than 30 minutes, and available in netCDF4 format. The geolocation information is available on a tie-point grid and stored in each product.
At the moment the satellites contributing to the service are Metop-B and NOAA-19.
from satpy import Scene
from satpy import find_files_and_readers
from datetime import datetime
DATA_DIR = "/home/a000680/laptop/Nordisk/EARS_NWC/data/case_20180314/ears"
myfiles = find_files_and_readers(base_dir=DATA_DIR,
start_time=datetime(2018, 3, 14, 10, 5),
end_time=datetime(2018, 3, 14, 10, 11),
reader='nc_nwcsaf_pps')
scene = Scene(filenames=myfiles)
scene.load(['ct'])
Now we have loaded and concatenated the ct field of the Cloudtype product granules in the time window given by the start amd end times above
print(scene['ct'].data.shape)
print(scene['ct'].data.compute())
Also the geolocation has been unpacked. That is the the full resolution geolocation information has been recreated from the tie point grid by interpolating and extrapolating the longitudes and latitudes on the tie point grid. This is accomplished using the python-geotiepoints tool, but this is transparent to the user:
print(scene['ct'].area.lats.shape)
Now let’s visualise the cloudtype data using the Nowcasting SAF palette read from the file:
scene.load(['cloudtype'])
scene.show('cloudtype')
from glob import glob
import os.path
DATA_DIR = "/home/a000680/laptop/Nordisk/EARS_NWC/data/case_20180314/ears"
myfiles = glob(os.path.join(DATA_DIR, "*CTTH_C*.nc.bz2"))
myfiles = myfiles + glob(os.path.join(DATA_DIR, "*CTTH_C*.nc"))
scene = Scene(filenames=myfiles, reader='nc_nwcsaf_pps')
scene.load(['cloud_top_height'])
lscn = scene.resample('euron1', radius_of_influence=5000)
lscn.show('cloud_top_height')
dt_start = lscn.attrs['start_time'].strftime('%Y%m%dT%H%MZ')
dt_end = lscn.attrs['end_time'].strftime('%Y%m%dT%H%MZ')
lscn.save_dataset(
'cloud_top_height', filename='./ears_nwc_ctth_{starttime}_{endtime}.png'.format(starttime=dt_start, endtime=dt_end))