-
Notifications
You must be signed in to change notification settings - Fork 262
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
v4.5.0 does not use NC_FILL_INT for undefined values when expanding variables #718
Comments
I will take a look at this shortly. Is there a way you can test against |
I just built and linked against |
Do we have any test code for this? I believe these problems are also at play in the PIO library. I believe that some of these fill value problems remain. Fill value bugs are very serious because people can be creating data files and getting bad data because fill values are being incorrectly written. And it's almost impossible to detect in the data, in many cases. I will see about adding some more tests for fill values. |
I wrote some test code and ran it against master. It checks for fill values in an expanded unlimited dimension. I found no unexpected behavior. Were you using more than one unlimited dimension? I have not tried that yet... |
@edhartnett Yes, the variable had 2 unlimited dimensions. You can find my test here. It's Java, but pretty well-commented. |
@cwardgar I have tried to reproduce that test in C, but everything is working for me. For example: For example, this code:
Produces this output, as expected:
Which is what I expect. Note the fill values, indicated by the "_" in ncdump. I have tried other varients of this test, but they all seem to work as expected. Can you try to get the current master and confirm the problem still exists? Can you suggest what your test is doing that my test is not doing? |
So this is really strange, but I can no longer reproduce the bug on v4.5.0+. Not on my MacBook or on Linux. I have no idea what happened, because I'm using the exact same binaries as I was when I created the ticket. And I'm fairly certain that I was seeing a failure on Jenkins as well (which runs on Linux), but those job logs are no longer available. So, um, I guess I'll close this issue. I'm very confused. |
OK, thanks for doublechecking. Let us know if you see this problem again. |
This is very likely related to the other
_FillValue
issues that are currently open, such as #458, but I'm not sure. In any event, a test in thredds that passed when using libnetcdf 4.4.1 now fails with 4.5.0.TestNc4IospWriting.expandUnlimitedDimensions()
starts with a 1x1 variable and expands it using nc_put_vars_int, one row or column at a time. Some values will be undefined and it's expected that they will be filled withNC_FILL_INT
. Instead, those values are set to0
.Is that the expected behavior?
The text was updated successfully, but these errors were encountered: