home / github / issue_comments

Menu
  • GraphQL API
  • Search all tables

issue_comments: 285363937

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions performed_via_github_app issue
https://github.com/pydata/xarray/issues/1303#issuecomment-285363937 https://api.github.com/repos/pydata/xarray/issues/1303 285363937 MDEyOklzc3VlQ29tbWVudDI4NTM2MzkzNw== 4160723 2017-03-09T14:22:33Z 2017-03-09T14:29:28Z MEMBER

mmh not sure if a custom datastore would be most appropriate for my problem, which actually is not about loading (writing) data of a given format into (from) a Dataset.

Ultimately, what I'm trying to do is implementing an API for creating numerical model components, which is heavily inspired from Django ORM (i.e., how models and fields are defined), and use the xarray data structures as an interface.

Let me show a more detailed (though still very incomplete) example of how it would look like:

```python class Parameter(object): def init(self, default=None, allowed_values=None, exclude_dims=None, include_dims=None, bounds=(None, None), attrs=None): # ...

def to_variable(self, obj):
    return xr.as_variable(obj)
    # ... some validation logic

class Model(object): def init(**params): # ...

def to_dataset(self):
    # ...

def run(self, ds):
    # ... run simulation for this model

class StreamPower(Model): k = Parameter(default=7e-5, bounds=(0., None), attrs={'units': 'm**2/y'}) m = Parameter(default=0.4) n = Parameter(default=1)

class Meta:
    short_name = 'spow'

```

```python

model = StreamPower(k=('time', [7e-5, 8e-5, 10e-5]), m=0.5) ds = model.to_dataset() ds <xarray.Dataset> Dimensions: (time: 3) Dimensions without coordinates: time Data variables: spow__k (time) float64 7e-05 8e-05 0.0001 spow__m float64 0.5 spow__n int64 1 ds.spow__k <xarray.DataArray 'spow__k' (time: 3)> array([ 7.000000e-05, 8.000000e-05, 1.000000e-04]) Dimensions without coordinates: time Attributes: units: m**2/y ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  213004586
Powered by Datasette · Queries took 78.201ms · About: xarray-datasette