Open daviesje opened 3 months ago
I prefer first option. Let's remove recursion and rely on the right boxes being passed in. We need to decide on how the progenitor and descendent redshifts are treated in terms of their effect on the box at hand (caching etc.) an how this interacts with a possible Z_HEAT_MAX
The current behaviour when we use boxes that require another redshift is to recursively generate all required snapshots until we get to the desired redshift.
There are some transparency issues with this since it can be hard to keep track of what redshifts are required and which you have already generated. But more importantly the addition of the stochastic halo fields (which need to be generated in the reverse order) as well as the XraySourceBox (which requires input fields from multiple redshifts) complicates this picture, making it very difficult to perform with recursion.
Two possibilities to simplify the picture are:
run_coeval
/run_lightcone
or to explicitly generate all the required snapshots.