Skip to content

Conversation

@pepephillips
Copy link
Contributor

  • Closes #xxxx
  • Tests added
  • Fully documented

@pepephillips
Copy link
Contributor Author

i just looked at the commits and there is an old MAP L1C reader commit in there. The MAP L1C readers were since removed and obviously not part of the final commit, only the new 3MI readers are there.

@codecov
Copy link

codecov bot commented Sep 24, 2024

Codecov Report

❌ Patch coverage is 95.89744% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.32%. Comparing base (ff96b89) to head (3f09755).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
satpy/readers/thr3mi_l1c_nc.py 92.50% 6 Missing ⚠️
satpy/tests/reader_tests/test_thr3mi_l1c_nc.py 98.26% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2908      +/-   ##
==========================================
- Coverage   96.32%   96.32%   -0.01%     
==========================================
  Files         463      465       +2     
  Lines       58172    58367     +195     
==========================================
+ Hits        56035    56222     +187     
- Misses       2137     2145       +8     
Flag Coverage Δ
behaviourtests 3.63% <0.00%> (-0.02%) ⬇️
unittests 96.41% <95.89%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ameraner
Copy link
Member

pre-commit.ci autofix

@coveralls
Copy link

coveralls commented Feb 15, 2025

Pull Request Test Coverage Report for Build 17614285017

Details

  • 189 of 197 (95.94%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.002%) to 96.392%

Changes Missing Coverage Covered Lines Changed/Added Lines %
satpy/tests/reader_tests/test_thr3mi_l1c_nc.py 114 116 98.28%
satpy/readers/thr3mi_l1c_nc.py 75 81 92.59%
Totals Coverage Status
Change from base Build 17593031136: -0.002%
Covered Lines: 56613
Relevant Lines: 58732

💛 - Coveralls

@pepephillips
Copy link
Contributor Author

@mraspaud, this is a very basic 3mi L1C reader for the native 3mi normalised reflectances in the 1D data format. As a result, scene.show() will not work as the data is still 1D (but I can hopefully update that later). However, once resampled, you can plot the projected data ok using show(). I suspect my coding is too basic and I hope someone can improve on it downstream.... I hope to include conversion to reflectance/radiance and colour composites (including polarised composites) too.

Copy link
Member

@ameraner ameraner left a comment

Choose a reason for hiding this comment

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

Hi Pepe, thanks again for the reader. Two suggestions inline to fix an import warning and a broken docstring link.


import xarray as xr

from satpy.readers.netcdf_utils import NetCDF4FileHandler
Copy link
Member

Choose a reason for hiding this comment

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

this needs a new import after the recent refactoring:

Suggested change
from satpy.readers.netcdf_utils import NetCDF4FileHandler
from satpy.readers.core.netcdf import NetCDF4FileHandler


This is an initial draft version. Note that as the 3MI uses 1D arrays, the data has to be
resampled first before using the "show()" function. Working on a conversion to a 2D array at input to fix this.

Copy link
Member

Choose a reason for hiding this comment

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

the reference to the doc is missing

Suggested change
.. _EPS-SG 3MI Level 1C Product Format Specification: https://user.eumetsat.int/s3/eup-strapi-media/EPS_SG_3_MI_Level_1_C_Product_Format_Specification_web_1e7e9e67b2.pdf # noqa: E501

if i_overlap == 0:
variable_old = variable.copy(deep=True)
if i_overlap > 0:
#variable_old = variable.copy(deep=True)
Copy link
Member

Choose a reason for hiding this comment

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

debug line to be removed probably

Suggested change
#variable_old = variable.copy(deep=True)

Reader for EUMETSAT EPS-SG 3MI Multi-Angle Polarimeter Level 1C Radiance files in NetCDF4 format per PFS
sensors: [3mi]
reader: !!python/name:satpy.readers.yaml_reader.FileYAMLReader

Copy link
Member

@ameraner ameraner Sep 10, 2025

Choose a reason for hiding this comment

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

a couple more fields are required nowadays

Suggested change
supports_fsspec: true
status: Beta

@pepephillips
Copy link
Contributor Author

pepephillips commented Sep 12, 2025 via email

…correct PFS reference, correct netcdfFileHandler import and removed redundant debug line
Comment on lines +161 to +165
@property
def ssp_lon(self):
"""Return subsatellite point longitude."""
# This parameter is not applicable to 3MI
return None
Copy link
Member

Choose a reason for hiding this comment

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

this is not strictly needed so it can be removed for simplicity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants