ARTS  2.3.1285(git:92a29ea9-dirty)
partition_function_data.cc File Reference

Coefficients for 3rd order polynomial of partition function in temperature, plus safety check. More...

#include "absorption.h"
#include "arts.h"

Go to the source code of this file.

Namespaces

 global_data
 

Macros

Some #defines for better readability
#define Qcoeff(...)   { __VA_ARGS__ }
 

Functions

void next_species (Array< SpeciesRecord >::iterator &is, Array< IsotopologueRecord >::iterator &ii, String name)
 Define partition function coefficients lookup data. More...
 
void iso (Array< IsotopologueRecord >::iterator &ii, String name, const ArrayOfNumeric &coeff, const ArrayOfNumeric &temp_range, const Index &coefftype)
 Initialize isotopologue and move iterator to next one. More...
 
void define_partition_species_data ()
 

Detailed Description

Coefficients for 3rd order polynomial of partition function in temperature, plus safety check.

This file contains the definition of this function and a safety check of the input. You have to add the coefficients of new species here, along with the new entry into the species_data (file species_data.cc) record, if you want to extend the capability of ARTS. These entries have to be in the same order, which is assured by check_q_data.

This is the file from arts-1-0, back-ported to arts-1-1.

Author
Axel von Engeln, C. Verdes,
Date
2000-08-21

Definition in file partition_function_data.cc.

Macro Definition Documentation

◆ Qcoeff

#define Qcoeff (   ...)    { __VA_ARGS__ }

Definition at line 68 of file partition_function_data.cc.

Referenced by define_partition_species_data().

Function Documentation

◆ define_partition_species_data()

void define_partition_species_data ( )

Definition at line 188 of file partition_function_data.cc.

References iso(), next_species(), Qcoeff, and global_data::species_data.

Referenced by define_species_data().

◆ iso()

◆ next_species()

void next_species ( Array< SpeciesRecord >::iterator &  is,
Array< IsotopologueRecord >::iterator &  ii,
String  name 
)

Define partition function coefficients lookup data.

General Remarks

This function contains the polynomial coefficients of the partition function for each isotopologue of each species. The sorting of the array has to match the species_data entries, a safety check routine assures this order.

The information on the partition function have been calculated using the latest version of the TIPS program, provided with HITRAN or derived from B. Gamache (http://faculty.uml.edu/robert_gamache/, Software and Data section). These usually include the data for all molecular species found in the HITRAN database, and, in addition, data for some further isotopomers/isotopologues of HITRAN secies, but also data for some additional species (see the current TIPS for more details). The TIPS calculations address the corrections suggested by Goldman et al. Previous editions contained the coefficients of a 3rd order polynomial fit (and/or a function to obtain the fitted coefficients), while more recent editions are based on partition functions tabulated on a 25K-step grid between 60 and 3010K. The partition functions for any temperatures other than the ones at which the data is provided, are calculated by a Lagrange 4-point interpolation. From TIPS derived partition functions, 3rd order polynom coefficients are derived by a least square fit in the temperature range 150-300K on a 1K-step grid.

The coefficients for species which are not covered in HITRAN are calculated from JPL values. The JPL catalogue has a different way to calculate the partition function: it gives the partition function at specific temperatures (300, 225, 150, 75, 37.5, 18.75, and 9.375 K) and an interpolation scheme is given for values inbetween. The partition functions are proportional to temperature T^1.5 for non-linear molecules (degrees of freedom: 3) and proportional to T for linear molecules (degrees of freedom 2). Nothing is known so far about the way how to treat atoms.

FIXME (2012-09-03): Following does not seem true anymore - the mentioned matlab program could not be retrieved anymore. However, it seems that the fit therein was done (consistently with the derivation of coefficients from TIPS partition functions) on a 1K grid between 150 and 300K. Not known, how vibrational partition functions have been handled therein. The (older) IDL code partition_function.pro is archived in svn:arts-1.0/misc/part_fct/.

[The polynomial coefficients for JPL catalogue values are calculated with a matlab program. This calculates the partition function for all temperatures between 70 and 500 K from the given JPL values, by using the recommended JPL interpolation scheme. JPL does not consider vibrational energy levels in the partition functions and a correction based on a literature research is performed within the idl program (for energy levels refer to that idl file). The literature research yielded only main isotopologue vibrational levels, since nothing better is available they were used for the isotopologues as well. The idl program fits a polynomial to the data, and outputs the coefficients. The polynomial is fitted between temperatures of 70 to 500 K. No big difference is found in the ratio of the partition functions Q(300K)/Q(T) (the relevant quantity for the calculation of the JPL intensities to other temperatures) for other fit ranges, e.g., 9 - 300 K (range where the JPL partition functions are given), except for HCOOH, where the 0 to 300 K fit is better and was therefore use for this species (see below).

In order to see the level of agreement of the to partition functions datasets, HITRAN and JPL, a intercomparison has been made (data, tools, etc. in sat-group-servers:/storage4/projects_bremen/Spectro2/PartitionFunction/CompPartFun/). It was found that, with some exceptions, the two datasets are in a good agreement, if a vibrational correction is applied to the JPL partition functions. Only for 16 molecules (out of 66 considered molecules), the deviations in the two datasets are larger than 1%. The largest discrepancies appear, for ClONO$_2$ (23% at 150~K). Some deviations, however much smaller (around 2%, or less), are found, e.g., for HCl, HOBr, and HBr.]

Source for entries

Molecule Name:

Arts convention

Isotopologue Name:

Arts convention

Coefficients:

A number code in the header gives the source of the polynomials:

      <table> 
      <tr> 
      <td> 1: <td> 3rd order polynomial fit to partition function data derived
             from the TIPS program.
      <tr> 
      <td> 2: <td> 3rd order polynomial fit to JPL data.
      <tr> 
      <td> 3: <td> Fit to partition function data provided by Agnes Perrin,
             Orsay, France.
      <tr> 
      <td> 0: <td> Wild guess (usually when data not needed anyways) or copied
             from main or similar isotopologue.
 </table>
Author
Carmen Verdes, Jana Mendrok
Date
2003-11-12Advance iterators to first isotopologue of next species.

Definition at line 1722 of file partition_function_data.cc.

Referenced by define_partition_species_data().