home / github / issue_comments

Menu
  • GraphQL API
  • Search all tables

issue_comments: 145321209

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/605#issuecomment-145321209 https://api.github.com/repos/pydata/xarray/issues/605 145321209 MDEyOklzc3VlQ29tbWVudDE0NTMyMTIwOQ== 2443309 2015-10-04T06:16:40Z 2015-10-06T15:33:24Z MEMBER

@shoyer - For the most part, I'm in agreement here with you. A few comments (reference ncdump of a irregular grid netCDF below). 1. Yes, simpler data model makes sense. However, I think we are missing a few pieces of the cf coordinates data model in xray. ni and nj are dimensions, not coordinates but xray turns them into coordinates. I know why we do this in practice but, for example, frac(nj, ni) only uses nj and ni, yc and xc are it's coordinates. So, you see, there is a bit of a disconnect there. Another way to think about xray indexing is that isel should work relative to the dimension index, and sel should work on the coordinates. I know I'm out on a limb here... 2. After reading the conventions more carefully, I totally agree with your assessment and concern about the coordinates attribute. Not restricting the order of the coordinates is a big deficiency here. 3. The main thing I don't like about how we handle the coordinate attribute right now is that we use it to determine the coordinate names, and throw the attribute out. ~~I seem to remember bringing this up in the past with our discussions of the calendar attribute and still don't like that we remove attributes that we decode.~~ Especially this once since we don't do much with it.

I have two related PRs from today just to show which way we could go with all this: #606, #608.

ncdump of domain file

``` Bash (xray_dev)Joes-iMac$ ncdump -h domain.lnd.wr50a_ar9v4.100920.nc netcdf domain.lnd.wr50a_ar9v4.100920 { dimensions: n = 56375 ; ni = 275 ; nj = 205 ; nv = 4 ; variables: double xc(nj, ni) ; xc:long_name = "longitude of grid cell center" ; xc:units = "degrees_east" ; xc:bounds = "xv" ; double yc(nj, ni) ; yc:long_name = "latitude of grid cell center" ; yc:units = "degrees_north" ; yc:bounds = "yv" ; double xv(nj, ni, nv) ; xv:long_name = "longitude of grid cell verticies" ; xv:units = "degrees_east" ; double yv(nj, ni, nv) ; yv:long_name = "latitude of grid cell verticies" ; yv:units = "degrees_north" ; int mask(nj, ni) ; mask:long_name = "domain mask" ; mask:note = "unitless" ; mask:coordinates = "xc yc" ; mask:comment = "0 value indicates cell is not active" ; double area(nj, ni) ; area:long_name = "area of grid cell in radians squared" ; area:coordinates = "xc yc" ; area:units = "radian2" ; double frac(nj, ni) ; frac:long_name = "fraction of grid cell that is active" ; frac:coordinates = "xc yc" ; frac:note = "unitless" ; frac:filter1 = "error if frac> 1.0+eps or frac < 0.0-eps; eps = 0.1000000E-10" ; frac:filter2 = "limit frac to [fminval,fmaxval]; fminval= 0.1000000E-02 fmaxval= 1.000000" ;

// global attributes: :title = "CCSM domain data:" ; :Conventions = "CF-1.0" ; ```

xray representation of domain file

``` Python In [1]: import xray

In [2]: xray.open_dataset('domain.lnd.wr50a_ar9v4.100920.nc') Out[2]: <xray.Dataset> Dimensions: (ni: 275, nj: 205, nv: 4) Coordinates: xc (nj, ni) float64 189.2 189.4 189.6 189.7 189.9 190.1 190.2 ... yc (nj, ni) float64 16.53 16.78 17.02 17.27 17.51 17.76 18.0 18.25 ... * ni (ni) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... * nj (nj) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... * nv (nv) int64 0 1 2 3 Data variables: xv (nj, ni, nv) float64 189.3 189.4 189.2 189.0 189.4 189.6 189.3 ... yv (nj, ni, nv) float64 16.33 16.58 16.74 16.49 16.58 16.82 16.98 ... mask (nj, ni) int32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... area (nj, ni) float64 2.579e-05 2.594e-05 2.611e-05 2.627e-05 ... frac (nj, ni) float64 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... Attributes: title: CCSM domain data: Conventions: CF-1.0 ```

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