Skip to content

.gradient() returns only one non-NaN value on ne120np4 grid #1452

@jpan84

Description

@jpan84

Version

2025.12.0

How did you install UXarray?

Conda

What happened?

All values returned by public function gradient() and private function _compute_gradient() are NaN, except at index 776887.

xarray 2024.11.0
numpy 1.26.4
numba 0.61.0

What did you expect to happen?

Zonal and meridional gradient arrays with no NaN values

Can you provide a MCVE to repoduce the bug?

import uxarray as ux
import xarray as xr
import numpy as np

FILI = '/glade/work/jpan/ux_grad_nan/ne120np4_testdata.nc'
UGRD = '/glade/p/cesmdata/inputdata/share/scripgrids/ne120np4_pentagons_100310.nc'

uxds = ux.open_dataset(UGRD, FILI)
grad_zon, grad_mer = ux.core.gradient._compute_gradient(uxds['U200'].squeeze())
notnan = ~np.isnan(grad_mer)
print('Results for private function')
print(sum(notnan))
print(np.where(notnan))

gradds = uxds['U200'].squeeze().gradient()
notnan = ~np.isnan(gradds['meridional_gradient'])
print('\nResults for public function')
print(sum(notnan))
print(np.where(notnan))

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    📝 To-Do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions