Xp65 conda/analysis3 environment + regional_mom6 versioning

Hey all, I’m trying to run the regional mom6 package after a break. Using this notebook based off the regional_mom6 demo. It’s failing on the bathymetry creation step with error message

ValueError: chunks must have the same number of elements as dimensions. Expected 4 elements, got 2.

I seem to get the same error with analysis3-25.03, -25.04 and -unstable
Regional mom6 version is 0.6.1

I’ve run this notebook before without issue so I thought it might be to do with the conda environment, but I’m not 100% sure what I was using before.

Any ideas?

1 Like

From following the stack trace error from above for regional-mom6 v0.6.1 used, it seems like the error is coming from the xesmf regridder:

Do we know what version of xesfm we have in conda analysis 25.04 compared to the hh5 env 24.07? cc @rbeucher @anton

@mmr0 did you try running with the hh5 env conga-analysis 24.07? Is this OK?

1 Like

@CharlesTurner updated 25.04 yesterday. @CharlesTurner can you check the versions for us please?

1 Like
[ct1163@gadi-login-04 module use /g/data/xp65/public/modules && module load conda/analysis3-25.04
Loading conda/analysis3-25.04
  Loading requirement: singularity
[ct1163@gadi-login-04 ~]$ python -c "import xesmf; print(xesmf.__version__)"
0.8.7
[ct1163@gadi-login-04 ~]$ module unload conda/analysis3-25.04
Unloading conda/analysis3-25.04
  Unloading useless requirement: singularity
[ct1163@gadi-login-04 ~]$ module use /g/data/hh5/public/modules && module load conda/analysis3
Loading conda/analysis3-25.03
  Loading requirement: singularity
[ct1163@gadi-login-04 ~]$ python -c "import xesmf; print(xesmf.__version__)"
0.8.8
[ct1163@gadi-login-04 ~]$ module unload conda/analysis3
Unloading conda/analysis3-25.03
  Unloading useless requirement: singularity
[ct1163@gadi-login-04 ~]$ module load conda/analysis3-24.07
Loading conda/analysis3-24.07
  Loading requirement: singularity
[ct1163@gadi-login-04 ~]$ python -c "import xesmf; print(xesmf.__version__)"
0.8.8
[ct1163@gadi-login-04 ~]$ 

Looks like xesmf has downgraded from 0.8.8 to 0.8.7. The changelog for 0.8.7 => 0.8.8 does involve some changes to chunking.

I’m looking into what might have caused the version to downgrade now.

1 Like

Thanks Navid! Yes I just checked and running it with hh5 env conda-analysis 24.07 solves that problem

Okay, I’ve done some digging and around version 0.8.8 of xesmf, a bunch of version incompatibility pins with esmpy were added.

I haven’t quite pinpointed what this conflicts with, but it seems to be the source of the error. I’ll update when I have more findings.

Hi Madi,

I’ve just been working through some related xesmf issues & bisecting the environment changes.

The conda/analysis3-25.02 & conda/analysis3-25.03 environments contains xesmf 0.8.8, only downgrading to 0.8.7 in analysis3-25.04:

[ct1163@gadi-login-04 ~] $ module use /g/data/xp65/public/modules && module load conda/analysis3-25.02
Loading conda/analysis3-25.02
  Loading requirement: singularity
[ct1163@gadi-login-04 ~]$ pip list | grep 'xesmf'
xesmf                         0.8.8
[ct1163@gadi-login-04 ~]$ module unload conda/analysis3-25.02 
Unloading conda/analysis3-25.02
  Unloading useless requirement: singularity
[ct1163@gadi-login-04 ~]$
[ct1163@gadi-login-04 ~]$ module load conda/analysis3-25.03
Loading conda/analysis3-25.03
  Loading requirement: singularity
[ct1163@gadi-login-04 ~]$ pip list | grep 'xesmf'
xesmf                         0.8.8
[ct1163@gadi-login-04 ~]$ module unload conda/analysis3-25.03
Unloading conda/analysis3-25.03
  Unloading useless requirement: singularity
[ct1163@gadi-login-04 ~]$ 
[ct1163@gadi-login-04 ~]$ module load conda/analysis3-25.04
Loading conda/analysis3-25.04
  Loading requirement: singularity
[ct1163@gadi-login-04 ~]$ pip list | grep 'xesmf'
xesmf                         0.8.7

Assuming that the xesmf downgrade was the root cause of the issue, I would have expected the notebook to run in the 25.02 & 25.03 environments, and fail in the 25.04 environment, so I suspect the issue might be a little bit more complicated.

I’m currently downloading the copernicus data needed in the notebook which is taking a while… more info to come.

Hi Madi,

I’ve just run this in the conda/analysis3-25.02 environment sucessfully & reproduced the error you were getting with conda/analysis3-25.04.

The conda/analysis3-25.03 environment produces this segmentation fault:

[gadi-cpu-bdw-0102:1663307:0:1663307] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x20)
BFD: Dwarf Error: Can't find .debug_ranges section.
...

