home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 285351087

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-285351087 https://api.github.com/repos/pydata/xarray/issues/1303 285351087 MDEyOklzc3VlQ29tbWVudDI4NTM1MTA4Nw== 1197350 2017-03-09T13:29:01Z 2017-03-09T13:29:01Z MEMBER

Have you considered implementing a custom datastore for your model? Datastores just have to provide variables. This might be the most straightforward option.

On Mar 9, 2017, at 6:07 AM, Benoit Bovy notifications@github.com wrote:

Is it safe to use xarray.core.variable.as_variable() externally? I guess that currently it is not.

I have a specific use case where this would be very useful.

I'm working on a package that heavily uses and extends xarray for landscape evolution modeling, and inside a custom class for model parameters I want to be able to create xarray.Variable objects on the fly from any provided object, e.g., a scalar value, an array-like, a (dims, data[, attrs]) tuple, another xarray.Variable, a xarray.DataArray... exactly what xarray.core.variable.as_variable() does.

Although I know that Variable objects are not needed in most use cases, in this specific case a clean solution would be the following

import xarray as xr

class Parameter(object):

def to_variable(self, obj):
    return xr.as_variable(obj)
    # ... some validation logic on, e.g., data type, value bounds, dimensions...
    # ... add default attributes to the

I don't think it is a viable option to copy as_variable() and all its dependent code in my package as it seems to have quite a lot of logic implemented.

A workaround using only public API would be something like:

class Parameter(object):

def to_variable(self, obj):
    return xr.Dataset(data_vars={'v': obj}).variables['v']

but it feels a bit hacky.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

{
    "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 0.676ms · About: xarray-datasette