home / github / issues

Menu
  • GraphQL API
  • Search all tables

issues: 1206634329

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
1206634329 I_kwDOAMm_X85H68dZ 6493 boundary conditions for differentiate() 9312831 open 0     9 2022-04-18T04:07:32Z 2022-04-26T14:48:33Z   NONE      

Is your feature request related to a problem?

I need to take centered finite difference of data of length N along the dimension 'X', with boundary conditions (BCs) specified in flexible ways. Before this, we need to pad data with BCs (length becoming N+2) so that the indicing will not be out-of-range.

Commonly used BCs are: 1. fixed - fill with fixed values so derivatives at BCs are (BC - data[-1])/dx and (data[0] - BC)/dx; 2. extend - fill BCs with second outer-most values so that derivatives at BCs are exactly zero; 3. periodic - fill BCs cyclic so that the derivatives are also cyclic.

Describe the solution you'd like

The implementation of differentiate('X') would be like: ```python

padded with BCs into N+2

data_pad = pad_BCs(data, type='periodic')

it is safe to take finite difference

for i in range(len(data)) diff[i] = data_pad [i+1] - data_pad [i-1] ```

The pad_BCs function could be easily implemented with np.pad() function.

Then we can call: python data.differentiate('X', BCs='periodic') We may also specify different kind of BCs at the two boundaries:

python data.differentiate('X', BCs=['extend', 'fixed'], fill_values=0)

Describe alternatives you've considered

No response

Additional context

I am not clear how differentiate() is implemented and just want to know if this can be implemented in a straightforward way.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6493/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    13221727 issue

Links from other tables

  • 1 row from issues_id in issues_labels
  • 9 rows from issue in issue_comments
Powered by Datasette · Queries took 0.627ms · About: xarray-datasette