I can’t remember the details but I think @anton was running into these BFD Dwarf Errors somewhere too.

For now, are you able to use 25.02 or lower? Working out how to fix these environment conflicts can be a slow process.

Hi Charles,

Thanks so much for looking into this. I didn’t notice that -25.03 produced a different error. Oops!

Yes I have just successfully run the notebook using -25.02. No errors! Very happy using that for the moment. If you want me to test other versions at a later stage, I’m happy to.

Thanks!

@helen @navidcy I’d like to help others avoid this issue. In a sense, the current instructions are OK since they point to the Cosima Cookbook which still recommends hh5 analysis3, which works. It might be good to note somewhere that xp65 analysis3-25.02 also works, though? And to avoid later versions for the moment?

2 Likes

I have put a link to this thread on the instructions post.
When this is fixed, we should update the Cosima Cookbook to point to the Xp65 analysis3!

From @rbeucher:

I found out that the ucx and python-ucx packages were not installed in the conda/analysis3-25.03 and conda/analysis3-25.04. I have no idea how they got dropped.
I have added them to conda/analysis3-25.05. UCX control communication between Gadi nodes so this might be the cause of some issues we had recently.

For anyone reading this in the future & experiencing segmentation faults in either the conda/analysis3-25.03 & conda/analysis3-25.04, either upgrading to conda/analysis3-25.05 or later or downgrading to conda/analysis3-25.02 is probably a good first step.

I don’t know if this is related, but I am getting a long error message when I run

expt.setup_ocean_state_boundaries(
    raw_boundaries_path=Path(tmp_dir),
    varnames=ocean_varnames,
    arakawa_grid="B"
)

But I know this code used to work no problems and the files are in the correct place!

