Skip to content

EarthMover DAP2 implementation compatibility #1581

Description

@lesserwhirls

Versions impacted by the bug

All

What went wrong?

In the EarthMover implementation of the DAP2 das response (example), Not a Number values for attributes are represented by the string nan. However, in Java and other languages, the string representation is NaN, and thus netCDF-Java fails to parse the time variable:

time {
  String long_name "time";
  String axis "T";
  String calendar_type "GREGORIAN";
  String units "days since 1993-01-01";
  String calendar "gregorian";
  Float64 _FillValue nan;
}

Relevant stack trace

[14:35:52.892 ERROR ucar.nc2.ui.ToolsUI] NetcdfDatasets.open cannot open https://compute.earthmover.io/v1/services/dap2/NOAA-PMEL/cefi-nep-hindcast-monthly/main/regrid/main/opendap
java.lang.IllegalArgumentException: Illegal Numeric Value for Attribute Value for _FillValue
	at ucar.nc2.dods.DODSAttribute.<init>(DODSAttribute.java:88)
	at ucar.nc2.dods.DodsV.addAttribute(DodsV.java:443)
	at ucar.nc2.dods.DodsV.addAttributeTable(DodsV.java:433)
	at ucar.nc2.dods.DodsV.parseDAS(DodsV.java:406)
	at ucar.nc2.dods.DODSNetcdfFile.<init>(DODSNetcdfFile.java:241)
	at ucar.nc2.dods.DODSNetcdfFileProvider.open(DODSNetcdfFileProvider.java:24)
	at ucar.nc2.dataset.NetcdfDatasets.openProtocolOrFile(NetcdfDatasets.java:431)
	at ucar.nc2.dataset.NetcdfDatasets.openFile(NetcdfDatasets.java:347)

Relevant log messages

No response

If you have an example file that you can share, please attach it to this issue.

If so, may we include it in our test datasets to help ensure the bug does not return once fixed?
Note: the test datasets are publicly accessible without restriction.

Yes

Code of Conduct

  • I agree to follow the UCAR/Unidata Code of Conduct

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinginternal: opendapIssues related to the opendap client code (opendap, ucar.nc2.dods)internal:dap4dap4 protocol

Type

Fields

No fields configured for Bug.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions