cf.write

cf.write(fields, filename, fmt='NETCDF3_CLASSIC', overwrite=True, verbose=False, cfa_options=None, mode='w')[source]

Write fields to a CF-netCDF or CFA-netCDF file.

NetCDF dimension and variable names will be taken from variables’ ncvar attributes and the domain attribute nc_dimensions if present, otherwise they are inferred from standard names or set to defaults. NetCDF names may be automatically given a numerical suffix to avoid duplication.

Output netCDF file global properties are those which occur in the set of CF global properties and non-standard data variable properties and which have equal values across all input fields.

Logically identical field components are only written to the file once, apart from when they need to fulfil both dimension coordinate and auxiliary coordinate roles for different data variables.

Parameters :
fields : (arbitrarily nested sequence of) Field or FieldList

The field or fields to write to the file.

filename : str

The output netCDF file. Various type of expansion are applied to the file names:

Expansion

Description

Tilde

An initial component of ~ or ~user is replaced by that user‘s home directory.

Environment variable

Substrings of the form $name or ${name} are replaced by the value of environment variable name.

Where more than one type of expansion is used in the same string, they are applied in the order given in the above table.

Example: If the environment variable MYSELF has been set to the “david”, then '~$MYSELF/out.nc' is equivalent to '~david/out.nc'.

fmt : str, optional

The format of the output file. One of:

fmt

Description

'NETCDF3_CLASSIC'

Output to a CF-netCDF3 classic format file

'NETCDF3_64BIT'

Output to a CF-netCDF3 64-bit offset format file

'NETCDF4_CLASSIC'

Output to a CF-netCDF4 classic format file

'NETCDF4'

Output to a CF-netCDF4 format file

'CFA'

Output to an CFA-netCDF(3_CLASSIC) format file

By default the fmt is 'NETCDF3_CLASSIC'. Note that the NETCDF3 and NETCDF4_CLASSIC formats may be slower than any of the other options.

overwrite: bool, optional

If False then raise an exception if the output file pre-exists. By default a pre-existing output file is over written.

verbose : bool, optional

If True then print one-line summaries of each field written.

cfa_options : dict, optional

A dictionary giving parameters for configuring the output CFA-netCDF file:

Key

Value

'base'

  • If None (the default) then file names within CFA-netCDF files are stored with absolute paths.
  • If set to an empty string then file names within CFA-netCDF files are given relative to the directory or URL base containing the output CFA-netCDF file.
  • If set to a string then file names within CFA-netCDF files are given relative to the directory or URL base described by the value. For example: '../archive'.

By default no parameters are specified.

mode : str, optional

Specify the mode of write access for the output file. One of:

mode

Description

'w'

Open a new file for writing to. If it exists and overwrite is True then the file is deleted proir to being recreated.

By default the file is opened with write access mode 'w'.

Returns :

None

Raises :
IOError :

If overwrite is False and the output file pre-exists.

ValueError :

If a field does not have information required to write certain aspects of a CF-netCDF file.

See also

cf.read

Examples

>>> f
[<CF Field: air_pressure(30, 24)>,
 <CF Field: u_compnt_of_wind(19, 29, 24)>,
 <CF Field: v_compnt_of_wind(19, 29, 24)>,
 <CF Field: potential_temperature(19, 30, 24)>]
>>> write(f, 'file')
>>> type(f)
<class 'cf.field.FieldList'>
>>> type(g)
<class 'cf.field.Field'>
>>> cf.write([f, g], 'file.nc', verbose=True)
[<CF Field: air_pressure(30, 24)>,
 <CF Field: u_compnt_of_wind(19, 29, 24)>,
 <CF Field: v_compnt_of_wind(19, 29, 24)>,
 <CF Field: potential_temperature(19, 30, 24)>]

Previous topic

cf.read

Next topic

cf.unpickle

This Page