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 support for modis l2 geolocation interpolation #15
Conversation
@@ -86,15 +86,18 @@ def get_corners(arr): | |||
|
|||
class ModisInterpolator(): | |||
|
|||
def __init__(self, cres, fres): | |||
def __init__(self, cres, fres, cscan_full_width=None): | |||
if cres == 1000: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be more explanatory to introduce an optional product_level
argument? The cscan_full_width
will be then fixed according to its value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe. Although I think @BENR0 reported that it could also be 269 pixels in some cases, so maybe providing the actual number of pixels is to be prefered ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plus it doesn't require to pass an extra argument to modis_5km_to_1km
since the size is deduced from longitude argument. Let's keep it hence as you've suggested.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I think it is better to use the cscan_full_width instead of the level argument due to what @mraspaud said. Also this can possibly directly be used in the readers then because the scan width, as far as I remember for the mod35_l2 product, is in the attributes.
lons, lats = modis_5km_to_1km(lon5, lat5, satz5) | ||
self.assertTrue(np.allclose(lon1, lons, atol=1e-2)) | ||
self.assertTrue(np.allclose(lat1, lats, atol=1e-2)) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test also passes with a random MOD35_L2 file picked on LAADS archive.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect !
This PR add support for Modis L2 data through supporting 5km tiepoints of width 270 (instead of 271)
git diff origin/master **/*py | flake8 --diff