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.
>From: Mark Takala <address@hidden> >Organization: University of Wisconsin/SSEC >Keywords: 200012071945.eB7JjOo04438 netCDF lidar Hi Mark, > When I asked how to convert to netCDF, i was told that step 1 is to > design a cdl for how i want the netCDF file to look. > Could you elaborate on that? I am familiar with a general model of > dimensions, variables, data. I look forward to further correspondence > during this conversion. CDL is just a simple notation for representing the structure of netCDF data. Since it's readable and editable text, it provides a useful way to decide how data should be represented in netCDF form before committing to writing programs that deal with that representation. People who use netCDF to represent their data typically use CDL to propose dimension, variable, and attribute names and to discuss conventions to be used for expressing the intent of the data organization. Hence discussions of conventions usually occur using CDL, see for example: http://www.unidata.ucar.edu/packages/netcdf/conventions.html and especially "coordinate conventions postings ". You can also see the structure of a binary netCDF data file foo.nc using the ncdump tool as in ncdump -c foo.nc which outputs the CDL representation of the file and its coordinate variables, but not the actual data. If you leave off the "-c" option, then you get all the data as well. You can use this as a way to get started on CDL for a dataset that's like an existing dataset but with a few changes. Once you have a proposed CDL for some data, you can use the ncgen tool to actually generate a binary netCDF file (ncgen -b), or to generate some Fortran (ncgen -f) or C (ncgen -c) code to create the specified netCDF dataset. This is useful in generating the somewhat tedious "boilerplate code" for writing netCDF data that would otherwise be necessary, and it can be instructive to use as an example for how the various netCDF functions are used. For some example CDL files, see ftp://ftp.unidata.ucar.edu/pub/netcdf/cdl/ --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu