Source code for pymt.printers.nc.write
from warnings import warn
from ...grids.assertions import is_rectilinear, is_structured
from .ugrid import (
NetcdfRectilinearField,
NetcdfStructuredField,
NetcdfUnstructuredField,
)
[docs]def field_tofile(
field,
path,
append=False,
attrs=None,
time=None,
time_units=None,
time_reference=None,
long_name=None,
fmt="NETCDF4",
keep_open=False,
):
if time_units is not None:
warn('ignoring keyword "time_units"', UserWarning)
if time_reference is not None:
warn('ignoring keyword "time_reference"', UserWarning)
if not keep_open:
warn('resetting "keep_open" to True', UserWarning)
attrs = attrs or {}
long_name = long_name or {}
args = (path, field)
kwds = dict(append=append, fmt=fmt, time=time, keep_open=True)
if is_rectilinear(field, strict=False):
NetcdfRectilinearField(*args, **kwds)
elif is_structured(field, strict=False):
NetcdfStructuredField(*args, **kwds)
else:
NetcdfUnstructuredField(*args, **kwds)