Certain species, such as O2, and H2O, which we call ambient, are assumed to have infinite supply in the environment.
Ambient species may be used in reactions, but cannot be used in expressions. They do not have initial populations, which means that their initial population is 0 by default.
Comprehensive approach for ambient species:
At initialization
- Input list of ambient species (best identified by a boolean value in WC Lang species types)
- The mass of ambient species must be 0
- Set the population of ambient species to 0
- Prohibit use of ambient species in expressions
During simulation
- Disable negative population exceptions or negative population warnings for ambient species
- Don't include ambient species in predictions