Re: HDF5 dimension scales proposal

As the document makes clear, the proposal is definitely on the 'light weight'
side, leaving the most complex stuff to applications.

1. A dimension scale will be a dataset, and wont be hidden, so wont it always appear in a group and have a name there?

Yes. This is the design.

2. I dont think we really get netcdf-style shared dimensions out of this. You can sort of figure it out if you are sharing a dimension scale (even there there may be some ambiguities), but it doesnt seem like you can associate two dimensions in different variables if there's no dimension scale.

True.  This proposal does not provide shared dimensions, only scales. It
will be up to netCDF to maintain a correspondence of dimensions without
scales, if that is needed.

3. The idea that the dimension scale could have a different length then the dimension is confusing. I can see how that general case may be useful for complex things like meshes etc, though.

This is up to the application.

4. I think the main place where your proposal may fail to cover the general case is that you seem to require that a dimension scale is associated with a single dimension. But the general case is that it can be associated with several dimensions, eg lat(x,y). For that case, it makes more sense to associate a dimension scale with a dataspace. But then you still have to associate the dimensions of the data dataset with the dimensions of the dimension scale dataset. Giving the dimensions names and requiring their lengths to be the same would work, and would be an implementation of shared dimensions for the case of shared dimension scales.

This is not provided in the proposed design. Applications must implement
this semantics through their own conventions, I think.

5. Im unclear why, at the end of 4.5.2, you would have the object reference to the dimension scale be optional. It appears that you want to allow naming of dimensions. That I agree is a good idea, but perhaps should be seperate from whether there is a dimension scale, which should require an object reference?

I don't know any good reason why the reference would be optional.