cfdm.Field.creation_commands¶
- Field.creation_commands(representative_data=False, namespace=None, indent=0, string=True, name='field', data_name='data', header=True)[source]¶
 Return the commands that would create the field construct.
Construct keys
The key parameter of the output
set_constructcommands is utilised in order minimise the number of commands needed to implement cross-referencing between constructs (e.g. between a coordinate reference construct and coordinate constructs). This is usually not necessary when building field constructs, as by default theset_constructmethod returns a unique construct key for the construct being set.Added in version (cfdm): 1.8.7.0
See also
set_construct,cfdm.Data.creation_commands,cfdm.Domain.creation_commands,cfdm.example_field- Parameters:
 - representative_data: 
bool, optional Return one-line representations of
Datainstances, which are not executable code but prevent the data being converted in its entirety to a string representation.- namespace: 
str, optional The name space containing classes of the cfdm package. This is prefixed to the class name in commands that instantiate instances of cfdm objects. By default, or if
None, the name space is assumed to be consistent with cfdm being imported asimport cfdm.- Parameter example:
 If cfdm was imported as
import cfdm as xyzthen setnamespace='xyz'- Parameter example:
 If cfdm was imported as
from cfdm import *then setnamespace=''
- indent: 
int, optional Indent each line by this many spaces. By default no indentation is applied. Ignored if string is False.
- string: 
bool, optional If False then return each command as an element of a
list. By default the commands are concatenated into a string, with a new line inserted between each command.- name: 
str, optional The name of the
Fieldinstance created by the returned commands.- data_name: 
str, optional The name of the construct’s
Datainstance created by the returned commands.- header: 
bool, optional If True (the default) output a comment describing the components. If False no such comment is returned.
- representative_data: 
 - Returns:
 
