
NCL Home >
Documentation >
Functions >
File I/O
filevarchunkdef
Defines a list of variable names, variable var_types, and variable dimension names for a supported file.
Prototype
procedure filevarchunkdef ( thefile [1] : file, var_name [1] : string, chunk_dim_sizes [*] : integer/long )
Arguments
thefileThe reference to the file that you want to define the variables in. This reference must be created by the addfile function.
var_nameVariable name on the file which will be written in chunking.
chunk_dim_sizesAn array of integer (or long) values for each dimension.
Description
This procedure defines the chunk size for a variable. The chunking dimension size must be less than variables dimension size. In practice, it will be half, quarter, etc. of the dimension sizes.
See Also
filechunkdimdef, filedimdef, filevardef
Examples
Example 1
Write one 2D array and two 3D arrays (with dimension names "lev", "lat", and "lon") to a netCDF file called "myfile.nc":
setfileoption("nc", "Format", "NetCDF4Classic") f = addfile("myfile.nc","c") filedimdef(f,(/"lev","lat","lon"/),(/10,73,144/),(/False,False,False/)) var_names2D = (/ "PS" /) var_names3D = (/ "T", "Q" /) varvar_types2D = (/ "float" /) varvar_types3D = (/ "float", "float" /) filevardef( f, var_names2D, varvar_types2D, (/ "lat", "lon" /) ) filevardef( f, var_names3D, varvar_types3D, (/ "lev", "lat", "lon" /) ) chunkSizes = (/5,37,72/) filevarchunkdef(f, "T", chunkSizes)"ncdump -h myfile.nc" produces the following output:
netcdf myfile { dimensions: lev = 10 ; lat = 73 ; lon = 144 ; variables: float PS(lat, lon) ; float T(lev, lat, lon) ; float Q(lev, lat, lon) ; }