Attempt at unsupported conservative 3D mesh regridding
@sadielbartholomew is already working on this.
Since Sep 10, 2026.
- Dominant language
- Python
- Stars
- 150
- Forks
- 23
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 2
Description
Not something I've seen locally or can as yet recreate there, but as appearing on a CI job, there appears to be somewhere in the logic whereby an attempt is made to do 3D (mesh) regridding via a conservative method, which causes the whole Python process (test suite run) to abort from some sort of uncaught C++ exception.
3D conservative regridding is forbidden because it is not supported by ESMF, even though we have guards against this, e.g:
That said, that catch is for the spherical regridding case, not Cartesian regridding which is what the error seems to be pointing to, so that's where I will be looking in terms of where the unwanted attempt might be emerging.
Under investigation. It is hard to debug when I can't recreate it, but I will see what I can deduce.
Error
From CI job log:
test_Field_regridc_3d_field (test_regrid.RegridTest.test_Field_regridc_3d_field)
3-d Cartesian regridding with Field destination grid. ... libc++abi: terminating due to uncaught exception of type ESMCI::Ex: /Users/runner/miniforge3/conda-bld/esmf_1767773758689/work/src/Infrastructure/Mesh/src/Regridding/ESMCI_Interp.C, line:1470:Meshes with parametric dim == 3 and spatial dim == 3 not supported for 2nd order conservative regridding
Fatal Python error: Aborted
Thread 0x000070000ad5e000 [asyncio_3] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/concurrent/futures/thread.py", line 116 in _worker
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Thread 0x0000700009d5b000 [asyncio_2] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/concurrent/futures/thread.py", line 116 in _worker
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Thread 0x0000700008d58000 [asyncio_1] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/concurrent/futures/thread.py", line 116 in _worker
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Thread 0x0000700007d55000 [asyncio_0] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/concurrent/futures/thread.py", line 116 in _worker
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Thread 0x0000700006d52000 [zarr_io] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/selectors.py", line 548 in select
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/asyncio/base_events.py", line 2019 in _run_once
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/asyncio/base_events.py", line 678 in run_forever
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Thread 0x0000700005d4f000 [ThreadPoolExecutor-0_1] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/concurrent/futures/thread.py", line 116 in _worker
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Thread 0x0000700004d4c000 [fsspecIO] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/selectors.py", line 548 in select
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/asyncio/base_events.py", line 2019 in _run_once
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/asyncio/base_events.py", line 678 in run_forever
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Thread 0x0000700003d49000 [ThreadPoolExecutor-0_0] (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/concurrent/futures/thread.py", line 116 in _worker
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1024 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1082 in _bootstrap_inner
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/threading.py", line 1044 in _bootstrap
Current thread 0x00007ff85541a180 (most recent call first):
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/esmpy/interface/cbindings.py", line 2151 in ESMP_FieldRegridStore
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/esmpy/api/regrid.py", line 194 in __init__
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/esmpy/util/decorators.py", line 59 in new_func
File "/Users/runner/work/cf-python/cf-python/main/cf/regrid/regrid.py", line 2785 in create_esmpy_weights
File "/Users/runner/work/cf-python/cf-python/main/cf/regrid/regrid.py", line 724 in regrid
File "/Users/runner/work/cf-python/cf-python/main/cf/field.py", line 14336 in regridc
File "/Users/runner/work/cf-python/cf-python/cfdm/cfdm/decorators.py", line 171 in verbose_override_wrapper
File "/Users/runner/work/cf-python/cf-python/cfdm/cfdm/decorators.py", line 44 in inplace_wrapper
File "/Users/runner/work/cf-python/cf-python/main/cf/decorators.py", line 71 in precede_with_kwarg_deprecation_check
File "/Users/runner/work/cf-python/cf-python/main/cf/test/test_regrid.py", line 659 in test_Field_regridc_3d_field
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/case.py", line 615 in _callTestMethod
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/case.py", line 669 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/case.py", line 725 in __call__
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/suite.py", line 122 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/suite.py", line 84 in __call__
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/suite.py", line 122 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/suite.py", line 84 in __call__
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/suite.py", line 122 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/suite.py", line 84 in __call__
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/unittest/runner.py", line 257 in run
File "/Users/runner/work/cf-python/cf-python/main/cf/test/run_tests.py", line 114 in run_test_suite
File "/Users/runner/work/cf-python/cf-python/main/cf/test/run_tests.py", line 152 in <module>
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/coverage/execfile.py", line 222 in run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/coverage/cmdline.py", line 1053 in do_run
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/coverage/cmdline.py", line 863 in command_line
File "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/coverage/cmdline.py", line 1174 in main
File "/Users/runner/miniconda3/envs/cf-latest/bin/coverage", line 11 in <module>
Current thread's C stack trace (most recent call first):
Binary file "/Users/runner/miniconda3/envs/cf-latest/bin/python3.14", at _Py_DumpStack+0x42 [0x10b5635b2]
Binary file "/Users/runner/miniconda3/envs/cf-latest/bin/python3.14", at faulthandler_dump_c_stack+0x3f [0x10b5796ff]
Binary file "/Users/runner/miniconda3/envs/cf-latest/bin/python3.14", at faulthandler_fatal_error+0x126 [0x10b579636]
Binary file "/usr/lib/system/libsystem_platform.dylib", at _sigtramp+0x1d [0x7ff813a5831d]
Binary file '<unknown>' [0x10bfb7c90]
Binary file "/usr/lib/system/libsystem_c.dylib", at abort+0x7e [0x7ff81393e476]
Binary file "/usr/lib/libc++abi.dylib", at _ZN10__cxxabiv130__aligned_malloc_with_fallbackEm+0x0 [0x7ff8139d6170]
Binary file "/usr/lib/libc++abi.dylib", at _ZL28demangling_terminate_handlerv+0xf0 [0x7ff8139c72d4]
Binary file "/usr/lib/libobjc.A.dylib", at _ZL15_objc_terminatev+0x68 [0x7ff81364a2f7]
Binary file "/usr/lib/libc++abi.dylib", at _ZSt11__terminatePFvvE+0x6 [0x7ff8139d55bb]
Binary file "/usr/lib/libc++abi.dylib", at __cxa_get_exception_ptr+0x0 [0x7ff8139d8247]
Binary file "/usr/lib/libc++abi.dylib", at _ZN10__cxxabiv1L12failed_throwEPNS_15__cxa_exceptionE+0x0 [0x7ff8139d822c]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at _ZN5ESMCI34calc_2nd_order_conserve_mat_serialERNS_4MeshES1_PS0_RNSt3__16vectorIPNS_13Search_resultENS3_9allocatorIS6_EEEERNS_8IWeightsESC_SC_P13Zoltan_StructbRNS_4WMatE+0x3f0 [0x14f0dd790]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at _ZN5ESMCI6Interp19mat_transfer_serialEiRNS_8IWeightsES2_S2_bRNS_4WMatE+0x137 [0x14f0e6c57]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at _ZN5ESMCI6InterpclEiRNS_8IWeightsEbRNS_4WMatE+0x333 [0x14f0e5523]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at _ZN5ESMCI6regridEPNS_4MeshEPNS_9PointListES1_S3_S1_RNS_8IWeightsEPiS6_S6_S6_S6_S6_PdS6_S6_S6_bRNS_4WMatEb+0x403 [0x14f273543]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at _Z19ESMCI_regrid_createPPN5ESMCI4MeshEPPNS_5ArrayEPPNS_9PointListES2_S5_S8_PiS9_S9_S9_S9_S9_S9_S9_PdS9_S9_S9_S9_S9_S9_PPNS_11RouteHandleES9_S9_S9_PPNS_11TempWeightsESD_S9_S9_S9_PPNS_7TempUDLES9_S5_S9_S9_+0xafb [0x14f215e7b]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at _ZN5ESMCI7MeshCap13regrid_createEPPS0_PPNS_5ArrayEPPNS_9PointListES2_S5_S8_PiS9_S9_S9_S9_S9_S9_S9_PdS9_S9_S9_S9_S9_S9_PPNS_11RouteHandleES9_S9_S9_PPNS_11TempWeightsESD_S9_S9_S9_PPNS_7TempUDLES9_S5_S9_S9_+0x1a3 [0x14f233d93]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at c_esmc_regrid_create_+0x11c [0x14f2b409c]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/libesmf_fullylinked.dylib", at __esmf_regridmod_MOD_esmf_regridstore+0x2b9 [0x14f9711d4]
Binary file "/Users/runner/miniconda3/envs/cf-latest/lib/python3.14/site-packages/numpy/_core/_multiarray_umath.cpython-314-darwin.so", at default_handler+0x0 [0x10e243508]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.