From fcaf36e6b3101ec655d4c728d573267c52d42132 Mon Sep 17 00:00:00 2001 From: Frank Malatino Date: Mon, 1 Apr 2024 13:34:10 -0400 Subject: [PATCH] Reflecting changes from move of basic_operations.py to NDSL --- examples/notebook/test_functionality.ipynb | 2 +- pyFV3/stencils/a2b_ord4.py | 2 +- pyFV3/stencils/basic_operations.py | 46 ---------------------- pyFV3/stencils/del2cubed.py | 2 +- pyFV3/stencils/divergence_damping.py | 2 +- pyFV3/stencils/dyn_core.py | 2 +- pyFV3/stencils/fv_dynamics.py | 2 +- pyFV3/stencils/fv_subgridz.py | 2 +- pyFV3/stencils/map_single.py | 2 +- pyFV3/stencils/remapping.py | 2 +- pyFV3/stencils/saturation_adjustment.py | 2 +- pyFV3/stencils/temperature_adjust.py | 2 +- pyFV3/stencils/xppm.py | 2 +- pyFV3/stencils/yppm.py | 2 +- setup.py | 2 +- 15 files changed, 14 insertions(+), 60 deletions(-) delete mode 100644 pyFV3/stencils/basic_operations.py diff --git a/examples/notebook/test_functionality.ipynb b/examples/notebook/test_functionality.ipynb index 34e9d54..32da5e8 100644 --- a/examples/notebook/test_functionality.ipynb +++ b/examples/notebook/test_functionality.ipynb @@ -161,7 +161,7 @@ "metadata": {}, "outputs": [], "source": [ - "from pyFV3.stencils.basic_operations import copy_defn\n", + "from ndsl.stencils.basic_operations import copy_defn\n", "\n", "from_field = quantity_factory.ones(dims=(X_DIM, Y_DIM, Z_DIM), units=\"none\", dtype=\"float\")\n", "to_field = quantity_factory.zeros(dims=(X_DIM, Y_DIM, Z_DIM), units=\"none\", dtype=\"float\")\n", diff --git a/pyFV3/stencils/a2b_ord4.py b/pyFV3/stencils/a2b_ord4.py index 39fd462..328d314 100644 --- a/pyFV3/stencils/a2b_ord4.py +++ b/pyFV3/stencils/a2b_ord4.py @@ -15,7 +15,7 @@ from ndsl.constants import X_DIM, X_INTERFACE_DIM, Y_DIM, Y_INTERFACE_DIM, Z_DIM from ndsl.dsl.typing import Float, FloatField, FloatFieldI, FloatFieldIJ from ndsl.grid import GridData -from pyFV3.stencils.basic_operations import copy_defn +from ndsl.stencils.basic_operations import copy_defn # comact 4-pt cubic interpolation diff --git a/pyFV3/stencils/basic_operations.py b/pyFV3/stencils/basic_operations.py deleted file mode 100644 index 55307c5..0000000 --- a/pyFV3/stencils/basic_operations.py +++ /dev/null @@ -1,46 +0,0 @@ -import gt4py.cartesian.gtscript as gtscript -from gt4py.cartesian.gtscript import PARALLEL, computation, interval - -from ndsl.dsl.typing import Float, FloatField, FloatFieldIJ - - -def copy_defn(q_in: FloatField, q_out: FloatField): - """Copy q_in to q_out. - - Args: - q_in: input field - q_out: output field - """ - with computation(PARALLEL), interval(...): - q_out = q_in - - -def adjustmentfactor_stencil_defn(adjustment: FloatFieldIJ, q_out: FloatField): - with computation(PARALLEL), interval(...): - q_out = q_out * adjustment - - -def set_value_defn(q_out: FloatField, value: Float): - with computation(PARALLEL), interval(...): - q_out = value - - -def adjust_divide_stencil(adjustment: FloatField, q_out: FloatField): - with computation(PARALLEL), interval(...): - q_out = q_out / adjustment - - -@gtscript.function -def sign(a, b): - asignb = abs(a) - if b > 0: - asignb = asignb - else: - asignb = -asignb - return asignb - - -@gtscript.function -def dim(a, b): - diff = a - b if a - b > 0 else 0 - return diff diff --git a/pyFV3/stencils/del2cubed.py b/pyFV3/stencils/del2cubed.py index 446ab70..24e1976 100644 --- a/pyFV3/stencils/del2cubed.py +++ b/pyFV3/stencils/del2cubed.py @@ -6,7 +6,7 @@ from ndsl.dsl.stencil import get_stencils_with_varied_bounds from ndsl.dsl.typing import Float, FloatField, FloatFieldIJ, cast_to_index3d from ndsl.grid import DampingCoefficients -from pyFV3.stencils.basic_operations import copy_defn +from ndsl.stencils.basic_operations import copy_defn # diff --git a/pyFV3/stencils/divergence_damping.py b/pyFV3/stencils/divergence_damping.py index 4ba484c..62395f5 100644 --- a/pyFV3/stencils/divergence_damping.py +++ b/pyFV3/stencils/divergence_damping.py @@ -9,8 +9,8 @@ sqrt, ) +import ndsl.stencils.basic_operations as basic import ndsl.stencils.corners as corners -import pyFV3.stencils.basic_operations as basic from ndsl import Quantity, QuantityFactory, StencilFactory from ndsl.constants import X_DIM, X_INTERFACE_DIM, Y_DIM, Y_INTERFACE_DIM, Z_DIM from ndsl.dsl.dace.orchestration import dace_inhibitor, orchestrate diff --git a/pyFV3/stencils/dyn_core.py b/pyFV3/stencils/dyn_core.py index 15c2737..6683328 100644 --- a/pyFV3/stencils/dyn_core.py +++ b/pyFV3/stencils/dyn_core.py @@ -13,7 +13,7 @@ ) import ndsl.constants as constants -import pyFV3.stencils.basic_operations as basic +import ndsl.stencils.basic_operations as basic import pyFV3.stencils.d_sw as d_sw import pyFV3.stencils.nh_p_grad as nh_p_grad import pyFV3.stencils.pe_halo as pe_halo diff --git a/pyFV3/stencils/fv_dynamics.py b/pyFV3/stencils/fv_dynamics.py index cc61c62..50ffba2 100644 --- a/pyFV3/stencils/fv_dynamics.py +++ b/pyFV3/stencils/fv_dynamics.py @@ -15,12 +15,12 @@ from ndsl.grid import DampingCoefficients, GridData from ndsl.logging import ndsl_log from ndsl.performance import NullTimer, Timer +from ndsl.stencils.basic_operations import copy_defn from ndsl.stencils.c2l_ord import CubedToLatLon from ndsl.typing import Checkpointer, Communicator from pyFV3._config import DynamicalCoreConfig from pyFV3.dycore_state import DycoreState from pyFV3.stencils import fvtp2d, tracer_2d_1l -from pyFV3.stencils.basic_operations import copy_defn from pyFV3.stencils.del2cubed import HyperdiffusionDamping from pyFV3.stencils.dyn_core import AcousticDynamics from pyFV3.stencils.neg_adj3 import AdjustNegativeTracerMixingRatio diff --git a/pyFV3/stencils/fv_subgridz.py b/pyFV3/stencils/fv_subgridz.py index 24f9c52..dd1e013 100644 --- a/pyFV3/stencils/fv_subgridz.py +++ b/pyFV3/stencils/fv_subgridz.py @@ -27,8 +27,8 @@ ZVIR, ) from ndsl.dsl.typing import Float, FloatField +from ndsl.stencils.basic_operations import dim from pyFV3.dycore_state import DycoreState -from pyFV3.stencils.basic_operations import dim RK = CP_AIR / RDGAS + 1.0 diff --git a/pyFV3/stencils/map_single.py b/pyFV3/stencils/map_single.py index dfe1e5d..a768f86 100644 --- a/pyFV3/stencils/map_single.py +++ b/pyFV3/stencils/map_single.py @@ -5,7 +5,7 @@ from ndsl import QuantityFactory, StencilFactory, orchestrate from ndsl.constants import X_DIM, Y_DIM, Z_DIM from ndsl.dsl.typing import Float, FloatField, FloatFieldIJ, IntFieldIJ # noqa: F401 -from pyFV3.stencils.basic_operations import copy_defn +from ndsl.stencils.basic_operations import copy_defn from pyFV3.stencils.remap_profile import RemapProfile diff --git a/pyFV3/stencils/remapping.py b/pyFV3/stencils/remapping.py index 78535d8..a14c38a 100644 --- a/pyFV3/stencils/remapping.py +++ b/pyFV3/stencils/remapping.py @@ -23,10 +23,10 @@ Z_INTERFACE_DIM, ) from ndsl.dsl.typing import Float, FloatField, FloatFieldIJ, FloatFieldK +from ndsl.stencils.basic_operations import adjust_divide_stencil from ndsl.typing import Checkpointer from pyFV3._config import RemappingConfig from pyFV3.stencils import moist_cv -from pyFV3.stencils.basic_operations import adjust_divide_stencil from pyFV3.stencils.map_single import MapSingle from pyFV3.stencils.mapn_tracer import MapNTracer from pyFV3.stencils.moist_cv import moist_pt_func, moist_pt_last_step diff --git a/pyFV3/stencils/saturation_adjustment.py b/pyFV3/stencils/saturation_adjustment.py index 45cd98f..4fd8092 100644 --- a/pyFV3/stencils/saturation_adjustment.py +++ b/pyFV3/stencils/saturation_adjustment.py @@ -14,8 +14,8 @@ import ndsl.constants as constants from ndsl import StencilFactory from ndsl.dsl.typing import Float, FloatField, FloatFieldIJ +from ndsl.stencils.basic_operations import dim from pyFV3._config import SatAdjustConfig -from pyFV3.stencils.basic_operations import dim from pyFV3.stencils.moist_cv import compute_pkz_func diff --git a/pyFV3/stencils/temperature_adjust.py b/pyFV3/stencils/temperature_adjust.py index bbdffbe..96475e0 100644 --- a/pyFV3/stencils/temperature_adjust.py +++ b/pyFV3/stencils/temperature_adjust.py @@ -2,7 +2,7 @@ import ndsl.constants as constants from ndsl.dsl.typing import Float, FloatField -from pyFV3.stencils.basic_operations import sign +from ndsl.stencils.basic_operations import sign def apply_diffusive_heating( diff --git a/pyFV3/stencils/xppm.py b/pyFV3/stencils/xppm.py index c5d3960..3e8ed86 100644 --- a/pyFV3/stencils/xppm.py +++ b/pyFV3/stencils/xppm.py @@ -11,8 +11,8 @@ from ndsl import StencilFactory from ndsl.dsl.typing import FloatField, FloatFieldIJ, Index3D +from ndsl.stencils.basic_operations import sign from pyFV3.stencils import ppm -from pyFV3.stencils.basic_operations import sign @gtscript.function diff --git a/pyFV3/stencils/yppm.py b/pyFV3/stencils/yppm.py index 160b738..8f12920 100644 --- a/pyFV3/stencils/yppm.py +++ b/pyFV3/stencils/yppm.py @@ -11,8 +11,8 @@ from ndsl import StencilFactory, orchestrate from ndsl.dsl.typing import FloatField, FloatFieldIJ, Index3D +from ndsl.stencils.basic_operations import sign from pyFV3.stencils import ppm -from pyFV3.stencils.basic_operations import sign @gtscript.function diff --git a/setup.py b/setup.py index a442d21..536bb4a 100644 --- a/setup.py +++ b/setup.py @@ -16,7 +16,7 @@ ] test_requirements = ["pytest", "pytest-subtests", "serialbox"] -ndsl_requirements = ["ndsl @ git+https://github.com/NOAA-GFDL/NDSL.git@2024.03.01"] +ndsl_requirements = ["ndsl @ git+https://github.com/NOAA-GFDL/NDSL.git@develop"] develop_requirements = test_requirements + ndsl_requirements + ["pre-commit"] extras_requires = {