Adding instances of DependentVariable class to CSDM object

Create a new empty CSDM object following,

>>> import csdmpy as cp
>>> new_data = cp.new(description='A new test dependent variables dataset')

Add an instance of the DependentVariable class using the add_dependent_variable() method of the CSDM instance.

There are two subtypes of DependentVariable class:

  • InternalDependentVariable: We refer to an instance of the DependentVariable as internal when the components of the dependent variable are listed along with the other metadata specifying the dependent variable.

  • ExternalDependentVariable: We refer to an instance of the DependentVariable as external when the components of the dependent variable are stored in an external file as binary data either locally or at a remote server.

Using an instance of the DependentVariable class

Please read the topic Generating DependentVariable objects for details on how to generate an instance of the DependentVariable class. Once created, use the add_dependent_variable() method of the CSDM object to add the dependent variable, for example,

>>> dv = cp.as_dependent_variable(np.arange(10))
>>> new_data.add_dependent_variable(dv)
>>> print(new_data)
CSDM(
DependentVariable(
[[0 1 2 3 4 5 6 7 8 9]], quantity_type=scalar, numeric_type=int64)
)

Using Python’s dictionary objects

When using python dictionaries, the key-value pairs of the dictionary must be a valid collection for the given DependentVariable subtype. For example,

>>> d0 = {
...     'type': 'internal',
...     'quantity_type': 'scalar',
...     'description': 'This is an internal scalar dependent variable',
...     'unit': 'cm',
...     'components': np.arange(100)
... }
>>> new_data.add_dependent_variable(d0)
>>> print(new_data)
CSDM(
DependentVariable(
[[0 1 2 3 4 5 6 7 8 9]], quantity_type=scalar, numeric_type=int64),
DependentVariable(
[[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
  24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
  48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
  72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
  96 97 98 99]] cm, quantity_type=scalar, numeric_type=int64)
)