home / github / issues

Menu
  • Search all tables
  • GraphQL API

issues: 1071806607

This data as json

id node_id number title user state locked assignee milestone comments created_at updated_at closed_at author_association active_lock_reason draft pull_request body reactions performed_via_github_app state_reason repo type
1071806607 PR_kwDOAMm_X84va6lN 6049 Attempt datetime coding using cftime when pandas fails 132147 closed 0     2 2021-12-06T07:12:35Z 2022-01-04T00:28:15Z 2021-12-24T11:48:22Z CONTRIBUTOR   0 pydata/xarray/pulls/6049

A netCDF4 dataset we use has a time variable defined as: double time(time) ; time:axis = "T" ; time:bounds = "time_bnds" ; time:calendar = "gregorian" ; time:long_name = "time" ; time:standard_name = "time" ; time:units = "days since 1970-01-01 00:00:00 00" ;

Note the units attribute, specifically a timezone offset of 00 without any +- sign.

xarray can successfully open this dataset and parse the time units, making a time variable with the expeced values. However, attempting to save this dataset (e.g. after slicing some geographic bounds or selecting a subset of variables), xarray would raise an error trying to reformat the time units.

This fix applies the same logic used in the decoding step to the encoding step - specifically, attempt to use pandas but if that fails then use cftime. The decoding step catches ValueError to do this, but ValueError was not caught in the encode workflow.

  • [x] Tests added
  • [x] Passes pre-commit run --all-files
  • [x] User visible changes (including notable bug fixes) are documented in whats-new.rst
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6049/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    13221727 pull

Links from other tables

  • 0 rows from issues_id in issues_labels
  • 2 rows from issue in issue_comments
Powered by Datasette · Queries took 0.912ms · About: xarray-datasette