Skip to content

Commit fcd8293

Browse files
committed
o remove bad import and use gradient calls the right way
1 parent 1fc29fc commit fcd8293

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

uxarray/core/dataarray.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
_calculate_edge_node_difference,
2020
_compute_gradient,
2121
)
22-
from uxarray.core.vector_calculus import _calculate_divergence
2322
from uxarray.core.utils import _map_dims_to_ugrid
2423
from uxarray.core.zonal import (
2524
_compute_conservative_zonal_mean_bands,
@@ -1392,21 +1391,27 @@ def divergence(self, other: "UxDataArray", **kwargs) -> "UxDataArray":
13921391
)
13931392

13941393
# Compute gradients of both components
1395-
u_grad_zonal, u_grad_meridional = _compute_gradient(self)
1396-
v_grad_zonal, v_grad_meridional = _compute_gradient(other)
1394+
u_gradient = self.gradient()
1395+
v_gradient = other.gradient()
13971396

13981397
# For divergence: div(V) = ∂u/∂x + ∂v/∂y
13991398
# In spherical coordinates: div(V) = (1/cos(lat)) * ∂u/∂lon + ∂v/∂lat
14001399
# We use the zonal gradient (∂/∂lon) of u and meridional gradient (∂/∂lat) of v
1401-
divergence_values = u_grad_zonal.values + v_grad_meridional.values
1400+
divergence_values = (
1401+
u_gradient["zonal_gradient"].values
1402+
+ v_gradient["meridional_gradient"].values
1403+
)
14021404

14031405
# Create the divergence UxDataArray
14041406
divergence_da = UxDataArray(
14051407
data=divergence_values,
14061408
name="divergence",
14071409
dims=self.dims,
14081410
uxgrid=self.uxgrid,
1409-
attrs={"divergence": True, "units": "1/s" if "units" not in kwargs else kwargs["units"]},
1411+
attrs={
1412+
"divergence": True,
1413+
"units": "1/s" if "units" not in kwargs else kwargs["units"],
1414+
},
14101415
coords=self.coords,
14111416
)
14121417

0 commit comments

Comments
 (0)