Hi Stuart, The only two species (and this can be extended) that are passed to the predefined models interface currently are O2 and H2O. (It is fairly easy to add more molecules.)
To walk through the interface as a user: In a call to propmat_clearskyAddPredefined in m_predefined_absorption_models.cc, you are computing a type called "Absorption::PredefinedModel::VMRS" and storing this to an instance "vmr". All computations happen inside a function named "Absorption::PredefinedModel::compute", which gets "vmr" passed to it. This function simply passes this instance along to a function in predefined_absorption_models.cc called "compute_selection". In "compute_selection" the "vmr" instance is split into its components, so you can pass both H2O VMR and O2 VMR along to some underlying function. These are accessed here as "vmr.O2" and "vmr.H2O". So for your new predefined model, simply define it to take vmro2 and vmrh2o as inputs. You anyways have to define how you interface with your new function in the list in "compute_selection". In that definition, pass along both vmr.O2 and vmr.H2O to the relevant positions. This should be enough. With hope, //Richard Den tors 10 mars 2022 kl 16:07 skrev Fox, Stuart < [email protected]>: > Hi ARTS developers, > > > > I’m trying to add the latest version of the Rosenkranz absorption models > into ARTS for a study we are currently doing. One of the “features” of the > model is that the oxygen absorption calculation has a dependence on the > water vapour density (due to the fact that the water vapour is more > efficient at line broadening than dry air). However, as far as I understand > it the oxygen absorption routine (under the “modern” system) will not get > passed the water vapour vmr. Is this correct, and is there any way around > this? > > > > Thanks, as always, for your help, > > > > Stuart >
