ARTS 2.5.4 (git: 31ce4f0e)
m_absorptionlines.cc File Reference

Contains the absorption namespace. More...

#include "absorptionlines.h"
#include "array.h"
#include "arts_omp.h"
#include "artstime.h"
#include "auto_md.h"
#include "debug.h"
#include "enums.h"
#include "file.h"
#include "global_data.h"
#include "m_xml.h"
#include "quantum_numbers.h"
#include <algorithm>
#include <atomic>
#include <exception>
#include <iterator>

Go to the source code of this file.

Functions

void abs_linesRemoveEmptyBands (ArrayOfAbsorptionLines &abs_lines, const Verbosity &)
 WORKSPACE METHOD: abs_linesRemoveEmptyBands. More...
 
void abs_linesFlatten (ArrayOfAbsorptionLines &abs_lines, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesFlatten. More...
 
void abs_lines_per_speciesFlatten (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesFlatten. More...
 
void merge_external_line (ArrayOfAbsorptionLines &abs_lines, const Absorption::SingleLineExternal &sline, const QuantumIdentifier &global_qid)
 Merge an external line to abs_lines. More...
 
void merge_local_lines (ArrayOfAbsorptionLines &abs_lines, const ArrayOfAbsorptionLines &local_lines)
 Merge lines to abs_lines. More...
 
QuantumIdentifier global_quantumidentifier (const Array< QuantumNumberType > &qns, const QuantumIdentifier &qid)
 Selects the global quantum numbers. More...
 
Array< QuantumNumberTypestring2vecqn (std::string_view qnstr)
 Get a list of quantum numbers from a string. More...
 
bool check_local (const Array< QuantumNumberType > &local_state)
 
void ReadArrayOfARTSCAT (ArrayOfAbsorptionLines &abs_lines, const String &artscat_file, const Numeric &fmin, const Numeric &fmax, const String &globalquantumnumbers, const String &localquantumnumbers, const String &normalization_option, const String &mirroring_option, const String &population_option, const String &lineshapetype_option, const String &cutoff_option, const Numeric &cutoff_value, const Numeric &linemixinglimit_value, const Verbosity &verbosity)
 WORKSPACE METHOD: ReadArrayOfARTSCAT. More...
 
void ReadARTSCAT (ArrayOfAbsorptionLines &abs_lines, const String &artscat_file, const Numeric &fmin, const Numeric &fmax, const String &globalquantumnumbers, const String &localquantumnumbers, const String &normalization_option, const String &mirroring_option, const String &population_option, const String &lineshapetype_option, const String &cutoff_option, const Numeric &cutoff_value, const Numeric &linemixinglimit_value, const Verbosity &verbosity)
 WORKSPACE METHOD: ReadARTSCAT. More...
 
void ReadSplitARTSCAT (ArrayOfAbsorptionLines &abs_lines, const ArrayOfArrayOfSpeciesTag &abs_species, const String &basename, const Numeric &fmin, const Numeric &fmax, const String &globalquantumnumbers, const String &localquantumnumbers, const Index &ignore_missing, const String &normalization_option, const String &mirroring_option, const String &population_option, const String &lineshapetype_option, const String &cutoff_option, const Numeric &cutoff_value, const Numeric &linemixinglimit_value, const Verbosity &verbosity)
 WORKSPACE METHOD: ReadSplitARTSCAT. More...
 
void ReadHITRAN (ArrayOfAbsorptionLines &abs_lines, const String &hitran_file, const Numeric &fmin, const Numeric &fmax, const String &globalquantumnumbers, const String &localquantumnumbers, const String &hitran_type, const String &normalization_option, const String &mirroring_option, const String &population_option, const String &lineshapetype_option, const String &cutoff_option, const Numeric &cutoff_value, const Numeric &linemixinglimit_value, const Verbosity &verbosity)
 WORKSPACE METHOD: ReadHITRAN. More...
 
void ReadLBLRTM (ArrayOfAbsorptionLines &abs_lines, const String &lblrtm_file, const Numeric &fmin, const Numeric &fmax, const String &globalquantumnumbers, const String &localquantumnumbers, const String &normalization_option, const String &mirroring_option, const String &population_option, const String &lineshapetype_option, const String &cutoff_option, const Numeric &cutoff_value, const Numeric &linemixinglimit_value, const Verbosity &verbosity)
 WORKSPACE METHOD: ReadLBLRTM. More...
 
void ReadJPL (ArrayOfAbsorptionLines &abs_lines, const String &jpl_file, const Numeric &fmin, const Numeric &fmax, const String &globalquantumnumbers, const String &localquantumnumbers, const String &normalization_option, const String &mirroring_option, const String &population_option, const String &lineshapetype_option, const String &cutoff_option, const Numeric &cutoff_value, const Numeric &linemixinglimit_value, const Verbosity &verbosity)
 WORKSPACE METHOD: ReadJPL. More...
 
void abs_linesWriteSpeciesSplitCatalog (const String &output_format, const ArrayOfAbsorptionLines &abs_lines, const String &basename, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesWriteSpeciesSplitCatalog. More...
 
void abs_lines_per_speciesWriteSpeciesSplitCatalog (const String &output_format, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &basename, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesWriteSpeciesSplitCatalog. More...
 
void abs_linesReadSpeciesSplitCatalog (ArrayOfAbsorptionLines &abs_lines, const String &basename, const Index &robust, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesReadSpeciesSplitCatalog. More...
 
void abs_lines_per_speciesReadSpeciesSplitCatalog (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &basename, const Index &robust, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesReadSpeciesSplitCatalog. More...
 
void abs_linesReplaceWithLines (ArrayOfAbsorptionLines &abs_lines, const ArrayOfAbsorptionLines &replacing_lines, const Verbosity &)
 
void abs_linesAppendWithLines (ArrayOfAbsorptionLines &abs_lines, const ArrayOfAbsorptionLines &appending_lines, const Index &safe, const Verbosity &)
 
void abs_linesDeleteBadF0 (ArrayOfAbsorptionLines &abs_lines, const Numeric &f0, const Index &lower, const Verbosity &)
 WORKSPACE METHOD: abs_linesDeleteBadF0. More...
 
void abs_linesDeleteWithLines (ArrayOfAbsorptionLines &abs_lines, const ArrayOfAbsorptionLines &deleting_lines, const Verbosity &)
 
void abs_linesEmptyBroadeningParameters (ArrayOfAbsorptionLines &abs_lines, const Verbosity &)
 WORKSPACE METHOD: abs_linesEmptyBroadeningParameters. More...
 
void abs_linesKeepBand (ArrayOfAbsorptionLines &abs_lines, const QuantumIdentifier &qid, const Verbosity &)
 WORKSPACE METHOD: abs_linesKeepBand. More...
 
void CheckUnique (const ArrayOfAbsorptionLines &lines, const Verbosity &)
 WORKSPACE METHOD: CheckUnique. More...
 
void abs_linesReplaceBands (ArrayOfAbsorptionLines &abs_lines, const ArrayOfAbsorptionLines &replacing_bands, const Verbosity &)
 WORKSPACE METHOD: abs_linesReplaceBands. More...
 
void abs_linesReplaceLines (ArrayOfAbsorptionLines &abs_lines, const ArrayOfAbsorptionLines &replacing_lines, const Verbosity &)
 WORKSPACE METHOD: abs_linesReplaceLines. More...
 
void abs_linesCutoff (ArrayOfAbsorptionLines &abs_lines, const String &type, const Numeric &x, const Verbosity &)
 WORKSPACE METHOD: abs_linesCutoff. More...
 
void abs_lines_per_speciesCutoff (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const Numeric &x, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesCutoff. More...
 
void abs_linesCutoffMatch (ArrayOfAbsorptionLines &abs_lines, const String &type, const Numeric &x, const QuantumIdentifier &QI, const Verbosity &)
 WORKSPACE METHOD: abs_linesCutoffMatch. More...
 
void abs_lines_per_speciesCutoffMatch (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const Numeric &x, const QuantumIdentifier &QI, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesCutoffMatch. More...
 
void abs_lines_per_speciesCutoffSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &type, const Numeric &x, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesCutoffSpecies. More...
 
void abs_linesMirroring (ArrayOfAbsorptionLines &abs_lines, const String &type, const Verbosity &)
 WORKSPACE METHOD: abs_linesMirroring. More...
 
void abs_lines_per_speciesMirroring (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesMirroring. More...
 
void abs_linesMirroringMatch (ArrayOfAbsorptionLines &abs_lines, const String &type, const QuantumIdentifier &QI, const Verbosity &)
 WORKSPACE METHOD: abs_linesMirroringMatch. More...
 
void abs_lines_per_speciesMirroringMatch (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const QuantumIdentifier &QI, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesMirroringMatch. More...
 
void abs_lines_per_speciesMirroringSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &type, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesMirroringSpecies. More...
 
void abs_linesManualMirroring (ArrayOfAbsorptionLines &abs_lines, const Verbosity &)
 WORKSPACE METHOD: abs_linesManualMirroring. More...
 
void abs_lines_per_speciesManualMirroring (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesManualMirroring. More...
 
void abs_lines_per_speciesManualMirroringSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfSpeciesTag &species, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesManualMirroringSpecies. More...
 
void abs_linesPopulation (ArrayOfAbsorptionLines &abs_lines, const String &type, const Verbosity &)
 WORKSPACE METHOD: abs_linesPopulation. More...
 
void abs_lines_per_speciesPopulation (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesPopulation. More...
 
void abs_linesPopulationMatch (ArrayOfAbsorptionLines &abs_lines, const String &type, const QuantumIdentifier &QI, const Verbosity &)
 WORKSPACE METHOD: abs_linesPopulationMatch. More...
 
void abs_lines_per_speciesPopulationMatch (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const QuantumIdentifier &QI, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesPopulationMatch. More...
 
void abs_lines_per_speciesPopulationSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &type, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesPopulationSpecies. More...
 
void abs_linesNormalization (ArrayOfAbsorptionLines &abs_lines, const String &type, const Verbosity &)
 WORKSPACE METHOD: abs_linesNormalization. More...
 
void abs_lines_per_speciesNormalization (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesNormalization. More...
 
void abs_linesNormalizationMatch (ArrayOfAbsorptionLines &abs_lines, const String &type, const QuantumIdentifier &QI, const Verbosity &)
 WORKSPACE METHOD: abs_linesNormalizationMatch. More...
 
void abs_lines_per_speciesNormalizationMatch (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const QuantumIdentifier &QI, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesNormalizationMatch. More...
 
void abs_lines_per_speciesNormalizationSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &type, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesNormalizationSpecies. More...
 
void abs_linesLineShapeType (ArrayOfAbsorptionLines &abs_lines, const String &type, const Verbosity &)
 WORKSPACE METHOD: abs_linesLineShapeType. More...
 
void abs_lines_per_speciesLineShapeType (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesLineShapeType. More...
 
void abs_linesLineShapeTypeMatch (ArrayOfAbsorptionLines &abs_lines, const String &type, const QuantumIdentifier &QI, const Verbosity &)
 WORKSPACE METHOD: abs_linesLineShapeTypeMatch. More...
 
void abs_lines_per_speciesLineShapeTypeMatch (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const String &type, const QuantumIdentifier &QI, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesLineShapeTypeMatch. More...
 
void abs_lines_per_speciesLineShapeTypeSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &type, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesLineShapeTypeSpecies. More...
 
void abs_linesLinemixingLimit (ArrayOfAbsorptionLines &abs_lines, const Numeric &x, const Verbosity &)
 WORKSPACE METHOD: abs_linesLinemixingLimit. More...
 
void abs_lines_per_speciesLinemixingLimit (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Numeric &x, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesLinemixingLimit. More...
 
void abs_linesLinemixingLimitMatch (ArrayOfAbsorptionLines &abs_lines, const Numeric &x, const QuantumIdentifier &QI, const Verbosity &)
 WORKSPACE METHOD: abs_linesLinemixingLimitMatch. More...
 
void abs_lines_per_speciesLinemixingLimitMatch (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Numeric &x, const QuantumIdentifier &QI, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesLinemixingLimitMatch. More...
 
void abs_lines_per_speciesLinemixingLimitSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const Numeric &x, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesLinemixingLimitSpecies. More...
 
void abs_linesT0 (ArrayOfAbsorptionLines &abs_lines, const Numeric &x, const Verbosity &)
 WORKSPACE METHOD: abs_linesT0. More...
 
void abs_lines_per_speciesT0 (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Numeric &x, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesT0. More...
 
void abs_linesT0Match (ArrayOfAbsorptionLines &abs_lines, const Numeric &x, const QuantumIdentifier &QI, const Verbosity &)
 WORKSPACE METHOD: abs_linesT0Match. More...
 
void abs_lines_per_speciesT0Match (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Numeric &x, const QuantumIdentifier &QI, const Verbosity &v)
 WORKSPACE METHOD: abs_lines_per_speciesT0Match. More...
 
void abs_lines_per_speciesT0Species (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const Numeric &x, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesT0Species. More...
 
void abs_linesChangeBaseParameterForMatchingLines (ArrayOfAbsorptionLines &abs_lines, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const Index &relative, const Verbosity &)
 WORKSPACE METHOD: abs_linesChangeBaseParameterForMatchingLines. More...
 
void abs_lines_per_speciesChangeBaseParameterForMatchingLines (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const Index &relative, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForMatchingLines. More...
 
void abs_lines_per_speciesChangeBaseParameterForSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const Index &relative, const String &species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForSpecies. More...
 
void abs_linesBaseParameterMatchingLines (ArrayOfAbsorptionLines &abs_lines, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &x, const Verbosity &)
 WORKSPACE METHOD: abs_linesBaseParameterMatchingLines. More...
 
void abs_lines_per_speciesBaseParameterMatchingLines (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const Verbosity &verbosity)
 
void abs_lines_per_speciesChangeBaseParameterForSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const String &species_tag, const Verbosity &verbosity)
 
void abs_linesLineShapeModelParametersMatchingLines (ArrayOfAbsorptionLines &abs_lines, const QuantumIdentifier &QI, const String &parameter, const String &species, const String &temperaturemodel, const Vector &new_values, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesLineShapeModelParametersMatchingLines. More...
 
void abs_lines_per_speciesLineShapeModelParametersMatchingLines (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const QuantumIdentifier &QI, const String &parameter, const String &species, const String &temperaturemodel, const Vector &new_values, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesLineShapeModelParametersMatchingLines. More...
 
void abs_linesChangeBaseParameterForMatchingLevel (ArrayOfAbsorptionLines &abs_lines, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const Index &relative, const Verbosity &)
 WORKSPACE METHOD: abs_linesChangeBaseParameterForMatchingLevel. More...
 
void abs_lines_per_speciesChangeBaseParameterForMatchingLevel (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const Index &relative, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForMatchingLevel. More...
 
void abs_linesChangeBaseParameterForMatchingLevels (ArrayOfAbsorptionLines &abs_lines, const ArrayOfQuantumIdentifier &QID, const String &parameter_name, const Vector &change, const Index &relative, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesChangeBaseParameterForMatchingLevels. More...
 
void abs_lines_per_speciesChangeBaseParameterForMatchingLevels (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfQuantumIdentifier &QID, const String &parameter_name, const Vector &change, const Index &relative, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForMatchingLevels. More...
 
void abs_linesBaseParameterMatchingLevel (ArrayOfAbsorptionLines &abs_lines, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &x, const Verbosity &)
 WORKSPACE METHOD: abs_linesBaseParameterMatchingLevel. More...
 
void abs_lines_per_speciesBaseParameterMatchingLevel (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const QuantumIdentifier &QI, const String &parameter_name, const Numeric &change, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesBaseParameterMatchingLevel. More...
 
void abs_linesBaseParameterMatchingLevels (ArrayOfAbsorptionLines &abs_lines, const ArrayOfQuantumIdentifier &QID, const String &parameter_name, const Vector &change, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesBaseParameterMatchingLevels. More...
 
void abs_lines_per_speciesBaseParameterMatchingLevels (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfQuantumIdentifier &QID, const String &parameter_name, const Vector &change, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesBaseParameterMatchingLevels. More...
 
void abs_lines_per_speciesPopulationNlteField (Index &nlte_do, ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const EnergyLevelMap &nlte_field, const Verbosity &)
 WORKSPACE METHOD: abs_lines_per_speciesPopulationNlteField. More...
 
void abs_lines_per_speciesSetEmpty (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const Verbosity &)
 WORKSPACE METHOD: abs_lines_per_speciesSetEmpty. More...
 
void abs_linesCompact (ArrayOfAbsorptionLines &abs_lines, const Vector &f_grid, const Verbosity &)
 WORKSPACE METHOD: abs_linesCompact. More...
 
void abs_lines_per_speciesCompact (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Vector &f_grid, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesCompact. More...
 
void abs_linesRemoveBand (ArrayOfAbsorptionLines &abs_lines, const QuantumIdentifier &qid, const Verbosity &)
 WORKSPACE METHOD: abs_linesRemoveBand. More...
 
template<class T >
std::vector< T > linspace (T s, T e, typename std::vector< T >::size_type count) noexcept
 
void f_gridFromAbsorptionLines (Vector &f_grid, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Numeric &delta_f_low, const Numeric &delta_f_upp, const Index &num_freqs, const Verbosity &)
 WORKSPACE METHOD: f_gridFromAbsorptionLines. More...
 
void remove_impl (ArrayOfAbsorptionLines &abs_lines, const ArrayOfSpeciesTag &species, const Numeric lower_frequency, const Numeric upper_frequency, const Numeric lower_intensity, const Index safe, const Index flip_flims, const Verbosity &verbosity)
 
void abs_linesRemoveLines (ArrayOfAbsorptionLines &abs_lines, const Numeric &lower_frequency, const Numeric &upper_frequency, const Numeric &lower_intensity, const Index &safe, const Index &flip_flims, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesRemoveLines. More...
 
void abs_lines_per_speciesRemoveLines (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Numeric &lower_frequency, const Numeric &upper_frequency, const Numeric &lower_intensity, const Index &safe, const Index &flip_flims, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesRemoveLines. More...
 
void abs_linesRemoveLinesFromSpecies (ArrayOfAbsorptionLines &abs_lines, const ArrayOfSpeciesTag &species, const Numeric &lower_frequency, const Numeric &upper_frequency, const Numeric &lower_intensity, const Index &safe, const Index &flip_flims, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesRemoveLinesFromSpecies. More...
 
void abs_lines_per_speciesRemoveLinesFromSpecies (ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfSpeciesTag &species, const Numeric &lower_frequency, const Numeric &upper_frequency, const Numeric &lower_intensity, const Index &safe, const Index &flip_flims, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_lines_per_speciesRemoveLinesFromSpecies. More...
 
void abs_linesSort (ArrayOfAbsorptionLines &abs_lines, const String &option, const Verbosity &verbosity)
 WORKSPACE METHOD: abs_linesSort. More...
 

Variables

constexpr Index merge_local_lines_size = 499
 

Detailed Description

Contains the absorption namespace.

Author
Richard Larsson
Date
2019-09-11

Contains the user interaction with absorption lines

Definition in file m_absorptionlines.cc.

Function Documentation

◆ abs_lines_per_speciesBaseParameterMatchingLevel()

void abs_lines_per_speciesBaseParameterMatchingLevel ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesBaseParameterMatchingLevel.

See abs_linesBaseParameterMatchingLevel

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input

Definition at line 2202 of file m_absorptionlines.cc.

References abs_linesBaseParameterMatchingLevel().

Referenced by abs_lines_per_speciesBaseParameterMatchingLevel_g().

◆ abs_lines_per_speciesBaseParameterMatchingLevels()

void abs_lines_per_speciesBaseParameterMatchingLevels ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfQuantumIdentifier QI,
const String parameter_name,
const Vector change,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesBaseParameterMatchingLevels.

See abs_linesBaseParameterMatchingLevel

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input

Definition at line 2229 of file m_absorptionlines.cc.

References abs_linesBaseParameterMatchingLevel(), ARTS_USER_ERROR_IF, Array< base >::nelem(), and ConstVectorView::nelem().

Referenced by abs_lines_per_speciesBaseParameterMatchingLevels_g().

◆ abs_lines_per_speciesBaseParameterMatchingLines()

void abs_lines_per_speciesBaseParameterMatchingLines ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Verbosity verbosity 
)

Definition at line 1922 of file m_absorptionlines.cc.

References abs_linesBaseParameterMatchingLines().

◆ abs_lines_per_speciesChangeBaseParameterForMatchingLevel()

void abs_lines_per_speciesChangeBaseParameterForMatchingLevel ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Index relative,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForMatchingLevel.

See abs_linesChangeBaseParameterForMatchingLevel

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input
[in]relativeGeneric Input (Default: "0")

Definition at line 2104 of file m_absorptionlines.cc.

References abs_linesChangeBaseParameterForMatchingLevel().

Referenced by abs_lines_per_speciesChangeBaseParameterForMatchingLevel_g().

◆ abs_lines_per_speciesChangeBaseParameterForMatchingLevels()

void abs_lines_per_speciesChangeBaseParameterForMatchingLevels ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfQuantumIdentifier QI,
const String parameter_name,
const Vector change,
const Index relative,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForMatchingLevels.

See abs_linesChangeBaseParameterForMatchingLevel

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input
[in]relativeGeneric Input (Default: "0")

Definition at line 2131 of file m_absorptionlines.cc.

References abs_linesChangeBaseParameterForMatchingLevel(), ARTS_USER_ERROR_IF, Array< base >::nelem(), and ConstVectorView::nelem().

Referenced by abs_lines_per_speciesChangeBaseParameterForMatchingLevels_g().

◆ abs_lines_per_speciesChangeBaseParameterForMatchingLines()

void abs_lines_per_speciesChangeBaseParameterForMatchingLines ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Index relative,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForMatchingLines.

See abs_linesChangeBaseParameterForMatchingLines

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input
[in]relativeGeneric Input (Default: "0")

Definition at line 1820 of file m_absorptionlines.cc.

References abs_linesChangeBaseParameterForMatchingLines().

Referenced by abs_lines_per_speciesChangeBaseParameterForMatchingLines_g().

◆ abs_lines_per_speciesChangeBaseParameterForSpecies() [1/2]

void abs_lines_per_speciesChangeBaseParameterForSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Index relative,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesChangeBaseParameterForSpecies.

See abs_linesChangeBaseParameterForMatchingLines but for single species

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input
[in]relativeGeneric Input (Default: "0")
[in]species_tagGeneric Input

Definition at line 1832 of file m_absorptionlines.cc.

References abs_linesChangeBaseParameterForMatchingLines(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesChangeBaseParameterForSpecies_g().

◆ abs_lines_per_speciesChangeBaseParameterForSpecies() [2/2]

void abs_lines_per_speciesChangeBaseParameterForSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const String species_tag,
const Verbosity verbosity 
)

◆ abs_lines_per_speciesCompact()

void abs_lines_per_speciesCompact ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Vector f_grid,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesCompact.

See abs_linesCompact

Author
Stefan Buehler
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]f_gridWS Input

Definition at line 2336 of file m_absorptionlines.cc.

References abs_linesCompact().

Referenced by abs_lines_per_speciesCompact_g().

◆ abs_lines_per_speciesCutoff()

void abs_lines_per_speciesCutoff ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const Numeric value,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesCutoff.

Sets cutoff type and magnitude for all lines.

The line is cut off when this is active at the given frequency. "The only non-zero range is from this range to its negative equivalent Available options: \<br\> "None" : No cutoff \<br\> <br> \<br\> "ByLine" : Cutoff relative to a speed-independent shifted line center, highest frequency: F0+cutoff+D0 For "ByLine", the negative frequency is at F0-cutoff-D0

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input
[in]valueGeneric Input

Definition at line 1222 of file m_absorptionlines.cc.

References abs_linesCutoff(), and v.

Referenced by abs_lines_per_speciesCutoff_g().

◆ abs_lines_per_speciesCutoffMatch()

void abs_lines_per_speciesCutoffMatch ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const Numeric value,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesCutoffMatch.

Sets cutoff type and magnitude for all matching lines.

Match is done with a quantum identifier

The line is cut off when this is active at the given frequency. "The only non-zero range is from this range to its negative equivalent Available options: \<br\> "None" : No cutoff \<br\> <br> \<br\> "ByLine" : Cutoff relative to a speed-independent shifted line center, highest frequency: F0+cutoff+D0 For "ByLine", the negative frequency is at F0-cutoff-D0

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input
[in]valueGeneric Input
[in]IDGeneric Input

Definition at line 1248 of file m_absorptionlines.cc.

References abs_linesCutoffMatch().

Referenced by abs_lines_per_speciesCutoffMatch_g().

◆ abs_lines_per_speciesCutoffSpecies()

void abs_lines_per_speciesCutoffSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String option,
const Numeric value,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesCutoffSpecies.

Sets cutoff type and magnitude for all matching lines.

Match is done with a species tag

The line is cut off when this is active at the given frequency. "The only non-zero range is from this range to its negative equivalent Available options: \<br\> "None" : No cutoff \<br\> <br> \<br\> "ByLine" : Cutoff relative to a speed-independent shifted line center, highest frequency: F0+cutoff+D0 For "ByLine", the negative frequency is at F0-cutoff-D0

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]optionGeneric Input
[in]valueGeneric Input
[in]species_tagGeneric Input

Definition at line 1260 of file m_absorptionlines.cc.

References abs_linesCutoff(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesCutoffSpecies_g().

◆ abs_lines_per_speciesFlatten()

void abs_lines_per_speciesFlatten ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesFlatten.

Calls abs_linesFlatten per internal set of bands

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output

Definition at line 80 of file m_absorptionlines.cc.

References abs_linesFlatten().

Referenced by abs_lines_per_speciesFlatten_g().

◆ abs_lines_per_speciesLinemixingLimit()

void abs_lines_per_speciesLinemixingLimit ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Numeric value,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesLinemixingLimit.

See abs_linesLinemixingLimit

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]valueGeneric Input

Definition at line 1609 of file m_absorptionlines.cc.

References abs_linesLinemixingLimit(), and v.

Referenced by abs_lines_per_speciesLinemixingLimit_g().

◆ abs_lines_per_speciesLinemixingLimitMatch()

void abs_lines_per_speciesLinemixingLimitMatch ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Numeric value,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesLinemixingLimitMatch.

See abs_linesLinemixingLimit for values

This function only acts on matches between the bands and input ID

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]valueGeneric Input
[in]IDGeneric Input

Definition at line 1631 of file m_absorptionlines.cc.

References abs_linesLinemixingLimitMatch(), and v.

Referenced by abs_lines_per_speciesLinemixingLimitMatch_g().

◆ abs_lines_per_speciesLinemixingLimitSpecies()

void abs_lines_per_speciesLinemixingLimitSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const Numeric value,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesLinemixingLimitSpecies.

See abs_linesLinemixingLimit but for single species

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]valueGeneric Input
[in]species_tagGeneric Input

Definition at line 1641 of file m_absorptionlines.cc.

References abs_linesLinemixingLimit(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesLinemixingLimitSpecies_g().

◆ abs_lines_per_speciesLineShapeModelParametersMatchingLines()

void abs_lines_per_speciesLineShapeModelParametersMatchingLines ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const QuantumIdentifier QI,
const String parameter,
const String species,
const String temperaturemodel,
const Vector new_values,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesLineShapeModelParametersMatchingLines.

See abs_linesLineShapeModelParametersMatchingLines

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]QIGeneric Input
[in]parameterGeneric Input
[in]speciesGeneric Input
[in]temperaturemodelGeneric Input
[in]new_valuesGeneric Input

Definition at line 2019 of file m_absorptionlines.cc.

References abs_linesLineShapeModelParametersMatchingLines().

Referenced by abs_lines_per_speciesLineShapeModelParametersMatchingLines_g().

◆ abs_lines_per_speciesLineShapeType()

void abs_lines_per_speciesLineShapeType ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesLineShapeType.

Sets shape calculations type for all lines.

Available options: <br> "DP" : Doppler profile

<br> "LP" : Lorentz profile

<br> "VP" : Voigt profile <br>
<br> "SDVP" : Speed-dependent Voigt profile

<br> "HTP" : Hartman-Tran profile

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input

Definition at line 1546 of file m_absorptionlines.cc.

References abs_linesLineShapeType(), and v.

Referenced by abs_lines_per_speciesLineShapeType_g().

◆ abs_lines_per_speciesLineShapeTypeMatch()

void abs_lines_per_speciesLineShapeTypeMatch ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesLineShapeTypeMatch.

Sets shape calculations type for all matching lines.

Match is done with a quantum identifier

Available options: <br> "DP" : Doppler profile

<br> "LP" : Lorentz profile

<br> "VP" : Voigt profile <br>
<br> "SDVP" : Speed-dependent Voigt profile

<br> "HTP" : Hartman-Tran profile

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1569 of file m_absorptionlines.cc.

References abs_linesLineShapeTypeMatch(), and v.

Referenced by abs_lines_per_speciesLineShapeTypeMatch_g().

◆ abs_lines_per_speciesLineShapeTypeSpecies()

void abs_lines_per_speciesLineShapeTypeSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String option,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesLineShapeTypeSpecies.

Sets shape calculations type for all matching lines.

Match is done with a species tag

Available options: <br> "DP" : Doppler profile

<br> "LP" : Lorentz profile

<br> "VP" : Voigt profile <br>
<br> "SDVP" : Speed-dependent Voigt profile

<br> "HTP" : Hartman-Tran profile

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]optionGeneric Input
[in]species_tagGeneric Input

Definition at line 1579 of file m_absorptionlines.cc.

References abs_linesLineShapeType(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesLineShapeTypeSpecies_g().

◆ abs_lines_per_speciesManualMirroring()

void abs_lines_per_speciesManualMirroring ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesManualMirroring.

Makes a copy of all lines at negative frequency setting them. to manual mirroring mode

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output

Definition at line 1370 of file m_absorptionlines.cc.

References abs_linesManualMirroring().

Referenced by abs_lines_per_speciesManualMirroring_g().

◆ abs_lines_per_speciesManualMirroringSpecies()

void abs_lines_per_speciesManualMirroringSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const ArrayOfSpeciesTag species,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesManualMirroringSpecies.

Calls abs_linesManualMirroring for given species in abs_species

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]speciesGeneric Input

Definition at line 1378 of file m_absorptionlines.cc.

References abs_linesManualMirroring(), ARTS_USER_ERROR, ARTS_USER_ERROR_IF, and Array< base >::nelem().

Referenced by abs_lines_per_speciesManualMirroringSpecies_g().

◆ abs_lines_per_speciesMirroring()

void abs_lines_per_speciesMirroring ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesMirroring.

Sets mirroring type for all lines.

Available options: <br> "None" : No mirrored line <br>
<br> "SameAsLineShape" : Mirrored line broadened by line shape

<br> "Manual" : Manually mirrored line (be careful; allows all frequencies)

<br> "Lorentz" : Mirrored line broadened by Lorentz

Note that mirroring is never applied for DP line shape

Also note that Lorentz profile is approached by most line shapes at high frequency offset.

Also note that Manual settings are potentially dangerous as other frequency offsets might not work as hoped.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input

Definition at line 1292 of file m_absorptionlines.cc.

References abs_linesMirroring(), and v.

Referenced by abs_lines_per_speciesMirroring_g().

◆ abs_lines_per_speciesMirroringMatch()

void abs_lines_per_speciesMirroringMatch ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesMirroringMatch.

Sets mirroring type for all matching lines.

Match is done with a quantum identifier

Available options: <br> "None" : No mirrored line <br>
<br> "SameAsLineShape" : Mirrored line broadened by line shape

<br> "Manual" : Manually mirrored line (be careful; allows all frequencies)

<br> "Lorentz" : Mirrored line broadened by Lorentz

Note that mirroring is never applied for DP line shape

Also note that Lorentz profile is approached by most line shapes at high frequency offset.

Also note that Manual settings are potentially dangerous as other frequency offsets might not work as hoped.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1315 of file m_absorptionlines.cc.

References abs_linesMirroringMatch(), and v.

Referenced by abs_lines_per_speciesMirroringMatch_g().

◆ abs_lines_per_speciesMirroringSpecies()

void abs_lines_per_speciesMirroringSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String option,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesMirroringSpecies.

Sets mirroring type for all matching lines.

Match is done with a species tag

Available options: <br> "None" : No mirrored line <br>
<br> "SameAsLineShape" : Mirrored line broadened by line shape

<br> "Manual" : Manually mirrored line (be careful; allows all frequencies)

<br> "Lorentz" : Mirrored line broadened by Lorentz

Note that mirroring is never applied for DP line shape

Also note that Lorentz profile is approached by most line shapes at high frequency offset.

Also note that Manual settings are potentially dangerous as other frequency offsets might not work as hoped.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]optionGeneric Input
[in]species_tagGeneric Input

Definition at line 1325 of file m_absorptionlines.cc.

References abs_linesMirroring(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesMirroringSpecies_g().

◆ abs_lines_per_speciesNormalization()

void abs_lines_per_speciesNormalization ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesNormalization.

Sets normalization type for all lines

Available options: <br> "VVH" : Van Vleck and Huber

<br> "VVW" : Van Vleck and Weisskopf

<br> "RQ" : Rosenkranz quadratic

<br> "SFS" : Simple frequency scaling

<br> "None" : No extra normalization

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input

Definition at line 1481 of file m_absorptionlines.cc.

References abs_linesNormalization(), and v.

Referenced by abs_lines_per_speciesNormalization_g().

◆ abs_lines_per_speciesNormalizationMatch()

void abs_lines_per_speciesNormalizationMatch ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesNormalizationMatch.

Sets normalization type for all matching lines

Match is done with a quantum identifier

Available options: <br> "VVH" : Van Vleck and Huber

<br> "VVW" : Van Vleck and Weisskopf

<br> "RQ" : Rosenkranz quadratic

<br> "SFS" : Simple frequency scaling

<br> "None" : No extra normalization

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1504 of file m_absorptionlines.cc.

References abs_linesNormalizationMatch(), and v.

Referenced by abs_lines_per_speciesNormalizationMatch_g().

◆ abs_lines_per_speciesNormalizationSpecies()

void abs_lines_per_speciesNormalizationSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String option,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesNormalizationSpecies.

Sets normalization type for all matching lines

Match is done with a species tag

Available options: <br> "VVH" : Van Vleck and Huber

<br> "VVW" : Van Vleck and Weisskopf

<br> "RQ" : Rosenkranz quadratic

<br> "SFS" : Simple frequency scaling

<br> "None" : No extra normalization

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]optionGeneric Input
[in]species_tagGeneric Input

Definition at line 1514 of file m_absorptionlines.cc.

References abs_linesNormalization(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesNormalizationSpecies_g().

◆ abs_lines_per_speciesPopulation()

void abs_lines_per_speciesPopulation ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesPopulation.

Sets population type for all lines.

Available options: <br> "LTE" : Assume band is in LTE

<br> "NLTE" : Assume band is in NLTE and the upper-to-lower ratio is known

<br> "VibTemps" : Assume band is in NLTE described by vibrational temperatures and LTE at other levels

<br> "ByHITRANRosenkranzRelmat" : Assume band needs to compute relaxation matrix to derive HITRAN Y-coefficients

<br> "ByHITRANFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to HITRAN

<br> "ByMakarovFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to Makarov et al 2020

<br> "ByRovibLinearDipoleLineMixing" : Assume band needs to compute and directly use the relaxation matrix according to Hartmann, Boulet, Robert, 2008, 1st edition

You must have set nlte_field and/or its ilk to use the NLTE methods.

You must have abs_hitran_relmat_data for the ByHITRANXX methods.

You must have ecs_data for the other two relaxation matrix options

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input

Definition at line 1417 of file m_absorptionlines.cc.

References abs_linesPopulation(), and v.

Referenced by abs_lines_per_speciesPopulation_g().

◆ abs_lines_per_speciesPopulationMatch()

void abs_lines_per_speciesPopulationMatch ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesPopulationMatch.

Sets population type for all matching lines.

Match is done with a quantum identifier

Available options: <br> "LTE" : Assume band is in LTE

<br> "NLTE" : Assume band is in NLTE and the upper-to-lower ratio is known

<br> "VibTemps" : Assume band is in NLTE described by vibrational temperatures and LTE at other levels

<br> "ByHITRANRosenkranzRelmat" : Assume band needs to compute relaxation matrix to derive HITRAN Y-coefficients

<br> "ByHITRANFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to HITRAN

<br> "ByMakarovFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to Makarov et al 2020

<br> "ByRovibLinearDipoleLineMixing" : Assume band needs to compute and directly use the relaxation matrix according to Hartmann, Boulet, Robert, 2008, 1st edition

You must have set nlte_field and/or its ilk to use the NLTE methods.

You must have abs_hitran_relmat_data for the ByHITRANXX methods.

You must have ecs_data for the other two relaxation matrix options

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1440 of file m_absorptionlines.cc.

References abs_linesPopulationMatch(), and v.

Referenced by abs_lines_per_speciesPopulationMatch_g().

◆ abs_lines_per_speciesPopulationNlteField()

void abs_lines_per_speciesPopulationNlteField ( Index nlte_do,
ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const EnergyLevelMap nlte_field,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesPopulationNlteField.

Turns on NTLE calculations.

Takes the quantum identifers for NLTE temperatures and matches it to lines in abs_lines_per_species. abs_species must be set and is used to speed up calculations. After the function is done, all affected lines in abs_lines_per_species will have an internal tag to the relevant quantum identifier, which is a requirement for deeper code.

If vibrational_energies is input it must match nlte_level_identifiers in length. The vibrational energies of the affected lines will then be set by the function. Otherwise, it is assumed the vibrational energies are set by another method. If they are not set, calculations will complain later on while running deeper code.

For now only vibrational energy states are assumed to be able to be in non-LTE conditions. The QuantumIdentifier for an energy state in ARTS can look like: "CO2-626 EN v1 0/1 v2 1/1 l2 1/1 v3 0/1 r 1/1" and the matching will match ALL lines with the above. Note then that if, e.g., the "v1 0/1" term was removed from the above, then ARTS will assume that "v1" is not part of the level of energy state of interest, so lines of different "v1" will be matched as the same state. If a line is matched to more than one energy state, errors should be thrown, but be careful.

Set type of population to change computations and expected input as: LTE: Compute population by ratios found from LTE temperatures TV: Compute population by ratios found from NLTE vibrational temperatures ND: Compute population by ratios found from NLTE number densities

Author
Richard Larsson
Parameters
[out]nlte_doWS Output
[in,out]abs_lines_per_speciesWS Input/Output
[in]nlte_fieldWS Input

Definition at line 2250 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, ConstVectorView::empty(), ConstTensor4View::empty(), EnergyLevelMap::levels, EnergyLevelMap::ThrowIfNotOK(), EnergyLevelMap::value, and EnergyLevelMap::vib_energy.

Referenced by abs_lines_per_speciesPopulationNlteField_g().

◆ abs_lines_per_speciesPopulationSpecies()

void abs_lines_per_speciesPopulationSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String option,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesPopulationSpecies.

Sets population type for all matching lines.

Match is done with a species tag

Available options: <br> "LTE" : Assume band is in LTE

<br> "NLTE" : Assume band is in NLTE and the upper-to-lower ratio is known

<br> "VibTemps" : Assume band is in NLTE described by vibrational temperatures and LTE at other levels

<br> "ByHITRANRosenkranzRelmat" : Assume band needs to compute relaxation matrix to derive HITRAN Y-coefficients

<br> "ByHITRANFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to HITRAN

<br> "ByMakarovFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to Makarov et al 2020

<br> "ByRovibLinearDipoleLineMixing" : Assume band needs to compute and directly use the relaxation matrix according to Hartmann, Boulet, Robert, 2008, 1st edition

You must have set nlte_field and/or its ilk to use the NLTE methods.

You must have abs_hitran_relmat_data for the ByHITRANXX methods.

You must have ecs_data for the other two relaxation matrix options

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]optionGeneric Input
[in]species_tagGeneric Input

Definition at line 1450 of file m_absorptionlines.cc.

References abs_linesPopulation(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesPopulationSpecies_g().

◆ abs_lines_per_speciesReadSpeciesSplitCatalog()

void abs_lines_per_speciesReadSpeciesSplitCatalog ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String basename,
const Index robust,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesReadSpeciesSplitCatalog.

See abs_linesReadSpeciesSplitCatalog but only for abs_species

Author
Richard Larsson
Parameters
[out]abs_lines_per_speciesWS Output
[in]abs_speciesWS Input
[in]basenameGeneric Input
[in]robustGeneric Input (Default: "0")

Definition at line 862 of file m_absorptionlines.cc.

References abs_lines_per_speciesCreateFromLines(), arts_omp_get_max_threads(), arts_omp_get_thread_num(), ARTS_USER_ERROR_IF, CREATE_OUT3, Constant::e, find_xml_file_existence(), Species::isotopologues(), lbl_species(), Array< base >::nelem(), Absorption::nelem(), var_string(), and xml_read_from_file().

Referenced by abs_lines_per_speciesReadSpeciesSplitCatalog_g().

◆ abs_lines_per_speciesRemoveLines()

void abs_lines_per_speciesRemoveLines ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Numeric lower_frequency,
const Numeric upper_frequency,
const Numeric lower_intensity,
const Index safe,
const Index flip_flims,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesRemoveLines.

Repeats abs_linesRemoveLines for all inner arrays

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]lower_frequencyGeneric Input (Default: "-1e99")
[in]upper_frequencyGeneric Input (Default: "1e99")
[in]lower_intensityGeneric Input (Default: "0")
[in]safeGeneric Input (Default: "1")
[in]flip_flimsGeneric Input (Default: "0")

Definition at line 2503 of file m_absorptionlines.cc.

References abs_linesRemoveLines().

Referenced by abs_lines_per_speciesRemoveLines_g().

◆ abs_lines_per_speciesRemoveLinesFromSpecies()

void abs_lines_per_speciesRemoveLinesFromSpecies ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfSpeciesTag species,
const Numeric lower_frequency,
const Numeric upper_frequency,
const Numeric lower_intensity,
const Index safe,
const Index flip_flims,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesRemoveLinesFromSpecies.

Repeats abs_linesRemoveLinesFromSpecies for all inner arrays

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]speciesGeneric Input
[in]lower_frequencyGeneric Input (Default: "-1e99")
[in]upper_frequencyGeneric Input (Default: "1e99")
[in]lower_intensityGeneric Input (Default: "0")
[in]safeGeneric Input (Default: "1")
[in]flip_flimsGeneric Input (Default: "0")

Definition at line 2545 of file m_absorptionlines.cc.

References abs_linesRemoveLinesFromSpecies().

Referenced by abs_lines_per_speciesRemoveLinesFromSpecies_g().

◆ abs_lines_per_speciesSetEmpty()

void abs_lines_per_speciesSetEmpty ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesSetEmpty.

Empties abs_lines_per_species at the correct size.

Author
Richard Larsson
Parameters
[out]abs_lines_per_speciesWS Output
[in]abs_speciesWS Input

Definition at line 2308 of file m_absorptionlines.cc.

References Array< base >::nelem().

Referenced by abs_lines_per_speciesSetEmpty_g().

◆ abs_lines_per_speciesT0()

void abs_lines_per_speciesT0 ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Numeric value,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesT0.

See abs_linesT0

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]valueGeneric Input

Definition at line 1671 of file m_absorptionlines.cc.

References abs_linesT0(), and v.

Referenced by abs_lines_per_speciesT0_g().

◆ abs_lines_per_speciesT0Match()

void abs_lines_per_speciesT0Match ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Numeric value,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesT0Match.

Sets reference temperature

This function only acts on matches between the bands and input ID

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]valueGeneric Input
[in]IDGeneric Input

Definition at line 1692 of file m_absorptionlines.cc.

References abs_linesT0Match(), and v.

Referenced by abs_lines_per_speciesT0Match_g().

◆ abs_lines_per_speciesT0Species()

void abs_lines_per_speciesT0Species ( ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const Numeric value,
const String species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesT0Species.

See abs_linesT0 but for single species

Author
Richard Larsson
Parameters
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]valueGeneric Input
[in]species_tagGeneric Input

Definition at line 1702 of file m_absorptionlines.cc.

References abs_linesT0(), abs_speciesSet(), Zeeman::end(), and Array< base >::nelem().

Referenced by abs_lines_per_speciesT0Species_g().

◆ abs_lines_per_speciesWriteSpeciesSplitCatalog()

void abs_lines_per_speciesWriteSpeciesSplitCatalog ( const String output_file_format,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const String basename,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_lines_per_speciesWriteSpeciesSplitCatalog.

See abs_linesWriteSpeciesSplitCatalog

In addition, the structure of the files generated will not care about generating identifiers for the order in abs_species

Author
Richard Larsson
Parameters
[in]output_file_formatWS Input
[in]abs_lines_per_speciesWS Input
[in]basenameGeneric Input

Definition at line 811 of file m_absorptionlines.cc.

References abs_linesWriteSpeciesSplitCatalog().

Referenced by abs_lines_per_speciesWriteSpeciesSplitCatalog_g().

◆ abs_linesAppendWithLines()

void abs_linesAppendWithLines ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfAbsorptionLines appending_lines,
const Index safe,
const Verbosity  
)

Definition at line 970 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF.

◆ abs_linesBaseParameterMatchingLevel()

void abs_linesBaseParameterMatchingLevel ( ArrayOfAbsorptionLines abs_lines,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesBaseParameterMatchingLevel.

Set parameter of all levels in abs_lines that match with QuantumIdentifier. Only works for these parameters: parameter_name = "Statistical Weight" parameter_name = "Zeeman Coefficient"

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input

Definition at line 2147 of file m_absorptionlines.cc.

References ARTS_USER_ERROR, ARTS_USER_ERROR_IF, Constant::k, Quantum::Number::StateMatch::low, my_basic_string< charT >::nelem(), and Quantum::Number::StateMatch::upp.

Referenced by abs_lines_per_speciesBaseParameterMatchingLevel(), abs_lines_per_speciesBaseParameterMatchingLevels(), abs_linesBaseParameterMatchingLevel_g(), and abs_linesBaseParameterMatchingLevels().

◆ abs_linesBaseParameterMatchingLevels()

void abs_linesBaseParameterMatchingLevels ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfQuantumIdentifier QI,
const String parameter_name,
const Vector change,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesBaseParameterMatchingLevels.

See abs_linesBaseParameterMatchingLevel

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input

Definition at line 2214 of file m_absorptionlines.cc.

References abs_linesBaseParameterMatchingLevel(), ARTS_USER_ERROR_IF, Array< base >::nelem(), and ConstVectorView::nelem().

Referenced by abs_linesBaseParameterMatchingLevels_g().

◆ abs_linesBaseParameterMatchingLines()

void abs_linesBaseParameterMatchingLines ( ArrayOfAbsorptionLines abs_lines,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesBaseParameterMatchingLines.

Set parameter of all lines in abs_lines that match with QuantumIdentifier. Only works for these parameters: parameter_name = "Central Frequency" parameter_name = "Line Strength" parameter_name = "Lower State Energy" parameter_name = "Einstein Coefficient" parameter_name = "Lower Statistical Weight" parameter_name = "Upper Statistical Weight" parameter_name = "Lower Zeeman Coefficient" parameter_name = "Upper Zeeman Coefficient"

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input

Definition at line 1853 of file m_absorptionlines.cc.

References ARTS_USER_ERROR, ARTS_USER_ERROR_IF, Constant::k, and my_basic_string< charT >::nelem().

Referenced by abs_lines_per_speciesBaseParameterMatchingLines(), abs_lines_per_speciesChangeBaseParameterForSpecies(), and abs_linesBaseParameterMatchingLines_g().

◆ abs_linesChangeBaseParameterForMatchingLevel()

void abs_linesChangeBaseParameterForMatchingLevel ( ArrayOfAbsorptionLines abs_lines,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Index relative,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesChangeBaseParameterForMatchingLevel.

Change parameter of all levels in abs_lines that match with QuantumIdentifier. Only works for these parameters: parameter_name = "Statistical Weight" parameter_name = "Zeeman Coefficient"

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input
[in]relativeGeneric Input (Default: "0")

Definition at line 2037 of file m_absorptionlines.cc.

References ARTS_USER_ERROR, ARTS_USER_ERROR_IF, Constant::k, Quantum::Number::StateMatch::low, my_basic_string< charT >::nelem(), and Quantum::Number::StateMatch::upp.

Referenced by abs_lines_per_speciesChangeBaseParameterForMatchingLevel(), abs_lines_per_speciesChangeBaseParameterForMatchingLevels(), abs_linesChangeBaseParameterForMatchingLevel_g(), and abs_linesChangeBaseParameterForMatchingLevels().

◆ abs_linesChangeBaseParameterForMatchingLevels()

void abs_linesChangeBaseParameterForMatchingLevels ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfQuantumIdentifier QI,
const String parameter_name,
const Vector change,
const Index relative,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesChangeBaseParameterForMatchingLevels.

See abs_linesChangeBaseParameterForMatchingLevel

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input
[in]relativeGeneric Input (Default: "0")

Definition at line 2116 of file m_absorptionlines.cc.

References abs_linesChangeBaseParameterForMatchingLevel(), ARTS_USER_ERROR_IF, Array< base >::nelem(), and ConstVectorView::nelem().

Referenced by abs_linesChangeBaseParameterForMatchingLevels_g().

◆ abs_linesChangeBaseParameterForMatchingLines()

void abs_linesChangeBaseParameterForMatchingLines ( ArrayOfAbsorptionLines abs_lines,
const QuantumIdentifier QI,
const String parameter_name,
const Numeric change,
const Index relative,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesChangeBaseParameterForMatchingLines.

Change parameter of all lines in abs_lines that match with QuantumIdentifier. Only works for these parameters: parameter_name = "Central Frequency" parameter_name = "Line Strength" parameter_name = "Lower State Energy" parameter_name = "Einstein Coefficient" parameter_name = "Lower Statistical Weight" parameter_name = "Upper Statistical Weight" parameter_name = "Lower Zeeman Coefficient" parameter_name = "Upper Zeeman Coefficient"

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]QIGeneric Input
[in]parameter_nameGeneric Input
[in]changeGeneric Input
[in]relativeGeneric Input (Default: "0")

Definition at line 1725 of file m_absorptionlines.cc.

References ARTS_USER_ERROR, ARTS_USER_ERROR_IF, Constant::k, and my_basic_string< charT >::nelem().

Referenced by abs_lines_per_speciesChangeBaseParameterForMatchingLines(), abs_lines_per_speciesChangeBaseParameterForSpecies(), and abs_linesChangeBaseParameterForMatchingLines_g().

◆ abs_linesCompact()

void abs_linesCompact ( ArrayOfAbsorptionLines abs_lines,
const Vector f_grid,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesCompact.

Removes lines that are unimportant because of their cutoff frequency range

Author
Stefan Buehler
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]f_gridWS Input

Definition at line 2317 of file m_absorptionlines.cc.

References Constant::k, max, and min.

Referenced by abs_lines_per_speciesCompact(), and abs_linesCompact_g().

◆ abs_linesCutoff()

void abs_linesCutoff ( ArrayOfAbsorptionLines abs_lines,
const String option,
const Numeric value,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesCutoff.

Sets cutoff type and magnitude for all lines.

The line is cut off when this is active at the given frequency. "The only non-zero range is from this range to its negative equivalent Available options: \<br\> "None" : No cutoff \<br\> "ByLine" : Cutoff relative to a speed-independent shifted line center, highest frequency: F0+cutoff+D0 For "ByLine", the negative frequency is at F0-cutoff-D0

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input
[in]valueGeneric Input

Definition at line 1210 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesCutoff(), abs_lines_per_speciesCutoffSpecies(), abs_linesCutoff_g(), ReadArrayOfARTSCAT(), ReadARTSCAT(), ReadHITRAN(), ReadJPL(), and ReadLBLRTM().

◆ abs_linesCutoffMatch()

void abs_linesCutoffMatch ( ArrayOfAbsorptionLines abs_lines,
const String option,
const Numeric value,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesCutoffMatch.

Sets cutoff type and magnitude for all matching lines.

Match is done with a quantum identifier

The line is cut off when this is active at the given frequency. "The only non-zero range is from this range to its negative equivalent Available options: \<br\> "None" : No cutoff \<br\> <br> \<br\> "ByLine" : Cutoff relative to a speed-independent shifted line center, highest frequency: F0+cutoff+D0 For "ByLine", the negative frequency is at F0-cutoff-D0

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input
[in]valueGeneric Input
[in]IDGeneric Input

Definition at line 1232 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesCutoffMatch(), and abs_linesCutoffMatch_g().

◆ abs_linesDeleteBadF0()

void abs_linesDeleteBadF0 ( ArrayOfAbsorptionLines abs_lines,
const Numeric f0,
const Index lower,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesDeleteBadF0.

Deletes all lines in abs_lines that have bad central frequencies

If lower evaluates as true, deletes all lines with a frequency below f0. Otherwise deletes all lines with a frequency above f0.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]f0Generic Input
[in]lowerGeneric Input (Default: "1")

Definition at line 1014 of file m_absorptionlines.cc.

Referenced by abs_linesDeleteBadF0_g().

◆ abs_linesDeleteWithLines()

void abs_linesDeleteWithLines ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfAbsorptionLines deleting_lines,
const Verbosity  
)

Definition at line 1035 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF.

◆ abs_linesEmptyBroadeningParameters()

void abs_linesEmptyBroadeningParameters ( ArrayOfAbsorptionLines abs_lines,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesEmptyBroadeningParameters.

Sets a broadening parameter to empty if it is effectively empty

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output

Definition at line 1068 of file m_absorptionlines.cc.

References LineShape::modelparameterEmpty(), and LineShape::nVars.

Referenced by abs_linesEmptyBroadeningParameters_g().

◆ abs_linesFlatten()

void abs_linesFlatten ( ArrayOfAbsorptionLines abs_lines,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesFlatten.

Makes abs_lines with the same ID share lines

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output

Definition at line 58 of file m_absorptionlines.cc.

References abs_linesRemoveEmptyBands(), Absorption::Lines::AppendSingleLine(), Absorption::Lines::Match(), Array< base >::nelem(), and Absorption::Lines::NumLines().

Referenced by abs_lines_per_speciesFlatten(), and abs_linesFlatten_g().

◆ abs_linesKeepBand()

void abs_linesKeepBand ( ArrayOfAbsorptionLines abs_lines,
const QuantumIdentifier qid,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesKeepBand.

Keep only qid-match band lines in abs_lines

Note that other bands are technically kept but have zero lines

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]qidGeneric Input

Definition at line 1098 of file m_absorptionlines.cc.

Referenced by abs_linesKeepBand_g().

◆ abs_linesLinemixingLimit()

void abs_linesLinemixingLimit ( ArrayOfAbsorptionLines abs_lines,
const Numeric value,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesLinemixingLimit.

Sets line mixing limit for all lines.

If value is less than 0, no limit is applied and line mixing is active. Otherwise, line mixing is inactive if the pressure is below the limit.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]valueGeneric Input

Definition at line 1602 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesLinemixingLimit(), abs_lines_per_speciesLinemixingLimitSpecies(), abs_linesLinemixingLimit_g(), ReadArrayOfARTSCAT(), ReadARTSCAT(), ReadHITRAN(), ReadJPL(), and ReadLBLRTM().

◆ abs_linesLinemixingLimitMatch()

void abs_linesLinemixingLimitMatch ( ArrayOfAbsorptionLines abs_lines,
const Numeric value,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesLinemixingLimitMatch.

See abs_linesLinemixingLimit for values

This function only acts on matches between the bands and input ID

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]valueGeneric Input
[in]IDGeneric Input

Definition at line 1618 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesLinemixingLimitMatch(), and abs_linesLinemixingLimitMatch_g().

◆ abs_linesLineShapeModelParametersMatchingLines()

void abs_linesLineShapeModelParametersMatchingLines ( ArrayOfAbsorptionLines abs_lines,
const QuantumIdentifier QI,
const String parameter,
const String species,
const String temperaturemodel,
const Vector new_values,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesLineShapeModelParametersMatchingLines.

Sets line shape model data parameter in matching lines.

The matching is done so that QI must be in the line identifier

Acceptable parameter(s) are: "G0" "D0" "G2" "D2" "FVC" "ETA" "Y" "G" "DV"

Acceptable temperaturemodel(s) are: None, "T0" "T1" "T2" "T3" "T4" "T5" "LM_AER" "DPL"

Acceptable species are: "AIR" (so long as it is the broadening species list) "SELF" (so long as it is the broadening species list) Any species in the line broadening species

See the user guide for the meanings of all of these keywords

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]QIGeneric Input
[in]parameterGeneric Input
[in]speciesGeneric Input
[in]temperaturemodelGeneric Input
[in]new_valuesGeneric Input

Definition at line 1956 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, CREATE_OUT3, Constant::k, LineShape::ModelParameters::N, ConstVectorView::nelem(), LineShape::ModelParameters::type, Raw::Average::var(), LineShape::ModelParameters::X0, LineShape::ModelParameters::X1, LineShape::ModelParameters::X2, and LineShape::ModelParameters::X3.

Referenced by abs_lines_per_speciesLineShapeModelParametersMatchingLines(), and abs_linesLineShapeModelParametersMatchingLines_g().

◆ abs_linesLineShapeType()

void abs_linesLineShapeType ( ArrayOfAbsorptionLines abs_lines,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesLineShapeType.

Sets shape calculations type for all lines.

Available options: <br> "DP" : Doppler profile

<br> "LP" : Lorentz profile

<br> "VP" : Voigt profile

<br> "SDVP" : Speed-dependent Voigt profile

<br> "HTP" : Hartman-Tran profile

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input

Definition at line 1537 of file m_absorptionlines.cc.

References check_enum_error().

Referenced by abs_lines_per_speciesLineShapeType(), abs_lines_per_speciesLineShapeTypeSpecies(), abs_linesLineShapeType_g(), ReadArrayOfARTSCAT(), ReadARTSCAT(), ReadHITRAN(), ReadJPL(), and ReadLBLRTM().

◆ abs_linesLineShapeTypeMatch()

void abs_linesLineShapeTypeMatch ( ArrayOfAbsorptionLines abs_lines,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesLineShapeTypeMatch.

Sets shape calculations type for all matching lines.

Match is done with a quantum identifier

Available options: <br> "DP" : Doppler profile

<br> "LP" : Lorentz profile

<br> "VP" : Voigt profile <br>
<br> "SDVP" : Speed-dependent Voigt profile

<br> "HTP" : Hartman-Tran profile

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1555 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesLineShapeTypeMatch(), and abs_linesLineShapeTypeMatch_g().

◆ abs_linesManualMirroring()

void abs_linesManualMirroring ( ArrayOfAbsorptionLines abs_lines,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesManualMirroring.

Makes a copy of all lines at negative frequency setting them. to manual mirroring mode

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output

Don't allow running this function twice

Definition at line 1344 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF.

Referenced by abs_lines_per_speciesManualMirroring(), abs_lines_per_speciesManualMirroringSpecies(), and abs_linesManualMirroring_g().

◆ abs_linesMirroring()

void abs_linesMirroring ( ArrayOfAbsorptionLines abs_lines,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesMirroring.

Sets mirroring type for all lines.

Available options: <br> "None" : No mirrored line

<br> "SameAsLineShape" : Mirrored line broadened by line shape

<br> "Manual" : Manually mirrored line (be careful; allows all frequencies)

<br> "Lorentz" : Mirrored line broadened by Lorentz

Note that mirroring is never applied for DP line shape

Also note that Lorentz profile is approached by most line shapes at high frequency offset.

Also note that Manual settings are potentially dangerous as other frequency offsets might not work as hoped.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input

Definition at line 1284 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesMirroring(), abs_lines_per_speciesMirroringSpecies(), abs_linesMirroring_g(), ReadArrayOfARTSCAT(), ReadARTSCAT(), ReadHITRAN(), ReadJPL(), and ReadLBLRTM().

◆ abs_linesMirroringMatch()

void abs_linesMirroringMatch ( ArrayOfAbsorptionLines abs_lines,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesMirroringMatch.

Sets mirroring type for all matching lines.

Match is done with a quantum identifier

Available options: <br> "None" : No mirrored line <br>
<br> "SameAsLineShape" : Mirrored line broadened by line shape

<br> "Manual" : Manually mirrored line (be careful; allows all frequencies)

<br> "Lorentz" : Mirrored line broadened by Lorentz

Note that mirroring is never applied for DP line shape

Also note that Lorentz profile is approached by most line shapes at high frequency offset.

Also note that Manual settings are potentially dangerous as other frequency offsets might not work as hoped.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1301 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesMirroringMatch(), and abs_linesMirroringMatch_g().

◆ abs_linesNormalization()

void abs_linesNormalization ( ArrayOfAbsorptionLines abs_lines,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesNormalization.

Sets normalization type for all lines

Available options: <br> "VVH" : Van Vleck and Huber

<br> "VVW" : Van Vleck and Weisskopf

<br> "RQ" : Rosenkranz quadratic

<br> "SFS" : Simple frequency scaling

<br> "None" : No extra normalization

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input

Definition at line 1473 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesNormalization(), abs_lines_per_speciesNormalizationSpecies(), abs_linesNormalization_g(), ReadArrayOfARTSCAT(), ReadARTSCAT(), ReadHITRAN(), ReadJPL(), and ReadLBLRTM().

◆ abs_linesNormalizationMatch()

void abs_linesNormalizationMatch ( ArrayOfAbsorptionLines abs_lines,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesNormalizationMatch.

Sets normalization type for all matching lines

Match is done with a quantum identifier

Available options: <br> "VVH" : Van Vleck and Huber

<br> "VVW" : Van Vleck and Weisskopf

<br> "RQ" : Rosenkranz quadratic

<br> "SFS" : Simple frequency scaling

<br> "None" : No extra normalization

See the theory guide for more details.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1490 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesNormalizationMatch(), and abs_linesNormalizationMatch_g().

◆ abs_linesPopulation()

void abs_linesPopulation ( ArrayOfAbsorptionLines abs_lines,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesPopulation.

Sets population type for all lines.

Available options: <br> "LTE" : Assume band is in LTE

<br> "NLTE" : Assume band is in NLTE and the upper-to-lower ratio is known

<br> "VibTemps" : Assume band is in NLTE described by vibrational temperatures and LTE at other levels

<br> "ByHITRANRosenkranzRelmat" : Assume band needs to compute relaxation matrix to derive HITRAN Y-coefficients

<br> "ByHITRANFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to HITRAN

<br> "ByMakarovFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to Makarov et al 2020

<br> "ByRovibLinearDipoleLineMixing" : Assume band needs to compute and directly use the relaxation matrix according to Hartmann, Boulet, Robert, 2008, 1st edition

You must have set nlte_field and/or its ilk to use the NLTE methods.

You must have abs_hitran_relmat_data for the ByHITRANXX methods.

You must have ecs_data for the other two relaxation matrix options

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input

Definition at line 1409 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesPopulation(), abs_lines_per_speciesPopulationSpecies(), abs_linesPopulation_g(), ReadArrayOfARTSCAT(), ReadARTSCAT(), ReadHITRAN(), ReadJPL(), and ReadLBLRTM().

◆ abs_linesPopulationMatch()

void abs_linesPopulationMatch ( ArrayOfAbsorptionLines abs_lines,
const String option,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesPopulationMatch.

Sets population type for all matching lines.

Match is done with a quantum identifier

Available options: <br> "LTE" : Assume band is in LTE

<br> "NLTE" : Assume band is in NLTE and the upper-to-lower ratio is known

<br> "VibTemps" : Assume band is in NLTE described by vibrational temperatures and LTE at other levels

<br> "ByHITRANRosenkranzRelmat" : Assume band needs to compute relaxation matrix to derive HITRAN Y-coefficients

<br> "ByHITRANFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to HITRAN

<br> "ByMakarovFullRelmat" : Assume band needs to compute and directly use the relaxation matrix according to Makarov et al 2020

<br> "ByRovibLinearDipoleLineMixing" : Assume band needs to compute and directly use the relaxation matrix according to Hartmann, Boulet, Robert, 2008, 1st edition

You must have set nlte_field and/or its ilk to use the NLTE methods.

You must have abs_hitran_relmat_data for the ByHITRANXX methods.

You must have ecs_data for the other two relaxation matrix options

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input
[in]IDGeneric Input

Definition at line 1426 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesPopulationMatch(), and abs_linesPopulationMatch_g().

◆ abs_linesReadSpeciesSplitCatalog()

void abs_linesReadSpeciesSplitCatalog ( ArrayOfAbsorptionLines abs_lines,
const String basename,
const Index robust,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesReadSpeciesSplitCatalog.

Reads a catalog of absorption lines files in a directory

Author
Richard Larsson
Parameters
[out]abs_linesWS Output
[in]basenameGeneric Input
[in]robustGeneric Input (Default: "0")

Definition at line 828 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, CREATE_OUT3, find_xml_file_existence(), Species::Isotopologues, and xml_read_from_file().

Referenced by abs_linesReadSpeciesSplitCatalog_g().

◆ abs_linesRemoveBand()

void abs_linesRemoveBand ( ArrayOfAbsorptionLines abs_lines,
const QuantumIdentifier qid,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesRemoveBand.

Removes qid band from abs_lines

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]qidGeneric Input

Definition at line 2346 of file m_absorptionlines.cc.

References Array< base >::nelem().

Referenced by abs_linesRemoveBand_g().

◆ abs_linesRemoveEmptyBands()

void abs_linesRemoveEmptyBands ( ArrayOfAbsorptionLines abs_lines,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesRemoveEmptyBands.

Removes emtpy bands from abs_lines

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output

Definition at line 50 of file m_absorptionlines.cc.

Referenced by abs_linesFlatten(), abs_linesRemoveEmptyBands_g(), abs_linesSort(), and remove_impl().

◆ abs_linesRemoveLines()

void abs_linesRemoveLines ( ArrayOfAbsorptionLines abs_lines,
const Numeric lower_frequency,
const Numeric upper_frequency,
const Numeric lower_intensity,
const Index safe,
const Index flip_flims,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesRemoveLines.

Remove lines abs_lines outside of specifications

The specifications are: The lower frequency bound (all lines of this frequency or higher may be kept) The upper frequency bound (all lines of this frequency or lower may be kept) The lower intensity bound (all lines with lower intensity may be removed)

If safe evaluates true, all lines in an absorption band must fail the above tests to be removed

The frequency filtering can be reversed, from keeping upper_frequency to lower_frequency, to instead remove lines inside the range by setting flip_flims* to 1.

The method abs_linesRemoveEmptyBands is internally applied after the filtering.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]lower_frequencyGeneric Input (Default: "-1e99")
[in]upper_frequencyGeneric Input (Default: "1e99")
[in]lower_intensityGeneric Input (Default: "0")
[in]safeGeneric Input (Default: "1")
[in]flip_flimsGeneric Input (Default: "0")

Definition at line 2486 of file m_absorptionlines.cc.

References remove_impl().

Referenced by abs_lines_per_speciesRemoveLines(), and abs_linesRemoveLines_g().

◆ abs_linesRemoveLinesFromSpecies()

void abs_linesRemoveLinesFromSpecies ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfSpeciesTag species,
const Numeric lower_frequency,
const Numeric upper_frequency,
const Numeric lower_intensity,
const Index safe,
const Index flip_flims,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesRemoveLinesFromSpecies.

As abs_linesRemoveLines but only for bands of the given species

species must be a single entry, and must specify the isotopologue

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]speciesGeneric Input
[in]lower_frequencyGeneric Input (Default: "-1e99")
[in]upper_frequencyGeneric Input (Default: "1e99")
[in]lower_intensityGeneric Input (Default: "0")
[in]safeGeneric Input (Default: "1")
[in]flip_flimsGeneric Input (Default: "0")

Definition at line 2521 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, joker, Array< base >::nelem(), and remove_impl().

Referenced by abs_lines_per_speciesRemoveLinesFromSpecies(), and abs_linesRemoveLinesFromSpecies_g().

◆ abs_linesReplaceBands()

void abs_linesReplaceBands ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfAbsorptionLines replacing_bands,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesReplaceBands.

Replace all bands in abs_lines that match with bands in replacing_bands.

Each replacing_bands must match excatly a single band in abs_lines.

The matching requires identical quantum number signatures to work.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]replacing_bandsGeneric Input

Definition at line 1121 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, and Array< base >::nelem().

Referenced by abs_linesReplaceBands_g().

◆ abs_linesReplaceLines()

void abs_linesReplaceLines ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfAbsorptionLines replacing_lines,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesReplaceLines.

Replace all lines in abs_lines that match with lines in replacement_lines.

Each replacement_lines must match excatly a single line in abs_lines.

The matching requires identical quantum number signatures to work

Note that lines are identified by their quantum number identifier, and if the broadening or compute data disagree between two bands, a new band is appended unless we can work around the issue. This may cause CheckUnique to fail after running this method

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]replacing_linesGeneric Input

Definition at line 1146 of file m_absorptionlines.cc.

References a, ARTS_USER_ERROR_IF, Constant::k, and Array< base >::nelem().

Referenced by abs_linesReplaceLines_g().

◆ abs_linesReplaceWithLines()

void abs_linesReplaceWithLines ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfAbsorptionLines replacing_lines,
const Verbosity  
)

Definition at line 937 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF.

◆ abs_linesSort()

void abs_linesSort ( ArrayOfAbsorptionLines abs_lines,
const String option,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesSort.

Sorts first the lines then the bands by smallest first

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]optionGeneric Input (Default: "ByFrequency")

Definition at line 2565 of file m_absorptionlines.cc.

References a, abs_linesRemoveEmptyBands(), and b.

Referenced by abs_linesSort_g().

◆ abs_linesT0()

void abs_linesT0 ( ArrayOfAbsorptionLines abs_lines,
const Numeric value,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesT0.

Sets reference temperature for all lines.

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]valueGeneric Input

Definition at line 1664 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesT0(), abs_lines_per_speciesT0Species(), and abs_linesT0_g().

◆ abs_linesT0Match()

void abs_linesT0Match ( ArrayOfAbsorptionLines abs_lines,
const Numeric value,
const QuantumIdentifier ID,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesT0Match.

Sets reference temperature

This function only acts on matches between the bands and input ID

Author
Richard Larsson
Parameters
[in,out]abs_linesWS Input/Output
[in]valueGeneric Input
[in]IDGeneric Input

Definition at line 1679 of file m_absorptionlines.cc.

Referenced by abs_lines_per_speciesT0Match(), and abs_linesT0Match_g().

◆ abs_linesWriteSpeciesSplitCatalog()

void abs_linesWriteSpeciesSplitCatalog ( const String output_file_format,
const ArrayOfAbsorptionLines abs_lines,
const String basename,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_linesWriteSpeciesSplitCatalog.

Writes a split catalog, AbsorptionLines by AbsorptionLines.

There will be one unique file generated per AbsorptionLines in abs_lines.

The names of these files will be: basename + "." + AbsorptionLines.SpeciesName() + "." + to_string(N) + ".xml" where N>=0 and the species name is something line "H2O".

Author
Richard Larsson
Parameters
[in]output_file_formatWS Input
[in]abs_linesWS Input
[in]basenameGeneric Input

Definition at line 766 of file m_absorptionlines.cc.

References abs_lines_per_speciesCreateFromLines(), abs_speciesSet(), Array< base >::nelem(), and WriteXML().

Referenced by abs_lines_per_speciesWriteSpeciesSplitCatalog(), and abs_linesWriteSpeciesSplitCatalog_g().

◆ check_local()

bool check_local ( const Array< QuantumNumberType > &  local_state)

◆ CheckUnique()

void CheckUnique ( const ArrayOfAbsorptionLines abs_lines,
const Verbosity verbosity 
)

WORKSPACE METHOD: CheckUnique.

Checks that abs_lines contains only unique absorption lines

Author
Richard Larsson
Parameters
[in]abs_linesWS Input

Definition at line 1108 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, and Array< base >::nelem().

Referenced by CheckUnique_g().

◆ f_gridFromAbsorptionLines()

void f_gridFromAbsorptionLines ( Vector f_grid,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Numeric delta_f_low,
const Numeric delta_f_upp,
const Index num_freqs,
const Verbosity verbosity 
)

WORKSPACE METHOD: f_gridFromAbsorptionLines.

Sets f_grid to a grid relative to abs_lines_per_species

Each line will have abs_lines_per_species will have a grid of num_freqs grid points in [f0+*delta_f_low*, f0+*delta_f_upp*], where f0 is the line center.

Before leaving the function, f_grid is sorted.

Note that this method could generate significantly large f_grid if used carelessly

Author
Richard Larsson
Parameters
[out]f_gridWS Output
[in]abs_lines_per_speciesWS Input
[in]delta_f_lowGeneric Input (Default: "-5e6")
[in]delta_f_uppGeneric Input (Default: "5e6")
[in]num_freqsGeneric Input

Definition at line 2381 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, Constant::k, ConstVectorView::nelem(), Absorption::nelem(), and Vector::resize().

Referenced by f_gridFromAbsorptionLines_g().

◆ global_quantumidentifier()

QuantumIdentifier global_quantumidentifier ( const Array< QuantumNumberType > &  qns,
const QuantumIdentifier qid 
)

Selects the global quantum numbers.

Parameters
qnsQuantum numbers to select
qidIdentifeier to select from
Returns
QuantumIdentifier of all qns in qid

Definition at line 155 of file m_absorptionlines.cc.

References Quantum::Number::ValueList::has(), Quantum::Number::GlobalState::Isotopologue(), Quantum::Number::ValueList::set(), and Quantum::Number::GlobalState::val.

Referenced by ReadArrayOfARTSCAT(), ReadARTSCAT(), and ReadHITRAN().

◆ linspace()

template<class T >
std::vector< T > linspace ( s,
e,
typename std::vector< T >::size_type  count 
)
noexcept

◆ merge_external_line()

◆ merge_local_lines()

void merge_local_lines ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfAbsorptionLines local_lines 
)

Merge lines to abs_lines.

Parameters
abs_linesAs WSV
local_linesA local list of lines

Definition at line 131 of file m_absorptionlines.cc.

Referenced by ReadArrayOfARTSCAT(), ReadARTSCAT(), and ReadHITRAN().

◆ ReadArrayOfARTSCAT()

void ReadArrayOfARTSCAT ( ArrayOfAbsorptionLines abs_lines,
const String filename,
const Numeric fmin,
const Numeric fmax,
const String globalquantumnumbers,
const String localquantumnumbers,
const String normalization_option,
const String mirroring_option,
const String population_option,
const String lineshapetype_option,
const String cutoff_option,
const Numeric cutoff_value,
const Numeric linemixinglimit_value,
const Verbosity verbosity 
)

WORKSPACE METHOD: ReadArrayOfARTSCAT.

Reads an old Array<ArrayOfLineRecord> ARTSCAT file.

Note that the ARTSCAT-5 had quantum numbers and options stored inside it but that the options will overwrite that information. Be careful setting the options!

Author
Stefan Buehler
Richard Larsson
Parameters
[out]abs_linesWS Output
[in]filenameGeneric Input
[in]fminGeneric Input (Default: "-1e99")
[in]fmaxGeneric Input (Default: "1e99")
[in]globalquantumnumbersGeneric Input (Default: "")
[in]localquantumnumbersGeneric Input (Default: "")
[in]normalization_optionGeneric Input (Default: "None")
[in]mirroring_optionGeneric Input (Default: "None")
[in]population_optionGeneric Input (Default: "LTE")
[in]lineshapetype_optionGeneric Input (Default: "VP")
[in]cutoff_optionGeneric Input (Default: "None")
[in]cutoff_valueGeneric Input (Default: "750e9")
[in]linemixinglimit_valueGeneric Input (Default: "-1")

Definition at line 197 of file m_absorptionlines.cc.

References a, abs_linesCutoff(), abs_linesLinemixingLimit(), abs_linesLineShapeType(), abs_linesMirroring(), abs_linesNormalization(), abs_linesPopulation(), ARTS_ASSERT, ARTS_USER_ERROR, ARTS_USER_ERROR_IF, b, Absorption::SingleLineExternal::bad, c, check_local(), XMLTag::check_name(), CREATE_OUT2, ENDIAN_TYPE_LITTLE, Absorption::SingleLine::F0, FILE_TYPE_ASCII, ArtsXMLTag::get_attribute_value(), Zeeman::GetAdvancedModel(), global_quantumidentifier(), Quantum::Number::ValueList::has(), Absorption::SingleLineExternal::line, Absorption::SingleLine::localquanta, merge_external_line(), merge_local_lines(), merge_local_lines_size, Array< base >::nelem(), Absorption::nelem(), NUMERIC_TYPE_DOUBLE, Absorption::SingleLineExternal::quantumidentity, XMLTag::read_from_stream(), Absorption::ReadFromArtscat3Stream(), Absorption::ReadFromArtscat4Stream(), Absorption::ReadFromArtscat5Stream(), Quantum::Number::ValueList::set(), string2vecqn(), Quantum::Number::LocalState::val, Quantum::Number::GlobalState::val, xml_find_and_open_input_file(), xml_read_header_from_stream(), and Absorption::SingleLine::zeeman.

Referenced by ReadArrayOfARTSCAT_g().

◆ ReadARTSCAT()

void ReadARTSCAT ( ArrayOfAbsorptionLines abs_lines,
const String filename,
const Numeric fmin,
const Numeric fmax,
const String globalquantumnumbers,
const String localquantumnumbers,
const String normalization_option,
const String mirroring_option,
const String population_option,
const String lineshapetype_option,
const String cutoff_option,
const Numeric cutoff_value,
const Numeric linemixinglimit_value,
const Verbosity verbosity 
)

WORKSPACE METHOD: ReadARTSCAT.

Reads an old ArrayOfLineRecord ARTSCAT file

Note that the ARTSCAT-5 had quantum numbers and options stored inside it but that the options will overwrite that information. Be careful setting the options!

Author
Stefan Buehler
Richard Larsson
Parameters
[out]abs_linesWS Output
[in]filenameGeneric Input
[in]fminGeneric Input (Default: "-1e99")
[in]fmaxGeneric Input (Default: "1e99")
[in]globalquantumnumbersGeneric Input (Default: "")
[in]localquantumnumbersGeneric Input (Default: "")
[in]normalization_optionGeneric Input (Default: "None")
[in]mirroring_optionGeneric Input (Default: "None")
[in]population_optionGeneric Input (Default: "LTE")
[in]lineshapetype_optionGeneric Input (Default: "VP")
[in]cutoff_optionGeneric Input (Default: "None")
[in]cutoff_valueGeneric Input (Default: "750e9")
[in]linemixinglimit_valueGeneric Input (Default: "-1")

Definition at line 334 of file m_absorptionlines.cc.

References a, abs_linesCutoff(), abs_linesLinemixingLimit(), abs_linesLineShapeType(), abs_linesMirroring(), abs_linesNormalization(), abs_linesPopulation(), ARTS_ASSERT, ARTS_USER_ERROR, ARTS_USER_ERROR_IF, b, Absorption::SingleLineExternal::bad, c, check_local(), XMLTag::check_name(), CREATE_OUT2, ENDIAN_TYPE_LITTLE, Absorption::SingleLine::F0, FILE_TYPE_ASCII, ArtsXMLTag::get_attribute_value(), Zeeman::GetAdvancedModel(), global_quantumidentifier(), Quantum::Number::ValueList::has(), Absorption::SingleLineExternal::line, Absorption::SingleLine::localquanta, merge_external_line(), merge_local_lines(), merge_local_lines_size, Array< base >::nelem(), Absorption::nelem(), NUMERIC_TYPE_DOUBLE, Absorption::SingleLineExternal::quantumidentity, XMLTag::read_from_stream(), Absorption::ReadFromArtscat3Stream(), Absorption::ReadFromArtscat4Stream(), Absorption::ReadFromArtscat5Stream(), Quantum::Number::ValueList::set(), string2vecqn(), Quantum::Number::LocalState::val, Quantum::Number::GlobalState::val, xml_find_and_open_input_file(), xml_read_header_from_stream(), and Absorption::SingleLine::zeeman.

Referenced by ReadARTSCAT_g(), and ReadSplitARTSCAT().

◆ ReadHITRAN()

void ReadHITRAN ( ArrayOfAbsorptionLines abs_lines,
const String filename,
const Numeric fmin,
const Numeric fmax,
const String globalquantumnumbers,
const String localquantumnumbers,
const String hitran_type,
const String normalization_option,
const String mirroring_option,
const String population_option,
const String lineshapetype_option,
const String cutoff_option,
const Numeric cutoff_value,
const Numeric linemixinglimit_value,
const Verbosity verbosity 
)

WORKSPACE METHOD: ReadHITRAN.

Reads a HITRAN .par file.

The HITRAN type switch can be: "Pre2004" - for old format "Post2004" - for new format "Online" - for the online format with quantum numbers (recommended)

Be careful setting the options!

Note that the isoptopologues in Hitran changes between its versions. We support only one version of Hitran isoptopologues per commit. To read an older version of Hitran, you should down-grade to the correct commit-version. If you still want to make use of modern features, you must also store the generated abs_lines to file and reload the catalog in the new version of Arts. This step needs only be done once per version of Hitran you are using

The complete flow to downgrade, read Hitran, and update is: 'git checkout <commit hash>' to get the old version of Arts Compile the program Run ReadHITRAN to get abs_lines of that version of Hitran Run abs_linesWriteSpeciesSplitCatalog to store the abs_lines to a folder 'git checkout -' to get back to your previous version of Arts Compile the program Use abs_linesReadSpeciesSplitCatalog to read what abs_lines

The <commit hash> required per version of Hitran are: Hitran 2020-XXXX: Your current version is OK. Hitran 2004-2016: 60a9664f69f10b3f3eef3d9456282c3638b637fc Hitran pre-2004: d81802cc7fe887446715491ee8a9eab8e370a0c7

Author
Hermann Berg
Thomas Kuhn
Richard Larsson
Parameters
[out]abs_linesWS Output
[in]filenameGeneric Input
[in]fminGeneric Input (Default: "-1e99")
[in]fmaxGeneric Input (Default: "1e99")
[in]globalquantumnumbersGeneric Input (Default: "DEFAULT_GLOBAL")
[in]localquantumnumbersGeneric Input (Default: "DEFAULT_LOCAL")
[in]hitran_typeGeneric Input (Default: "Online")
[in]normalization_optionGeneric Input (Default: "None")
[in]mirroring_optionGeneric Input (Default: "None")
[in]population_optionGeneric Input (Default: "LTE")
[in]lineshapetype_optionGeneric Input (Default: "VP")
[in]cutoff_optionGeneric Input (Default: "None")
[in]cutoff_valueGeneric Input (Default: "750e9")
[in]linemixinglimit_valueGeneric Input (Default: "-1")

Definition at line 537 of file m_absorptionlines.cc.

References abs_linesCutoff(), abs_linesLinemixingLimit(), abs_linesLineShapeType(), abs_linesMirroring(), abs_linesNormalization(), abs_linesPopulation(), ARTS_ASSERT, ARTS_USER_ERROR, ARTS_USER_ERROR_IF, Absorption::SingleLineExternal::bad, check_local(), Absorption::SingleLine::F0, Zeeman::GetAdvancedModel(), global_quantumidentifier(), Quantum::Number::ValueList::has(), Absorption::SingleLineExternal::line, Absorption::SingleLine::localquanta, merge_external_line(), merge_local_lines(), merge_local_lines_size, Array< base >::nelem(), Absorption::nelem(), open_input_file(), Options::Post2004, Options::Pre2004, Absorption::SingleLineExternal::quantumidentity, Absorption::ReadFromHitran2001Stream(), Absorption::ReadFromHitran2004Stream(), Absorption::ReadFromHitranOnlineStream(), Quantum::Number::ValueList::set(), string2vecqn(), Quantum::Number::LocalState::val, Quantum::Number::GlobalState::val, and Absorption::SingleLine::zeeman.

Referenced by ReadHITRAN_g().

◆ ReadJPL()

void ReadJPL ( ArrayOfAbsorptionLines abs_lines,
const String filename,
const Numeric fmin,
const Numeric fmax,
const String globalquantumnumbers,
const String localquantumnumbers,
const String normalization_option,
const String mirroring_option,
const String population_option,
const String lineshapetype_option,
const String cutoff_option,
const Numeric cutoff_value,
const Numeric linemixinglimit_value,
const Verbosity verbosity 
)

WORKSPACE METHOD: ReadJPL.

Reads a JPL file.

Be careful setting the options!

Author
Thomas Kuhn
Richard Larsson
Parameters
[out]abs_linesWS Output
[in]filenameGeneric Input
[in]fminGeneric Input (Default: "-1e99")
[in]fmaxGeneric Input (Default: "1e99")
[in]globalquantumnumbersGeneric Input (Default: "")
[in]localquantumnumbersGeneric Input (Default: "")
[in]normalization_optionGeneric Input (Default: "None")
[in]mirroring_optionGeneric Input (Default: "None")
[in]population_optionGeneric Input (Default: "LTE")
[in]lineshapetype_optionGeneric Input (Default: "VP")
[in]cutoff_optionGeneric Input (Default: "None")
[in]cutoff_valueGeneric Input (Default: "750e9")
[in]linemixinglimit_valueGeneric Input (Default: "-1")

Definition at line 696 of file m_absorptionlines.cc.

References abs_linesCutoff(), abs_linesLinemixingLimit(), abs_linesLineShapeType(), abs_linesMirroring(), abs_linesNormalization(), abs_linesPopulation(), ARTS_USER_ERROR_IF, check_local(), Zeeman::GetAdvancedModel(), open_input_file(), Absorption::ReadFromJplStream(), Absorption::split_list_of_external_lines(), string2vecqn(), and v.

Referenced by ReadJPL_g().

◆ ReadLBLRTM()

void ReadLBLRTM ( ArrayOfAbsorptionLines abs_lines,
const String filename,
const Numeric fmin,
const Numeric fmax,
const String globalquantumnumbers,
const String localquantumnumbers,
const String normalization_option,
const String mirroring_option,
const String population_option,
const String lineshapetype_option,
const String cutoff_option,
const Numeric cutoff_value,
const Numeric linemixinglimit_value,
const Verbosity verbosity 
)

WORKSPACE METHOD: ReadLBLRTM.

Reads a LBLRTM file.

Be careful setting the options!

Author
Richard Larsson
Parameters
[out]abs_linesWS Output
[in]filenameGeneric Input
[in]fminGeneric Input (Default: "-1e99")
[in]fmaxGeneric Input (Default: "1e99")
[in]globalquantumnumbersGeneric Input (Default: "")
[in]localquantumnumbersGeneric Input (Default: "")
[in]normalization_optionGeneric Input (Default: "None")
[in]mirroring_optionGeneric Input (Default: "None")
[in]population_optionGeneric Input (Default: "LTE")
[in]lineshapetype_optionGeneric Input (Default: "VP")
[in]cutoff_optionGeneric Input (Default: "None")
[in]cutoff_valueGeneric Input (Default: "750e9")
[in]linemixinglimit_valueGeneric Input (Default: "-1")

Definition at line 630 of file m_absorptionlines.cc.

References abs_linesCutoff(), abs_linesLinemixingLimit(), abs_linesLineShapeType(), abs_linesMirroring(), abs_linesNormalization(), abs_linesPopulation(), ARTS_USER_ERROR_IF, check_local(), Zeeman::GetAdvancedModel(), open_input_file(), Absorption::ReadFromLBLRTMStream(), Absorption::split_list_of_external_lines(), string2vecqn(), and v.

Referenced by ReadLBLRTM_g().

◆ ReadSplitARTSCAT()

void ReadSplitARTSCAT ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfArrayOfSpeciesTag abs_species,
const String basename,
const Numeric fmin,
const Numeric fmax,
const String globalquantumnumbers,
const String localquantumnumbers,
const Index ignore_missing,
const String normalization_option,
const String mirroring_option,
const String population_option,
const String lineshapetype_option,
const String cutoff_option,
const Numeric cutoff_value,
const Numeric linemixinglimit_value,
const Verbosity verbosity 
)

WORKSPACE METHOD: ReadSplitARTSCAT.

Reads several old ArrayOfLineRecord ARTSCAT file

Note that the ARTSCAT-5 had quantum numbers and options stored inside it but that the options will overwrite that information. Be careful setting the options!

Author
Oliver Lemke
Richard Larsson
Parameters
[out]abs_linesWS Output
[in]abs_speciesWS Input
[in]basenameGeneric Input
[in]fminGeneric Input (Default: "-1e99")
[in]fmaxGeneric Input (Default: "1e99")
[in]globalquantumnumbersGeneric Input (Default: "")
[in]localquantumnumbersGeneric Input (Default: "")
[in]ignore_missingGeneric Input (Default: "0")
[in]normalization_optionGeneric Input (Default: "None")
[in]mirroring_optionGeneric Input (Default: "None")
[in]population_optionGeneric Input (Default: "LTE")
[in]lineshapetype_optionGeneric Input (Default: "VP")
[in]cutoff_optionGeneric Input (Default: "None")
[in]cutoff_valueGeneric Input (Default: "750e9")
[in]linemixinglimit_valueGeneric Input (Default: "-1")

Definition at line 460 of file m_absorptionlines.cc.

References ARTS_USER_ERROR_IF, Constant::e, Constant::k, lbl_species(), and ReadARTSCAT().

Referenced by ReadSplitARTSCAT_g().

◆ remove_impl()

void remove_impl ( ArrayOfAbsorptionLines abs_lines,
const ArrayOfSpeciesTag species,
const Numeric  lower_frequency,
const Numeric  upper_frequency,
const Numeric  lower_intensity,
const Index  safe,
const Index  flip_flims,
const Verbosity verbosity 
)

◆ string2vecqn()

Array< QuantumNumberType > string2vecqn ( std::string_view  qnstr)

Get a list of quantum numbers from a string.

Parameters
[in]qnstrA string such as "J N v1"
Returns
List of quantum numbers

Definition at line 171 of file m_absorptionlines.cc.

References Quantum::Number::count_items(), Quantum::Number::global_types, Quantum::Number::items(), Quantum::Number::local_types, and N.

Referenced by ReadArrayOfARTSCAT(), ReadARTSCAT(), ReadHITRAN(), ReadJPL(), and ReadLBLRTM().

Variable Documentation

◆ merge_local_lines_size

constexpr Index merge_local_lines_size = 499
constexpr

Definition at line 124 of file m_absorptionlines.cc.

Referenced by ReadArrayOfARTSCAT(), ReadARTSCAT(), and ReadHITRAN().