Dear Simon,

The handling of the constant data is completely up to the implementation of the specific scatterers. For the ScatteringParticle class, for example, this is provided when the object is constructed.
So when the ARTS user calls:

scattering_speciesAddScatteringHabit(...)

an object is created which will hold the scattering data. It will then use it when asked to compute the bulk scattering properties. Since the calculate_bulk_properties(...) method is called on this object, it automatically has access to the required data.

Ah, yes. That is a great solution. Perhaps I could do the same for the absorbers. But I would have to break up the methods so that they are standalone for each absorption tag. Right now, the method that does LBL, for example, will calculate for all the LBL absorption tags, using a common workspace variable for the line catalog (which is internally split by species). All the housekeeping around this is a lot of trouble. Perhaps it would be better to always run it just for a single absorber, and use a technique similar to yours to set up the list, so that each absorber gets the line list he needs. (And similarly for the other types of absorption.)

/Stefan

Reply via email to