Dear Stuart, yes, exactly, thanks for pointing this out. :-) I had completely forgotten about this.
This problem is related but slightly different: The VMR profile that we get as input may be based on the convention that x = p_species/p_dry, rather than p_species/p_total. I just quickly checked the FASCOD profiles that we distribute with arts-xml-data. Looking at O2 and N2, it seems to me that they clearly follow this convention (the numbers for O2 are constant almost to the top). That means, we have been interpreting them slightly wrong all these years, I’m afraid. To fix the particular issue with the FASCOD data, I guess a condensibles argument, similar to the one for atm_fields_compactAddConstant for AtmRawRead could be a solution. What makes this a bit messy is that there are quite a few ways in which we can ingest data. We would have to figure out where else to add this extra argument. But one other main way, reading in atm_fields_compact, uses a generic method, so that approach doesn’t even work. Another solution could be to make a method that does the rescaling on the fields after they are read (but before the calculation). Something like vmr_fieldRescaleForDryPressureVMRInputData(vmr_field, abs_species, condensibles) Right now I would say that is the best solution, since it is easy and fixes the problem in one place. The only (quite significant) downside I see is that it is not at all foolproof, since it can easily be omitted. /Stefan On 16 Sep 2021, at 12:40, Fox, Stuart wrote: >> It seems a bit weird to me to use this definition at the (low) level of the >> absorption routines. Perhaps one solutions would be to have an option for >> this behaviour when ingesting concentration profile data? Perhaps by > >> passing in a list of species that should be considered as not adding to the >> denominator for the VMR definition. > > Is this behaviour not what the "condensibles" argument to > atm_fields_compactAddConstant already does? That was my understanding from > reading the documentation! > > I'm quite happy with the definition of VMR as it is, having just spent ages > trying to get my head around what the "correct" VMRs for O2 and N2 are to > pass to the legacy complete absorption models in order to reproduce the > expected absorption, since lots of these models seem to have a default > assumption about what the VMR is built in to the line-strength constants. > > Stuart