docs: def run_with_snapshots(self, tsnapstart=0., tsnapint=432000.):
          """Run the model forward, yielding to user code at specified intervals.
  
          Parameters
          ----------
  
          tsnapstart : int
              The timestep at which to begin yielding.
          tstapint : int
              The interval at which to yield.
          """
  
          tsnapints = np.ceil(tsnapint/self.dt)
  
          while(self.t < self.tmax):
              self._step_forward()
              if self.t>=tsnapstart and (self.tc%tsnapints)==0:
                  yield self.t
          return