NCL Home>
Application examples>
File IO ||
Data files for some examples
Support for NetCDF-4 files is in beta-testing in V6.1.1.
We encourage people to test it out and give us feedback on our ncl-talk email list.
Create a file to write NetCDF4 string data.
Define some file attributes:
Define dimensions:
Define the variable:
Write the compound data out, and close the file:
This script produced (use "ncl_filedump ncl_wrt_enum.nc"):
Example pages containing:
tips |
resources |
functions/procedures
>
write netCDF
NCL: Write netCDF4 enum data
Support for NetCDF-4 files is in beta-testing in V6.1.1.
We encourage people to test it out and give us feedback on our ncl-talk email list.
Below is a script which demonstrates how to read/write NetCDF4 enum data.
Read NetCDF4 enum data from a file generated from NetCDF enum example code.
fn = "$NCARGTEST/nclscripts/nc4_files/enum.nc" fori = addfile(fn, "r") ;print(fori) ;printVarSummary(fori) ori_v = fori->primary_cloud enum_name = ori_v@enum_name enum_value = ori_v@enum_value ;print(ori_v) ;print(enum_name) ;print(enum_value) ori_nv = dimsizes(ori_v) ;print(ori_nv)
Create a file to write NetCDF4 string data.
;===================================================================
setfileoption("nc", "Format", "NetCDF4")
fn = "ncl_wrt_enum.nc"
system("/bin/rm -f " + fn)
fo = addfile(fn, "c")
Define some file attributes:
;===================================================================
fAtt = True ; assign file attributes
fAtt@title = "NCL generated netCDF file with enum"
fAtt@source_file = fn
fAtt@Conventions = "None"
fAtt@creation_date = systemfunc("date")
fileattdef(fo, fAtt)
Define dimensions:
;=================================================================== nvals = dimsizes(ori_v) dimNames = (/"station"/) dimSizes = (/ nvals /) dimUnlim = (/ False /) filedimdef(fo, dimNames, dimSizes, dimUnlim)
Define the variable:
;=================================================================== var_name = "primary_cloud" fileenumdef(fo, "enum_var", var_name, dimNames, enum_name, enum_value)
Write the compound data out, and close the file:
;=================================================================== fo->$var_name$ = (/ori_v/) delete(fo)
This script produced (use "ncl_filedump ncl_wrt_enum.nc"):
Variable: f
Type: file
filename: ncl_wrt_enum
path: ncl_wrt_enum.nc
User Defined Types:
enum_var
{
Clear,
Cumulonimbus,
Stratus,
Stratocumulus,
Cumulus,
Altostratus,
Nimbostratus,
Altocumulus,
Cirrostratus,
Cirrocumulus,
Cirrus,
Missing,
};
attributes:
creation_date : Mon Jan 28 15:31:46 MST 2013
Conventions : None
source_file : ncl_wrt_enum.nc
title : NCL generated netCDF file with enum
dimensions:
station = 5
variables:
primary_cloud: [ 5 ]
attributes:
_FillValue : 0