Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a reader for NOAA GOES-R ABI L2+ products (abi_l2_nc) #767

Merged
merged 49 commits into from
Sep 17, 2019
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
9ab3d70
Add GOES-R ABI l2+ products reader.
May 15, 2019
7954674
add unit test for GOESR-R ABI l2+ reader
May 16, 2019
ac19f1f
remove trailing spaces in abi_l2.yaml
May 16, 2019
e0d1ff2
fix codefactor format issues
May 16, 2019
e875a9e
fix trailing space issue one more time.
May 16, 2019
3260e46
Merge branch 'master' of https://github.com/pytroll/satpy
Jun 6, 2019
653a4b7
refactored the ABI l2 reader along with ABI L1b reader.
Jun 6, 2019
424948a
add nc_abi_l2 reader tests suits into tests/_init__ file
Jun 6, 2019
6777b32
Modified AUTHORS.md
Jun 6, 2019
5197a39
Modified nc_abi_l2.yaml file
yufeizhu600 Jun 6, 2019
07c9ee1
fix 'file_key' retrieve bug.
yufeizhu600 Jun 7, 2019
41455f9
rename abi_l2 to nc_abi_l2 reader in the tests
yufeizhu600 Jun 7, 2019
d6c6ad7
remove reader abi_l2.py and tests
yufeizhu600 Jun 7, 2019
15747a0
fixed CMIP reading bug in the nc_abi_l2.yaml file
yufeizhu600 Jun 7, 2019
109b840
removed some unused imports, removed tailing whitespaces
yufeizhu600 Jun 11, 2019
f6c41c9
remove tailling whitespaces
yufeizhu600 Jun 12, 2019
a2394e2
adjust test scripts for abi_l1b and nc_abi_l2 readers
yufeizhu600 Jun 12, 2019
0205a25
fix flake8 complain
yufeizhu600 Jun 12, 2019
ab01417
Merge pull request #1 from yufeizhu600/nc_abi_l2_reader
yufeizhu600 Jun 12, 2019
4053ba4
remove local tests ro avoid stickler-ci SyntaxError complain.
yufeizhu600 Jun 12, 2019
cb16e0a
Merge pull request #2 from yufeizhu600/nc_abi_l2_reader
yufeizhu600 Jun 12, 2019
49fb0af
add blank lines in test scripts to make stickler happy.
yufeizhu600 Jun 12, 2019
9862ef2
Merge pull request #3 from yufeizhu600/nc_abi_l2_reader
yufeizhu600 Jun 12, 2019
e113e23
add nc_abi_l2 to the reader list of document
yufeizhu600 Jun 12, 2019
f02743a
renamed the abi l2 reader from 'nc_abi_l2' to 'abi_l2_nc'
yufeizhu600 Jun 13, 2019
ba9eb34
modified attrs names, coord_names and fixed a c/p error in abi_base
yufeizhu600 Jun 13, 2019
c6c16f8
del unnecessary __init__ in NC_ABI_L1B
yufeizhu600 Jun 13, 2019
a0b4118
modified test scripts and reader list for the name changing of abi l2…
yufeizhu600 Jun 13, 2019
9d33c13
Merge pull request #4 from yufeizhu600/nc_abi_l2_reader
yufeizhu600 Jun 13, 2019
01f76a4
remove a common block.
yufeizhu600 Jun 13, 2019
2493c98
Merge pull request #5 from yufeizhu600/nc_abi_l2_reader
yufeizhu600 Jun 13, 2019
1ac6c37
Merge branch 'master' of https://github.com/yufeizhu600/satpy
yufeizhu600 Jun 19, 2019
dc10d10
solve merge conflicts
yufeizhu600 Jun 26, 2019
9e02aa9
remove unused import in abi l1b test
yufeizhu600 Jun 26, 2019
269dcc3
Merge branch 'master' into master
yufeizhu600 Jun 26, 2019
180f558
remove blank line contains whtiespace
yufeizhu600 Jun 26, 2019
5567fce
update test_scmi to mock abi_base
yufeizhu600 Jul 2, 2019
477d14b
Merge branch 'nc_abi_l2_reader'
yufeizhu600 Jul 2, 2019
16ec228
Update AUTHORS.md
yufeizhu600 Jul 2, 2019
76c768c
Pop '_Unsigned' from attrs
yufeizhu600 Jul 2, 2019
1f89d85
use self.nc instead of self.nc.keys() to check variable for efficiency
yufeizhu600 Jul 2, 2019
a3f13dc
correct copyright year in abi_l2 reader/test
yufeizhu600 Jul 2, 2019
a807a68
Merge branch 'nc_abi_l2_reader'
yufeizhu600 Jul 2, 2019
15c3b96
remove not needed function keys() from unittest
yufeizhu600 Jul 4, 2019
9d35e77
add __contains__ to test FakeDataset class
yufeizhu600 Jul 4, 2019
92f3645
Merge branch 'nc_abi_l2_reader'
yufeizhu600 Jul 4, 2019
ad2e864
update the units of lat/lon in abi_l2 yaml file
yufeizhu600 Jul 10, 2019
fb16a1b
remove tailing spaces in abi_l2 yaml file
yufeizhu600 Jul 10, 2019
f07a8d6
correct a typo in abi_l2_nc.yaml file.
Jul 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
242 changes: 242 additions & 0 deletions satpy/etc/readers/abi_l2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
# GOES-R PUG vol5 L2+ products
# https://www.goes-r.gov/products/docs/PUG-L2+-vol5.pdf
reader:
description: NetCDF4 reader for the GOES-R Level 2+ products from NOAA PDA
name: abi_l2
sensors: ['abi']
reader: !!python/name:satpy.readers.yaml_reader.FileYAMLReader


#Datasets
datasets:
CMIP: # Cloud Moisture Image Products
name: CMI
file_type: nc_abi_l2_cmip

HT: # Cloud Top Height
name: HT # variable name in the nc files
resolution: 2000
file_type: nc_abi_l2_acha

TEMP: # Cloud Top Temperature
name: TEMP
resolution: 2000
file_type: nc_abi_l2_acht

BCM: # clear sky mask
name: BCM
resolution: 2000
file_type: nc_abi_l2_acm

Phase: # Cloud Top Phase
name: Phase
resolution: 2000
file_type: nc_abi_l2_actp

LST: # Land Surface (Skin) Temperature
name: LST
resolution: 2000
file_type: nc_abi_l2_lst

Aerosol: # Aerosol Detection: Aerosol
name: Aerosol
resolution: 2000
file_type: nc_abi_l2_adp

Smoke: # Aerosol Detection: Smoke
name: Smoke
resolution: 2000
file_type: nc_abi_l2_adp

Dust: # Aerosol Detection: Dust
name: Dust
resolution: 2000
file_type: nc_abi_l2_adp

AOD: # Aerosol Optical Depth
name: AOD
resolution: 2000
file_type: nc_abi_l2_aod

COD: # Cloud Optical Depth at 640 nm
name: COD
resolution: 2000
file_type: nc_abi_l2_cod

PSD: # Cloud Particle Size
name: PSD
resolution: 2000
file_type: nc_abi_l2_cps

PRES: # Cloud Top Pressure, 10 km at nadir
name: PRES
resolution: 10000
file_type: nc_abi_l2_ctp

CAPE: # atmospheric stability indices, CAPE
name: CAPE
resolution: 2000
file_type: nc_abi_l2_dsi

TT: # atmospheric stability indices, Total Totals Index
name: TT
resolution: 2000
file_type: nc_abi_l2_dsi

LI: # atmospheric stability indices, Lifted Index
name: LI
resolution: 2000
file_type: nc_abi_l2_dsi

SI: # atmospheric stability indices, Showalter Index
name: SI
resolution: 2000
file_type: nc_abi_l2_dsi

KI: # atmospheric stability indices, K-index
name: KI
resolution: 2000
file_type: nc_abi_l2_dsi

Area: # Fire (Hot Spot Characterization): Fire Area
name: Area
resolution: 2000
file_type: nc_abi_l2_fdc

Temp: # Fire (Hot Spot Characterization): Temperature
name: Temp
resolution: 2000
file_type: nc_abi_l2_fdc

Power: # Fire (Hot Spot Characterization): Radiative power
name: Power
resolution: 2000
file_type: nc_abi_l2_fdc

Mask: # Fire (Hot Spot Characterization): Mask
name: Mask
resolution: 2000
file_type: nc_abi_l2_fdc

RSR: # Reflected Shortwave Radiation
name: RSR
resolution: 25000
file_type: nc_abi_l2_rsr

DSR: # Downward Shortwave Radiation: Surface
name: DSR
resolution: 50000
file_type: nc_abi_l2_dsr

RRQPE: # Rainfall Rate - Quantitative Prediction Estimate
name: RRQPE
resolution: 2000
file_type: nc_abi_l2_rrqpe

SST: # Sea Surface (Skin) Temperature
name: SST
resolution: 2000
file_type: nc_abi_l2_sst

TPW: # Total Pricipitalable Water
name: TPW
resolution: 10000
file_type: nc_abi_l2_tpw

VAH: # Volcanic Ash: Ash Cloud Height
name: VAH
resolution: 2000
file_type: nc_abi_l2_vaa

VAML: # Volcanic Ash: Ash Mass Loading
name: VAML
resolution: 2000
file_type: nc_abi_l2_vaa

file_types:
nc_abi_l2_acha:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-ACHA{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_acht:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-ACHT{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_acm:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-ACM{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_actp:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-ACTP{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_adp:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-ADP{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_aod:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-AOD{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_cmip:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-CMIP{area_code:1s}-{scan_mode:2s}C{channel_number:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_cod:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-COD{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_cps:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-CPS{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_ctp:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-CTP{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_dmw:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-DMW{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_dsi:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-DSI{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_drs:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-DRS{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']


nc_abi_l2_fdc:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-FDC{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_lst:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-LST{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_rrqpe:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-RRQPE{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_rsr:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-RSR{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_dsr:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-DSR{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_sst:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-SST{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_tpw:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-TPW{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc']

nc_abi_l2_vaa:
file_reader: !!python/name:satpy.readers.abi_l2.NC_ABI_L2
file_patterns: ['{system_environment:2s}_{mission_id:3s}-L2-VAA{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}.nc', '{system_environment:2s}_{mission_id:3s}-L2-VAA{area_code:1s}-{scan_mode:2s}_{platform_shortname:3s}_s{start_time:%Y%j%H%M%S%f}_e{end_time:%Y%j%H%M%S%f}_c{creation_time:%Y%j%H%M%S%f}-128600_0.nc']


Loading