The Unidata website has some pages on the Annotated Schema for NcML at
http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/ncml/AnnotatedSchema4.html
It give some example NcML code for an enumerated type:
<?xml version="1.0" encoding="UTF-8"?>
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2"
location="Q:/cdmUnitTest/formats/netcdf4/tst/test_enum_type.nc">
<enumTypedef name="cloud_class_t" type="enum1">
<enum key="0">Clear</enum>
<enum key="1">Cumulonimbus</enum>
<enum key="2">Stratus</enum>
<enum key="3">Stratocumulus</enum>
<enum key="4">Cumulus</enum>
<enum key="5">Altostratus</enum>
<enum key="6">Nimbostratus</enum>
<enum key="7">Altocumulus</enum>
<enum key="8">Cirrostratus</enum>
<enum key="9">Cirrocumulus</enum>
<enum key="10">Cirrus</enum>
<enum key="255">Missing</enum>
</enumTypedef>
<dimension name="station" length="5" />
<variable name="primary_cloud" shape="station" type="enum1">
<attribute name="_FillValue" value="Missing" />
</variable>
</netcdf>
There seems to me to be a problem, in that the variable definition is set to be
a type of enum1 and never refers back to the defined type "cloud_class_t".
Indeed, if you read the example into tools UI, it produces this CDL:
netcdf test_enum_type.ncml {
types:
byte enum cloud_class_t { 'Clear' = 0, 'Cumulonimbus' = 1, 'Stratus' = 2,
'Stratocumulus' = 3, 'Cumulus' = 4, 'Altostratus' = 5, 'Nimbostratus' = 6,
'Altocumulus' = 7, 'Cirrostratus' = 8, 'Cirrocumulus' = 9, 'Cirrus' = 10,
'Missing' = 255};
dimensions:
station = 5;
variables:
enum UNKNOWN primary_cloud(station=5);
:_FillValue = "Missing";
}
I want to be able to create NcML code so that the last lines read:
cloud_class_t primary_cloud(station=5) ;
:_FillValue = Missing ;
However, changing the definition in the NcML declaration to
<variable name="primary_cloud" shape="station" type="cloud_class_t">
causes NcDump to throw an exception instead.
Any insight or help is appreciated as I'd like to be able to use enums in my
own NcML descriptions.
Thanks!
Tim
_________________________________________________________________________________________
Dr. Tim Patterson
Product Format and Test Data Coordinator
Instrument Data Simulation Expert
MTG Programme
GEO Division
EUMETSAT
Eumetsat-Allee 1
64295 Darmstadt
Germany
Tel: +49 6151 807 487
Fax: +49 6151 807 7
E-mail: timothy.patterson@xxxxxxxxxxxx
Web: www.eumetsat.int
Any email message from EUMETSAT is sent in good faith but shall neither be
binding nor construed as constituting a commitment by EUMETSAT, except where
provided for in a written agreement or contract or if explicitly stated in the
email. Please note that any views or opinions presented in this email are
solely those of the sender and do not necessarily represent those of EUMETSAT.
This message and any attachments are intended for the sole use of the
addressee(s) and may contain confidential and privileged information. Any
unauthorised use, disclosure, dissemination or distribution (in whole or in
part) of its contents is not permitted. If you received this message in error,
please notify the sender and delete it from your system.