This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
There are two different problems here.
First, there is clearly a bug in the
netcdf-c dap code; I will work on that.
Second, you are seeing a message from
the server:
> Error { code = 500; message = "Variable name (h) must be
> unique within Group "^;};
What is happening is probably this.
The underlying dataset has two variables with the name 'h'.
One is in a group that is a subgroup of the root group.
Something like this:
group G1 {
float h;
group G2 {
float h;
}
}
The problem occurs when the server tries to shoe-horn
this into the DAP2 data model (which does not have groups).
The algorithm currently in the Thredds server
just flattens the groups, so it attempts to produce this:
float h;//from G1
float h;//from G2
This is clearly illegal and it produces the error you saw.
Fixing this is a problem would require changing the
algorithm to produce something like this:
float h;
float G2.h;
Unfortunately, this would break every other client
that relies on the current algorithm.
The only solution is to change the underlying dataset
and rename one of the two 'h' variables.
=Dennis Heimbigner
Unidata
Ticket Details
===================
Ticket ID: VEW-543105
Department: Support netCDF
Priority: Normal
Status: Closed