iris icon indicating copy to clipboard operation
iris copied to clipboard

Segmentation fault in test using ESMPy on OS X

Open fnattino opened this issue 2 years ago • 2 comments

🐛 Bug Report

Hello again :) . While running Iris tests on OS X, I get a segmentation fault error from one of the tests of the ESMPy regridding function. Maybe this is OS-related, since I see that the same version of ESMF/ESMPy (8.2.0) is used in the CI and seems to give no issue on Linux.

I also see that the target Iris function is deprecated and it will be removed from future releases, so this is likely not so relevant - I thought I would anyway raise the issue in case somebody else bumps in the same problem.

How To Reproduce

On OS X, running the test_global_collapse from lib/iris/tests/experimental/regrid/test_regrid_conservative_via_esmpy.py:

pytest lib/iris/tests/experimental/regrid/test_regrid_conservative_via_esmpy.py -k "test_global_collapse"
gives me a segmentation fault
================================================================ test session starts =================================================================
platform darwin -- Python 3.10.8, pytest-7.2.0, pluggy-1.0.0
rootdir: /Users/fnattino/Programs/iris, configfile: pyproject.toml
plugins: xdist-3.1.0
collected 14 items / 13 deselected / 1 selected                                                                                                      

lib/iris/tests/experimental/regrid/test_regrid_conservative_via_esmpy.py Fatal Python error: Segmentation fault

Current thread 0x00007ff857d594c0 (most recent call first):
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/ESMF/interface/cbindings.py", line 2089 in ESMP_FieldRegridStore
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/ESMF/api/regrid.py", line 184 in __init__
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/ESMF/util/decorators.py", line 81 in new_func
  File "/Users/fnattino/Programs/iris/lib/iris/experimental/regrid_conservative.py", line 296 in regrid_conservative_via_esmpy
  File "/Users/fnattino/Programs/iris/lib/iris/tests/experimental/regrid/test_regrid_conservative_via_esmpy.py", line 385 in test_global_collapse
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/unittest/case.py", line 549 in _callTestMethod
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/unittest/case.py", line 591 in run
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/unittest/case.py", line 650 in __call__
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/unittest.py", line 330 in runtest
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/runner.py", line 167 in pytest_runtest_call
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/runner.py", line 260 in <lambda>
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/runner.py", line 339 in from_call
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/runner.py", line 259 in call_runtest_hook
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/runner.py", line 220 in call_and_report
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/runner.py", line 131 in runtestprotocol
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/runner.py", line 112 in pytest_runtest_protocol
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/main.py", line 349 in pytest_runtestloop
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/main.py", line 324 in _main
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/main.py", line 270 in wrap_session
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/main.py", line 317 in pytest_cmdline_main
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/config/__init__.py", line 167 in main
  File "/opt/miniconda3/envs/iris-dev/lib/python3.10/site-packages/_pytest/config/__init__.py", line 190 in console_main
  File "/opt/miniconda3/envs/iris-dev/bin/pytest", line 10 in <module>

Extension modules: numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, _cffi_backend, unicodedata2, yaml._yaml, xxhash._xxhash, psutil._psutil_osx, psutil._psutil_posix, markupsafe._speedups, scipy._lib._ccallback_c, scipy.sparse._sparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._isolve._iterative, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg._cythonized_array_utils, scipy.linalg._flinalg, scipy.linalg._solve_toeplitz, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_lapack, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy._lib._uarray._uarray, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.fftpack.convolve, cftime._cftime, cf_units._udunits2, scipy.interpolate._fitpack, scipy.interpolate.dfitpack, scipy.interpolate._bspl, scipy.interpolate._ppoly, scipy.spatial._ckdtree, scipy._lib.messagestream, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.spatial.transform._rotation, scipy.interpolate.interpnd, scipy.interpolate._rbfinterp_pythran, numpy.linalg.lapack_lite, scipy.ndimage._nd_image, _ni_label, scipy.ndimage._ni_label, scipy.optimize._minpack2, scipy.optimize._group_columns, scipy.optimize._trlib._trlib, scipy.optimize._lbfgsb, _moduleTNC, scipy.optimize._moduleTNC, scipy.optimize._cobyla, scipy.optimize._slsqp, scipy.optimize._minpack, scipy.optimize._lsq.givens_elimination, scipy.optimize._zeros, scipy.optimize.__nnls, scipy.optimize._highs.cython.src._highs_wrapper, scipy.optimize._highs._highs_wrapper, scipy.optimize._highs.cython.src._highs_constants, scipy.optimize._highs._highs_constants, scipy.linalg._interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap, scipy.optimize._direct, scipy.integrate._odepack, scipy.integrate._quadpack, scipy.integrate._vode, scipy.integrate._dop, scipy.integrate._lsoda, scipy.special.cython_special, scipy.stats._stats, beta_ufunc, scipy.stats._boost.beta_ufunc, binom_ufunc, scipy.stats._boost.binom_ufunc, nbinom_ufunc, scipy.stats._boost.nbinom_ufunc, hypergeom_ufunc, scipy.stats._boost.hypergeom_ufunc, ncf_ufunc, scipy.stats._boost.ncf_ufunc, scipy.stats._biasedurn, scipy.stats._levy_stable.levyst, scipy.stats._hypotests_pythran, scipy.stats._statlib, scipy.stats._mvn, scipy.stats._sobol, scipy.stats._qmc_cy, scipy.stats._unuran.unuran_wrapper, shapely.speedups._speedups, pyproj._compat, pyproj._datadir, pyproj._network, pyproj._geod, pyproj.list, pyproj._crs, pyproj._transformer, pyproj.database, pyproj._sync, cartopy.trace, matplotlib._c_internal_utils, PIL._imaging, matplotlib._path, kiwisolver._cext, matplotlib._image, stratify._conservative, stratify._vinterp (total: 132)
Segmentation fault: 11

Expected behaviour

I see that the regridding in the test is expected to fail and to raise a ValueError within ESMF - however I get segmentation fault. ESMF also leaves the following log file, which I assume it's part of the expected behaviour:

ESMF log file content
20221207 114128.397 ERROR            PET0 ~~~~~~~~~~~~~~~~~~~~ Degenerate Element Detected ~~~~~~~~~~~~~~~~~~~~
20221207 114128.397 ERROR            PET0   degenerate elem. id=1
20221207 114128.397 ERROR            PET0 
20221207 114128.397 ERROR            PET0   degenerate elem. coords (lon [-180 to 180], lat [-90 to 90]) (x,y,z)
20221207 114128.397 ERROR            PET0   -----------------------------------------------------------------
20221207 114128.398 ERROR            PET0     0  (0.000000,  -90.000000)  (0.000000, 0.000000, -1.000000)
20221207 114128.398 ERROR            PET0     1  (0.000000,  -90.000000)  (0.000000, 0.000000, -1.000000)
20221207 114128.398 ERROR            PET0     2  (0.000000,  90.000000)  (0.000000, 0.000000, 1.000000)
20221207 114128.398 ERROR            PET0     3  (0.000000,  90.000000)  (0.000000, 0.000000, 1.000000)
20221207 114128.398 ERROR            PET0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20221207 114128.398 ERROR            PET0 ESMCI_Mesh_Regrid_Glue.C:206 ESMCI_regrid_create() Invalid argument  - - Dst contains a cell which has corners close enough that the cell collapses to a line or point

I have noticed that adding ignore_degenerate=True as argument to ESMF.Regrid() bypasses the problem by skipping the problematic cells. The test still fails (the ValueError is not raised if ignore_degenerate is set to True) but I don't get segmentation fault.

Environment

  • OS & Version: OS X 13.0.1
  • Python environment from conda list(environment built from requirements/ci/iris.yml file):
