9using HitranMap = std::map<Index, std::map<char, std::pair<Index, Numeric>>>;
393using OurHitranMap = std::map<Index, std::map<char, Species::IsotopeRecord>>;
400 for (
auto& specs : string_map) {
401 ARTS_ASSERT(specs.second.find(
'1') not_eq specs.second.cend(),
402 "Must have species '1' in map")
403 for (
auto& isot : specs.second) {
405 "Undefined species in ARTS found in HITRAN data")
406 species_map[specs.first][isot.first] =
425 if (
auto species_list = hitmap.find(molnum); species_list not_eq hitmap.cend()) {
426 if (
auto species_info = species_list -> second.find(isonum); species_info not_eq species_list -> second.cend()) {
433 " does not exist in ARTS' HITRAN implementation\n"
434 "If you are using a new version of HITRAN that has added the species, please consider\n"
435 "contacting the ARTS developers so we can append the species to our list and make this work.\n");
448 for (
auto& x : data) {
449 for (
auto& y : x.second) {
450 out.
data[y.second.first] = y.second.second;
#define ARTS_ASSERT(condition,...)
#define ARTS_USER_ERROR(...)
NUMERIC Numeric
The type to use for all floating point numbers.
INDEX Index
The type to use for all integer numbers and indices.
std::map< Index, std::map< char, std::pair< Index, Numeric > > > HitranMap
const HitranMap molparam_map
The latest version of the HITRAN online molparam.txt file as a map.
SpeciesIsotopologueRatios isotopologue_ratios_impl(const HitranMap &data)
QuantumIdentifier from_mol_iso(Index molnum, char isonum)
Returns the species if possible or throws an error if it cannot be found.
std::map< Index, std::map< char, Species::IsotopeRecord > > OurHitranMap
SpeciesIsotopologueRatios isotopologue_ratios()
QuantumIdentifier id_from_lookup(Index mol, char isochar)
Finds the ID of the ARTS species from HITRAN.
OurHitranMap to_species_map(const HitranMap &string_map)
Turns the string-map required at compile time into a species-map to be used as a static runtime map.
Numeric ratio_from_lookup(Index mol, char isochar)
Finds the isotopologue ratio of the species from HITRAN.
constexpr std::array Isotopologues
A list of all ARTS isotopologues, note how the species enum class input HAS to be sorted.
constexpr Index find_species_index(const Species spec, const std::string_view isot) noexcept
A logical struct for global quantum numbers with species identifiers.
std::array< Numeric, maxsize > data