ncmpigen(1) PnetCDF utilities ncmpigen(1) (NAME) ncmpigen - netCDF C Fortran CDL (SYNOPSIS) ncmpigen [-b] [-c] [-f] [-n] [-o netcdf_filename] [-v file_format] input_file (DESCRIPTION) ncmpigen netCDF C Fortran netCDF . ncmpigen netCDF CDL ( network Common Data form Language) . ncmpigen (syntax) CDL CDL . netCDF C C netCDF netCDF Fortran Fortran netCDF netCDF . ncmpigen ncmpidump netCDF . netCDF ncmpidump CDL netCDF CDL ncmpigen netCDF CDL . (OPTIONS) -b netCDF (). -o netCDF ( netcdf ) <<.nc>> . . -c C netCDF netCDF . C . -f Fortran netCDF netCDF . Fortran . -o netcdf_file netCDF . <<-b>> . ( netCDF (seekable) .) -n -b -o netCDF <<.nc>> <<.cdf>> . . -v file_format netCDF . file_format : 1 classic CDF-1. 2 64-bit-offset CDF-2. 5 64-bit-variable CDF-5. ( ) CDF-1 classic . (EXAMPLES) CDL <>: ncmpigen foo.cdl netCDF <> CDL <>: ncmpigen -o x.nc foo.cdl C netCDF netCDF <> CDL <>: ncmpigen -c -o x.nc foo.cdl CDL (CDL Syntax Summary) CDL netCDF (lat lon time) (Z t p rh lat lon time) (units long_name valid_range _FillValue) . CDL . ( CDL .) netcdf foo { // an example netCDF specification in CDL dimensions: lat = 10, lon = 5, time = unlimited ; variables: long lat(lat), lon(lon), time(time); float Z(time,lat,lon), t(time,lat,lon); double p(time,lat,lon); long rh(time,lat,lon); // variable attributes lat:long_name = "latitude"; lat:units = "degrees_north"; lon:long_name = "longitude"; lon:units = "degrees_east"; time:units = "seconds since 1992-1-1 00:00:00"; Z:units = "geopotential meters"; Z:valid_range = 0., 5000.; p:_FillValue = -9999.; rh:_FillValue = -1; data: lat = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90; lon = -140, -118, -96, -84, -52; } CDL - . . "//" . CDL : (dimensions) (variables) (data) dimensions: variables: data . . netCDF netCDF . netCDF . netCDF unlimited ( ). . . ( ) . variables CDL . . . netCDF netCDF netCDF . . . "units" "celsius" . . ( ) . CDL ":" . (global) ":" netCDF . CDL . . . . CDL "_" "_" "-" . data CDL netCDF . : ( ) - . . (row-order) (column- order) . " " (fill value) "_FillValue" . (coercions) . "_" ..SS " (Primitive Data Types)" char byte short long int ( long) float IEEE ( ) real ( float) double IEEE ( ) byte unsigned CDL C . CDL . . . ncmpigen byte C char Fortran BYTE . Short -32768 32767 . ncmpigen short C short Fortran INTEGER*2 . Long -2147483648 2147483647 . ncmpigen long C long Fortran INTEGER . CDL int integer long . long C int . Float -3.4+38 3.4+38 . IEEE . ncmpigen float C float Fortran REAL . CDL real float . Double -1.7+308 1.7+308 . IEEE . ncmpigen double C double Fortran DOUBLE PRECISION . CDL (CDL Constants) netCDF . (syntax) C short float long double . byte . : 'a' // ASCII `a' '\0' // a zero byte '\n' // ASCII newline character '\33' // ASCII escape character (33 octal) '\x2b' // ASCII plus (2b hex) '\377' // 377 octal = 255 decimal, non-ASCII . . C . : "a" // ASCII `a' "Two\nlines\n" // a 10-character string with two embedded newlines "a bell:\007" // a string containing an ASCII bell netCDF "a" NULL . C ncmpidump . NULL : byte . NetCDF CDL (string) . short . short 's' 'S' . short '0' (octal) '0x' (hexadecimal) . : -2s // a short -2 0123s // octal 0x7ffs //hexadecimal Long . long 'l' 'L' . long '0' '0x' . long : -2 1234567890L 0123i // octal 0x7ff // hexadecimal float . float C 'f' 'F' . float : -2.0f 3.14159265358979f // will be truncated to less precision 1.f .1f double . double C . 'd' 'D' . double : -2.0 3.141592653589793 1.0e-20 1.d (BUGS) ncmpigen -c -f . CDL netCDF netCDF netCDF . NetCDF CDL . Printed: 1900-0-0 PnetCDF 1.14.1 ncmpigen(1)