Full environment here
# packages in environment at /opt/miniconda3/envs/iris-dev:
#
# Name                    Version                   Build  Channel
alabaster                 0.7.12                     py_0    conda-forge
antlr-python-runtime      4.7.2           py310h2ec42d9_1003    conda-forge
atk-1.0                   2.38.0               h1d18e73_1    conda-forge
attrs                     22.1.0             pyh71513ae_1    conda-forge
babel                     2.11.0             pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.11.1             pyha770c72_0    conda-forge
brotli                    1.0.9                hb7f2c08_8    conda-forge
brotli-bin                1.0.9                hb7f2c08_8    conda-forge
brotlipy                  0.7.0           py310h90acd4f_1005    conda-forge
bzip2                     1.0.8                h0d85af4_4    conda-forge
c-ares                    1.18.1               h0d85af4_0    conda-forge
ca-certificates           2022.9.24            h033912b_0    conda-forge
cairo                     1.16.0            h904041c_1014    conda-forge
cartopy                   0.21.0          py310h578c2b2_3    conda-forge
certifi                   2022.9.24          pyhd8ed1ab_0    conda-forge
cf-units                  3.1.1           py310h936d966_2    conda-forge
cffi                      1.15.1          py310ha78151a_2    conda-forge
cfgv                      3.3.1              pyhd8ed1ab_0    conda-forge
cftime                    1.6.2           py310h936d966_1    conda-forge
charset-normalizer        2.1.1              pyhd8ed1ab_0    conda-forge
click                     8.1.3           unix_pyhd8ed1ab_2    conda-forge
cloudpickle               2.2.0              pyhd8ed1ab_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
contourpy                 1.0.6           py310ha23aa8a_0    conda-forge
cryptography              38.0.4          py310hdd0c95c_0    conda-forge
curl                      7.86.0               h581aaea_1    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
dask-core                 2022.12.0          pyhd8ed1ab_0    conda-forge
distlib                   0.3.6              pyhd8ed1ab_0    conda-forge
docutils                  0.17.1          py310h2ec42d9_3    conda-forge
esmf                      8.2.0           mpi_mpich_hcd927a8_102    conda-forge
esmpy                     8.2.0           mpi_mpich_py310hb1b2199_101    conda-forge
exceptiongroup            1.0.4              pyhd8ed1ab_0    conda-forge
execnet                   1.9.0              pyhd8ed1ab_0    conda-forge
expat                     2.5.0                hf0c8a7f_0    conda-forge
filelock                  3.8.2              pyhd8ed1ab_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.14.1               h5bb23bf_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fonttools                 4.38.0          py310h90acd4f_1    conda-forge
freetype                  2.12.1               h3f81eb7_1    conda-forge
fribidi                   1.0.10               hbcb3906_0    conda-forge
fsspec                    2022.11.0          pyhd8ed1ab_0    conda-forge
gdk-pixbuf                2.42.8               h3648f77_1    conda-forge
geos                      3.11.1               hf0c8a7f_0    conda-forge
gettext                   0.21.1               h8a4c099_0    conda-forge
giflib                    5.2.1                hbcb3906_2    conda-forge
graphite2                 1.3.13            h2e338ed_1001    conda-forge
graphviz                  6.0.2                hc51f7b9_0    conda-forge
gtk2                      2.24.33              h7c1209e_2    conda-forge
gts                       0.7.6                hccb3bdf_2    conda-forge
harfbuzz                  5.3.0                h08f8713_0    conda-forge
hdf4                      4.2.15               h7aa5921_5    conda-forge
hdf5                      1.12.2          mpi_mpich_hc154f39_0    conda-forge
icu                       70.1                 h96cf925_0    conda-forge
identify                  2.5.9              pyhd8ed1ab_0    conda-forge
idna                      3.4                pyhd8ed1ab_0    conda-forge
imagehash                 4.3.1              pyhd8ed1ab_0    conda-forge
imagesize                 1.4.1              pyhd8ed1ab_0    conda-forge
importlib-metadata        5.1.0              pyha770c72_0    conda-forge
iniconfig                 1.1.1              pyh9f0ad1d_0    conda-forge
iris-sample-data          2.4.0              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_1    conda-forge
jpeg                      9e                   hac89ed1_2    conda-forge
kiwisolver                1.4.4           py310ha23aa8a_1    conda-forge
krb5                      1.19.3               hb98e516_0    conda-forge
lcms2                     2.14                 h90f4b2a_0    conda-forge
lerc                      4.0.0                hb486fe8_0    conda-forge
libblas                   3.9.0           16_osx64_openblas    conda-forge
libbrotlicommon           1.0.9                hb7f2c08_8    conda-forge
libbrotlidec              1.0.9                hb7f2c08_8    conda-forge
libbrotlienc              1.0.9                hb7f2c08_8    conda-forge
libcblas                  3.9.0           16_osx64_openblas    conda-forge
libcurl                   7.86.0               h581aaea_1    conda-forge
libcxx                    14.0.6               hccf4f1f_0    conda-forge
libdeflate                1.14                 hb7f2c08_0    conda-forge
libedit                   3.1.20191231         h0678c8f_2    conda-forge
libev                     4.33                 haf1e3a3_1    conda-forge
libffi                    3.4.2                h0d85af4_5    conda-forge
libgd                     2.3.3                h1e214de_3    conda-forge
libgfortran               5.0.0           9_5_0_h97931a8_26    conda-forge
libgfortran5              11.3.0              h082f757_26    conda-forge
libglib                   2.74.1               h4c723e1_1    conda-forge
libiconv                  1.17                 hac89ed1_0    conda-forge
liblapack                 3.9.0           16_osx64_openblas    conda-forge
libmo_unpack              3.1.2             h0a44026_1001    conda-forge
libnetcdf                 4.8.1           mpi_mpich_hc6a5375_6    conda-forge
libnghttp2                1.47.0               h5aae05b_1    conda-forge
libopenblas               0.3.21          openmp_h429af6e_3    conda-forge
libpng                    1.6.39               ha978bb4_0    conda-forge
librsvg                   2.54.4               h3d48ba6_0    conda-forge
libsqlite                 3.40.0               ha978bb4_0    conda-forge
libssh2                   1.10.0               h47af595_3    conda-forge
libtiff                   4.4.0                hdb44e8a_4    conda-forge
libtool                   2.4.6             he49afe7_1008    conda-forge
libwebp                   1.2.4                hfa4350a_0    conda-forge
libwebp-base              1.2.4                h775f41a_0    conda-forge
libxcb                    1.13              h0d85af4_1004    conda-forge
libxml2                   2.10.3               hb9e07b5_0    conda-forge
libzip                    1.9.2                h6db710c_1    conda-forge
libzlib                   1.2.13               hfd90126_4    conda-forge
llvm-openmp               15.0.6               h61d9ccf_0    conda-forge
locket                    1.0.0              pyhd8ed1ab_0    conda-forge
markupsafe                2.1.1           py310h90acd4f_2    conda-forge
matplotlib                3.6.2           py310h2ec42d9_0    conda-forge
matplotlib-base           3.6.2           py310he725631_0    conda-forge
mo_pack                   0.2.0           py310h936d966_1008    conda-forge
mpi                       1.0                       mpich    conda-forge
mpi4py                    3.1.4           py310hb3ae6ab_0    conda-forge
mpich                     4.0.3              hd33e60e_100    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
nc-time-axis              1.4.1              pyhd8ed1ab_0    conda-forge
ncurses                   6.3                  h96cf925_1    conda-forge
netcdf-fortran            4.6.0           mpi_mpich_hddcf434_1    conda-forge
netcdf4                   1.6.0           nompi_py310h6892ea4_102    conda-forge
nodeenv                   1.7.0              pyhd8ed1ab_0    conda-forge
numpy                     1.23.5          py310h1b7c290_0    conda-forge
openjpeg                  2.5.0                h5d0d7b0_1    conda-forge
openssl                   3.0.7                hfd90126_1    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pandas                    1.5.2           py310hecf8f37_0    conda-forge
pango                     1.50.12              h7fca291_0    conda-forge
partd                     1.3.0              pyhd8ed1ab_0    conda-forge
pcre2                     10.40                h1c4e4bc_0    conda-forge
pillow                    9.2.0           py310hffcf78b_3    conda-forge
pip                       22.3.1             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               hbcb3906_0    conda-forge
platformdirs              2.5.2              pyhd8ed1ab_1    conda-forge
pluggy                    1.0.0              pyhd8ed1ab_5    conda-forge
pockets                   0.9.1                      py_0    conda-forge
pre-commit                2.20.0          py310h2ec42d9_1    conda-forge
proj                      9.1.0                hcbd9701_0    conda-forge
psutil                    5.9.4           py310h90acd4f_0    conda-forge
pthread-stubs             0.4               hc929b4f_1001    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pydata-sphinx-theme       0.8.1              pyhd8ed1ab_0    conda-forge
pygments                  2.13.0             pyhd8ed1ab_0    conda-forge
pyopenssl                 22.1.0             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pyproj                    3.4.0           py310h8c678d5_2    conda-forge
pyshp                     2.3.1              pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
pytest                    7.2.0              pyhd8ed1ab_2    conda-forge
pytest-xdist              3.1.0              pyhd8ed1ab_0    conda-forge
python                    3.10.8          he7542f4_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-stratify           0.2.post0       py310h936d966_3    conda-forge
python-xxhash             3.0.0           py310h90acd4f_2    conda-forge
python_abi                3.10                    3_cp310    conda-forge
pytz                      2022.6             pyhd8ed1ab_0    conda-forge
pywavelets                1.3.0           py310h936d966_2    conda-forge
pyyaml                    6.0             py310h90acd4f_5    conda-forge
readline                  8.1.2                h3899abd_0    conda-forge
requests                  2.28.1             pyhd8ed1ab_1    conda-forge
scipy                     1.9.3           py310h240c617_2    conda-forge
scitools-iris             3.5.0.dev6+dirty           dev_0    <develop>
setuptools                65.5.1             pyhd8ed1ab_0    conda-forge
setuptools-scm            7.0.5              pyhd8ed1ab_1    conda-forge
shapely                   1.8.5           py310h4e43f2a_2    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
snowballstemmer           2.2.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.3.2.post1        pyhd8ed1ab_0    conda-forge
sphinx                    4.5.0              pyh6c4a22f_0    conda-forge
sphinx-copybutton         0.5.0              pyhd8ed1ab_0    conda-forge
sphinx-gallery            0.11.1             pyhd8ed1ab_0    conda-forge
sphinx-panels             0.6.0              pyhd8ed1ab_0    conda-forge
sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
sphinxcontrib-htmlhelp    2.0.0              pyhd8ed1ab_0    conda-forge
sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
sphinxcontrib-napoleon    0.7                        py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
sphinxcontrib-serializinghtml 1.1.5              pyhd8ed1ab_2    conda-forge
sqlite                    3.40.0               h9ae0607_0    conda-forge
tk                        8.6.12               h5dbffcc_0    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
toolz                     0.12.0             pyhd8ed1ab_0    conda-forge
tornado                   6.2             py310h90acd4f_1    conda-forge
typing-extensions         4.4.0                hd8ed1ab_0    conda-forge
typing_extensions         4.4.0              pyha770c72_0    conda-forge
tzdata                    2022g                h191b570_0    conda-forge
udunits2                  2.2.28               h06ef574_0    conda-forge
ukkonen                   1.0.1           py310ha23aa8a_3    conda-forge
unicodedata2              15.0.0          py310h90acd4f_0    conda-forge
urllib3                   1.26.13            pyhd8ed1ab_0    conda-forge
virtualenv                20.17.0         py310h2ec42d9_0    conda-forge
wheel                     0.38.4             pyhd8ed1ab_0    conda-forge
xorg-libxau               1.0.9                h35c211d_0    conda-forge
xorg-libxdmcp             1.1.3                h35c211d_0    conda-forge
xxhash                    0.8.0                h35c211d_3    conda-forge
xz                        5.2.6                h775f41a_0    conda-forge
yaml                      0.2.5                h0d85af4_2    conda-forge
zipp                      3.11.0             pyhd8ed1ab_0    conda-forge
zlib                      1.2.13               hfd90126_4    conda-forge
zstd                      1.5.2                hfa58983_4    conda-forge

fnattino avatar Dec 07 '22 11:12 fnattino

Heads up @stephenworsley. Even if we're deprecating the API in question, I know we're using ESMPy a lot going forwards so this might be behaviour to watch for.

trexfeathers avatar Dec 09 '22 11:12 trexfeathers

Heads up @stephenworsley. Even if we're deprecating the API in question, I know we're using ESMPy a lot going forwards so this might be behaviour to watch for.

Thanks for the heads up, I believe iris-esmf-regrid is already using the ignore_degenerate=True argument (see here) so I believe this should be fine over there.

stephenworsley avatar Dec 13 '22 14:12 stephenworsley