agnwinds / python

This is the repository for Python, the radiative transfer code used to winds in AGN and other syatems
GNU General Public License v3.0
26 stars 25 forks source link

Confusing radiative transfer control variables #772

Open kslong opened 3 years ago

kslong commented 3 years ago

Currently, we use several variables to control radiation transvariables. These include

rt_mode ioniz_mode macro_ioniz_mode macro_simple matom_radiation

Several of these are just have True or False values, essentially, but the names don't say what this means so one has to go back and look at the definition to find out, or add a comment to explain. It's also not clear that we need this large number of variables. For example, why do we need both an ioniz_mode and a macro_inoniz_mode. We should try to improve this, and possibly combine some variables.

jhmatthews commented 3 years ago

I agree these are confusing. I don't believe any of them can be simply combined (at least not if the old behaviour is desired), because they all control slightly different things.

Here's what they actually do and my assessment of name/utility of each:

kslong commented 3 years ago

I agree making the names more sensible would go a long way to clarifying the situation, although it is not completely obvious to me there could not be some consolidation. For example, macro_ioniz_mode could be simply a check as to what ionization cycle we are in, and macro simple might be a separate rt_mode. matom_radiation as you say might be tied to spectral cycles explcity, or again could be a rt_mode.

If we just change names, these might be possibilities

macro_ioniz_mode --> macro_use_estimators macro_simple --> macro_use_2level_method matom_radiaton --> macro_use_precompted_emissivites

All could be answered by True False