1、Designation: E 1948 98 (Reapproved 2004)Standard Guide forAnalytical Data Interchange Protocol for ChromatographicData1This standard is issued under the fixed designation E 1948; the number immediately following the designation indicates the year oforiginal adoption or, in the case of revision, the
2、year of last revision. A number in parentheses indicates the year of last reapproval. Asuperscript epsilon (e) indicates an editorial change since the last revision or reapproval.1. Scope1.1 This guide covers the implementation of the Chromato-graphic Data Protocol in analytical software application
3、s.Implementation of this protocol requires:1.1.1 Specification E 1947, which contains the full set ofdata definitions. The chromatographic data protocol is notbased upon any specific implementation; it is designed to beindependent of any particular implementation, so that imple-mentations can change
4、 as technology evolves. The protocol isimplemented in stages, to speed its acceptance through actualuse.1.1.2 Specification E 1947 contains a full description of thecontents of the data communications protocol, including theanalytical information categories with data elements and theirattributes for
5、 most aspects of chromatographic tests.1.2 The Analytical Information Categories are a practicalconvenience for breaking down the standardization processinto smaller, more manageable pieces. It is easier for develop-ers to build consensus and produce working systems based onsmaller information sets,
6、 without the burden and complexity ofthe hundreds of data elements contained in all the categories.The categories also assist vendors and end users in using theguide in their computing environments.1.3 The NetCDF Data Interchange System is the containerused to communicate data between applications i
7、n a way thatis independent of both computer architectures and end-userapplications. In essence, it is a special type of applicationdesigned for data interchange.1.4 The Common Data Language (CDL) Template forChromatography is a language specification of the chromatog-raphy dataset being interchanged
8、. With the use of the NetCDFutilities, this human-readable template can be used to generatean equivalent binary file and the software subroutine callsneeded for input and output of data in analytical applications.2. Referenced Documents2.1 ASTM Standards:2E 1947 Specification for Analytical Data Int
9、erchange Pro-tocal for Chromatographic Data2.2 Other Standard:NetCDF Users Guide33. Features of the Chromatographic Data InterchangeImplementation Guide3.1 The chromatographic data protocol consists of: (1) thedata contents (what is being transferred), and (2) the datacontainer (how it is being tran
10、sferred).3.2 Analytical Information CategoriesTo make the stan-dardization process more manageable, fiveAnalytical Informa-tion Categories were defined:1. Raw Data2. Final Results3. Full Data Processing Method4. Full Chemical Method5. Good Laboratory Practices Information3.2.1 This guide covers impl
11、ementation of Raw Data (Cat-egory 1) and Final Results (Category 2). The developmentcommittee has completed implementation and testing of infor-mation in these categories.3.3 Chromatography Data ElementsEach data elementspecifies a piece of information that is to be stored ortransferred to another s
12、ystem. A data element has a name, adefinition, and may have some default attributes, such as itsdatatype, the analytical information category to which itbelongs, and whether it is mandatory or recommended. A dataelement may also reference other data elements.3.4 NetCDF Data Interchange SystemNetCDF
13、is a datainterchange system designed specifically for the requirementsof scientific data. It was developed to meet the requirements of1This guide is under the jurisdiction of ASTM Committee E13 on MolecularSpectroscopy and Chromatography and is the direct responsibility of SubcommitteeE13.15 on Anal
14、ytical Data.Current edition approved April 1, 2004. Published May 2004. Originallyapproved in 1998. Last previous edition approved in 1998 as E 1948 - 98.2For referenced ASTM standards, visit the ASTM website, www.astm.org, orcontact ASTM Customer Service at serviceastm.org. For Annual Book of ASTMS
15、tandards volume information, refer to the standards Document Summary page onthe ASTM website.3Available for Russell K. Rew, Unidata Program Center, University Corporationfor Atomospheric Research, P. O. Box 3000, Boulder, CO 80307-3000.1Copyright ASTM International, 100 Barr Harbor Drive, PO Box C70
16、0, West Conshohocken, PA 19428-2959, United States.high-performance, large dataset interchange over networks, ina machine- and network-independent way. NetCDF is imple-mented in the portable C programming language, and is madeto be available on all popular scientific computers and operat-ing systems
17、. It achieves platform-independence through theuse of the XDR protocol for byte-stream encoding. XDR(eXternal Data Representation) was developed by Sun Micro-systems as part of the Network File System (NFS) and is nowin the public domain. NetCDF has a particular advantage overmany other approaches,
18、such as ASCII flat files or structuredASCII files, because it uses the abstraction of a data accessinterface or abstract Application Programming Interface (API).This API lets the application developer deal with data more interms of logical entities, instead of having to think aboutspecific details o
19、f encoding and decoding data. This guidespecifies the use of version 2.0 or later, and the exchangesoftware should determine only that the version of NetCDF isversion 2.0 or greater.3.5 Common Data LanguageA NetCDF data file has bothbinary and human-readable representations. The human-readable form
20、is an ASCII-encoded file written in the NetCDFsystems Common Data Language (CDL). CDL is a datadescription language, which is a simplified type of program-ming language without any action statements. The mainpurpose of a data description language is the specification ofdata structures. CDL is a gene
21、ric data description language forscientific data; it is not application-specific. The basic constructin CDL is that of a multidimensional array, to which manytypes of metadata can be attached. Metadata is additional dataabout the data, that is, attributes about the data that help turn itinto useful
22、information.3.5.1 For the protocol, a template for chromatographywritten in CDL is supplied to developers. The CDL templateprovides an easily comprehended text version of the structureand contents of a binary NetCDF file. Developers use thistemplate with certain NetCDF utilities to generate the soft
23、warecode (subroutine calls) needed to use the NetCDF toolkit. Thegenerated code can then be cut and pasted in the end-userapplication.3.5.2 For a full description of the Common Data Language,see the NetCDF Users Guide.3.6 NetCDF Utilities The NetCDF data interchange sys-tem has two very powerful uti
24、lities called “ncgen” and “nc-dump” that eliminate much work for developers.3.6.1 After the template for a particular analytical techniquedataset (in this case chromatography) is written in CDL, it isfed into ncgen. There are several options with ncgen, the firstof which creates the binary file and
25、populates it with fieldsspecified by the CDL template. Other ncgen options generatecode for the C language subroutines required for an applicationto read and write data in the NetCDF file, and the FORTRANwrapper code needed for FORTRAN programs. The ncdumputility reads the binary files generated by
26、ncgen (which werethen populated by the application using the NetCDF libraries),and then generates their ASCII-encoded, human-readable rep-resentation. ncdump is routinely used to check the contents ofNetCDF files, and debug applications that use NetCDF. It canalso be used to export data to reporting
27、 programs. Fig. 1illustrates the usage of the NetCDF utilities.3.6.2 Developers typically start with the CDL source codedescription of the data file they wish to interchange. Then thencgen utility with the -n option generates the NetCDF binaryfile. Developers then use ncgen with the -c option to gen
28、eratethe C source code needed for the subroutines to read and writethis particular dataset (specified by the CDL template.) Theseread/write subroutines make up the NetCDF Application Pro-gramming Interface (API). These routines are simply cut andpasted into the target application(s). The programmer
29、then usesthe API to read or write data in NetCDF datasets.3.6.3 If FORTRAN is the programming language beingused, the ncgen utility with the -f option can generate theFORTRAN source code wrappers needed to embed theNetCDF library code into FORTRAN applications.3.6.4 Once the application populates th
30、e data file with itsdata, that file can be transferred to another system. If adeveloper or end user needs a human-readable version of thebinary dataset, the binary file can be fed into the ncdumputility, which regenerates the original CDL source code. Thencdump utility has an option switch to regene
31、rate the CDLcode with or without the actual experimental data. Somedatasets can be enormous and there may be no reason to viewthe entire dataset. In this way, data are easily encoded intoNetCDF files and the required routines to read and write thosedata are incorporated into applications.3.6.5 There
32、 is another way to build NetCDF data files.Using the NetCDF Application Programming Interface, it ispossible to build NetCDF binary files one data element at atime. However, that method is generally more time-consuming,and it is not recommended except for those situations whereapplications can fully
33、 automate the process.4. Chromatographic Data Protocol Distribution Kit4.1 Information on how to obtain the kit will be posted onthe ASTM web site (www.astm.org) under Committee E49.4.2 TheAnalytical Data Interchange Protocol for Chromato-graphic Data Distribution Kit contains:4.2.1 Software Disks N
34、etCDF distribution kit from Uni-data (with the modified makefile needed to make the kitcompile out of the box), and the Chromatographic DataProtocol CDL Template.FIG. 1 Usage of NetCDF UtilitiesE 1948 98 (2004)24.2.2 NetCDF Users Guidesupplied by Unidata ProgramCenter.4.2.3 Specification E 1947.4.2.
35、4 Guide E 1948.4.2.5 Registration Card, used for tracking and user updates.5. Hardware and Software5.1 This section describes the hardware and software con-figurations used for testing. In general, the NetCDF systemputs very few requirements on the hardware, because mostroutines are left on disk. On
36、ly routines being used at anyparticular time are kept in memory.Any limitations found weretypically those not imposed by NetCDF but ones imposed bythe operating system or environment.5.1.1 Hardware (Personal Computers)The personal com-puter system hardware used for testing was:5.1.1.1 Intel 80286 pr
37、ocessor,5.1.1.2 640K minimum,5.1.1.3 monochrome, EGA, VGA graphics,5.1.1.4 20 megabyte minimum, 80 megabyte hard-disk istypical, and5.1.1.5 a mouse (optional).5.1.1.6 NetCDF works well on AT-class machines andhigher. NetCDF does not have the items in 5.1.1.1-5.1.1.5 asrequirements. These are just th
38、e minimum, base-level systemsthat were used.5.1.2 SoftwareNetCDF runs on MS-DOS, OS/2, Macin-tosh, Windows 95, and Windows NT operating systems forpersonal computers. NetCDF was originally ported from UNIXto DOS running on an IBM-PS/2 Model 80. It was recentlyported to the Macintosh OS. NetCDF is wr
39、itten is the Cprogramming language, and there are FORTRAN jacketsavailable for applications that want to use FORTRAN calls.The personal computer software employed for testing anddeveloping NetCDF applications were:5.1.2.1 Microsoft DOS V3.3 or above,5.1.2.2 Microsoft C Compiler V6.0,5.1.2.3 Microsof
40、t Windows V3.0,5.1.2.4 Microsoft Windows SDK, and5.1.2.5 NetCDF Version 2.0.1.5.1.3 Workstations and ServersNetCDF runs easily onUNIX workstations such as Sun 3, Sun 4, VAXstations,DECstation 3100, VAXstation II running ULTRIX or VMS,and IBM RS/6000. There are no particular hardware require-ments fo
41、r workstation class machines, since all workstationshave the minimum hardware outlined for personal computersin 5.1.1.6. Significance and Use6.1 General Coding GuidelinesThe NetCDF libraries aresupplied to developers as source code. End users receive thelibraries in compiled binary form as part of a
42、 vendorsapplication.6.1.1 Some vendors found that compilation using the hugememory model under Microsoft Windows on MS-DOS wasneeded because of an array pointer passing its boundary. Manyvendors chose to write a conversion program as a stand-aloneDOS application, whereby the conversion program used
43、onlytext-mode screen I/O. Some vendors are now using it in theirMS-Windows applications.6.1.2 Developers setting out to write a program to converttheir data files to the Chromatographic Data Protocol shoulduse the NetCDF utilities ncgen and ncdump. Applying thencgen utility to the CHROMSTD.CDL templ
44、ate will generatethe skeletal code needed to create the NetCDF file. Theprogrammer can then modify the code to create a program thatreads the netDCF file from another vendor. After developerscreate the NetCDF file they should use the ncdump program togenerate the ASCII representation of the data fil
45、es, andexamine it to ensure the data is being correctly put into the file.6.2 Make Files for NetCDF Libraries and UtilitiesIngeneral the compilation is straightforward. The make files weremodified after they were received from the Unidata Corpora-tion, because they did not compile the first time on
46、PCs. Thechanges needed to get the Unidata distribution to run on DOSare (1) rename the file MAKEFILE to UNIX.MK, and (2)rename MSOFT.MK to MAKEFILE, and then run NMAKE.The default switches in the Unidata distribution use theswitches for the floating point coprocessor and MicrosoftWindows options.6.2
47、.1 The protocol contain some complete makefile ex-amples for Microsoft C V6.0 running on DOS. The MicrosoftC V6.0 compiler manual should be consulted for the exactmeaning of the compiler and linker options.6.2.2 The VMS and SunOS compilation instructions are indirectories for those operating systems
48、.6.3 NetCDF Library Build OrderThe NetCDF librariesmust be built in a specific order. The correct order to build theNetCDF directories is:UTILXDRSRCNCDUMPNCGENNCTEST6.3.1 The UTIL and XDR makefiles work as distributedusing NMAKE with Microsoft C V6.0.7. CDL Template Structure7.1 A NetCDF template is
49、 built from CDL statements andstructured into three sections: (1) dimension declarations, (2)variable declarations, and (3) the data section.7.2 Afew points of clarification about the CDLlanguage aregiven here to facilitate understanding of the CDL GenericChromatography Template given in Fig. 2. For more in-depthinformation on CDL, please consult the NetCDF Users Guide.7.2.1 A NetCDF template starts with the word “NetCDF”followed by the dataset name.7.2.2 CDL comments are indicated by two forward slashcharacters (/).7.2.3 Section indicators (dimensions:, variables:,