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

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

merged 49 commits into from
Sep 17, 2019

Conversation

yufeizhu600
Copy link
Contributor

@yufeizhu600 yufeizhu600 commented May 16, 2019

These products have been documented in GOES-R PUG file : https://www.goes-r.gov/products/docs/PUG-L2+-vol5.pdf.

  • Tests added
  • Tests passed
  • Passes git diff origin/master -- "*py" | flake8 --diff
  • Fully documented

@codecov
Copy link

codecov bot commented May 16, 2019

Codecov Report

Merging #767 into master will increase coverage by 0.09%.
The diff coverage is 85.37%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #767      +/-   ##
==========================================
+ Coverage   83.98%   84.07%   +0.09%     
==========================================
  Files         167      170       +3     
  Lines       24587    24673      +86     
==========================================
+ Hits        20649    20744      +95     
+ Misses       3938     3929       -9
Impacted Files Coverage Δ
satpy/readers/abi_l1b.py 98.3% <100%> (+3.81%) ⬆️
satpy/tests/reader_tests/test_scmi.py 96.19% <100%> (ø) ⬆️
satpy/tests/reader_tests/__init__.py 98.11% <100%> (+0.03%) ⬆️
satpy/readers/abi_l2_nc.py 33.33% <33.33%> (ø)
satpy/tests/reader_tests/test_abi_l1b.py 96.36% <83.33%> (-0.86%) ⬇️
satpy/readers/abi_base.py 90.56% <90.56%> (ø)
satpy/tests/reader_tests/test_abi_l2_nc.py 94.02% <94.02%> (ø)
satpy/tests/test_resample.py 85.6% <0%> (-0.3%) ⬇️
satpy/tests/writer_tests/test_cf.py 98.53% <0%> (-0.03%) ⬇️
... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 44239a0...f07a8d6. Read the comment docs.

@coveralls
Copy link

coveralls commented May 16, 2019

Coverage Status

Coverage increased (+0.09%) to 84.076% when pulling f07a8d6 on yufeizhu600:master into 44239a0 on pytroll:master.

@yufeizhu600 yufeizhu600 changed the title This PR add a reader for NOAA GOES-R ABI L2+ products in netCDF format. These products have been documented in GOES-R PUG file https://www.goes-r.gov/products/docs/PUG-L2+-vol5.pdf. This PR add a reader for NOAA GOES-R ABI L2+ products in netCDF format. May 16, 2019
@pnuu pnuu added component:readers enhancement code enhancements, features, improvements PCW Pytroll Contributors' Week labels May 16, 2019
@pnuu pnuu added this to In progress in Pytroll Contributor's Week - Spring 2019 - Madison, WI via automation May 16, 2019
@djhoese djhoese changed the title This PR add a reader for NOAA GOES-R ABI L2+ products in netCDF format. Add a reader for NOAA GOES-R ABI L2+ products (nc_abi_l2_fdc) May 16, 2019
@djhoese djhoese changed the title Add a reader for NOAA GOES-R ABI L2+ products (nc_abi_l2_fdc) Add a reader for NOAA GOES-R ABI L2+ products (abi_l2) May 16, 2019
Copy link
Member

@mraspaud mraspaud left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks you for the the very nice PR!
A few comments

  • The reader you provide it very similar to the abi_l1b reader, I suggest they get factorized
  • You need to add the tests to the suite in satpy/tests/reader_tests/init.py
  • Don't forget to add you name to the AUTHORS.md!

satpy/readers/abi_l2.py Outdated Show resolved Hide resolved
satpy/readers/abi_l2.py Outdated Show resolved Hide resolved
satpy/readers/abi_l2.py Outdated Show resolved Hide resolved
Pytroll Contributor's Week - Spring 2019 - Madison, WI automation moved this from In progress to Needs review May 16, 2019
@mraspaud
Copy link
Member

Also you should add this reader to the list of readers in the documentation (doc/src/index.rst)

@jhbravo jhbravo mentioned this pull request May 29, 2019
6 tasks
@djhoese
Copy link
Member

djhoese commented Jun 26, 2019

Looks like you'll need to update the mocking in the scmi writer tests to point to the new abi module.

AUTHORS.md Outdated Show resolved Hide resolved
Copy link
Member

@djhoese djhoese left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple small things I'd still like changed. It looks like some changes from master got lost in your most recent merge.

doc/source/index.rst Show resolved Hide resolved
@@ -158,47 +92,6 @@ def get_dataset(self, key, info):

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Github won't let me comment any higher, but just below line 80 there should be a line remove _Unsigned which was done in #838.

variable.attrs.pop('_FillValue', None)
variable.attrs.pop('scale_factor', None)
variable.attrs.pop('add_offset', None)
variable.attrs.pop('valid_range', None)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably want to pop _Unsigned here too.

satpy/tests/reader_tests/test_abi_l2_nc.py Outdated Show resolved Hide resolved
satpy/readers/abi_base.py Outdated Show resolved Hide resolved
@djhoese
Copy link
Member

djhoese commented Jul 3, 2019

It looks like your tests are failing because you were depending on .keys() since you defined def keys(self) in your test handlers. You'll probably need to create a fake __contains__ method for the self.nc attribute in your fake handler.

Copy link
Member

@djhoese djhoese left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I keep coming up with things for this, but I found one more thing with the lon/lat units (see comment below).

Other than that, I was going to ask again where the dataset names come from but I see they are the names in the files. I officially would like to say they are ugly, but I like the consistency of matching the file variables more so I guess leave them as-is.

satpy/etc/readers/abi_l2_nc.yaml Outdated Show resolved Hide resolved
Copy link
Member

@djhoese djhoese left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the record, I approve this PR but have moved the resolved conflicts to another PR #904

@djhoese djhoese merged commit f07a8d6 into pytroll:master Sep 17, 2019
Pytroll Contributor's Week - Spring 2019 - Madison, WI automation moved this from Reviewer approved to Done Sep 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:readers enhancement code enhancements, features, improvements PCW Pytroll Contributors' Week
Development

Successfully merging this pull request may close these issues.

None yet

6 participants