1、Designation: E1948 98 (Reapproved 2014)Standard Guide forAnalytical Data Interchange Protocol for ChromatographicData1This standard is issued under the fixed designation E1948; the number immediately following the designation indicates the year oforiginal adoption or, in the case of revision, the ye
2、ar of last revision. A number in parentheses indicates the year of last reapproval. Asuperscript epsilon () 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 applications.I
3、mplementation of this protocol requires:1.1.1 Specification E1947, 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 as
4、technology evolves. The protocol isimplemented in stages, to speed its acceptance through actualuse.1.1.2 Specification E1947 contains a full description of thecontents of the data communications protocol, including theanalytical information categories with data elements and theirattributes for most
5、 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, with
6、out 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 in a w
7、ay 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. Wit
8、h 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:2E1947 Specification for Analytical Data Interchan
9、ge Proto-col 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 transferre
10、d).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 implementa
11、tion 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 system.
12、 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 is a d
13、atainterchange system designed specifically for the requirementsof scientific data. It was developed to meet the requirements ofhigh-performance, large dataset interchange over networks, in1This guide is under the jurisdiction of ASTM Committee E13 on MolecularSpectroscopy and Separation Science and
14、 is the direct responsibility of Subcom-mittee E13.15 on Analytical Data.Current edition approved Aug. 1, 2014. Published August 2014. Originallyapproved in 1998. Last previous edition approved in 2009 as E1948 98 (2009).DOI: 10.1520/E1948-98R14.2For referenced ASTM standards, visit the ASTM website
15、, www.astm.org, orcontact ASTM Customer Service at serviceastm.org. For Annual Book of ASTMStandards volume information, refer to the standards Document Summary page onthe ASTM website.3Available from Russell K. Rew, Unidata Program Center, University Corpora-tion for Atomospheric Research, P. O. Bo
16、x 3000, Boulder, CO 80307-3000,http:/www2.ucar.edu.Copyright ASTM International, 100 Barr Harbor Drive, PO Box C700, West Conshohocken, PA 19428-2959. United States1a machine- and network-independent way. NetCDF is imple-mented in the portable C programming language, and is madeto be available on al
17、l popular scientific computers and operat-ing systems. 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 h
18、as a particular advantage overmany other approaches, 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 entitie
19、s, instead of having to think aboutspecific details of 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 hum
20、an-readable representations. The human-readable form 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
21、is the specification ofdata structures. CDL is a generic 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, at
22、tributes about the data that help turn itinto useful 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 thistempla
23、te with certain NetCDF utilities to generate the softwarecode (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 UtilitiesThe NetCD
24、F data interchange sys-tem has two very powerful utilities 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 n
25、cgen, the firstof which creates the binary file and 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. Th
26、e ncdumputility reads the binary files generated by 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 Ne
27、tCDF. It canalso be used to export data to reporting 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.
28、 Developers then use ncgen with the -c option to generatethe 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 andpa
29、sted into the target application(s). The programmer 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
30、applications.3.6.4 Once the application populates the 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 co
31、de. Thencdump utility has an option switch to regenerate 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 thos
32、edata are incorporated into applications.3.6.5 There 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 exc
33、ept for those situations whereapplications can fully 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 D
34、ata Distribution Kit contains:4.2.1 Software DisksNetCDF 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 UtilitiesE1948 98 (2014)24.2.2 NetCDF Users Guidesupplied by Uni
35、data ProgramCenter.4.2.3 Specification E1947.4.2.4 Guide E1948.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 har
36、dware, because mostroutines are left on disk. Only 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 hard
37、ware used for testing was:5.1.1.1 Intel 80286 processor,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
38、.1.1.1 5.1.1.5 asrequirements. These are just the minimum, base-level systemsthat were used.5.1.2 SoftwareNetCDF runs on MS-DOS, OS/2,Macintosh, Windows 95, and Windows NT operating systemsfor personal computers. NetCDF was originally ported fromUNIX to DOS running on an IBM-PS/2 Model 80. It wasrec
39、ently ported to the Macintosh OS. NetCDF is written is theC programming 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.
40、2.2 Microsoft C Compiler V6.0,5.1.2.3 Microsoft 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. The
41、re are no particular hardware require-ments for 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 the
42、libraries in compiled binary form as part of a 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 app
43、lication, whereby the conversion program used 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. Apply
44、ing thencgen utility to the CHROMSTD.CDL template 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 togen
45、erate the ASCII representation of the data files, 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 UnidataCorporation, bec
46、ause they did not compile the first time onPCs. The changes needed to get the Unidata distribution to runon DOS are (1) rename the file MAKEFILE to UNIX.MK, and(2) rename MSOFT.MK to MAKEFILE, and then runNMAKE. The default switches in the Unidata distribution usethe switches for the floating point
47、coprocessor and MicrosoftWindows options.6.2.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 a
48、re indirectories for those operating systems.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. CD
49、L Template Structure7.1 A NetCDF template is 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 (/).