From 81fad3d1d3c73ae4b8746f7e7fc8a1a6d9e5c021 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Wed, 6 May 2026 17:46:52 +0200 Subject: [PATCH 01/11] [DSL] fixes for GFDL_1M --- .../GFDL_1M/PhaseChange/evaporate.py | 1 - .../GFDL_1M/PhaseChange/hydrostatic_pdf.py | 4 ++-- .../GFDL_1M/PhaseChange/rh_calculations.py | 2 +- .../pyMoist/microphysics/GFDL_1M/finalize.py | 2 +- .../microphysics/GFDL_1M/radiation_coupling.py | 2 +- .../pyMoist/microphysics/GFDL_1M/setup.py | 6 +++--- .../pyMoist/tests/scripts/run_all.sh | 12 +++++++----- .../pyMoist/tests/scripts/run_tests.sh | 18 ++++++++---------- .../PhaseChange/translate_GFDL_1M_Evaporate.py | 6 +++--- .../translate_GFDL_1M_HydrostaticPDF.py | 10 +++++----- .../translate_GFDL_1M_MeltFreeze.py | 12 +++--------- .../PhaseChange/translate_GFDL_1M_Sublimate.py | 6 +++--- ...e_saturation_specific_humidity_functions.py | 4 ++-- 13 files changed, 39 insertions(+), 46 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/evaporate.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/evaporate.py index 8a718494f..ab1c25c69 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/evaporate.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/evaporate.py @@ -34,7 +34,6 @@ def evaporate( from __externals__ import CCW_EVAP_EFF, DT_MOIST with computation(PARALLEL), interval(...): - evaporation = mixing_ratio_vapor rh_crit = 1 # Evaporation of cloud water. DelGenio et al formulation # (Eq.s 15-17, 1996, J. Clim., 9, 270-303) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py index f4a7b209e..a62edde70 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py @@ -266,7 +266,7 @@ def hydrostatic_pdf( qc_n = (mixing_ratio_large_scale_liquid + mixing_ratio_large_scale_ice) * inv_clcn qc_i = mixing_ratio_large_scale_ice * inv_clcn t_n = t - qs_x, _ = saturation_specific_humidity(t=t, p=p_mb * 100, ese=ese, esx=esx) + qs_x, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, ese=ese, esx=esx) qv_n = (mixing_ratio_vapor - qs_x * convective_cloud_fraction) * inv_clcn qt = qc_n + qv_n # Total LS water after microphysics @@ -277,7 +277,7 @@ def hydrostatic_pdf( qc_p = qc_n cf_p = cf_n t_p = t_n - qs_n, dqs = saturation_specific_humidity(t=t_n, p=p_mb * 100, ese=ese, esx=esx) + qs_n, dqs = saturation_specific_humidity(t=t_n, p=p_mb * 100.0, ese=ese, esx=esx) if PDF_SHAPE < 3: # 1 = top-hat 2 = triangulat sigmaqt1 = alpha * qs_n diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/rh_calculations.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/rh_calculations.py index c22664e8e..9c44a5e0a 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/rh_calculations.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/rh_calculations.py @@ -33,7 +33,7 @@ def rh_calculations( with computation(PARALLEL), interval(...): # determine the turn pressure using the LCL if TURNRHCRIT_PARAM <= 0: - turnrhcrit = p_mb.at(K=lcl_level) - 250 + turnrhcrit = p_mb.at(K=lcl_level) - 250.0 else: turnrhcrit = TURNRHCRIT_PARAM diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py index 73933ce68..ee92b87c0 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py @@ -106,7 +106,7 @@ def fix_humidity( esx: GlobalTable_saturation_tables, ): with computation(PARALLEL), interval(...): - qsat, _ = saturation_specific_humidity(t, p_mb * 100, ese, esx) + qsat, _ = saturation_specific_humidity(t, p_mb * 100.0, ese, esx) relative_humidity = vapor / qsat diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py index 68cd1c40b..7c0197e23 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py @@ -28,7 +28,7 @@ def update_humidity( esx (GlobalTable_saturation_tables) """ with computation(PARALLEL), interval(...): - qsat, _ = saturation_specific_humidity(temperature, pressure * 100, ese, esx) + qsat, _ = saturation_specific_humidity(temperature, pressure * 100.0, ese, esx) humidity = vapor * qsat diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py index 8f50a2596..12ef1de42 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py @@ -103,7 +103,7 @@ def calculate_derived_states( dp = p_interface[0, 0, 1] - p_interface mass = dp / MAPL_GRAV mass_inverse = 1 / mass - sat, dsat = saturation_specific_humidity(t=t, p=p_mb * 100, ese=ese, esx=esx) + sat, dsat = saturation_specific_humidity(t=t, p=p_mb * 100.0, ese=ese, esx=esx) u_unmodified = u v_unmodified = v th = (100.0 * p_mb / MAPL_P00) ** (MAPL_KAPPA) @@ -159,7 +159,7 @@ def find_lcl_level( # get LCL pressure with computation(PARALLEL), interval(-1, None): - qsat, _ = saturation_specific_humidity(t=t, p=p_mb * 100, ese=ese, esx=esx) + qsat, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, ese=ese, esx=esx) rhsfc = 100 * vapor / qsat tlcl = find_t_lcl(t=t, rh=rhsfc) rm = (1 - vapor) * MAPL_RGAS + vapor * MAPL_RVAP @@ -227,7 +227,7 @@ def compute_estimated_inversion_strength( # Simplified single adiabat eq4 of https://doi.org/10.1175/JCLI3988.1 t850 = 0.5 * (t + t700) - qs850, _ = saturation_specific_humidity(t=t850, p=100 * 850, ese=ese, esx=esx) + qs850, _ = saturation_specific_humidity(t=t850, p=100.0 * 850.0, ese=ese, esx=esx) gamma850 = (1.0 + (MAPL_ALHL * qs850 / (MAPL_RGAS * t850))) / (1.0 + (MAPL_ALHL * MAPL_ALHL * qs850 / (MAPL_CP * MAPL_RVAP * t850 * t850))) gamma850 = MAPL_GRAV / MAPL_CP * (1.0 - gamma850) estimated_inversion_strength = lower_tropospheric_stability - gamma850 * (z700 - lcl_height) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_all.sh b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_all.sh index 94a9dc0e1..edec7527b 100755 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_all.sh +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_all.sh @@ -1,17 +1,19 @@ #!/bin/bash -# Usage: ./run_tests.sh [/path/to/data] [debug|dace:cpu_kfirst] +# Usage: ./run_all.sh [/path/to/data] [st:python:cpu:IJK|st:dace:cpu:IJK] +# NDSL configuration export NDSL_LITERAL_PRECISION=32 -export NDSL_TEST_N_THRESHOLD_SAMPLES=0 export GT4PY_COMPILE_OPT_LEVEL=0 -export FV3_DACEMODE=BuildAndRun -export NDSL_LOGLEVEL=Critical +export NDSL_LOGLEVEL=Info + +# pyMoist configuration +export EXP_NAME='gcm-fp' # UW specific export GT4PY_EXTRA_COMPILE_OPT_FLAGS='-fconstexpr-ops-limit=1000000000' -python -m pytest -s -v --disable-warnings --multimodal_metric \ +python -m pytest -s -v --multimodal_metric \ --data_path=$1 \ --backend=$2 \ --grid=default \ diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_tests.sh b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_tests.sh index 00eff69b6..d98682b3b 100755 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_tests.sh +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/run_tests.sh @@ -1,24 +1,22 @@ #!/bin/bash -# Usage: ./run_tests.sh [/path/to/data] [debug|dace:cpu_kfirst] [TranslateName] +# Usage: ./run_tests.sh [/path/to/data] [st:python:cpu:IJK|st:dace:cpu:IJK] [TranslateName] +# NDSL configuration export NDSL_LITERAL_PRECISION=32 -export NDSL_TEST_N_THRESHOLD_SAMPLES=0 export GT4PY_COMPILE_OPT_LEVEL=0 -export FV3_DACEMODE=BuildAndRun -# export OPENMP_CPPFLAGS=" " -# export OPENMP_LDFLAGS=" " - -# UW specific -#export GT4PY_EXTRA_COMPILE_OPT_FLAGS='-fconstexpr-ops-limit=1000000000' +export NDSL_LOGLEVEL=Info +# pyMoist configuration export EXP_NAME='gcm-fp' -python -m pytest -s -v --disable-warnings --multimodal_metric \ +# UW specific +export GT4PY_EXTRA_COMPILE_OPT_FLAGS='-fconstexpr-ops-limit=1000000000' + +python -m pytest -s -v --multimodal_metric \ --data_path=$1 \ --backend=$2\ --which_modules=$3 \ - --which_rank=0 \ --grid=default \ --no_report \ --threshold_overrides_file=./overrides.yml \ diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Evaporate.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Evaporate.py index 83ee7215e..8c9c288c0 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Evaporate.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Evaporate.py @@ -67,9 +67,9 @@ def compute(self, inputs): code( p_mb=locals_.p_mb, t=state.t, - vapor=state.mixing_ratio.vapor, - convective_liquid=state.mixing_ratio.convective_liquid, - convective_ice=state.mixing_ratio.convective_ice, + mixing_ratio_vapor=state.mixing_ratio.vapor, + mixing_ratio_convective_liquid=state.mixing_ratio.convective_liquid, + mixing_ratio_convective_ice=state.mixing_ratio.convective_ice, convective_cloud_fraction=state.cloud_fraction.convective, liquid_concentration=state.concentration.liquid, ice_concentration=state.concentration.ice, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_HydrostaticPDF.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_HydrostaticPDF.py index c4da5fac3..340f909a9 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_HydrostaticPDF.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_HydrostaticPDF.py @@ -96,11 +96,11 @@ def compute(self, inputs): convection_fraction=state.convection_fraction, surface_type=state.surface_type, p_mb=locals_.p_mb, - vapor=state.mixing_ratio.vapor, - large_scale_liquid=state.mixing_ratio.large_scale_liquid, - convective_liquid=state.mixing_ratio.convective_liquid, - large_scale_ice=state.mixing_ratio.large_scale_ice, - convective_ice=state.mixing_ratio.convective_ice, + mixing_ratio_vapor=state.mixing_ratio.vapor, + mixing_ratio_large_scale_liquid=state.mixing_ratio.large_scale_liquid, + mixing_ratio_convective_liquid=state.mixing_ratio.convective_liquid, + mixing_ratio_large_scale_ice=state.mixing_ratio.large_scale_ice, + mixing_ratio_convective_ice=state.mixing_ratio.convective_ice, t=state.t, large_scale_cloud_fraction=state.cloud_fraction.large_scale, convective_cloud_fraction=state.cloud_fraction.convective, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_MeltFreeze.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_MeltFreeze.py index 294985e2a..4e890dfea 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_MeltFreeze.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_MeltFreeze.py @@ -56,19 +56,13 @@ def compute(self, inputs): compute_dims=[I_DIM, J_DIM, K_DIM], externals={"DT_MOIST": config.DT_MOIST}, ) + code( convection_fraction=state.convection_fraction, surface_type=state.surface_type, t=state.t, - liquid=state.mixing_ratio.convective_liquid, - ice=state.mixing_ratio.convective_ice, - ) - code( - convection_fraction=state.convection_fraction, - surface_type=state.surface_type, - t=state.t, - liquid=state.mixing_ratio.large_scale_liquid, - ice=state.mixing_ratio.large_scale_ice, + mixing_ratio_liquid=state.mixing_ratio.convective_liquid, + mixing_ratio_ice=state.mixing_ratio.convective_ice, ) return { diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Sublimate.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Sublimate.py index 65b63fae4..2b7218f06 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Sublimate.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/translate_GFDL_1M_Sublimate.py @@ -70,9 +70,9 @@ def compute(self, inputs): code( p_mb=locals_.p_mb, t=state.t, - vapor=state.mixing_ratio.vapor, - convective_liquid=state.mixing_ratio.convective_liquid, - convective_ice=state.mixing_ratio.convective_ice, + mixing_ratio_vapor=state.mixing_ratio.vapor, + mixing_ratio_convective_liquid=state.mixing_ratio.convective_liquid, + mixing_ratio_convective_ice=state.mixing_ratio.convective_ice, convective_cloud_fraction=state.cloud_fraction.convective, liquid_concentration=state.concentration.liquid, ice_concentration=state.concentration.ice, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py index 1761e163b..f5fe7cee1 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py @@ -43,7 +43,7 @@ def test_saturation_specific_humidity_functions( with computation(FORWARD), interval(...): sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100) sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100) - sat, dqsat = saturation_specific_humidity(t=t, p=p * 100, ese=ese, esx=esx) + sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, ese=ese, esx=esx) def test_saturation_specific_humidity_functions_2d( @@ -64,7 +64,7 @@ def test_saturation_specific_humidity_functions_2d( with computation(FORWARD), interval(0, 1): sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100) sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100) - sat, dqsat = saturation_specific_humidity(t=t, p=p * 100, ese=ese, esx=esx) + sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, ese=ese, esx=esx) class Translatesaturation_specific_humidity_functions(TranslateFortranData2Py): From 4f2d98ba78f9a415eb776f70c8be415dc3325037 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Thu, 7 May 2026 08:18:48 +0200 Subject: [PATCH 02/11] ci: run ndsl-checks on PRs - change workflow to run on pull requests - change paths to include changes to the workflow - change python version to 3.12 (as on the HPC) - fix `mkdocs build` - fix data url - make wget less verbose - fix `pytest` invocation - add NDSL to dependencies - non-verbose `tar` extract - pick a (random) experiment (why is this needed?!) - fix `test_constants` by adding more excludes - fix running translate test by temporarily exluding netCDFs that don't match a translate test anymore. --- .github/workflows/ndsl-checks.yml | 41 +++++++++++++------ .../cumulus_parameterization/air_density.md | 2 +- .../cumulus_parameterization/buoyancy.md | 2 +- .../cumulus_parameterization/check_config.md | 2 +- .../cumulus_parameterization/config.md | 2 +- .../cumulus_parameterization/constants.md | 2 +- .../convective_tracers.md | 2 +- .../cumulus_parameterization.md | 2 +- .../cumulus_parameterization/diurnal_cycle.md | 2 +- .../cumulus_parameterization/downdraft.md | 2 +- .../cumulus_parameterization/entrainment.md | 2 +- .../cumulus_parameterization/environment.md | 2 +- .../cumulus_parameterization/field_types.md | 2 +- .../cumulus_parameterization/get_levels.md | 2 +- .../kinetic_energy_to_heating.md | 2 +- .../large_scale_forcing.md | 2 +- .../cumulus_parameterization/locals.md | 2 +- .../mass_conservation.md | 2 +- .../moist_static_energy.md | 2 +- .../plume_dependent_constants.md | 2 +- .../cumulus_parameterization/precip.md | 2 +- .../prepare_output.md | 2 +- .../cumulus_parameterization/profiles.md | 2 +- .../setup/set_constants.md | 2 +- .../cumulus_parameterization/setup/setup.md | 2 +- .../shared_functions.md | 2 +- .../shared_stencils.md | 2 +- .../cumulus_parameterization/smoothing.md | 2 +- .../cumulus_parameterization/sounding.md | 2 +- .../GF_2020/cumulus_parameterization/state.md | 2 +- .../cumulus_parameterization/triggers.md | 2 +- .../cumulus_parameterization/updraft.md | 2 +- .../vertical_discretization.md | 2 +- .../param_interfaces/convection/GF_2020.md | 2 +- .../param_interfaces/microphysics/GFDL_1M.md | 2 +- .../GEOSmoist_GridComp/pyMoist/mkdocs.yml | 11 ++++- .../setup/__init__.py | 0 .../GEOSmoist_GridComp/pyMoist/pyproject.toml | 15 ++++--- .../pyMoist/tests/numerical/__init__.py | 0 .../pyMoist/tests/numerical/test_constants.py | 18 ++++---- .../convection/GF_2020/__init__.py | 0 .../cumulus_parameterization/__init__.py | 0 .../air_density/__init__.py | 0 .../buoyancy/__init__.py | 0 .../convection_tracers/__init__.py | 0 .../diurnal_cycle/__init__.py | 0 .../downdraft/__init__.py | 0 .../entrainment/__init__.py | 0 .../environment/__init__.py | 0 .../get_levels/__init__.py | 0 .../kinetic_energy_to_heating/__init__.py | 0 .../large_scale_forcing/__init__.py | 0 .../moist_static_energy/__init__.py | 0 .../precip/__init__.py | 0 .../prepare_output/__init__.py | 0 .../profiles/__init__.py | 0 .../setup/__init__.py | 0 .../smoothing/__init__.py | 0 .../triggers/__init__.py | 0 .../updraft/__init__.py | 0 .../vertical_discretization/__init__.py | 0 .../UW/UW_translate_tests/__init__.py | 0 .../translate_tests/convection/UW/__init__.py | 0 .../translate_tests/convection/__init__.py | 0 .../GFDL_1M/PhaseChange/__init__.py | 0 .../microphysics/GFDL_1M/__init__.py | 0 .../microphysics/GFDL_1M/driver/__init__.py | 0 .../translate_tests/microphysics/__init__.py | 0 68 files changed, 90 insertions(+), 63 deletions(-) create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/setup/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/numerical/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/air_density/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/buoyancy/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/convection_tracers/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/diurnal_cycle/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/downdraft/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/entrainment/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/environment/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/get_levels/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/kinetic_energy_to_heating/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/large_scale_forcing/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/moist_static_energy/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/precip/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/prepare_output/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/profiles/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/setup/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/smoothing/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/triggers/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/updraft/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/vertical_discretization/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/__init__.py create mode 100644 GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/__init__.py diff --git a/.github/workflows/ndsl-checks.yml b/.github/workflows/ndsl-checks.yml index ffc6705d2..507b8755d 100644 --- a/.github/workflows/ndsl-checks.yml +++ b/.github/workflows/ndsl-checks.yml @@ -1,8 +1,10 @@ name: NDSL Lint & Translate Tests on: - push: - paths: "./GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/**" + pull_request: + paths: + - '.github/workflows/ndsl-checks.yml' + - 'GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/**' workflow_dispatch: # cancel running jobs if theres a newer push @@ -14,30 +16,29 @@ jobs: main: env: DATA_PATH: ./test_data/11.5.2/TBC_C24_L72/moist - DATA_URL: "https://portal.nccs.nasa.gov/datashare/astg/smt/geos-fp/translate/11.5.2/x86_GNU/Moist/TBC_C24L72.tar.gz" + DATA_URL: "https://portal.nccs.nasa.gov/datashare/astg/smt/geos-fp/translate/11.5.2/x86_GNU/Moist/TBC_C24L72_20251208.tar.gz" runs-on: ubuntu-latest steps: - - name: Step Python 3.11 + - name: Step Python 3.12 uses: actions/setup-python@v6 with: - python-version: '3.11' + python-version: '3.12' - name: Install MPI run: pip install mpich - name: Checkout repository uses: actions/checkout@v6 - with: - submodules: 'recursive' - name: Install Python packages run: | - pip install ./GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist[develop] + cd GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist + pip install . - name: Run lint via pre-commit run: | cd GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist - pre-commit run --all-files + pre-commit run --all-files --show-diff-on-failure - name: Build Documentation run: | @@ -48,15 +49,31 @@ jobs: run: | cd GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist mkdir -p ${{ env.DATA_PATH }} && cd ${{ env.DATA_PATH }} - wget ${{ env.DATA_URL }} - tar -xzvf TBC_C24L72.tar.gz + wget --no-verbose ${{ env.DATA_URL }} + tar -xzf TBC_C24L72_20251208.tar.gz + # These don't have translate tests + rm Constants.MAPL-In.nc + rm Constants.ProcessLibrary-In.nc + rm GF2020_CumulusParameterization_TriggerFunctionConvection-In.nc + rm ComputeUwshcu-In.nc + rm AerActivation-In.nc + rm GF2020_CumulusParameterization_GetBuoyancy_1-In.nc + rm GF2020_CumulusParameterization_UpdraftCIN-In.nc + rm GF2020_CumulusParameterization_InCloudTemperature-In.nc + rm GF2020_CumulusParameterization_EnvironmentCloudLevels_1-In.nc + rm GF2020_CumulusParameterization_UpdraftInitialWorkfunctions-In.nc + rm GF2020_CumulusParameterization_MeltingProfile-In.nc - name: Run regular unit tests + env: + EXP_NAME: 'gcm-fp' run : | cd GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist - pytests ./tests/numerical + pytest ./tests/numerical - name: Run translate tests + env: + EXP_NAME: 'gcm-fp' run: | cd GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/scripts/ ./run_all.sh ../../${{ env.DATA_PATH }} st:dace:cpu:KIJ diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/air_density.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/air_density.md index e895d9d6f..1e05133c1 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/air_density.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/air_density.md @@ -1,3 +1,3 @@ # air_density -::: pyMoist.convection.GF_2020.air_density +::: pyMoist.convection.GF_2020.cumulus_parameterization.air_density diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/buoyancy.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/buoyancy.md index 3fe368f41..329f90f5c 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/buoyancy.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/buoyancy.md @@ -1,3 +1,3 @@ # buoyancy -::: pyMoist.convection.GF_2020.buoyancy +::: pyMoist.convection.GF_2020.cumulus_parameterization.buoyancy diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/check_config.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/check_config.md index 3f2f8d014..9705bc0a7 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/check_config.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/check_config.md @@ -1,3 +1,3 @@ # check_config -::: pyMoist.convection.GF_2020.check_config +::: pyMoist.convection.GF_2020.cumulus_parameterization.check_config diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/config.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/config.md index 81280545b..2a6c6ab5b 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/config.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/config.md @@ -1,3 +1,3 @@ # config -::: pyMoist.convection.GF_2020.config +::: pyMoist.convection.GF_2020.cumulus_parameterization.config diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/constants.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/constants.md index 9bcf55555..5c744ba64 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/constants.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/constants.md @@ -1,3 +1,3 @@ # constants -::: pyMoist.convection.GF_2020.constants +::: pyMoist.convection.GF_2020.cumulus_parameterization.constants diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/convective_tracers.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/convective_tracers.md index 2b4aeec16..51f0472a8 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/convective_tracers.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/convective_tracers.md @@ -1,3 +1,3 @@ # convective_tracers -::: pyMoist.convection.GF_2020.convective_tracers +::: pyMoist.convection.GF_2020.cumulus_parameterization.convective_tracers diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/cumulus_parameterization.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/cumulus_parameterization.md index a1441419f..1db70bd65 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/cumulus_parameterization.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/cumulus_parameterization.md @@ -1,3 +1,3 @@ # cumulus_parameterization -::: pyMoist.convection.GF_2020.cumulus_parameterization +::: pyMoist.convection.GF_2020.cumulus_parameterization.cumulus_parameterization diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/diurnal_cycle.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/diurnal_cycle.md index 4a382ba29..add9275ec 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/diurnal_cycle.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/diurnal_cycle.md @@ -1,3 +1,3 @@ # diurnal_cycle -::: pyMoist.convection.GF_2020.diurnal_cycle +::: pyMoist.convection.GF_2020.cumulus_parameterization.diurnal_cycle diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/downdraft.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/downdraft.md index 449dd714e..542bf8302 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/downdraft.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/downdraft.md @@ -1,3 +1,3 @@ # downdraft -::: pyMoist.convection.GF_2020.downdraft +::: pyMoist.convection.GF_2020.cumulus_parameterization.downdraft diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/entrainment.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/entrainment.md index 11a3b04bd..65b0a705e 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/entrainment.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/entrainment.md @@ -1,3 +1,3 @@ # entrainment -::: pyMoist.convection.GF_2020.entrainment +::: pyMoist.convection.GF_2020.cumulus_parameterization.entrainment diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/environment.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/environment.md index 86588d4cd..e773c394c 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/environment.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/environment.md @@ -1,3 +1,3 @@ # environment -::: pyMoist.convection.GF_2020.environment +::: pyMoist.convection.GF_2020.cumulus_parameterization.environment diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/field_types.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/field_types.md index 64215513d..5d865dbff 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/field_types.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/field_types.md @@ -1,3 +1,3 @@ # field_types -::: pyMoist.convection.GF_2020.field_types +::: pyMoist.convection.GF_2020.cumulus_parameterization.field_types diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/get_levels.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/get_levels.md index 7aaea3311..5f23b03dd 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/get_levels.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/get_levels.md @@ -1,3 +1,3 @@ # get_levels -::: pyMoist.convection.GF_2020.get_levels +::: pyMoist.convection.GF_2020.cumulus_parameterization.get_levels diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/kinetic_energy_to_heating.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/kinetic_energy_to_heating.md index 55d03d3af..9019a4937 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/kinetic_energy_to_heating.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/kinetic_energy_to_heating.md @@ -1,3 +1,3 @@ # kinetic_energy_to_heating -::: pyMoist.convection.GF_2020.kinetic_energy_to_heating +::: pyMoist.convection.GF_2020.cumulus_parameterization.kinetic_energy_to_heating diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/large_scale_forcing.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/large_scale_forcing.md index cb8b7c545..a2433ce23 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/large_scale_forcing.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/large_scale_forcing.md @@ -1,3 +1,3 @@ # large_scale_forcing -::: pyMoist.convection.GF_2020.large_scale_forcing +::: pyMoist.convection.GF_2020.cumulus_parameterization.large_scale_forcing diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/locals.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/locals.md index 6aaf1a474..19d152e97 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/locals.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/locals.md @@ -1,3 +1,3 @@ # locals -::: pyMoist.convection.GF_2020.locals +::: pyMoist.convection.GF_2020.cumulus_parameterization.locals diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/mass_conservation.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/mass_conservation.md index c33df53c2..f6b114aa5 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/mass_conservation.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/mass_conservation.md @@ -1,3 +1,3 @@ # mass_conservation -::: pyMoist.convection.GF_2020.mass_conservation +::: pyMoist.convection.GF_2020.cumulus_parameterization.mass_conservation diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/moist_static_energy.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/moist_static_energy.md index cad8fdea8..511003772 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/moist_static_energy.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/moist_static_energy.md @@ -1,3 +1,3 @@ # moist_static_energy -::: pyMoist.convection.GF_2020.moist_static_energy +::: pyMoist.convection.GF_2020.cumulus_parameterization.moist_static_energy diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/plume_dependent_constants.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/plume_dependent_constants.md index 980eebb0f..7c137f3da 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/plume_dependent_constants.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/plume_dependent_constants.md @@ -1,3 +1,3 @@ # plume_dependent_constants -::: pyMoist.convection.GF_2020.plume_dependent_constants +::: pyMoist.convection.GF_2020.cumulus_parameterization.plume_dependent_constants diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/precip.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/precip.md index eec2dd6fe..1cf4ee5e6 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/precip.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/precip.md @@ -1,3 +1,3 @@ # precip -::: pyMoist.convection.GF_2020.precip +::: pyMoist.convection.GF_2020.cumulus_parameterization.precip diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/prepare_output.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/prepare_output.md index c7e34b3db..5dbdc40f9 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/prepare_output.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/prepare_output.md @@ -1,3 +1,3 @@ # prepare_output -::: pyMoist.convection.GF_2020.prepare_output +::: pyMoist.convection.GF_2020.cumulus_parameterization.prepare_output diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/profiles.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/profiles.md index b32a863cc..caa10a093 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/profiles.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/profiles.md @@ -1,3 +1,3 @@ # profiles -::: pyMoist.convection.GF_2020.profiles +::: pyMoist.convection.GF_2020.cumulus_parameterization.profiles diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/set_constants.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/set_constants.md index de83087aa..d484189d5 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/set_constants.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/set_constants.md @@ -1,3 +1,3 @@ # set_constants -::: pyMoist.convection.GF_2020.set_constants +::: pyMoist.convection.GF_2020.cumulus_parameterization.setup.set_constants diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/setup.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/setup.md index b1d92385d..259b303f1 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/setup.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/setup/setup.md @@ -1,3 +1,3 @@ # setup -::: pyMoist.convection.GF_2020.setup +::: pyMoist.convection.GF_2020.cumulus_parameterization.setup.setup diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_functions.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_functions.md index 28470c005..862f4731b 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_functions.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_functions.md @@ -1,3 +1,3 @@ # shared_functions -::: pyMoist.convection.GF_2020.shared_functions +::: pyMoist.convection.GF_2020.cumulus_parameterization.shared_functions diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_stencils.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_stencils.md index 6fe7239c8..8d804f888 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_stencils.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/shared_stencils.md @@ -1,3 +1,3 @@ # shared_stencils -::: pyMoist.convection.GF_2020.shared_stencils +::: pyMoist.convection.GF_2020.cumulus_parameterization.shared_stencils diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/smoothing.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/smoothing.md index 7596fc2eb..efa6ddf1f 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/smoothing.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/smoothing.md @@ -1,3 +1,3 @@ # smoothing -::: pyMoist.convection.GF_2020.smoothing +::: pyMoist.convection.GF_2020.cumulus_parameterization.smoothing diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/sounding.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/sounding.md index 68de99831..7f70e59d6 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/sounding.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/sounding.md @@ -1,3 +1,3 @@ # sounding -::: pyMoist.convection.GF_2020.sounding +::: pyMoist.convection.GF_2020.cumulus_parameterization.sounding diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/state.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/state.md index 694a1f697..ce692e2e6 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/state.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/state.md @@ -1,3 +1,3 @@ # state -::: pyMoist.convection.GF_2020.state +::: pyMoist.convection.GF_2020.cumulus_parameterization.state diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/triggers.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/triggers.md index a77ef276c..48c061027 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/triggers.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/triggers.md @@ -1,3 +1,3 @@ # triggers -::: pyMoist.convection.GF_2020.triggers +::: pyMoist.convection.GF_2020.cumulus_parameterization.triggers diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/updraft.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/updraft.md index 8819f572e..95ed19212 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/updraft.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/updraft.md @@ -1,3 +1,3 @@ # updraft -::: pyMoist.convection.GF_2020.updraft +::: pyMoist.convection.GF_2020.cumulus_parameterization.updraft diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/vertical_discretization.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/vertical_discretization.md index 5cd289385..327e5b6f1 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/vertical_discretization.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/convection/GF_2020/cumulus_parameterization/vertical_discretization.md @@ -1,3 +1,3 @@ # vertical_discretization -::: pyMoist.convection.GF_2020.vertical_discretization +::: pyMoist.convection.GF_2020.cumulus_parameterization.vertical_discretization diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/convection/GF_2020.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/convection/GF_2020.md index dbdf1be57..f133dd94f 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/convection/GF_2020.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/convection/GF_2020.md @@ -1,3 +1,3 @@ # GF_2020 -::: pyMoist.fortran.param_interfaces.convection.GF_2020 +::: pyMoist.fortran.param_interfaces.convection.GF2020_interface diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/microphysics/GFDL_1M.md b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/microphysics/GFDL_1M.md index 538635b19..2aa2f467b 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/microphysics/GFDL_1M.md +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/docs/fortran/param_interfaces/microphysics/GFDL_1M.md @@ -1,3 +1,3 @@ # GFDL_1M -::: pyMoist.fortran.param_interfaces.microphysics.GFDL_1M +::: pyMoist.fortran.param_interfaces.microphysics.GFDL1M_interface diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/mkdocs.yml b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/mkdocs.yml index 54dea304f..08816a8f3 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/mkdocs.yml +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/mkdocs.yml @@ -53,10 +53,12 @@ nav: - Home: index.md - Top Level: - "constants": top/constants.md + - "convective_tracers": top/convective_tracers.md - "field_types": top/field_types.md - Fortran interface: - "geos_pymoist": fortran/geos_pymoist.md - "Parametrization interfaces": + - "GF2020_interface": fortran/param_interfaces/convection/GF202_interface.md - "UW_interface": fortran/param_interfaces/convection/UW_interface.md - "GFDL_1M": fortran/param_interfaces/microphysics/GFDL1M_interface.md - "Internals": @@ -108,12 +110,19 @@ nav: - "setup": microphysics/GFDL_1M/setup.md - "state": microphysics/GFDL_1M/state.md - "shared_stencils": microphysics/GFDL_1M/shared_stencils.md - - Universtiy of Washington Shallow Convection (UW): + - University of Washington Shallow Convection (UW): - "compute_uwshcu": convection/UW/compute_uwshcu.md - "config": convection/UW/config.md - "locals": convection/UW/locals.md - "state": convection/UW/state.md - "uwshcu_functions": convection/UW/uwshcu_functions.md + - Grell-Freitas Deep Convection (GF 2020): + - "config": convection/GF_2020/config.md + - "finalize": convection/GF_2020/finalize.md + - "GF_2020": convection/GF_2020/GF_2020.md + - "locals": convection/GF_2020/locals.md + - "setup": convection/GF_2020/setup.md + - "state": convection/GF_2020/state.md - Shared: - "Interpolations": shared/interpolations.md - "Numerical Recipes": shared/numerical_recipes.md diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/setup/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/setup/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml index e0b1c1d97..057704ee0 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml @@ -10,17 +10,22 @@ classifiers = [ "Topic :: Scientific/Engineering :: Atmospheric Science", "Private :: Do Not Upload", "Natural Language :: English", - "Programming Language :: Python :: 3" + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13" ] dependencies = [ + "build", + "coverage", + "flake8-pyproject", + "ndsl @ git+https://github.com/NOAA-GFDL/NDSL.git@2026.03.00", "mkdocs-material", "mkdocstrings[python]", "mkdocs-exclude", + "pre-commit", "pytest", - "pytest-subtests", - "coverage", - "flake8-pyproject", - "build" + "pytest-subtests" ] description = "pyMoist is the NDSL version of NASA GMAO's GEOS Moist physics. Please contact maintainer if used outside of GEOS." license = "Apache-2.0" diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/numerical/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/numerical/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/numerical/test_constants.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/numerical/test_constants.py index 5b3604f66..2aea86602 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/numerical/test_constants.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/numerical/test_constants.py @@ -1,4 +1,4 @@ -import os +from pathlib import Path from types import ModuleType import xarray as xr @@ -16,23 +16,19 @@ def _get_constant_from_module(my_module: ModuleType) -> list[str]: # All public module var module_var = [item for item in dir(my_module) if not item.startswith("_")] # Get rid of the imports - imports = ["np", "Float", "Int"] + imports = ["np", "os", "Float", "Int"] for i in imports: module_var.remove(i) # Remove non testable constants - non_testable_const = ["MAPL_UNDEF", "NCNST", "FLOAT_TINY"] + non_testable_const = ["MAPL_UNDEF", "NCNST", "FLOAT_TINY", "EXP_NAME", "NUMBER_OF_TRACERS", "EXPERIMENT_TRACERS"] for nc in non_testable_const: module_var.remove(nc) return module_var -def _load_refrence_nc() -> xr.Dataset: - this_dir_path = os.path.dirname(os.path.realpath(__file__)) - data_dir = os.path.abspath(os.path.join(this_dir_path, "./data")) - print(f"Looking in {data_dir}") - ds = xr.open_mfdataset(f"{data_dir}/Constants.*.nc") - - return ds +def _load_reference_nc() -> xr.Dataset: + data_dir = Path(__file__).parent / "data" + return xr.open_mfdataset(f"{data_dir}/Constants.*.nc") def _run_python_vs_fortran(fortran_value_as_dataset: xr.Dataset, my_module: ModuleType) -> None: @@ -70,7 +66,7 @@ def _run_python_vs_fortran(fortran_value_as_dataset: xr.Dataset, my_module: Modu def test_shared_constants() -> None: - ds = _load_refrence_nc() + ds = _load_reference_nc() _run_python_vs_fortran(ds, shared_const) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/air_density/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/air_density/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/buoyancy/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/buoyancy/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/convection_tracers/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/convection_tracers/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/diurnal_cycle/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/diurnal_cycle/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/downdraft/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/downdraft/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/entrainment/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/entrainment/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/environment/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/environment/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/get_levels/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/get_levels/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/kinetic_energy_to_heating/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/kinetic_energy_to_heating/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/large_scale_forcing/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/large_scale_forcing/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/moist_static_energy/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/moist_static_energy/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/precip/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/precip/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/prepare_output/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/prepare_output/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/profiles/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/profiles/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/setup/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/setup/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/smoothing/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/smoothing/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/triggers/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/triggers/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/updraft/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/updraft/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/vertical_discretization/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/GF_2020/cumulus_parameterization/vertical_discretization/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/PhaseChange/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/__init__.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/__init__.py new file mode 100644 index 000000000..e69de29bb From 5dd13ec55bbe2e7a8d488cc041e4e005ce490d5d Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Thu, 7 May 2026 15:13:26 +0200 Subject: [PATCH 03/11] [DSL] more fixes for GFDL_1M --- .../pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py | 4 +--- .../GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py | 8 ++++---- .../GFDL_1M/driver/translate_GFDL_1M_IceCloud.py | 12 ++++++------ .../GFDL_1M/translate_GFDL_1M_Finalize.py | 8 ++++++++ 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py index ee92b87c0..3a979836f 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py @@ -12,9 +12,7 @@ @function -def fix_negative_precip( - precip: Float, -): +def fix_negative_precip(precip: Float): if precip < 1.0e-8: precip = 0.0 diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py index 8c2a29bc9..927255dc9 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py @@ -100,10 +100,10 @@ def compute(self, inputs): state.convection_fraction.field[:] = inputs["convection_fraction_fallspeed"][:, :, 0] code( - liquid=driver_locals.dry_air_mixing_ratio.liquid, - ice=driver_locals.dry_air_mixing_ratio.ice, - snow=driver_locals.dry_air_mixing_ratio.snow, - graupel=driver_locals.dry_air_mixing_ratio.graupel, + mixing_ratio_liquid=driver_locals.dry_air_mixing_ratio.liquid, + mixing_ratio_ice=driver_locals.dry_air_mixing_ratio.ice, + mixing_ratio_snow=driver_locals.dry_air_mixing_ratio.snow, + mixing_ratio_graupel=driver_locals.dry_air_mixing_ratio.graupel, t_unmodified=state.t, t=driver_locals.t, dz_unmodified=gfdl1m_locals.layer_thickness_negative, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py index 05e5d7324..84c3df00c 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py @@ -105,12 +105,12 @@ def compute(self, inputs): t=driver_locals.t, p_dry=driver_locals.p_dry, dp=driver_locals.dp, - vapor=driver_locals.dry_air_mixing_ratio.vapor, - liquid=driver_locals.dry_air_mixing_ratio.liquid, - rain=driver_locals.dry_air_mixing_ratio.rain, - ice=driver_locals.dry_air_mixing_ratio.ice, - snow=driver_locals.dry_air_mixing_ratio.snow, - graupel=driver_locals.dry_air_mixing_ratio.graupel, + mixing_ratio_vapor=driver_locals.dry_air_mixing_ratio.vapor, + mixing_ratio_liquid=driver_locals.dry_air_mixing_ratio.liquid, + mixing_ratio_rain=driver_locals.dry_air_mixing_ratio.rain, + mixing_ratio_ice=driver_locals.dry_air_mixing_ratio.ice, + mixing_ratio_snow=driver_locals.dry_air_mixing_ratio.snow, + mixing_ratio_graupel=driver_locals.dry_air_mixing_ratio.graupel, cloud_fraction=driver_locals.cloud_fraction, density=driver_locals.density, density_factor=driver_locals.density_factor, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/translate_GFDL_1M_Finalize.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/translate_GFDL_1M_Finalize.py index f5b68f5be..251b6aaf0 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/translate_GFDL_1M_Finalize.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/translate_GFDL_1M_Finalize.py @@ -217,6 +217,14 @@ def compute(self, inputs): local_mass=locals_.mass, local_u_unmodified=locals_.u_unmodified, local_v_unmodified=locals_.v_unmodified, + simulated_reflectivity=None, + maximum_composite_reflectivity=None, + base_1km_agl_reflectivity=None, + echo_top_reflectivity=None, + minus_10c_reflectivity=None, + mass_fraction_suspended_rain=None, + mass_fraction_suspended_snow=None, + mass_fraction_suspended_graupel=None, ) return { From aa2b64d899d7aefd01fb55a7f1b58150f091bc16 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Thu, 7 May 2026 17:31:00 +0200 Subject: [PATCH 04/11] [DSL] more fixes for pressure * 100.0 --- .../pyMoist/pyMoist/shared/interpolations.py | 14 +++++++------- ...slate_saturation_specific_humidity_functions.py | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/interpolations.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/interpolations.py index 87ff8f740..64146ef1b 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/interpolations.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/interpolations.py @@ -21,10 +21,10 @@ def vertical_interpolation_interface( """ with computation(FORWARD), interval(-1, None): - pb: FloatFieldIJ = log(p_interface_mb * 100) + pb: FloatFieldIJ = log(p_interface_mb * 100.0) with computation(BACKWARD), interval(0, -1): - pt: FloatFieldIJ = log(p_interface_mb * 100) + pt: FloatFieldIJ = log(p_interface_mb * 100.0) if log(target_pressure) > pt and log(target_pressure) <= pb: al = (pb - log(target_pressure)) / (pb - pt) interpolated_field = field * al + field[0, 0, 1] * (1.0 - al) @@ -53,13 +53,13 @@ def vertical_interpolation( track_points: BoolFieldIJ = False # with computation(PARALLEL), interval(...): - # p = log(p_interface_mb * 100) + # p = log(p_interface_mb * 100.0) with computation(FORWARD), interval(-1, None): - pb: FloatFieldIJ = 0.5 * (log(p_interface_mb * 100) + log(p_interface_mb[0, 0, 1] * 100)) + pb: FloatFieldIJ = 0.5 * (log(p_interface_mb * 100.0) + log(p_interface_mb[0, 0, 1] * 100.0)) with computation(BACKWARD), interval(1, None): - pt: FloatFieldIJ = 0.5 * (log(p_interface_mb[0, 0, -1] * 100) + log(p_interface_mb * 100)) + pt: FloatFieldIJ = 0.5 * (log(p_interface_mb[0, 0, -1] * 100.0) + log(p_interface_mb * 100.0)) if log(target_pressure) > pt and log(target_pressure) <= pb and not track_points: al = (pb - log(target_pressure)) / (pb - pt) interpolated_field = field[0, 0, -1] * al + field * (1.0 - al) @@ -67,8 +67,8 @@ def vertical_interpolation( pb = pt with computation(FORWARD), interval(-1, None): - pb2: FloatFieldIJ = 0.5 * (log(p_interface_mb * 100) + log(p_interface_mb[0, 0, 1] * 100)) - if log(target_pressure) > pb2 and log(target_pressure) <= log(p_interface_mb[0, 0, 1] * 100) and not track_points: + pb2: FloatFieldIJ = 0.5 * (log(p_interface_mb * 100.0) + log(p_interface_mb[0, 0, 1] * 100.0)) + if log(target_pressure) > pb2 and log(target_pressure) <= log(p_interface_mb[0, 0, 1] * 100.0) and not track_points: interpolated_field = field track_points = True diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py index f5fe7cee1..b898804fc 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py @@ -41,8 +41,8 @@ def test_saturation_specific_humidity_functions( lqu: Float, ): with computation(FORWARD), interval(...): - sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100) - sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100) + sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100.0) + sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100.0) sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, ese=ese, esx=esx) @@ -62,8 +62,8 @@ def test_saturation_specific_humidity_functions_2d( lqu: Float, ): with computation(FORWARD), interval(0, 1): - sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100) - sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100) + sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100.0) + sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100.0) sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, ese=ese, esx=esx) From ebe3e9db455f36d46a3d67be0b2faea07241c2fc Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Thu, 7 May 2026 17:33:32 +0200 Subject: [PATCH 05/11] [DSL] fix tests complaining about too many values to unpack (py3.12) --- .../microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py | 2 +- .../microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py | 2 +- .../GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py | 2 +- .../microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py index 927255dc9..6c72a1894 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py @@ -55,7 +55,7 @@ def compute(self, inputs): config_dependent_constants = GFDL1MDriverConfigDependentConstants.make(config) # get the shape of the field - nx, ny, nz = inputs["driver_local_p_dry_fallspeed"].shape + nx, ny, nz, _ntimes = inputs["driver_local_p_dry_fallspeed"].shape # preset output dictionary to be filled inside the for loop outputs = {} diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py index 84c3df00c..4daa26f20 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py @@ -63,7 +63,7 @@ def compute(self, inputs): ) # get the shape of the field - nx, ny, nz = inputs["driver_local_t_icecloud"].shape + nx, ny, nz, _ntimes = inputs["driver_local_t_icecloud"].shape # preset output dictionary to be filled inside the for loop outputs = {} diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py index 84c3df839..6ac661883 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py @@ -56,7 +56,7 @@ def compute(self, inputs): # get the shape of the field state = GFDL1MState.zeros(self.quantity_factory) - nx, ny, nz = inputs["driver_local_t_terminalfall"].shape + nx, ny, nz, _ntimes = inputs["driver_local_t_terminalfall"].shape # preset output dictionary to be filled inside the for loop outputs = {} diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py index 19944da96..201c50e14 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py @@ -71,7 +71,7 @@ def compute(self, inputs): dace_config=self.stencil_factory.config.dace_config, ) - nx, ny, nz = inputs["driver_local_dp_warmrain"].shape + nx, ny, nz, _ntimes = inputs["driver_local_dp_warmrain"].shape # preset output dictionary to be filled inside the for loop outputs = {} From f981570b12fdb1ed0cd755d6bc49898ef9d8b8c5 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Fri, 8 May 2026 11:05:28 +0200 Subject: [PATCH 06/11] refactor: forbid `use_ramp=True` to avoid floating point comparison This commit changes `saturation_specific_humidy()` such that the case of `use_ramp=True` is rejected as not implemented. So far, we don't have a use-case for this case. Doing so allows us to avoid a floating point comparison with plain `==`, which is dagerous. --- .../saturation_specific_humidity_functions.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py index a3b85fb29..2b0434756 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py @@ -131,9 +131,7 @@ def saturation_specific_humidity( dqsat (Float): derivative saturation specific humidity with respect to temperature """ if use_ramp: - uramp = -abs(ramp) - else: - uramp = TMIX + raise NotImplementedError("The option `use_ramp=True` is not implemented.") if t <= TMINTBL: t = TMINTBL @@ -144,12 +142,8 @@ def saturation_specific_humidity( t_integer = int32(floor(t)) IT_MINUS_1 = t_integer - 1 - if uramp == TMIX: - dq = esx.A[t_integer] - esx.A[IT_MINUS_1] # type: ignore - qsat = (t - t_integer) * dq + esx.A[IT_MINUS_1] # type: ignore - else: - dq = ese.A[t_integer] - ese.A[IT_MINUS_1] # type: ignore - qsat = (t - t_integer) * dq + ese.A[IT_MINUS_1] # type: ignore + dq = esx.A[t_integer] - esx.A[IT_MINUS_1] # type: ignore + qsat = (t - t_integer) * dq + esx.A[IT_MINUS_1] # type: ignore if p <= qsat: qsat = MAX_MIXING_RATIO From 2621ef053ae620b308735d571b60152905a5e0c8 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Fri, 8 May 2026 11:13:13 +0200 Subject: [PATCH 07/11] fixup: get rid of now unused import --- .../saturation_tables/saturation_specific_humidity_functions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py index 2b0434756..0b68c56c9 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py @@ -1,6 +1,6 @@ from ndsl.dsl.gt4py import floor, function, int32 -from pyMoist.saturation_tables.constants import DEGSUBS, ERFAC, ESFAC, MAPL_TICE, MAX_MIXING_RATIO, TABLESIZE, TMAXTBL, TMINLQU, TMINTBL, TMIX +from pyMoist.saturation_tables.constants import DEGSUBS, ERFAC, ESFAC, MAPL_TICE, MAX_MIXING_RATIO, TABLESIZE, TMAXTBL, TMINLQU, TMINTBL @function From 6b8d77781cf78397bf2bbe683abd66203d142312 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Fri, 8 May 2026 14:42:41 +0200 Subject: [PATCH 08/11] ci: update NDSL to current develop Since we are depending on a couple of recent changes in NDSL and since we not planning to release any time soon, let's just use `ndsl @ develop` for now. --- .../GEOSmoist_GridComp/pyMoist/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml index 057704ee0..690379363 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyproject.toml @@ -19,7 +19,7 @@ dependencies = [ "build", "coverage", "flake8-pyproject", - "ndsl @ git+https://github.com/NOAA-GFDL/NDSL.git@2026.03.00", + "ndsl @ git+https://github.com/NOAA-GFDL/NDSL.git@develop", "mkdocs-material", "mkdocstrings[python]", "mkdocs-exclude", From 2001a2129f3054d667a0c636cb9a4be5b0c73510 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Fri, 8 May 2026 15:49:35 +0200 Subject: [PATCH 09/11] fixup: remove ramp option of saturation_specific_humidity completely We can't `raise NotImplementedError` from within a `gtscript.function`. Since we never use the `ramp` option, let's remove it all together. This also removes the need to supply the `ese` table, which trickles in a lot of places ... --- .../pyMoist/convection/GF_2020/finalize.py | 5 +- .../pyMoist/convection/GF_2020/setup.py | 7 +- .../pyMoist/convection/UW/compute_uwshcu.py | 104 +++++------------- .../pyMoist/convection/UW/uwshcu_functions.py | 12 +- .../GFDL_1M/PhaseChange/hydrostatic_pdf.py | 6 +- .../pyMoist/microphysics/GFDL_1M/finalize.py | 5 +- .../GFDL_1M/radiation_coupling.py | 5 +- .../pyMoist/microphysics/GFDL_1M/setup.py | 16 +-- .../saturation_specific_humidity_functions.py | 14 +-- .../translate_buoyancy_sorting.py | 2 - .../UW_translate_tests/translate_find_klcl.py | 2 - ..._saturation_specific_humidity_functions.py | 4 +- 12 files changed, 47 insertions(+), 135 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/finalize.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/finalize.py index 52ebfffab..2473c810b 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/finalize.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/finalize.py @@ -796,7 +796,6 @@ def update_state_with_tendencies( convective_cloud_fraction: FloatField, convective_rainwater_source: FloatField, convective_precipitation_RAS: FloatField, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, fraction_ice: FloatField, ): @@ -875,7 +874,7 @@ def update_state_with_tendencies( # fix convective cloud fraction if FIX_CONVECTIVE_CLOUD: - saturation_humidity, _ = saturation_specific_humidity(t, p, ese, esx) + saturation_humidity, _ = saturation_specific_humidity(t, p, esx) if convective_cloud_fraction < 1.0: modification = (vapor - saturation_humidity * convective_cloud_fraction) / (1.0 - convective_cloud_fraction) @@ -964,7 +963,6 @@ def __init__( # NOTE: this is an orchestration workaround. Direct call to # `self.tables.X` fails closure capture for # argument reconstruction at call time - self._ese = saturation_tables.ese self._esw = saturation_tables.esw self._esx = saturation_tables.esx self._estfrz = saturation_tables.frz @@ -1329,7 +1327,6 @@ def __call__( convective_cloud_fraction=state.convective_cloud_fraction, convective_rainwater_source=state.convective_rainwater_source, convective_precipitation_RAS=state.convective_precipitation_RAS, - ese=self._ese, esx=self._esx, fraction_ice=self.fraction_ice, ) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/setup.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/setup.py index 6f1b322e2..886425fe8 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/setup.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/setup.py @@ -42,7 +42,6 @@ def compute_extra_inputs_from_state( area: FloatFieldIJ, modified_area: FloatFieldIJ, convection_fraction: FloatFieldIJ, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, ): """ @@ -73,7 +72,6 @@ def compute_extra_inputs_from_state( area (FloatFieldIJ) modified_area (FloatFieldIJ) convection_fraction (FloatFieldIJ) - ese (GlobalTable_saturation_tables) esx (GlobalTable_saturation_tables) """ from __externals__ import GF_MIN_AREA, LHYDROSTATIC, STOCH_BOT, STOCH_TOP, STOCHASTIC_CONVECTION, k_end @@ -96,12 +94,12 @@ def compute_extra_inputs_from_state( with computation(FORWARD), interval(0, 1): tpwi = vapor * mass - qsat, _ = saturation_specific_humidity(t, p, ese, esx) + qsat, _ = saturation_specific_humidity(t, p, esx) tpwi_star = qsat * mass with computation(FORWARD), interval(1, -1): tpwi = tpwi + vapor * mass - qsat, _ = saturation_specific_humidity(t, p, ese, esx) + qsat, _ = saturation_specific_humidity(t, p, esx) tpwi_star = tpwi_star + qsat * mass with computation(FORWARD), interval(0, 1): @@ -1327,7 +1325,6 @@ def __call__( area=state.area, modified_area=locals.derived_state.modified_area, convection_fraction=state.convection_fraction, - ese=self.saturation_tables.ese, esx=self.saturation_tables.esx, ) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/compute_uwshcu.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/compute_uwshcu.py index 09bc9c105..a78887dcf 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/compute_uwshcu.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/compute_uwshcu.py @@ -694,7 +694,7 @@ def compute_thv0_thvl0( thl0bot: float32 = thl0 + ssthl0 * (pifc0 - pmid0) qt0bot: float32 = qt0 + ssqt0 * (pifc0 - pmid0) - thj, qvj, qlj, qij, qse, id_check = conden(pifc0, thl0bot, qt0bot, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0, thl0bot, qt0bot, esx) with computation(FORWARD), interval(...): if id_check == 1: @@ -735,7 +735,7 @@ def compute_thv0_thvl0( with computation(PARALLEL), interval(...): if not condensation: - thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thl0top, qt0top, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thl0top, qt0top, esx) with computation(FORWARD), interval(...): if not condensation: @@ -1289,7 +1289,6 @@ def find_klcl( pifc0: FloatField, qtsrc: FloatField, thlsrc: FloatField, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, thl0: FloatField, ssthl0: FloatField, @@ -1331,7 +1330,6 @@ def find_klcl( pifc0 [FloatField]: Environmental pressure at the interfaces [Pa] qtsrc [FloatField]: Mixing ratio of cumulus source air [?] thlsrc [FloatField]: Temperature of cumulus source air [K] [?] - ese [GlobalTable_saturation_tables]: Used in QSat_Float [n/a] esx [GlobalTable_saturation_tables]: Used in QSat_Float [n/a] k0 [Int]: Number of levels thl0 [FloatField]: Temperature [?] @@ -1464,7 +1462,7 @@ def find_klcl( with computation(FORWARD), interval(...): if not condensation: - plcl = qsinvert(qtsrc, thlsrc, pifc0.at(K=0), ese, esx) + plcl = qsinvert(qtsrc, thlsrc, pifc0.at(K=0), esx) lev = 0 klcl_flag = 0.0 while lev < k0 + 1 and klcl_flag == 0.0: @@ -1518,7 +1516,7 @@ def find_klcl( # in fully consistent with the other parts of the code. thl0lcl = thl0.at(K=klcl) + ssthl0.at(K=klcl) * (plcl - pmid0.at(K=klcl)) qt0lcl = qt0.at(K=klcl) + ssqt0.at(K=klcl) * (plcl - pmid0.at(K=klcl)) - thj, qvj, qlj, qij, qse, id_check = conden(plcl, thl0lcl, qt0lcl, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(plcl, thl0lcl, qt0lcl, esx) if id_check == 1: condensation = True @@ -1702,13 +1700,7 @@ def compute_cin_cinlcl( qij, qse, id_check, - ) = conden( - pifc0[0, 0, 1], - thlsrc, - qtsrc, - ese, - esx, - ) + ) = conden(pifc0[0, 0, 1], thlsrc, qtsrc, esx) if id_check == 1: condensation = True @@ -1766,13 +1758,7 @@ def compute_cin_cinlcl( qij, qse, id_check, - ) = conden( - pifc0[0, 0, 1], - thlsrc, - qtsrc, - ese, - esx, - ) + ) = conden(pifc0[0, 0, 1], thlsrc, qtsrc, esx) if id_check == 1: condensation = True @@ -1829,13 +1815,7 @@ def compute_cin_cinlcl( qij, qse, id_check, - ) = conden( - pifc0, - thlsrc, - qtsrc, - ese, - esx, - ) + ) = conden(pifc0, thlsrc, qtsrc, esx) if id_check == 1 and not stop_cin: condensation = True @@ -1874,13 +1854,7 @@ def compute_cin_cinlcl( qij, qse, id_check, - ) = conden( - pifc0[0, 0, 1], - thlsrc, - qtsrc, - ese, - esx, - ) + ) = conden(pifc0[0, 0, 1], thlsrc, qtsrc, esx) if id_check == 1 and not stop_cin: condensation = True @@ -2877,7 +2851,7 @@ def define_updraft_properties( thlu[0, 0, 1] = thlsrc qtu[0, 0, 1] = qtsrc - thj, qvj, qlj, qij, qse, id_check = conden(prel, thlsrc, qtsrc, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(prel, thlsrc, qtsrc, esx) if id_check == 1: condensation = True @@ -3281,7 +3255,7 @@ def buoyancy_sorting( # liquid water temperature instead of temperature as the argument # of "qsat". But note normal argument of "qsat" is temperature. - thj, qvj, qlj, qij, qse, id_check = conden(pe, thle, qte, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pe, thle, qte, esx) if id_check == 1: condensation = True @@ -3317,10 +3291,10 @@ def buoyancy_sorting( rhomid0j = pe / (constants.MAPL_RDRY * thv0j * exne) qsat_arg = thle * exne qsatpe_tmp = qsat_pe / 100.0 - qs, _ = saturation_specific_humidity(qsat_arg, qsatpe_tmp * 100.0, ese, esx) + qs, _ = saturation_specific_humidity(qsat_arg, qsatpe_tmp * 100.0, esx) excess0 = qte - qs - thj, qvj, qlj, qij, qse, id_check = conden(pe, thlue, qtue, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pe, thlue, qtue, esx) if id_check == 1: condensation = True @@ -3371,7 +3345,7 @@ def buoyancy_sorting( + ((constants.MAPL_LATENT_HEAT_SUBLIMATION / constants.MAPL_CP / exne) * exqi) ) - thj, qvj, qlj, qij, qse, id_check = conden(pe, thlue, qtue, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pe, thlue, qtue, esx) if id_check == 1: condensation = True @@ -3407,7 +3381,7 @@ def buoyancy_sorting( tj = thj * exne # This 'tj' is used for computing thermo. coeffs. below qsat_arg = thlue * exne pe_tmp = qsat_pe / 100.0 - qs, _ = saturation_specific_humidity(qsat_arg, pe_tmp * 100.0, ese, esx) + qs, _ = saturation_specific_humidity(qsat_arg, pe_tmp * 100.0, esx) excessu = qtue - qs # Calculate critical mixing fraction, 'xc'. Mixture with @@ -3461,7 +3435,7 @@ def buoyancy_sorting( thlxsat = thlue + xsat * (thle - thlue) qtxsat = qtue + xsat * (qte - qtue) - thj, qvj, qlj, qij, qse, id_check = conden(pe, thlxsat, qtxsat, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pe, thlxsat, qtxsat, esx) if id_check == 1: condensation = True @@ -3674,13 +3648,7 @@ def buoyancy_sorting( # significantly modify this cloud microphysics, # including precipitation-induced downdraft also. - thj, qvj, qlj, qij, qse, id_check = conden( - pifc0[0, 0, 1], - thlu[0, 0, 1], - qtu[0, 0, 1], - ese, - esx, - ) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], esx) if id_check == 1: condensation = True @@ -3753,13 +3721,7 @@ def buoyancy_sorting( # Update 'thvu(k)' after detraining condensate # from cumulus updraft. - thj, qvj, qlj, qij, qse, id_check = conden( - pifc0[0, 0, 1], - thlu[0, 0, 1], - qtu[0, 0, 1], - ese, - esx, - ) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], esx) if id_check == 1: condensation = True @@ -4201,7 +4163,7 @@ def recalc_condensate( with computation(FORWARD), interval(...): if not condensation: - thj, qvj, qlj, qij, qse, id_check = conden(pifc0.at(K=kpen) + ppen, thlu_top, qtu_top, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0.at(K=kpen) + ppen, thlu_top, qtu_top, esx) with computation(FORWARD), interval(...): if not condensation: @@ -5309,7 +5271,7 @@ def penetrative_entrainment_fluxes( if K <= kpen: thl_prog = thl0 + thlten_sub * dt qt_prog = max(qt0 + qtten_sub * dt, 1.0e-12) - thj, qvj, qlj, qij, qse, id_check = conden(pmid0, thl_prog, qt_prog, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pmid0, thl_prog, qt_prog, esx) if id_check == 1: condensation = True @@ -5637,7 +5599,7 @@ def calc_thermodynamic_tendencies( qlj_2D = 0.0 qij_2D = 0.0 elif K == krel: - thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(prel, thlu, qtu, ese, esx) + thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(prel, thlu, qtu, esx) if id_check == 1: condensation = True @@ -5670,7 +5632,7 @@ def calc_thermodynamic_tendencies( if not condensation: qlubelow = qlj_2D qiubelow = qij_2D - thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], ese, esx) + thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], esx) if id_check == 1: condensation = True @@ -5707,7 +5669,7 @@ def calc_thermodynamic_tendencies( elif K == kpen: if not condensation: - thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(pifc0 + ppen, thlu_top, qtu_top, ese, esx) + thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(pifc0 + ppen, thlu_top, qtu_top, esx) if id_check == 1: condensation = True @@ -5746,7 +5708,7 @@ def calc_thermodynamic_tendencies( else: if not condensation: - thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], ese, esx) + thj, qvj, qlj_2D, qij_2D, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], esx) if id_check == 1: condensation = True @@ -5813,13 +5775,7 @@ def calc_thermodynamic_tendencies( # entrained airs in k = kbup layer. if K == kbup: - thj, qvj, ql_emf_kbup, qi_emf_kbup, qse, id_check = conden( - pmid0, - thlu_emf[0, 0, 1], - qtu_emf[0, 0, 1], - ese, - esx, - ) + thj, qvj, ql_emf_kbup, qi_emf_kbup, qse, id_check = conden(pmid0, thlu_emf[0, 0, 1], qtu_emf[0, 0, 1], esx) if id_check == 1: condensation = True @@ -6163,7 +6119,7 @@ def compute_diagnostic_outputs( """ with computation(FORWARD), interval(...): if not condensation: - thj, qvj, qlj, qij, qse, id_check = conden(prel, thlu.at(K=krel), qtu.at(K=krel), ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(prel, thlu.at(K=krel), qtu.at(K=krel), esx) if id_check == 1: condensation = True @@ -6310,9 +6266,9 @@ def calc_cumulus_condensate_at_interface( # Note 'ppen < 0' and at 'k=kpen' layer, I used 'thlu_top'&'qtu_top' # which explicitly considered zero or non-zero 'fer(kpen)'. if K == kpen: - thj, qvj, qlj, qij, qse, id_check = conden(pifc0 + ppen, thlu_top, qtu_top, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0 + ppen, thlu_top, qtu_top, esx) else: - thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thlu[0, 0, 1], qtu[0, 0, 1], esx) if id_check == 1: condensation = True @@ -6803,7 +6759,7 @@ def recalc_environmental_variables( if not condensation: thl0bot = thl0 + ssthl0 * (pifc0 - pmid0) qt0bot = qt0 + ssqt0 * (pifc0 - pmid0) - thj, qvj, qlj, qij, qse, id_check = conden(pifc0, thl0bot, qt0bot, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0, thl0bot, qt0bot, esx) if id_check == 1: condensation = True umf_out = 0.0 @@ -6838,7 +6794,7 @@ def recalc_environmental_variables( thl0top = thl0 + ssthl0 * (pifc0[0, 0, 1] - pmid0) qt0top = qt0 + ssqt0 * (pifc0[0, 0, 1] - pmid0) - thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thl0top, qt0top, ese, esx) + thj, qvj, qlj, qij, qse, id_check = conden(pifc0[0, 0, 1], thl0top, qt0top, esx) if id_check == 1: condensation = True @@ -8571,7 +8527,6 @@ def __call__(self, state: UWState): pifc0=self.locals.pifc0_in, qtsrc=self.locals.qtsrc, thlsrc=self.locals.thlsrc, - ese=self.ese, esx=self.esx, thl0=self.locals.thl0, ssthl0=self.locals.ssthl0, @@ -9031,7 +8986,6 @@ def __call__(self, state: UWState): thlu=self.locals.thlu, qtu=self.locals.qtu, wu=self.locals.wu, - ese=self.ese, esx=self.esx, qsat_pe=self.locals.qsat_pe, zifc0=self.locals.zifc0_in, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/uwshcu_functions.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/uwshcu_functions.py index ef3a42e22..df5193fff 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/uwshcu_functions.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/UW/uwshcu_functions.py @@ -133,7 +133,6 @@ def conden( p: Float, thl: Float, qt: Float, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, ): """ @@ -143,7 +142,6 @@ def conden( p [Float]: Pressure [Pa] thl [Float]: Liquid potential temperature [K] qt [Float]: Mixing ratio [kg/kg] - ese [GlobalTable_saturation_tables]: Used in QSat_Float [n/a] esx [GlobalTable_saturation_tables]: Used in QSat_Float [n/a] Returns: @@ -168,7 +166,7 @@ def conden( temps: float32 = tc ps: float32 = p ps_tmp = ps / 100.0 - qs, _ = saturation_specific_humidity(temps, ps_tmp * 100.0, ese, esx) + qs, _ = saturation_specific_humidity(temps, ps_tmp * 100.0, esx) rvls = qs if qs >= qt: # no condensation @@ -185,7 +183,7 @@ def conden( constants.MAPL_CP / leff + constants.EPSILON * leff * rvls / (constants.MAPL_RGAS * temps * temps) ) ps_tmp = ps / 100.0 - qs, _ = saturation_specific_humidity(temps, ps_tmp * 100.0, ese, esx) + qs, _ = saturation_specific_humidity(temps, ps_tmp * 100.0, esx) rvls = qs iteration += 1 qc = max(qt - qs, float64(0.0)) @@ -400,7 +398,6 @@ def qsinvert( qt: Float, thl: Float, ps_in: Float, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, ): """ @@ -413,7 +410,6 @@ def qsinvert( qt [Float]: Mixing ratio [kg/kg] thl [Float]: Liquid potential temperature [K] ps_in [Float]: Pressure [Pa] - ese [GlobalTable_saturation_tables]: Used in QSat_Float [n/a] esx [GlobalTable_saturation_tables]: Used in QSat_Float [n/a] Returns: @@ -431,7 +427,7 @@ def qsinvert( Ti: float64 = thl * (ps_in / p00) ** rovcp Tgeos: float32 = Ti Pgeos: float32 = float32(ps_in) - qs, dqsdT = saturation_specific_humidity(Tgeos, Pgeos, ese, esx) + qs, dqsdT = saturation_specific_humidity(Tgeos, Pgeos, esx) es: float64 = ps_in * qs / (constants.EPSILON + (float64(1.0) - constants.EPSILON) * float64(qs)) rhi: float64 = qt / float64(qs) @@ -449,7 +445,7 @@ def qsinvert( Ts: float64 = thl * Pis Tgeos = Ts Pgeos = ps - qs, dqsdT = saturation_specific_humidity(Tgeos, Pgeos, ese, esx) + qs, dqsdT = saturation_specific_humidity(Tgeos, Pgeos, esx) gam: float64 = (constants.MAPL_LATENT_HEAT_VAPORIZATION / constants.MAPL_CP) * float64(dqsdT) err: float64 = qt - qs nu: float64 = ice_fraction(float32(Ts), 0.0, 0.0) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py index a62edde70..89f23c397 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/PhaseChange/hydrostatic_pdf.py @@ -266,7 +266,7 @@ def hydrostatic_pdf( qc_n = (mixing_ratio_large_scale_liquid + mixing_ratio_large_scale_ice) * inv_clcn qc_i = mixing_ratio_large_scale_ice * inv_clcn t_n = t - qs_x, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, ese=ese, esx=esx) + qs_x, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, esx=esx) qv_n = (mixing_ratio_vapor - qs_x * convective_cloud_fraction) * inv_clcn qt = qc_n + qv_n # Total LS water after microphysics @@ -277,7 +277,7 @@ def hydrostatic_pdf( qc_p = qc_n cf_p = cf_n t_p = t_n - qs_n, dqs = saturation_specific_humidity(t=t_n, p=p_mb * 100.0, ese=ese, esx=esx) + qs_n, dqs = saturation_specific_humidity(t=t_n, p=p_mb * 100.0, esx=esx) if PDF_SHAPE < 3: # 1 = top-hat 2 = triangulat sigmaqt1 = alpha * qs_n @@ -417,5 +417,5 @@ def hydrostatic_pdf( mixing_ratio_convective_liquid = 0.0 convective_cloud_fraction = 0.0 - denom, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, ese=ese, esx=esx) + denom, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, esx=esx) relative_humidity = mixing_ratio_vapor / denom diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py index 3a979836f..6a394e5e1 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/finalize.py @@ -100,11 +100,10 @@ def fix_humidity( vapor: FloatField, t: FloatField, p_mb: FloatField, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, ): with computation(PARALLEL), interval(...): - qsat, _ = saturation_specific_humidity(t, p_mb * 100.0, ese, esx) + qsat, _ = saturation_specific_humidity(t, p_mb * 100.0, esx) relative_humidity = vapor / qsat @@ -287,7 +286,6 @@ def __init__( # Dev NOTE: this is an orchestration workaround. Direct call to # `self.saturation_tables.X` fails closure capture for # argument reconstruction at call time - self._ese = self.saturation_tables.ese self._esx = self.saturation_tables.esx def __call__( @@ -431,7 +429,6 @@ def __call__( vapor=mixing_ratio_vapor, t=t, p_mb=local_p_mb, - ese=self._ese, esx=self._esx, ) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py index 7c0197e23..de9d69f17 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/radiation_coupling.py @@ -14,7 +14,6 @@ def update_humidity( pressure: FloatField, vapor: FloatField, humidity: FloatField, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, ): """Update humidity with mixing ratios updated by driver output @@ -24,11 +23,10 @@ def update_humidity( pressure (FloatField) vapor (FloatField) humidity (FloatField) - ese (GlobalTable_saturation_tables) esx (GlobalTable_saturation_tables) """ with computation(PARALLEL), interval(...): - qsat, _ = saturation_specific_humidity(temperature, pressure * 100.0, ese, esx) + qsat, _ = saturation_specific_humidity(temperature, pressure * 100.0, esx) humidity = vapor * qsat @@ -180,6 +178,5 @@ def __call__( pressure=local_p_mb, vapor=mixing_ratio_vapor, humidity=relative_humidity_after_pdf, - ese=self.saturation_tables.ese, esx=self.saturation_tables.esx, ) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py index 12ef1de42..e16d4799f 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/microphysics/GFDL_1M/setup.py @@ -53,7 +53,6 @@ def calculate_derived_states( mass: FloatField, mass_inverse: FloatField, t: FloatField, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, sat: FloatField, dsat: FloatField, @@ -80,7 +79,6 @@ def calculate_derived_states( mass (FloatField) mass_inverse (FloatField) t (FloatField) - ese (GlobalTable_saturation_tables) esx (GlobalTable_saturation_tables) sat (FloatField) dsat (FloatField) @@ -103,7 +101,7 @@ def calculate_derived_states( dp = p_interface[0, 0, 1] - p_interface mass = dp / MAPL_GRAV mass_inverse = 1 / mass - sat, dsat = saturation_specific_humidity(t=t, p=p_mb * 100.0, ese=ese, esx=esx) + sat, dsat = saturation_specific_humidity(t=t, p=p_mb * 100.0, esx=esx) u_unmodified = u v_unmodified = v th = (100.0 * p_mb / MAPL_P00) ** (MAPL_KAPPA) @@ -136,7 +134,6 @@ def find_lcl_level( t: FloatField, p_mb: FloatField, vapor: FloatField, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, lcl_level: IntFieldIJ, ): @@ -147,7 +144,6 @@ def find_lcl_level( t (FloatField): (in) Atmospheric temperature (K) p_mb (FloatField): (in) pressure (mb) vapor (FloatField): (in) water vapor mixing radio (kg/kg) - ese (GlobalTable_saturation_tables): (in) saturation vapor pressure table, details unknown esx (GlobalTable_saturation_tables): (in) saturation vapor pressure table, details unknown lcl_level (IntFieldIJ): (out) LCL level """ @@ -159,7 +155,7 @@ def find_lcl_level( # get LCL pressure with computation(PARALLEL), interval(-1, None): - qsat, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, ese=ese, esx=esx) + qsat, _ = saturation_specific_humidity(t=t, p=p_mb * 100.0, esx=esx) rhsfc = 100 * vapor / qsat tlcl = find_t_lcl(t=t, rh=rhsfc) rm = (1 - vapor) * MAPL_RGAS + vapor * MAPL_RVAP @@ -198,7 +194,6 @@ def compute_estimated_inversion_strength( th700: FloatFieldIJ, z700: FloatFieldIJ, lcl_level: IntFieldIJ, - ese: GlobalTable_saturation_tables, esx: GlobalTable_saturation_tables, lower_tropospheric_stability: FloatFieldIJ, estimated_inversion_strength: FloatFieldIJ, @@ -216,7 +211,6 @@ def compute_estimated_inversion_strength( th700 (FloatFieldIJ) z700 (FloatFieldIJ) lcl_level (IntFieldIJ) - ese (GlobalTable_saturation_tables) esx (GlobalTable_saturation_tables) lower_tropospheric_stability (FloatFieldIJ) estimated_inversion_strength (FloatFieldIJ) @@ -227,7 +221,7 @@ def compute_estimated_inversion_strength( # Simplified single adiabat eq4 of https://doi.org/10.1175/JCLI3988.1 t850 = 0.5 * (t + t700) - qs850, _ = saturation_specific_humidity(t=t850, p=100.0 * 850.0, ese=ese, esx=esx) + qs850, _ = saturation_specific_humidity(t=t850, p=100.0 * 850.0, esx=esx) gamma850 = (1.0 + (MAPL_ALHL * qs850 / (MAPL_RGAS * t850))) / (1.0 + (MAPL_ALHL * MAPL_ALHL * qs850 / (MAPL_CP * MAPL_RVAP * t850 * t850))) gamma850 = MAPL_GRAV / MAPL_CP * (1.0 - gamma850) estimated_inversion_strength = lower_tropospheric_stability - gamma850 * (z700 - lcl_height) @@ -374,7 +368,6 @@ def __init__( # Dev NOTE: this is an orchestration workaround. Direct call to # `self.saturation_tables.X` fails closure capture for # argument reconstruction at call time - self._ese = self.saturation_tables.ese self._esx = self.saturation_tables.esx def __call__( @@ -533,7 +526,6 @@ def __call__( mass=local_mass, mass_inverse=local_mass_inverse, t=t, - ese=self._ese, esx=self.saturation_tables.esx, sat=local_saturation_specific_humidity, dsat=local_dsaturation_specific_humidity, @@ -548,7 +540,6 @@ def __call__( t=t, p_mb=local_p_mb, vapor=mixing_ratio_vapor, - ese=self._ese, esx=self._esx, lcl_level=local_lcl_level, ) @@ -589,7 +580,6 @@ def __call__( th700=self._locals.th700, z700=self._locals.z700, lcl_level=local_lcl_level, - ese=self._ese, esx=self._esx, lower_tropospheric_stability=lower_tropospheric_stability, estimated_inversion_strength=estimated_inversion_strength, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py index 0b68c56c9..a7b9297f6 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/saturation_tables/saturation_specific_humidity_functions.py @@ -105,14 +105,7 @@ def saturation_specific_humidity_liquid_surface( @function -def saturation_specific_humidity( - t, - p, - ese, - esx, - use_ramp=False, - ramp=-999.0, -): +def saturation_specific_humidity(t, p, esx): """Compute saturation specific humidity and derivative saturation specific humidity with respect to temperature from saturation pressure tables. @@ -121,17 +114,12 @@ def saturation_specific_humidity( Arguments: t (Float): temperature in Kelvin p (Float): pressure in Pascals - ese (Float): saturation pressure table in Pascals, specifics unknown esx (Float): saturation pressure table in Pascals, specifics unknown - use_ramp (Bool): trigger for "ramp" option. details unknown - ramp (Float): parameter used for "ramp" option. details unknown Returns: qsat (Float): saturation specific humidity dqsat (Float): derivative saturation specific humidity with respect to temperature """ - if use_ramp: - raise NotImplementedError("The option `use_ramp=True` is not implemented.") if t <= TMINTBL: t = TMINTBL diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py index 640cdbeef..a54f9937d 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py @@ -225,7 +225,6 @@ def compute(self, inputs): stop_buoyancy_sort = self.quantity_factory.zeros(dims=[I_DIM, J_DIM], units="n/a", dtype=bool) saturation_vapor_pressure_table = get_saturation_vapor_pressure_table(self.stencil_factory.backend) - self.ese = saturation_vapor_pressure_table.ese self.esx = saturation_vapor_pressure_table.esx umf_out = self.quantity_factory.zeros(dims=[I_DIM, J_DIM, K_INTERFACE_DIM], units="n/a") @@ -293,7 +292,6 @@ def compute(self, inputs): thlu=thlu, qtu=qtu, wu=wu, - ese=self.ese, esx=self.esx, qsat_pe=qsat_pe, zifc0=zifc0, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py index 290f6fb33..32409dbe5 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py @@ -191,7 +191,6 @@ def compute(self, inputs): ) saturation_vapor_pressure_table = get_saturation_vapor_pressure_table(self.stencil_factory.backend) - self.ese = saturation_vapor_pressure_table.ese self.esx = saturation_vapor_pressure_table.esx umf_out = self.quantity_factory.zeros(dims=[I_DIM, J_DIM, K_INTERFACE_DIM], units="n/a") @@ -222,7 +221,6 @@ def compute(self, inputs): pifc0=pifc0, qtsrc=qtsrc, thlsrc=thlsrc, - ese=self.ese, esx=self.esx, thl0=thl0, ssthl0=ssthl0, diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py index b898804fc..fcc16793f 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/translate_saturation_specific_humidity_functions.py @@ -43,7 +43,7 @@ def test_saturation_specific_humidity_functions( with computation(FORWARD), interval(...): sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100.0) sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100.0) - sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, ese=ese, esx=esx) + sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, esx=esx) def test_saturation_specific_humidity_functions_2d( @@ -64,7 +64,7 @@ def test_saturation_specific_humidity_functions_2d( with computation(FORWARD), interval(0, 1): sat_over_ice, dqsat_over_ice = saturation_specific_humidity_frozen_surface(ese=ese, frz=frz, t=t, p=p * 100.0) sat_over_liquid, dqsat_over_liquid = saturation_specific_humidity_liquid_surface(esw=esw, lqu=lqu, t=t, p=p * 100.0) - sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, ese=ese, esx=esx) + sat, dqsat = saturation_specific_humidity(t=t, p=p * 100.0, esx=esx) class Translatesaturation_specific_humidity_functions(TranslateFortranData2Py): From 567f1641c8bf312307709c140603ea51fbaac240 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Fri, 8 May 2026 16:15:05 +0200 Subject: [PATCH 10/11] tests: undo unpacking "fix" that didn't fix anything --- .../microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py | 2 +- .../microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py | 2 +- .../GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py | 2 +- .../microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py index 6c72a1894..927255dc9 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_FallSpeed.py @@ -55,7 +55,7 @@ def compute(self, inputs): config_dependent_constants = GFDL1MDriverConfigDependentConstants.make(config) # get the shape of the field - nx, ny, nz, _ntimes = inputs["driver_local_p_dry_fallspeed"].shape + nx, ny, nz = inputs["driver_local_p_dry_fallspeed"].shape # preset output dictionary to be filled inside the for loop outputs = {} diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py index 4daa26f20..84c3df00c 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_IceCloud.py @@ -63,7 +63,7 @@ def compute(self, inputs): ) # get the shape of the field - nx, ny, nz, _ntimes = inputs["driver_local_t_icecloud"].shape + nx, ny, nz = inputs["driver_local_t_icecloud"].shape # preset output dictionary to be filled inside the for loop outputs = {} diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py index 6ac661883..84c3df839 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_TerminalFall.py @@ -56,7 +56,7 @@ def compute(self, inputs): # get the shape of the field state = GFDL1MState.zeros(self.quantity_factory) - nx, ny, nz, _ntimes = inputs["driver_local_t_terminalfall"].shape + nx, ny, nz = inputs["driver_local_t_terminalfall"].shape # preset output dictionary to be filled inside the for loop outputs = {} diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py index 201c50e14..19944da96 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/microphysics/GFDL_1M/driver/translate_GFDL_1M_WarmRain.py @@ -71,7 +71,7 @@ def compute(self, inputs): dace_config=self.stencil_factory.config.dace_config, ) - nx, ny, nz, _ntimes = inputs["driver_local_dp_warmrain"].shape + nx, ny, nz = inputs["driver_local_dp_warmrain"].shape # preset output dictionary to be filled inside the for loop outputs = {} From 418c0c8e63d46bfb7bf1ca6d2f03c0d9161c2227 Mon Sep 17 00:00:00 2001 From: Roman Cattaneo Date: Fri, 8 May 2026 18:33:51 +0200 Subject: [PATCH 11/11] don't import from gt4py directly. use what's re-exported from ndsl --- .../GF_2020/cumulus_parameterization/entrainment.py | 2 +- .../GF_2020/cumulus_parameterization/environment.py | 3 +-- .../cumulus_parameterization/shared_stencils.py | 2 +- .../pyMoist/pyMoist/shared/numerical_recipes.py | 13 ++++++------- .../translate_adjust_implicit_CIN_inputs1.py | 2 +- .../translate_adjust_implicit_CIN_inputs2.py | 2 +- .../translate_average_initial_and_final_CIN1.py | 2 +- .../translate_average_initial_and_final_CIN3.py | 2 +- .../translate_buoyancy_sorting.py | 2 +- .../translate_buoyancy_sorting_fluxes.py | 2 +- ...ranslate_calc_cumulus_condensate_at_interface.py | 2 +- .../translate_calc_entrainment_mass_flux.py | 2 +- .../translate_calc_momentum_tendency.py | 2 +- .../UW_translate_tests/translate_calc_pbl_fluxes.py | 2 +- .../UW/UW_translate_tests/translate_calc_ppen.py | 2 +- .../translate_calc_thermodynamic_tendencies.py | 2 +- .../translate_compute_cin_cinlcl.py | 2 +- .../UW_translate_tests/translate_compute_del_CIN.py | 2 +- .../translate_compute_diagnostic_outputs.py | 2 +- .../translate_compute_uwshcu_invert_after.py | 2 +- .../translate_define_env_properties.py | 2 +- .../translate_define_prel_cbmf.py | 2 +- .../translate_define_updraft_properties.py | 2 +- .../UW/UW_translate_tests/translate_find_klcl.py | 2 +- .../UW/UW_translate_tests/translate_find_pbl.py | 2 +- .../translate_penetrative_entrainment_fluxes.py | 2 +- .../translate_prevent_negative_condensate.py | 2 +- .../translate_recalc_condensate.py | 2 +- .../translate_recalc_environmental_variables.py | 2 +- .../translate_tracer_tendencies.py | 2 +- .../translate_update_output_variables1.py | 2 +- .../translate_update_output_variables2.py | 2 +- 32 files changed, 37 insertions(+), 39 deletions(-) diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/entrainment.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/entrainment.py index f1fe3406f..c1c9da7ed 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/entrainment.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/entrainment.py @@ -1,4 +1,4 @@ -from gt4py.cartesian.gtscript import FORWARD, PARALLEL, K, computation, interval +from ndsl.dsl.gt4py import FORWARD, PARALLEL, K, computation, interval from ndsl.dsl.typing import Float, FloatField, FloatFieldIJ, Int, IntFieldIJ from ndsl.stencils.column_operations import column_max_ddim diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/environment.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/environment.py index d7d4a19a6..57c120713 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/environment.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/environment.py @@ -1,5 +1,4 @@ -from gt4py.cartesian.gtscript import BACKWARD, FORWARD, PARALLEL, computation, exp, interval -from ndsl.dsl.gt4py import function +from ndsl.dsl.gt4py import BACKWARD, FORWARD, PARALLEL, computation, exp, function, interval from ndsl.dsl.typing import Float, FloatField, FloatFieldIJ, Int import pyMoist.constants as constants diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/shared_stencils.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/shared_stencils.py index 08755c0e0..900f7740e 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/shared_stencils.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/convection/GF_2020/cumulus_parameterization/shared_stencils.py @@ -1,4 +1,4 @@ -from gt4py.cartesian.gtscript import BACKWARD, FORWARD, PARALLEL, K, computation, interval, sqrt +from ndsl.dsl.gt4py import BACKWARD, FORWARD, PARALLEL, K, computation, interval, sqrt from ndsl.dsl.typing import BoolFieldIJ, FloatField, FloatFieldIJ, Int, IntFieldIJ from ndsl.stencils.column_operations import column_max diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/numerical_recipes.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/numerical_recipes.py index 6375d3af7..4f2d90bdd 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/numerical_recipes.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/pyMoist/shared/numerical_recipes.py @@ -1,8 +1,7 @@ -import gt4py.cartesian.gtscript as gtscript -from gt4py.cartesian.gtscript import exp, float64, log +from ndsl.dsl.gt4py import exp, float64, function, log -@gtscript.function +@function def GammLn(xx: float64) -> float64: """ See numerical recipes, w. press et al., 2nd edition. @@ -34,7 +33,7 @@ def GammLn(xx: float64) -> float64: return tmp + log(stp * ser / x) -@gtscript.function +@function def gser(a: float64, x: float64, gln: float64) -> float64: """ See numerical recipes, w. press et al., 2nd edition. @@ -76,7 +75,7 @@ def gser(a: float64, x: float64, gln: float64) -> float64: return gamser -@gtscript.function +@function def gcf_matrix(a: float64, x: float64, gln: float64) -> float64: """ See numerical recipes, w. press et al., 2nd edition. @@ -119,7 +118,7 @@ def gcf_matrix(a: float64, x: float64, gln: float64) -> float64: return exp(-x + a * log(x) - gln) * h -@gtscript.function +@function def GammP(a: float64, x: float64) -> float64: """ See numerical recipes, w. press et al., 2nd edition. @@ -145,7 +144,7 @@ def GammP(a: float64, x: float64) -> float64: return gammp -@gtscript.function +@function def Erf(x: float64) -> float64: """ See numerical recipes, w. press et al., 2nd edition. diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs1.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs1.py index ba92dab5d..b189d60ad 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs1.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs1.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM +from ndsl.dsl.gt4py import int32 from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs2.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs2.py index 6a5c2f2b6..fea88f79c 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs2.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_adjust_implicit_CIN_inputs2.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN1.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN1.py index 23ba307ef..d9065881b 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN1.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN1.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN3.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN3.py index eff07edec..fbc7a88cc 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN3.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_average_initial_and_final_CIN3.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py index a54f9937d..6ce39dcc1 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting_fluxes.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting_fluxes.py index 59d2f6a41..2f948adbf 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting_fluxes.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_buoyancy_sorting_fluxes.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_cumulus_condensate_at_interface.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_cumulus_condensate_at_interface.py index 1ee246769..e6e0f27aa 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_cumulus_condensate_at_interface.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_cumulus_condensate_at_interface.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_entrainment_mass_flux.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_entrainment_mass_flux.py index c87d92a19..0dba74cb6 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_entrainment_mass_flux.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_entrainment_mass_flux.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_momentum_tendency.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_momentum_tendency.py index 47637e3ee..63383efa6 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_momentum_tendency.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_momentum_tendency.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_pbl_fluxes.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_pbl_fluxes.py index 4d5b32cac..4fd855325 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_pbl_fluxes.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_pbl_fluxes.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_ppen.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_ppen.py index ea4cb7f5f..dfdbb2ff5 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_ppen.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_ppen.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_thermodynamic_tendencies.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_thermodynamic_tendencies.py index 59a824520..26ecfe35e 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_thermodynamic_tendencies.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_calc_thermodynamic_tendencies.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_cin_cinlcl.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_cin_cinlcl.py index 1416b160b..cc7306c3f 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_cin_cinlcl.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_cin_cinlcl.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_del_CIN.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_del_CIN.py index e59880300..2cee0740b 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_del_CIN.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_del_CIN.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM +from ndsl.dsl.gt4py import int32 from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_diagnostic_outputs.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_diagnostic_outputs.py index 27cfc5263..a01cc88ca 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_diagnostic_outputs.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_diagnostic_outputs.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_uwshcu_invert_after.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_uwshcu_invert_after.py index b21d90ec4..a00fb1839 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_uwshcu_invert_after.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_compute_uwshcu_invert_after.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_env_properties.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_env_properties.py index 0b4d58af7..1dbce4c8d 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_env_properties.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_env_properties.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_prel_cbmf.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_prel_cbmf.py index 2b2261ce5..eeeea22ea 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_prel_cbmf.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_prel_cbmf.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_updraft_properties.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_updraft_properties.py index a9c09b3b1..d5f17cfe2 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_updraft_properties.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_define_updraft_properties.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py index 32409dbe5..af1c6a496 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_klcl.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_pbl.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_pbl.py index c055df96c..2b21c307e 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_pbl.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_find_pbl.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_penetrative_entrainment_fluxes.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_penetrative_entrainment_fluxes.py index 077eb6227..0c5f27283 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_penetrative_entrainment_fluxes.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_penetrative_entrainment_fluxes.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_prevent_negative_condensate.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_prevent_negative_condensate.py index 2c4b922ac..5f0c6e885 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_prevent_negative_condensate.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_prevent_negative_condensate.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM +from ndsl.dsl.gt4py import int32 from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_condensate.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_condensate.py index af9ac4795..0f5410aa6 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_condensate.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_condensate.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_environmental_variables.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_environmental_variables.py index 14874061b..99ca26239 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_environmental_variables.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_recalc_environmental_variables.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_tracer_tendencies.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_tracer_tendencies.py index d71789993..abd93e493 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_tracer_tendencies.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_tracer_tendencies.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.savepoint import DataLoader from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables1.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables1.py index 0bac8f570..e11089c67 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables1.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables1.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Float, Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.translate import TranslateFortranData2Py diff --git a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables2.py b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables2.py index f3d9e18d6..bfadf055d 100644 --- a/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables2.py +++ b/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/pyMoist/tests/translate_tests/convection/UW/UW_translate_tests/translate_update_output_variables2.py @@ -1,7 +1,7 @@ from f90nml import Namelist -from gt4py.cartesian.gtscript import int32 from ndsl import StencilFactory from ndsl.constants import I_DIM, J_DIM, K_DIM, K_INTERFACE_DIM +from ndsl.dsl.gt4py import int32 from ndsl.dsl.typing import Float, Int from ndsl.stencils.testing.grid import Grid from ndsl.stencils.testing.translate import TranslateFortranData2Py