 
      
    
      Needed for NetCDF et al.
Needed for NetCDF et al. TODO: explain better
 
      
    
      implicit utility class for extra operations on a group of DoubleVars
implicit utility class for extra operations on a group of DoubleVars
 
      
    
      
     
      
    
      
     
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
      Automatically annotate the process with its software name and version
Automatically annotate the process with its software name and version
 
      
    
      Add a StepHandler to the list
 
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
      Add an annotation
Add an annotation
 
      
    
       
      
    
      A wrapper around the user defined step function to calculate changes.
A wrapper around the user defined step function to calculate changes. This wrapper is the main way that the step function should be called and it has the additional responsibility of calling any StepHandlers.
the time at the beginning of the step
the size of the step (delta-t)
 
      
    
       
      
    
       
      
    
       
      
    
      a list of dimensions and their size/index
a list of dimensions and their size/index
 
      
    
       
      
    
       
      
    
       
      
    
       
      
    
      Finish hook.
Finish hook. Expected to be called once at the end of theprocess.
Finishes the step handlers. Remember to call super.finish if you
override this!
 
      
    
       
      
    
      Parses a JSON string and adds all variable definitions that it finds to this VarContainer.
Parses a JSON string and adds all variable definitions that it finds to this VarContainer.
the Seq of added variables.
 
      
    
       
      
    
       
      
    
       
      
    
      Initialisation hook.
Initialisation hook. Expected to be called once before the process
runs for the first time. Initialises step handlers and adds
basic annotations. Remember to call super.init(t) if you override
this!
the time at the beginning of the simulation
 
      
    
       
      
    
       
      
    
       
      
    
       
      
    
       
      
    
      a process is required to have a name (XXX: really? why?)
a process is required to have a name (XXX: really? why?)
 
      
    
       
      
    
       
      
    
       
      
    
      Reset hook.
Reset hook. May be called as necessary. Resets the step handlers.
May be overridden in sub-classes to reset internal state. Rember
to call super.reset(t) if you do this!
the new time
 
      
    
      All variables defined in this BaseProcess.
All variables defined in this BaseProcess.
 
      
    
      This function takes the state from where it is at time t to where it is at t + tau.
This function takes the state from where it is at time t to where it is at t + tau. This must be supplied by concrete sub-classes. Except for testing, it is always called via the BaseProcess.apply method so that any StepHandlers also get executed.
the time at the beginning of the step
the size of the step (delta-t)
 
      
    
      the list of handlers that run after each step
the list of handlers that run after each step
 
      
    
       
      
    
       
      
    
      Creates a JSON string with all variables in this VarContainer.
Creates a JSON string with all variables in this VarContainer.
 
      
    
       
      
    
       
      
    
      