“ValueError Traceback (most recent call last)
Cell In[19], line 8
6 #raw_boundaries_path=Path(tmp_dir),
7 from pathlib import Path
----> 8 expt.setup_ocean_state_boundaries(
9 raw_boundaries_path=Path(tmp_dir),
10 varnames=ocean_varnames,
11 arakawa_grid=“B”
12 )
File ~/.local/lib/python3.10/site-packages/regional_mom6/regional_mom6.py:1621, in experiment.setup_ocean_state_boundaries(self, raw_boundaries_path, varnames, arakawa_grid, bathymetry_path, rotational_method)
1619 # Now iterate through our four boundaries
1620 for orientation in self.boundaries:
→ 1621 self.setup_single_boundary(
1622 Path(raw_boundaries_path / (orientation + “unprocessed.nc")),
1623 varnames,
1624 orientation, # The cardinal direction of the boundary
1625 self.find_MOM6_rectangular_orientation(
1626 orientation
1627 ), # A number to identify the boundary; indexes from 1
1628 arakawa_grid=arakawa_grid,
1629 bathymetry_path=bathymetry_path,
1630 rotational_method=rotational_method,
1631 )
File ~/.local/lib/python3.10/site-packages/regional_mom6/regional_mom6.py:1685, in experiment.setup_single_boundary(self, path_to_bc, varnames, orientation, segment_number, arakawa_grid, bathymetry_path, rotational_method)
1669 raise FileNotFoundError(
1670 f"Boundary file not found at {path_to_bc}. Please ensure that the files are named in the format east_unprocessed.nc."
1671 )
1672 self.segments[orientation] = segment(
1673 hgrid=self.hgrid,
1674 bathymetry_path=bathymetry_path,
(…)
1682 repeat_year_forcing=self.repeat_year_forcing,
1683 )
→ 1685 self.segments[orientation].regrid_velocity_tracers(
1686 rotational_method=rotational_method
1687 )
1689 print(“Done.”)
1690 return
File ~/.local/lib/python3.10/site-packages/regional_mom6/regional_mom6.py:3057, in segment.regrid_velocity_tracers(self, rotational_method)
3053 segment_out = xr.merge([rotated_ds, regridded.drop_vars([self.u, self.v])])
3055 if self.arakawa_grid == “B”:
3056 ## All tracers on one grid, all velocities on another
→ 3057 regridder_velocity = rgd.create_regridder(
3058 rawseg[self.u].rename({self.xq: “lon”, self.yq: “lat”}),
3059 coords,
3060 self.outfolder
3061 / f"weights/bilinear_velocity_weights
{self.orientation}.nc”,
3062 )
3063 regridder_tracer = rgd.create_regridder(
3064 rawseg[self.tracers[“salt”]].rename({self.xh: “lon”, self.yh: “lat”}),
3065 coords,
3066 self.outfolder
3067 / f"weights/bilinear_tracer_weights_{self.orientation}.nc”,
3068 )
3070 velocities_out = regridder_velocity(
3071 rawseg[[self.u, self.v]].rename({self.xq: “lon”, self.yq: “lat”})
3072 )
File ~/.local/lib/python3.10/site-packages/regional_mom6/regridding.py:243, in create_regridder(forcing_variables, output_grid, outfile, method, locstream_out, periodic)
217 “”"
218 Basic regridder for any forcing variables. This is essentially a wrapper for
219 the xesmf regridder with some default parameter choices.
(…)
239 The regridding object
240 “”"
241 regridding_logger.info(“Creating Regridder”)
→ 243 regridder = xe.Regridder(
244 forcing_variables,
245 output_grid,
246 method=method,
247 locstream_out=locstream_out,
248 periodic=periodic,
249 filename=outfile,
250 reuse_weights=False,
251 )
253 return regridder
File ~/.local/lib/python3.10/site-packages/xesmf/frontend.py:928, in Regridder.init(self, ds_in, ds_out, method, locstream_in, locstream_out, periodic, parallel, **kwargs)
925 grid_out, shape_out, output_dims = ds_to_ESMFgrid(ds_out, need_bounds=need_bounds)
927 # Create the BaseRegridder
→ 928 super().init(
929 grid_in,
930 grid_out,
931 method,
932 input_dims=input_dims,
933 output_dims=output_dims,
934 parallel=parallel,
935 **kwargs,
936 )
938 # Record output grid and metadata
939 lon_out, lat_out = _get_lon_lat(ds_out)
File ~/.local/lib/python3.10/site-packages/xesmf/frontend.py:372, in BaseRegridder.init(self, grid_in, grid_out, method, filename, reuse_weights, extrap_method, extrap_dist_exponent, extrap_num_src_pnts, weights, ignore_degenerate, input_dims, output_dims, unmapped_to_nan, parallel)
370 if not parallel:
371 if not reuse_weights and weights is None:
→ 372 weights = self._compute_weights() # Dictionary of weights
373 else:
374 weights = filename if filename is not None else weights
File ~/.local/lib/python3.10/site-packages/xesmf/frontend.py:439, in BaseRegridder._compute_weights(self)
438 def _compute_weights(self):
→ 439 regrid = esmf_regrid_build(
440 self.grid_in,
441 self.grid_out,
442 self.method,
443 extrap_method=self.extrap_method,
444 extrap_dist_exponent=self.extrap_dist_exponent,
445 extrap_num_src_pnts=self.extrap_num_src_pnts,
446 ignore_degenerate=self.ignore_degenerate,
447 )
449 w = regrid.get_weights_dict(deep_copy=True)
450 esmf_regrid_finalize(regrid) # only need weights, not regrid object
File ~/.local/lib/python3.10/site-packages/xesmf/backend.py:484, in esmf_regrid_build(sourcegrid, destgrid, method, filename, extra_dims, extrap_method, extrap_dist_exponent, extrap_num_src_pnts, ignore_degenerate)
481 if allow_masked_values:
482 kwargs.update(dict(src_mask_values=[0], dst_mask_values=[0]))
→ 484 regrid = ESMF.Regrid(sourcefield, destfield, **kwargs)
486 return regrid
File /g/data/hh5/public/apps/miniconda3/envs/analysis3-24.04/lib/python3.10/site-packages/esmpy/util/decorators.py:59, in initialize..new_func(*args, **kwargs)
56 from esmpy.api import esmpymanager
58 esmp = esmpymanager.Manager(debug = False)
—> 59 return func(*args, **kwargs)
File /g/data/hh5/public/apps/miniconda3/envs/analysis3-24.04/lib/python3.10/site-packages/esmpy/api/regrid.py:179, in Regrid.init(self, srcfield, dstfield, filename, rh_filename, src_mask_values, dst_mask_values, regrid_method, pole_method, regrid_pole_npoints, line_type, norm_type, extrap_method, extrap_num_src_pnts, extrap_dist_exponent, extrap_num_levels, unmapped_action, ignore_degenerate, create_rh, filemode, src_file, dst_file, src_file_type, dst_file_type, factors, large_file, src_frac_field, dst_frac_field)
176 fil = None
177 num_factors = None
→ 179 self._routehandle = ESMP_FieldRegridStore(
180 srcfield,
181 dstfield,
182 srcMaskValues=src_mask_values,
183 dstMaskValues=dst_mask_values,
184 regridmethod=regrid_method,
185 polemethod=pole_method,
186 regridPoleNPnts=regrid_pole_npoints,
187 lineType=line_type,
188 normType=norm_type,
189 extrapMethod=extrap_method,
190 extrapNumSrcPnts=extrap_num_src_pnts,
191 extrapDistExponent=extrap_dist_exponent,
192 extrapNumLevels=extrap_num_levels,
193 unmappedaction=unmapped_action,
194 ignoreDegenerate=ignore_degenerate,
195 factorList=fl,
196 factorIndexList=fil,
197 numFactors=num_factors,
198 srcFracField=src_frac_field,
199 dstFracField=dst_frac_field
200 )
202 # If we are returning factors, store them and cast/convert from
203 # ctypes
204 if factors:
File /g/data/hh5/public/apps/miniconda3/envs/analysis3-24.04/lib/python3.10/site-packages/esmpy/interface/cbindings.py:2133, in ESMP_FieldRegridStore(srcField, dstField, srcMaskValues, dstMaskValues, regridmethod, polemethod, regridPoleNPnts, lineType, normType, extrapMethod, extrapNumSrcPnts, extrapDistExponent, extrapNumLevels, unmappedaction, ignoreDegenerate, factorList, factorIndexList, numFactors, srcFracField, dstFracField)
2109 arg_factorIndexList = ct.byref(factorIndexList)
2111 rc = _ESMF.ESMC_FieldRegridStore(srcField.struct.ptr,
2112 dstField.struct.ptr,
2113 srcMaskValues_i,
(…)
2130 srcFracField,
2131 dstFracField)
→ 2133 handle_esmf_error(rc, ‘ESMC_FieldRegridStore’)
2135 # Assign the outgoing pointer for the factor count if we are returning
2136 # factors.
2137 if not isinstance(factorList, type(None)):
File /g/data/hh5/public/apps/miniconda3/envs/analysis3-24.04/lib/python3.10/site-packages/esmpy/interface/cbindings.py:26, in handle_esmf_error(rc, esmf_name)
24 if rc != constants._ESMP_SUCCESS:
25 msg = esmf_name + ’ failed with rc = ’ + str(rc) + '. ’ + constants._errmsg
—> 26 raise ValueError(msg)
ValueError: ESMC_FieldRegridStore failed with rc = 6. Please check the log files (named “*ESMF_LogFile”).
"

Hi Lizzie, your stack trace is indicating you’re using conda/analysis3-25.04 (see the part I quoted above). Can you try updating to conda/analysis3-25.05 and let us know if that fixes it?

1 Like

I had installed a different version of regional MOM6 onto that environment which I had been using without problems for a few weeks. I am very sure I didn’t do it in a clean way which explains why it is now broken! I would like to carry on using this version, rather than the version on the xp65 envs, I just don’t know the best way to do that?

As a side note, switching into the new xp65 managed env’s wasn’t working, I was getting the same issues as Paul in this thread Running xp65 analysis on ARE and had to delete some conda files and alter my .bashrc file to get the new envs working!

I have just tried running this again in the conda/analysis3-25.05 environment and am getting the same error as before

--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[28], line 2 1 # Set up the four boundary conditions. ----> 2 expt.setup_ocean_state_boundaries( 3 Path(tmp_dir), 4 ocean_varnames, 5 arakawa_grid = “B” 6 ) File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/regional_mom6/regional_mom6.py:1483, in experiment.setup_ocean_state_boundaries(self, raw_boundaries_path, varnames, arakawa_grid, bathymetry_path, rotational_method, regridding_method, fill_method) 1481 # Now iterate through our four boundaries 1482 for orientation in self.boundaries: → 1483 self.setup_single_boundary( 1484 Path(raw_boundaries_path / (orientation + “_unprocessed.nc”)), 1485 varnames, 1486 orientation, # The cardinal direction of the boundary 1487 self.find_MOM6_rectangular_orientation( 1488 orientation 1489 ), # A number to identify the boundary; indexes from 1 1490 arakawa_grid=arakawa_grid, 1491 bathymetry_path=bathymetry_path, 1492 rotational_method=rotational_method, 1493 regridding_method=regridding_method, 1494 fill_method=fill_method, 1495 ) File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/regional_mom6/regional_mom6.py:1558, in experiment.setup_single_boundary(self, path_to_bc, varnames, orientation, segment_number, arakawa_grid, bathymetry_path, rotational_method, regridding_method, fill_method) 1542 raise FileNotFoundError( 1543 f"Boundary file not found at {path_to_bc}. Please ensure that the files are named in the format east_unprocessed.nc." 1544 ) 1545 self.segments[orientation] = segment( 1546 hgrid=self.hgrid, 1547 bathymetry_path=bathymetry_path, (…) 1555 repeat_year_forcing=self.repeat_year_forcing, 1556 ) → 1558 self.segments[orientation].regrid_velocity_tracers( 1559 rotational_method=rotational_method, 1560 regridding_method=regridding_method, 1561 fill_method=fill_method, 1562 ) 1564 print(“Done.”) 1565 return File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/regional_mom6/regional_mom6.py:2748, in segment.regrid_velocity_tracers(self, rotational_method, regridding_method, fill_method) 2744 segment_out = xr.merge([rotated_ds, regridded.drop_vars([self.u, self.v])]) 2746 if self.arakawa_grid == “B”: 2747 ## All tracers on one grid, all velocities on another → 2748 regridder_velocity = rgd.create_regridder( 2749 rawseg[self.u].rename({self.xq: “lon”, self.yq: “lat”}), 2750 coords, 2751 self.outfolder 2752 / f"weights/bilinear_velocity_weights_{self.orientation}.nc", 2753 method=regridding_method, 2754 ) 2755 regridder_tracer = rgd.create_regridder( 2756 rawseg[self.tracers[“salt”]].rename({self.xh: “lon”, self.yh: “lat”}), 2757 coords, (…) 2760 method=regridding_method, 2761 ) 2763 velocities_out = regridder_velocity( 2764 rawseg[[self.u, self.v]].rename({self.xq: “lon”, self.yq: “lat”}) 2765 ) File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/regional_mom6/regridding.py:252, in create_regridder(forcing_variables, output_grid, outfile, method, locstream_out, periodic) 249 else: 250 reuse_weights = False → 252 regridder = xe.Regridder( 253 forcing_variables, 254 output_grid, 255 method=method, 256 locstream_out=locstream_out, 257 periodic=periodic, 258 filename=outfile, 259 reuse_weights=reuse_weights, 260 ) 262 return regridder File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/xesmf/frontend.py:928, in Regridder.init(self, ds_in, ds_out, method, locstream_in, locstream_out, periodic, parallel, **kwargs) 925 grid_out, shape_out, output_dims = ds_to_ESMFgrid(ds_out, need_bounds=need_bounds) 927 # Create the BaseRegridder → 928 super().init( 929 grid_in, 930 grid_out, 931 method, 932 input_dims=input_dims, 933 output_dims=output_dims, 934 parallel=parallel, 935 **kwargs, 936 ) 938 # Record output grid and metadata 939 lon_out, lat_out = _get_lon_lat(ds_out) File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/xesmf/frontend.py:372, in BaseRegridder.init(self, grid_in, grid_out, method, filename, reuse_weights, extrap_method, extrap_dist_exponent, extrap_num_src_pnts, weights, ignore_degenerate, input_dims, output_dims, unmapped_to_nan, parallel) 370 if not parallel: 371 if not reuse_weights and weights is None: → 372 weights = self._compute_weights() # Dictionary of weights 373 else: 374 weights = filename if filename is not None else weights File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/xesmf/frontend.py:439, in BaseRegridder._compute_weights(self) 438 def _compute_weights(self): → 439 regrid = esmf_regrid_build( 440 self.grid_in, 441 self.grid_out, 442 self.method, 443 extrap_method=self.extrap_method, 444 extrap_dist_exponent=self.extrap_dist_exponent, 445 extrap_num_src_pnts=self.extrap_num_src_pnts, 446 ignore_degenerate=self.ignore_degenerate, 447 ) 449 w = regrid.get_weights_dict(deep_copy=True) 450 esmf_regrid_finalize(regrid) # only need weights, not regrid object File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/xesmf/backend.py:484, in esmf_regrid_build(sourcegrid, destgrid, method, filename, extra_dims, extrap_method, extrap_dist_exponent, extrap_num_src_pnts, ignore_degenerate) 481 if allow_masked_values: 482 kwargs.update(dict(src_mask_values=[0], dst_mask_values=[0])) → 484 regrid = ESMF.Regrid(sourcefield, destfield, **kwargs) 486 return regrid File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/esmpy/util/decorators.py:59, in initialize..new_func(*args, **kwargs) 56 from esmpy.api import esmpymanager 58 esmp = esmpymanager.Manager(debug = False) —> 59 return func(*args, **kwargs) File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/esmpy/api/regrid.py:179, in Regrid.init(self, srcfield, dstfield, filename, rh_filename, src_mask_values, dst_mask_values, regrid_method, pole_method, regrid_pole_npoints, line_type, norm_type, extrap_method, extrap_num_src_pnts, extrap_dist_exponent, extrap_num_levels, unmapped_action, ignore_degenerate, create_rh, filemode, src_file, dst_file, src_file_type, dst_file_type, factors, large_file, src_frac_field, dst_frac_field) 176 fil = None 177 num_factors = None → 179 self._routehandle = ESMP_FieldRegridStore( 180 srcfield, 181 dstfield, 182 srcMaskValues=src_mask_values, 183 dstMaskValues=dst_mask_values, 184 regridmethod=regrid_method, 185 polemethod=pole_method, 186 regridPoleNPnts=regrid_pole_npoints, 187 lineType=line_type, 188 normType=norm_type, 189 extrapMethod=extrap_method, 190 extrapNumSrcPnts=extrap_num_src_pnts, 191 extrapDistExponent=extrap_dist_exponent, 192 extrapNumLevels=extrap_num_levels, 193 unmappedaction=unmapped_action, 194 ignoreDegenerate=ignore_degenerate, 195 factorList=fl, 196 factorIndexList=fil, 197 numFactors=num_factors, 198 srcFracField=src_frac_field, 199 dstFracField=dst_frac_field 200 ) 202 # If we are returning factors, store them and cast/convert from 203 # ctypes 204 if factors: File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/esmpy/interface/cbindings.py:2133, in ESMP_FieldRegridStore(srcField, dstField, srcMaskValues, dstMaskValues, regridmethod, polemethod, regridPoleNPnts, lineType, normType, extrapMethod, extrapNumSrcPnts, extrapDistExponent, extrapNumLevels, unmappedaction, ignoreDegenerate, factorList, factorIndexList, numFactors, srcFracField, dstFracField) 2109 arg_factorIndexList = ct.byref(factorIndexList) 2111 rc = _ESMF.ESMC_FieldRegridStore(srcField.struct.ptr, 2112 dstField.struct.ptr, 2113 srcMaskValues_i, (…) 2130 srcFracField, 2131 dstFracField) → 2133 handle_esmf_error(rc, ‘ESMC_FieldRegridStore’) 2135 # Assign the outgoing pointer for the factor count if we are returning 2136 # factors. 2137 if not isinstance(factorList, type(None)): File /g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/esmpy/interface/cbindings.py:26, in handle_esmf_error(rc, esmf_name) 24 if rc != constants._ESMP_SUCCESS: 25 msg = esmf_name + ’ failed with rc = ’ + str(rc) + '. ’ + constants._errmsg —> 26 raise ValueError(msg) ValueError: ESMC_FieldRegridStore failed with rc = 6. Please check the log files (named “*ESMF_LogFile”).

Just a forum tip @Lizzie, if you use code formatting for your error traceback it makes it much easier to read. See the section on including code in the forum user guide.

1 Like

Hey @Lizzie, only just getting an opportunity to look at this now.

Could you provide a minimal example I could use to reproduce the failure and I’ll see if we can work out the source of issue?

4 posts were split to a new topic: Update_buffer_pos .NE. unpack_buffer_pos