Examples
>>> q = cfdm.example_field(0) >>> print(q) Field: specific_humidity (ncvar%q) ---------------------------------- Data : specific_humidity(latitude(5), longitude(8)) 1 Cell methods : area: mean Dimension coords: latitude(5) = [-75.0, ..., 75.0] degrees_north : longitude(8) = [22.5, ..., 337.5] degrees_east : time(1) = [2019-01-01 00:00:00] >>> print(q.creation_commands()) # # field: specific_humidity field = cfdm.Field() field.set_properties({'Conventions': 'CF-1.12', 'project': 'research', 'standard_name': 'specific_humidity', 'units': '1'}) field.nc_set_variable('q') data = cfdm.Data([[0.007, 0.034, 0.003, 0.014, 0.018, 0.037, 0.024, 0.029], [0.023, 0.036, 0.045, 0.062, 0.046, 0.073, 0.006, 0.066], [0.11, 0.131, 0.124, 0.146, 0.087, 0.103, 0.057, 0.011], [0.029, 0.059, 0.039, 0.07, 0.058, 0.072, 0.009, 0.017], [0.006, 0.036, 0.019, 0.035, 0.018, 0.037, 0.034, 0.013]], units='1', dtype='f8') field.set_data(data) # # domain_axis: ncdim%lat c = cfdm.DomainAxis() c.set_size(5) c.nc_set_dimension('lat') field.set_construct(c, key='domainaxis0', copy=False) # # domain_axis: ncdim%lon c = cfdm.DomainAxis() c.set_size(8) c.nc_set_dimension('lon') field.set_construct(c, key='domainaxis1', copy=False) # # domain_axis: c = cfdm.DomainAxis() c.set_size(1) field.set_construct(c, key='domainaxis2', copy=False) # # dimension_coordinate: latitude c = cfdm.DimensionCoordinate() c.set_properties({'units': 'degrees_north', 'standard_name': 'latitude'}) c.nc_set_variable('lat') data = cfdm.Data([-75.0, -45.0, 0.0, 45.0, 75.0], units='degrees_north', dtype='f8') c.set_data(data) b = cfdm.Bounds() b.nc_set_variable('lat_bnds') data = cfdm.Data([[-90.0, -60.0], [-60.0, -30.0], [-30.0, 30.0], [30.0, 60.0], [60.0, 90.0]], units='degrees_north', dtype='f8') b.set_data(data) c.set_bounds(b) field.set_construct(c, axes=('domainaxis0',), key='dimensioncoordinate0', copy=False) # # dimension_coordinate: longitude c = cfdm.DimensionCoordinate() c.set_properties({'units': 'degrees_east', 'standard_name': 'longitude'}) c.nc_set_variable('lon') data = cfdm.Data([22.5, 67.5, 112.5, 157.5, 202.5, 247.5, 292.5, 337.5], units='degrees_east', dtype='f8') c.set_data(data) b = cfdm.Bounds() b.nc_set_variable('lon_bnds') data = cfdm.Data([[0.0, 45.0], [45.0, 90.0], [90.0, 135.0], [135.0, 180.0], [180.0, 225.0], [225.0, 270.0], [270.0, 315.0], [315.0, 360.0]], units='degrees_east', dtype='f8') b.set_data(data) c.set_bounds(b) field.set_construct(c, axes=('domainaxis1',), key='dimensioncoordinate1', copy=False) # # dimension_coordinate: time c = cfdm.DimensionCoordinate() c.set_properties({'units': 'days since 2018-12-01', 'standard_name': 'time'}) c.nc_set_variable('time') data = cfdm.Data([31.0], units='days since 2018-12-01', dtype='f8') c.set_data(data) field.set_construct(c, axes=('domainaxis2',), key='dimensioncoordinate2', copy=False) # # cell_method: mean c = cfdm.CellMethod() c.set_method('mean') c.set_axes(('area',)) field.set_construct(c) # # field data axes field.set_data_axes(('domainaxis0', 'domainaxis1'))
>>> print(q.creation_commands(representative_data=True, namespace='', ... indent=4, header=False)) field = Field() field.set_properties({'Conventions': 'CF-1.12', 'project': 'research', 'standard_name': 'specific_humidity', 'units': '1'}) field.nc_set_variable('q') data = <Data(5, 8): [[0.007, ..., 0.013]] 1> # Representative data field.set_data(data) c = DomainAxis() c.set_size(5) c.nc_set_dimension('lat') field.set_construct(c, key='domainaxis0', copy=False) c = DomainAxis() c.set_size(8) c.nc_set_dimension('lon') field.set_construct(c, key='domainaxis1', copy=False) c = DomainAxis() c.set_size(1) field.set_construct(c, key='domainaxis2', copy=False) c = DimensionCoordinate() c.set_properties({'units': 'degrees_north', 'standard_name': 'latitude'}) c.nc_set_variable('lat') data = <Data(5): [-75.0, ..., 75.0] degrees_north> # Representative data c.set_data(data) b = Bounds() b.nc_set_variable('lat_bnds') data = <Data(5, 2): [[-90.0, ..., 90.0]] degrees_north> # Representative data b.set_data(data) c.set_bounds(b) field.set_construct(c, axes=('domainaxis0',), key='dimensioncoordinate0', copy=False) c = DimensionCoordinate() c.set_properties({'units': 'degrees_east', 'standard_name': 'longitude'}) c.nc_set_variable('lon') data = <Data(8): [22.5, ..., 337.5] degrees_east> # Representative data c.set_data(data) b = Bounds() b.nc_set_variable('lon_bnds') data = <Data(8, 2): [[0.0, ..., 360.0]] degrees_east> # Representative data b.set_data(data) c.set_bounds(b) field.set_construct(c, axes=('domainaxis1',), key='dimensioncoordinate1', copy=False) c = DimensionCoordinate() c.set_properties({'units': 'days since 2018-12-01', 'standard_name': 'time'}) c.nc_set_variable('time') data = <Data(1): [2019-01-01 00:00:00]> # Representative data c.set_data(data) field.set_construct(c, axes=('domainaxis2',), key='dimensioncoordinate2', copy=False) c = CellMethod() c.set_method('mean') c.set_axes(('area',)) field.set_construct(c) field.set_data_axes(('domainaxis0', 'domainaxis1'))