mpas_tools.io.write_netcdf

mpas_tools.io.write_netcdf(ds, fileName, fillValues=None, format=None, engine=None, char_dim_name=None, logger=None, nchar=None)[source]

Write an xarray.Dataset to a file with NetCDF4 fill values and the given name of the string dimension. Also adds the time and command-line to the history attribute.

Note: the NETCDF3_64BIT_DATA format is handled as a special case because xarray output with this format is not performant. First, the file is written in NETCDF4 format, which supports larger files and variables. Then, the ncks command is used to convert the file to the NETCDF3_64BIT_DATA format.

Note: All int64 variables are automatically converted to int32 for MPAS compatibility.

Parameters:
  • ds (xarray.Dataset) – The dataset to save

  • fileName (str) – The path for the NetCDF file to write

  • fillValues (dict, optional) – A dictionary of fill values for different NetCDF types. Default is mpas_tools.io.default_fills, which can be modified but which defaults to netCDF4.default_fillvals

  • format ({'NETCDF4', 'NETCDF4_CLASSIC', 'NETCDF3_64BIT', 'NETCDF3_CLASSIC'}, optional) – The NetCDF file format to use. Default is mpas_tools.io.default_format, which can be modified but which defaults to 'NETCDF3_64BIT'

  • engine ({'netcdf4', 'scipy', 'h5netcdf'}, optional) – The library to use for NetCDF output. The default is the same as in xarray.Dataset.to_netcdf() and depends on format. You can override the default by setting mpas_tools.io.default_engine

  • char_dim_name (str, optional) – The name of the dimension used for character strings. Default is mpas_tools.io.default_char_dim_name, which can be modified but which defaults to 'StrLen'

  • nchar (int, optional) – The number of characters to use for string variables. If None, the default is mpas_tools.io.default_nchar, which can be modified but which defaults to 64.

  • logger (logging.Logger, optional) – A logger to write messages to write the output of ncks conversion calls to. If None, ncks output is suppressed. This is only relevant if format is ‘NETCDF3_64BIT_DATA’