Stim circuits don't have a native option for this kind of error model, because it's incompatible with some of the key performance optimizations used for high speed bulk sampling.
However, you can do this sort of thing by directly driving
stim.TableauSimulator. For example, after telling the tableau simulator to do a layer of operations, you could roll dice to decide whether or not to apply resets:
from typing import Sequence
def apply_decay_error(sim: stim.TableauSimulator,
decayed_qubits = [
for q in affected_qubits
if random.random() < decay_probability
# Note: much more efficient to reset all in one call
stim.TableauSimulator produces samples orders of magnitude slower than
stim.Circuit.compile_sampler would, but it's much more flexible.