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
[GEOS-8099] GSIP 158 - NetCDF output support for variable attributes and extra variables #2281
[GEOS-8099] GSIP 158 - NetCDF output support for variable attributes and extra variables #2281
Conversation
Note again that the build failure is expected until geotools/geotools#1564 is merged. |
a97cf25
to
8bf1177
Compare
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.
+1 on merging this.
Looks like a great contribution to preserve input information (and customize it) when writing back the data.
Do you have any additional detail on the test failure you get when specifying simple NetCDF format instead of NetCDF4? Will the new code work even with simple application/x-netcdf so that it is only a testing issues?
I restarted the Travis CI build after geotools/geotools#1564 was merged and geotools-master ran on ares Jenkins to update the snapshots. The Travis CI build failed with a segfault in gs-netcdf-out tests:
Crash details:
|
I am pointing the finger at the ancient libnetcdf6 on Ubuntu 12.04.5 LTS (precise pangolin). |
The same JVM crash in gs-netcdf-out occurred in two out of two Jenkins CI builds. |
@dromagnoli I have seen the |
Segfault with NetCDF 4.1 fixed in cc6af2e. I was able to reproduce the segfault on debian sid by unpacking the jessie NetCDF-C 4.1 library At line 2833 in Nc4Iosp:
Inspecting variables indicates that data for |
GSIP 158 has been accepted. I will make the final changes to this PR: renaming the Extra Variables section and squashing the commits into one. |
cc6af2e
to
b4a29c0
Compare
I renamed the Extra Variables section, moved it to the end, and updated the user manual with a new screenshot. All changes squashed into one commit. |
…and extra variables
b4a29c0
to
742be81
Compare
@dromagnoli I went back and investigated the failure I encountered with NetCDF-3 output and discovered that it now works, because the failure was caused by the same logic error that caused a segfault with NetCDF-C 4.1. I have expanded test coverage to include NetCDF-3 in #2311 . |
@bencaradocdavies: Good news! thanks for the fix. |
@dromagnoli can I backport this to 2.11.x? I have created pull requests geotools/geotools#1583 and #2343 for the backport. |
Hi @bencaradocdavies |
Stratch scratch... backporting a GSIP worthy new features 6 days before the stable release, after a permanence of a week on master? |
@aaime the change is well-contained and I have taken care to ensure that it is backwards compatible both in terms of behaviour and, most importantly, in settings files (preserving the XStream class structure despite refactoring). The GSIP was mainly to solicit feedback on the functional enhancements and UI changes, not that I got much. @aaime what is your preference? Merge backport for 2.11.1 or wait for 2.11.2? Out of caution, I do not intend to backport to 2.10.x. |
My understanding from the previous discussions on the mailing list was that this specific GSIP was more a place where collect notes and feedbacks than a classic GSIP for API changes. |
The "one month cooldown for new features" has no exceptions that I can remember, but I don't want to be picky, if you are happy with the backport I will stop complaining. |
Thanks @dromagnoli and @aaime. I have merged the backports. @aaime yes, you are right, strictly there is no exception for extensions, although it does seem to me to be overly restrictive for a modest non-API-changing improvement that is confined to a single extension to be held on master for a whole month. Nonetheless, PSC members in particular have a responsibility to either fix policy or set a good example by following it. Should we have a maintainer-discretion exemption for improvements confined to a single extension? Perhaps something for me to raise on the mailing lists? Thank you for the reminder and your forbearance. |
I'd raise a discussion, I believe it's important to have clear rules applied the same way to everybody. That said, there will always be gray areas, stuff that is in between bug and improvement, or bug fixes that are so large that it's good to cool them down anyways (I've just made one to mosaic for mixed CRSs that I'm waiting to backport because it touched so many files). |
Agreed. I also have a bug fix that I have applied to master but whose performance impact I want to test. Bug fixing must also be weighed against performance regression. The stable branch must be treated with caution. I have even seen cases of mass pull requests submitted for master, stable, and maintenance, that were all merged before Travis CI had finished running (or even in once case failed), bringing down the build on all branches. This was a community module, but should there be different rules for community modules? What about extensions? I can feel a longwinded public service announcement coming on. ;-) |
https://osgeo-org.atlassian.net/browse/GEOS-8099
See also GSIP 158 - NetCDF output support for variable attributes and extra variables.
Depends on geotools/geotools#1564 (GEOT-5709) and tests in this PR are expected to fail until it is merged.