Open jameshiebert opened 6 years ago
The last time this happened, it was due to input data files (in that case, downscaled GCM outputs) containing masked values. According to Stephen Sobie, that was not supposed to happen, and he promised to correct those files. Consequently, I did not update the code to handle masked values.
This case is occurring with CLIMDEX files, and I am not sure whether it is legitimate for them to contain masked values. That's the first question (assuming I am right about the root cause.)
Hmm, yeah, now that you mention it the input data looks like this:
txnETCCDI =
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34, 2.945782e+34,
So it's not so much that it contains masked data (which is completely valid, BTW. We have to mask out the oceans all the time). It's that it contains no data. I'll have to drop back a step in the pipeline and see why generate_climos
actually created this.
Would be nice to have a graceful failure in these circumstances, since there seem to be a lot of them.
I apologise for barging into this issue, but we are getting these exact values (2.945782e+34) in masked regions (of a presumably unrelated model, I should add), even though our fill value is 1e20. They appear when we do a parallel IO write, and appear in regions where are not writing.
Apologies again for barging, just wondering if anyone knows where these values are coming from.
Edit: In case some lost soul find this... turns out 2.94e34 is the single-precision float from the lower 32 bits of the double-precision value 1e20, which is the CMOR defined fill value.
When attempting to index some climdex climatologies, many of the files are erroring out with a message resembling the following:
I'm not sure why, but it's trying to do an insertion where the
range_min
andrange_max
columns are both "masked".