Re: suggestion concerning names of attributes in dimension scale API

Hi Ed,
    Sounds like a reasonable idea to me.  With Bob leaving soon, someone here
(possibly me :-)  needs to take over our dimension scale data model.  Any
takers?

    Quincey

> I have been using dimension scales to store dimension data. The
> dimension scale code puts several attributes on the datasets to store
> dimensional metadata. This fragment from h5dump illustrates:
> 
>       DATASET "Distance" {
>          DATATYPE  H5T_IEEE_F32LE
>          DATASPACE  SIMPLE { ( 3 ) / ( 3 ) }
>          DATA {
>          (0): 0, 0, 0
>          }
>          ATTRIBUTE "CLASS" {
>             DATATYPE  H5T_STRING {
>                   STRSIZE 16;
>                   STRPAD H5T_STR_NULLTERM;
>                   CSET H5T_CSET_ASCII;
>                   CTYPE H5T_C_S1;
>                }
>             DATASPACE  SCALAR
>             DATA {
>             (0): "DIMENSION_SCALE"
>             }
>          }
>          ATTRIBUTE "NAME" {
>             DATATYPE  H5T_STRING {
>                   STRSIZE 9;
>                   STRPAD H5T_STR_NULLTERM;
>                   CSET H5T_CSET_ASCII;
>                   CTYPE H5T_C_S1;
>                }
>             DATASPACE  SCALAR
>             DATA {
>             (0): "Distance"
>             }
>          }
>          ATTRIBUTE "REFERENCE_LIST" {
>             DATATYPE  H5T_COMPOUND {
>                H5T_REFERENCE "dataset";
>                H5T_STD_I32LE "dimension";
>             }
>             DATASPACE  SIMPLE { ( 2 ) / ( 2 ) }
>             DATA {
>             (0): {
>                   DATASET 4392 /Adam/Able/Billy_goat_gruff ,
>                   2
>                },
>             (1): {
>                   DATASET 9088 /Adam/Cain/Grumpy_the_camel ,
>                   2
>                }
>             }
>          }
>       }
> 
> 
> This shows a dimension scale with attributes named CLASS, NAME, and
> REFERENCE_LIST.
> 
> Might I suggest that the names of the attributes be preceded with an
> underscore? (For example _NAME instead of NAME.)
> 
> The reason is that these attribute names will not be available to
> users. If the user tries to create an attribute named NAME, he will
> get an error because one already exists. (This is true in both netCDF
> and HDF5).
> 
> It's certain that some users somewhere have used attributes called
> "NAME." That's why an underscore would be a good idea.
> 
> Thanks!
> 
> Ed
> -- 
> Ed Hartnett  -- ed@xxxxxxxxxxxxxxxx
>