How to restart the depletion calculation when 'diff_burnable_mats=True'?

# define materials / geometry / settings

results = openmc.deplete.Results("./depletion_results.h5")
materials = results.export_to_materials(burnup_index=55,path='./materials.xml')
# print(materials)

model = openmc.Model(geometry=geometry, materials=materials, settings=settings)
model.geometry.determine_paths()
# model.run()
model.export_to_xml()
model.export_to_model_xml()
operator = openmc.deplete.CoupledOperator(model,"/home/cool/NuData/dep-chain/chain_casl_pwr.xml",diff_burnable_mats=True)
power = 160e6/geo
max_step = 2 * operator.heavy_metal / power * 1E3
print("\"Maximum\" depletion step: {:.7} [d]".format(max_step))
time_steps = [1/24]
integrator = openmc.deplete.PredictorIntegrator(operator, time_steps, power, timestep_units='d')
integrator.integrate()

I am trying to calculate the end of life temperature coefficient, so I need to read the depletion_results.h5 file and use model.run. But the depletion process is running under diff_burnable_mats=True, so the results.export_to_materials created redundant material. Then I try to continue the integrator.integrate() step to get the keff in openmc_simulation_n0.h5 to calculate the temperature coefficient, but still get the following error:

 Reading model XML file 'model.xml' ...
 Reading cross sections XML file...
 ERROR: Could not find material 4 specified on cell 12
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
  Proc: [[19975,0],0]
  Errorcode: -1

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cool/openmc/paper-marine/7-MTC/dup_eol_37.py", line 792, in <module>
    model.run()
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/model/model.py", line 871, in run
    openmc.run(particles, threads, geometry_debug, restart_file,
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/executor.py", line 314, in run
    _run(args, output, cwd)
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/executor.py", line 125, in _run
    raise RuntimeError(error_msg)
RuntimeError: Could not find material 4 specified on cell 12 -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD Proc: [[19975,0],0] Errorcode: -1 NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. --------------------------------------------------------------------------
(openmc-env) [cool@node01 openmc]$clear

bash: ython: command not found...
(openmc-env) [cool@node01 openmc]$ python /home/cool/openmc/paper-marine/7-MTC/dup_eol_37.py
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=1.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=2.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=10.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=11.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=12.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=13.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=14.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=15.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=16.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=17.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=18.
  warn(msg, IDWarning)
Traceback (most recent call last):
  File "/home/cool/openmc/paper-marine/7-MTC/dup_eol_37.py", line 795, in <module>
    operator = openmc.deplete.CoupledOperator(model,"/home/cool/NuData/dep-chain/chain_casl_pwr.xml",diff_burnable_mats=True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/deplete/coupled_operator.py", line 258, in __init__
    super().__init__(
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/deplete/openmc_operator.py", line 141, in __init__
    self._differentiate_burnable_mats()
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/deplete/coupled_operator.py", line 272, in _differentiate_burnable_mats
    self.model.differentiate_depletable_mats(
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/model/model.py", line 1607, in differentiate_depletable_mats
    self.differentiate_mats(diff_volume_method, depletable_only=True)
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/model/model.py", line 1640, in differentiate_mats
    diff_mat = mat.num_instances > 1
               ^^^^^^^^^^^^^^^^^
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/material.py", line 222, in num_instances
    raise ValueError(
ValueError: Number of material instances have not been determined. Call the Geometry.determine_paths() method.
(openmc-env) [cool@node01 openmc]$ python /home/cool/openmc/paper-marine/7-MTC/dup_eol_37.py
^Bd/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=1.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=2.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=10.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=11.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=12.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=13.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=14.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=15.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=16.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=17.
  warn(msg, IDWarning)
/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Material instance already exists with id=18.
  warn(msg, IDWarning)
Traceback (most recent call last):
  File "/home/cool/openmc/paper-marine/7-MTC/dup_eol_37.py", line 796, in <module>
    operator = openmc.deplete.CoupledOperator(model,"/home/cool/NuData/dep-chain/chain_casl_pwr.xml",diff_burnable_mats=True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/deplete/coupled_operator.py", line 258, in __init__
    super().__init__(
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/deplete/openmc_operator.py", line 141, in __init__
    self._differentiate_burnable_mats()
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/deplete/coupled_operator.py", line 272, in _differentiate_burnable_mats
    self.model.differentiate_depletable_mats(
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/model/model.py", line 1607, in differentiate_depletable_mats
    self.differentiate_mats(diff_volume_method, depletable_only=True)
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/model/model.py", line 1640, in differentiate_mats
    diff_mat = mat.num_instances > 1
               ^^^^^^^^^^^^^^^^^
  File "/home/cool/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/material.py", line 222, in num_instances
    raise ValueError(
ValueError: Number of material instances have not been determined. Call the Geometry.determine_paths() method.

This may not be relevant to your problem, but if your intent is to restart a depletion calculation then integrator.integrate() should be called with write_rates=True (default is false). Else the very first step (or mid-step) after the restart will be taken with zero initial rates and will affect the entire depletion.