Hi John -
I'm seeing another interesting problem in terms of looking at
forecast model collections. One of the problems we had with the
FMRC putting in NAN's without changing the attributes to indicate
such was that certain clients (notably ferret), kinda freaked out
when dealing with the NaN's it found. One way I can fix this
without a change in the FMRC (that you've been discussing with
Steve) is to of course wrap some NcML around the data and serve it
myself. Something like:
<dataset name="NCOM Region 2 Aggregation">
<dataset name="NCOM Region 2 Best Time Series"
ID="NCOM_reg_2_best_time_series" urlPath="NCOM_Region_2_Aggregation">
<serviceName>all</serviceName>
<netcdf
xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2"
location="http://edac-dap.northerngulfinstitute.org/thredds/dodsC/ncom_reg2_agg/NCOM_Region_2_Aggregation_best.ncd">
<variable name="water_temp">
<attribute name="_FillValue" type="float"
value="NaN" />
<attribute name="missing_value" type="float"
value="NaN" />
</variable>
<variable name="salinity">
<attribute name="_FillValue" type="float"
value="NaN" />
<attribute name="missing_value" type="float"
value="NaN" />
</variable>
<variable name="water_u">
<attribute name="_FillValue" type="float"
value="NaN" />
<attribute name="missing_value" type="float"
value="NaN" />
</variable>
<variable name="water_v">
<attribute name="_FillValue" type="float"
value="NaN" />
<attribute name="missing_value" type="float"
value="NaN" />
</variable>
<variable name="surf_el">
<attribute name="missing_value" type="float"
value="NaN" />
<attribute name="_FillValue" type="float"
value="NaN" />
</variable>
</netcdf>
</dataset>
</dataset>
So, I've done that, and in doing so have come across an issue
where, for some reason, Java netcdf is not able to read that
particular file/aggregation. I'll use IDV as an example of what I
see.
If I tell IDV to add the following catalog:
http://ferret.pmel.noaa.gov/geoide/geoIDECleanCatalog.xml
and pick the appropriate dataset, like so:
And then ask IDV to load the data, here's the error message that I
get:
I actually see the same error when trying to get LAS configuration
data for the same dataset using our addXML Java utility, but
thought showing it in IDV would probably make more sense to you.
If I just point right directly to the best time series in the
FMRC, I don't have this problem...
Any ideas? Is there any other information I can supply that might
help...
Thanks
Kevin
p.s the full error dump from above is:
java.io.IOException: Inconsistent array length read: 1165128303 !=
1914731274
at
ucar.nc2.dods.DODSNetcdfFile.readArrays(DODSNetcdfFile.java:1216)
at ucar.nc2.dods.DODSNetcdfFile.<init>(DODSNetcdfFile.java:318)
at
ucar.nc2.dataset.NetcdfDataset.acquireDODS(NetcdfDataset.java:783)
at
ucar.nc2.dataset.NetcdfDataset.openOrAcquireFile(NetcdfDataset.java:657)
at
ucar.nc2.dataset.NetcdfDataset.openDataset(NetcdfDataset.java:434)
at
ucar.nc2.dataset.NetcdfDataset.acquireDataset(NetcdfDataset.java:523)
at ucar.nc2.dt.grid.GridDataset.open(GridDataset.java:103)
at ucar.nc2.dt.grid.GridDataset.open(GridDataset.java:89)
at
ucar.unidata.data.grid.GeoGridDataSource.doMakeDataSet(GeoGridDataSource.java:1084)
at
ucar.unidata.data.grid.GeoGridDataSource.getDataset(GeoGridDataSource.java:1106)
at
ucar.unidata.data.grid.GeoGridDataSource.initAfterCreation(GeoGridDataSource.java:471)
at
ucar.unidata.data.DataManager.createDataSource(DataManager.java:1565)
at
ucar.unidata.idv.IntegratedDataViewer.createDataSource(IntegratedDataViewer.java:1992)
at
ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1909)
at
ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1843)
at
ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1816)
at
ucar.unidata.idv.chooser.IdvChooser.makeDataSource(IdvChooser.java:943)
at
ucar.unidata.idv.chooser.XmlChooser.makeDataSource(XmlChooser.java:280)
at
ucar.unidata.idv.chooser.ThreddsHandler.processNodes(ThreddsHandler.java:819)
at
ucar.unidata.idv.chooser.ThreddsHandler.doLoad(ThreddsHandler.java:677)
at
ucar.unidata.idv.chooser.XmlChooser.doLoadInThread(XmlChooser.java:715)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at ucar.unidata.util.Misc$2.run(Misc.java:1068)
at ucar.unidata.util.Misc$3.run(Misc.java:1096)
--
Kevin O'Brien UW/JISAO Research
Scientist NOAA/PMEL/TMAP
206-526-6751 http://www.pmel.noaa.gov
"The contents of this message are mine personally and do
not necessarily reflect any position of the Government
or the National Oceanic and Atmospheric Administration."