ARTS  2.4.0(git:4fb77825)
partition_function_data.cc
Go to the documentation of this file.
1 /* Copyright (C) 2000-2012
2  Stefan Buehler <sbuehler@ltu.se>,
3  Axel von Engeln <engeln@uni-bremen.de>,
4  Carmen Verdes <cverdes@uni-bremen.de>
5 
6  This program is free software; you can redistribute it and/or modify it
7  under the terms of the GNU General Public License as published by the
8  Free Software Foundation; either version 2, or (at your option) any
9  later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19  USA. */
20 
38 #include "absorption.h"
39 #include "arts.h"
40 
41 namespace global_data {
43 }
44 
45 /*
46  Default values for a linear molecule:
47 
48  c0 c1 c2 c3
49  0.0 1.0 0.0 0.0
50 
51  and for non linear molecules:
52 
53  c0 c1 c2 c3
54  -76.2339 6.95356 1.30510e-07 -1.17068e-11
55 
56  Here we assumed that either
57 
58  atomic: Q = T
59  linear: Q = T
60  non-linear: Q = T^1.5
61 
62  These numbers are from Axel von Engeln, May 2005 (except atomic: Jana Mendrok,
63  Jan2013).
64 */
65 
68 #define Qcoeff(...) \
69  { __VA_ARGS__ }
70 
71 
179  String name);
180 
183  String name,
184  const ArrayOfNumeric& coeff,
185  const ArrayOfNumeric& temp_range,
186  const Index& coefftype);
187 
190 
191  Array<SpeciesRecord>::iterator it_species = species_data.begin();
192  Array<IsotopologueRecord>::iterator it_isotopologue;
193 
194  // H2O
195  // Coeff: 1 1 1 1 1 1 2
196  //
197  // There are dummy entries here for the continuum tags. Of course,
198  // continua need no partition functions, but the entries must be
199  // present, so that the consistency check between species_data and
200  // partition_function_data is successful.
201  //
202  next_species(it_species, it_isotopologue, "H2O");
203  // Name c0 c1 c2 c3
204  // | | | | |
205  iso(it_isotopologue,
206  "161",
207  Qcoeff(-6.065594e+00, 2.907027e-01, 1.246245e-03, -5.606119e-07),
208  Qcoeff(150.0, 300.0),
210  iso(it_isotopologue,
211  "181",
212  Qcoeff(-7.220624e+00, 2.945347e-01, 1.250362e-03, -5.554638e-07),
213  Qcoeff(150.0, 300.0),
215  iso(it_isotopologue,
216  "171",
217  Qcoeff(-4.668105e+01, 1.819186e+00, 7.137470e-03, -2.670352e-06),
218  Qcoeff(150.0, 300.0),
220  iso(it_isotopologue,
221  "162",
222  Qcoeff(-4.084466e+01, 1.484533e+00, 5.953330e-03, -2.359695e-06),
223  Qcoeff(150.0, 300.0),
225  iso(it_isotopologue,
226  "182",
227  Qcoeff(-3.529770e+01, 1.503267e+00, 6.020059e-03, -2.389284e-06),
228  Qcoeff(150.0, 300.0),
230  iso(it_isotopologue,
231  "172",
232  Qcoeff(-2.098457e+02, 8.959286e+00, 3.593721e-02, -1.428880e-05),
233  Qcoeff(150.0, 300.0),
235  iso(it_isotopologue,
236  "262",
237  Qcoeff(-3.572493e+01, 1.652500e+00, 7.633309e-03, -3.770940e-06),
238  Qcoeff(150.0, 300.0),
240  iso(it_isotopologue,
241  "SelfContStandardType",
242  Qcoeff(0, 0, 0, 0),
243  Qcoeff(150.0, 300.0),
245  iso(it_isotopologue,
246  "ForeignContStandardType",
247  Qcoeff(0, 0, 0, 0),
248  Qcoeff(150.0, 300.0),
250  iso(it_isotopologue,
251  "ForeignContMaTippingType",
252  Qcoeff(0, 0, 0, 0),
253  Qcoeff(150.0, 300.0),
255  iso(it_isotopologue,
256  "ContMPM93",
257  Qcoeff(0, 0, 0, 0),
258  Qcoeff(150.0, 300.0),
260  iso(it_isotopologue,
261  "SelfContCKDMT100",
262  Qcoeff(0, 0, 0, 0),
263  Qcoeff(150.0, 300.0),
265  iso(it_isotopologue,
266  "ForeignContCKDMT100",
267  Qcoeff(0, 0, 0, 0),
268  Qcoeff(150.0, 300.0),
270  iso(it_isotopologue,
271  "SelfContCKDMT252",
272  Qcoeff(0, 0, 0, 0),
273  Qcoeff(150.0, 300.0),
275  iso(it_isotopologue,
276  "ForeignContCKDMT252",
277  Qcoeff(0, 0, 0, 0),
278  Qcoeff(150.0, 300.0),
280  iso(it_isotopologue,
281  "SelfContCKDMT320",
282  Qcoeff(0, 0, 0, 0),
283  Qcoeff(150.0, 300.0),
285  iso(it_isotopologue,
286  "ForeignContCKDMT320",
287  Qcoeff(0, 0, 0, 0),
288  Qcoeff(150.0, 300.0),
290  iso(it_isotopologue,
291  "SelfContCKD222",
292  Qcoeff(0, 0, 0, 0),
293  Qcoeff(150.0, 300.0),
295  iso(it_isotopologue,
296  "ForeignContCKD222",
297  Qcoeff(0, 0, 0, 0),
298  Qcoeff(150.0, 300.0),
300  iso(it_isotopologue,
301  "SelfContCKD242",
302  Qcoeff(0, 0, 0, 0),
303  Qcoeff(150.0, 300.0),
305  iso(it_isotopologue,
306  "ForeignContCKD242",
307  Qcoeff(0, 0, 0, 0),
308  Qcoeff(150.0, 300.0),
310  iso(it_isotopologue,
311  "SelfContCKD24",
312  Qcoeff(0, 0, 0, 0),
313  Qcoeff(150.0, 300.0),
315  iso(it_isotopologue,
316  "ForeignContCKD24",
317  Qcoeff(0, 0, 0, 0),
318  Qcoeff(150.0, 300.0),
320  iso(it_isotopologue,
321  "ForeignContATM01",
322  Qcoeff(0, 0, 0, 0),
323  Qcoeff(150.0, 300.0),
325  iso(it_isotopologue,
326  "CP98",
327  Qcoeff(0, 0, 0, 0),
328  Qcoeff(150.0, 300.0),
330  iso(it_isotopologue,
331  "MPM87",
332  Qcoeff(0, 0, 0, 0),
333  Qcoeff(150.0, 300.0),
335  iso(it_isotopologue,
336  "MPM89",
337  Qcoeff(0, 0, 0, 0),
338  Qcoeff(150.0, 300.0),
340  iso(it_isotopologue,
341  "MPM93",
342  Qcoeff(0, 0, 0, 0),
343  Qcoeff(150.0, 300.0),
345  iso(it_isotopologue,
346  "PWR98",
347  Qcoeff(0, 0, 0, 0),
348  Qcoeff(150.0, 300.0),
350 
351  // CO2
352  // Coeff: 1 1 1 1 1 1 1 1 1 1 1
353  next_species(it_species, it_isotopologue, "CO2");
354  // Name c0 c1 c2 c3
355  // | | | | |
356  iso(it_isotopologue,
357  "626",
358  Qcoeff(-1.720718e+00, 9.669217e-01, -8.277298e-04, 2.891070e-06),
359  Qcoeff(150.0, 300.0),
361  iso(it_isotopologue,
362  "636",
363  Qcoeff(-1.850250e+00, 1.912107e+00, -1.599677e-03, 5.955462e-06),
364  Qcoeff(150.0, 300.0),
366  iso(it_isotopologue,
367  "628",
368  Qcoeff(-2.989446e+00, 2.041095e+00, -1.732748e-03, 6.174831e-06),
369  Qcoeff(150.0, 300.0),
371  iso(it_isotopologue,
372  "627",
373  Qcoeff(-2.256240e+01, 1.197737e+01, -1.036863e-02, 3.618820e-05),
374  Qcoeff(150.0, 300.0),
376  iso(it_isotopologue,
377  "638",
378  Qcoeff(-1.882095e+00, 4.025528e+00, -3.299047e-03, 1.266725e-05),
379  Qcoeff(150.0, 300.0),
381  iso(it_isotopologue,
382  "637",
383  Qcoeff(-1.788894e+01, 2.358158e+01, -1.957976e-02, 7.389405e-05),
384  Qcoeff(150.0, 300.0),
386  iso(it_isotopologue,
387  "828",
388  Qcoeff(-1.818540e+00, 1.086818e+00, -9.427241e-04, 3.352295e-06),
389  Qcoeff(150.0, 300.0),
391  iso(it_isotopologue,
392  "728",
393  Qcoeff(-2.087791e+01, 1.266486e+01, -1.091287e-02, 3.874034e-05),
394  Qcoeff(150.0, 300.0),
396  iso(it_isotopologue,
397  "727",
398  Qcoeff(-6.008949e+01, 3.692019e+01, -3.164016e-02, 1.120452e-04),
399  Qcoeff(150.0, 300.0),
401  iso(it_isotopologue,
402  "838",
403  Qcoeff(-1.381515e+00, 2.142230e+00, -1.790555e-03, 6.861265e-06),
404  Qcoeff(150.0, 300.0),
406  iso(it_isotopologue,
407  "837",
408  Qcoeff(-1.713863e+01, 2.498987e+01, -2.084202e-02, 7.949796e-05),
409  Qcoeff(150.0, 300.0),
411  iso(it_isotopologue,
412  "CKD241",
413  Qcoeff(0, 0, 0, 0),
414  Qcoeff(150.0, 300.0),
416  iso(it_isotopologue,
417  "CKDMT100",
418  Qcoeff(0, 0, 0, 0),
419  Qcoeff(150.0, 300.0),
421  iso(it_isotopologue,
422  "CKDMT252",
423  Qcoeff(0, 0, 0, 0),
424  Qcoeff(150.0, 300.0),
426  iso(it_isotopologue,
427  "SelfContPWR93",
428  Qcoeff(0, 0, 0, 0),
429  Qcoeff(150.0, 300.0),
431  iso(it_isotopologue,
432  "ForeignContPWR93",
433  Qcoeff(0, 0, 0, 0),
434  Qcoeff(150.0, 300.0),
436  iso(it_isotopologue,
437  "SelfContHo66",
438  Qcoeff(0, 0, 0, 0),
439  Qcoeff(150.0, 300.0),
441  iso(it_isotopologue,
442  "ForeignContHo66",
443  Qcoeff(0, 0, 0, 0),
444  Qcoeff(150.0, 300.0),
446 
447  // O3
448  // Coeff: 1 1 1 1 1
449  next_species(it_species, it_isotopologue, "O3");
450  // Name c0 c1 c2 c3
451  // | | | | |
452  iso(it_isotopologue,
453  "666",
454  Qcoeff(-2.773214e+02, 8.175293e+00, 6.892651e-03, 2.842028e-05),
455  Qcoeff(150.0, 300.0),
457  iso(it_isotopologue,
458  "668",
459  Qcoeff(-5.978029e+02, 1.759117e+01, 1.353516e-02, 6.440030e-05),
460  Qcoeff(150.0, 300.0),
462  iso(it_isotopologue,
463  "686",
464  Qcoeff(-3.005190e+02, 8.726453e+00, 5.976672e-03, 3.241643e-05),
465  Qcoeff(150.0, 300.0),
467  iso(it_isotopologue,
468  "667",
469  Qcoeff(-3.454638e+03, 1.018144e+02, 8.249751e-02, 3.631247e-04),
470  Qcoeff(150.0, 300.0),
472  iso(it_isotopologue,
473  "676",
474  Qcoeff(-1.735693e+03, 5.072998e+01, 3.877763e-02, 1.821985e-04),
475  Qcoeff(150.0, 300.0),
477 
478  // N2O
479  // Coeff: 1 1 1 1 1
480  next_species(it_species, it_isotopologue, "N2O");
481  // Name c0 c1 c2 c3
482  // | | | | |
483  iso(it_isotopologue,
484  "446",
485  Qcoeff(3.478254e+01, 1.530195e+01, -1.120080e-02, 5.472145e-05),
486  Qcoeff(150.0, 300.0),
488  iso(it_isotopologue,
489  "456",
490  Qcoeff(3.479618e+01, 1.002537e+01, -6.789834e-03, 3.681093e-05),
491  Qcoeff(150.0, 300.0),
493  iso(it_isotopologue,
494  "546",
495  Qcoeff(2.435117e+01, 1.055152e+01, -7.756090e-03, 3.819981e-05),
496  Qcoeff(150.0, 300.0),
498  iso(it_isotopologue,
499  "448",
500  Qcoeff(4.066999e+01, 1.615921e+01, -1.180945e-02, 5.883212e-05),
501  Qcoeff(150.0, 300.0),
503  iso(it_isotopologue,
504  "447",
505  Qcoeff(2.050163e+02, 9.473303e+01, -7.029656e-02, 3.426216e-04),
506  Qcoeff(150.0, 300.0),
508 
509  // CO
510  // Coeff: 1 1 1 1 1 1
511  next_species(it_species, it_isotopologue, "CO");
512  // Name c0 c1 c2 c3
513  // | | | | |
514  iso(it_isotopologue,
515  "26",
516  Qcoeff(3.243148e-01, 3.601229e-01, 1.538205e-06, 2.385704e-09),
517  Qcoeff(150.0, 300.0),
519  iso(it_isotopologue,
520  "36",
521  Qcoeff(4.632274e-01, 7.560062e-01, -8.390593e-06, 2.229242e-08),
522  Qcoeff(150.0, 300.0),
524  iso(it_isotopologue,
525  "28",
526  Qcoeff(2.874382e-01, 3.786605e-01, -5.551926e-07, 5.629838e-09),
527  Qcoeff(150.0, 300.0),
529  iso(it_isotopologue,
530  "27",
531  Qcoeff(1.697400e+00, 2.220079e+00, -4.074631e-06, 3.291954e-08),
532  Qcoeff(150.0, 300.0),
534  iso(it_isotopologue,
535  "38",
536  Qcoeff(6.558005e-01, 7.928532e-01, 4.443750e-06, 3.520833e-09),
537  Qcoeff(150.0, 300.0),
539  iso(it_isotopologue,
540  "37",
541  Qcoeff(3.990599e+00, 4.641927e+00, 2.855732e-05, 1.499385e-08),
542  Qcoeff(150.0, 300.0),
544 
545  // CH4
546  // Coeff: 1 1 1 1
547  next_species(it_species, it_isotopologue, "CH4");
548  // Name c0 c1 c2 c3
549  // | | | | |
550  iso(it_isotopologue,
551  "211",
552  Qcoeff(-3.640461e+01, 1.202398e+00, 3.005684e-03, 2.911372e-07),
553  Qcoeff(150.0, 300.0),
555  iso(it_isotopologue,
556  "311",
557  Qcoeff(-7.385939e+01, 2.419567e+00, 5.941999e-03, 6.864449e-07),
558  Qcoeff(150.0, 300.0),
560  iso(it_isotopologue,
561  "212",
562  Qcoeff(-3.003903e+02, 9.769371e+00, 2.411804e-02, 2.704667e-06),
563  Qcoeff(150.0, 300.0),
565  iso(it_isotopologue,
566  "312",
567  Qcoeff(-6.843285e+02, 2.100812e+01, 3.970636e-02, 2.256428e-05),
568  Qcoeff(150.0, 300.0),
570 
571  // O2
572  // Coeff: 1 1 1
573  next_species(it_species, it_isotopologue, "O2");
574  // Name c0 c1 c2 c3
575  // | | | | |
576  iso(it_isotopologue,
577  "66",
578  Qcoeff(4.016432e-01, 7.315888e-01, -3.313678e-05, 6.642877e-08),
579  Qcoeff(150.0, 300.0),
581  iso(it_isotopologue,
582  "68",
583  Qcoeff(-3.922253e+00, 1.551651e+00, -8.580045e-05, 1.716056e-07),
584  Qcoeff(150.0, 300.0),
586  iso(it_isotopologue,
587  "67",
588  Qcoeff(-2.757545e+01, 9.118689e+00, -7.483006e-04, 1.332269e-06),
589  Qcoeff(150.0, 300.0),
591  iso(it_isotopologue,
592  "CIAfunCKDMT100",
593  Qcoeff(0, 0, 0, 0),
594  Qcoeff(150.0, 300.0),
596  iso(it_isotopologue,
597  "v0v0CKDMT100",
598  Qcoeff(0, 0, 0, 0),
599  Qcoeff(150.0, 300.0),
601  iso(it_isotopologue,
602  "v1v0CKDMT100",
603  Qcoeff(0, 0, 0, 0),
604  Qcoeff(150.0, 300.0),
606  iso(it_isotopologue,
607  "visCKDMT252",
608  Qcoeff(0, 0, 0, 0),
609  Qcoeff(150.0, 300.0),
611  iso(it_isotopologue,
612  "SelfContStandardType",
613  Qcoeff(0, 0, 0, 0),
614  Qcoeff(150.0, 300.0),
616  iso(it_isotopologue,
617  "SelfContMPM93",
618  Qcoeff(0, 0, 0, 0),
619  Qcoeff(150.0, 300.0),
621  iso(it_isotopologue,
622  "SelfContPWR93",
623  Qcoeff(0, 0, 0, 0),
624  Qcoeff(150.0, 300.0),
626  iso(it_isotopologue,
627  "PWR98",
628  Qcoeff(0, 0, 0, 0),
629  Qcoeff(150.0, 300.0),
631  iso(it_isotopologue,
632  "PWR93",
633  Qcoeff(0, 0, 0, 0),
634  Qcoeff(150.0, 300.0),
636  iso(it_isotopologue,
637  "PWR88",
638  Qcoeff(0, 0, 0, 0),
639  Qcoeff(150.0, 300.0),
641  iso(it_isotopologue,
642  "MPM93",
643  Qcoeff(0, 0, 0, 0),
644  Qcoeff(150.0, 300.0),
646  iso(it_isotopologue,
647  "TRE05",
648  Qcoeff(0, 0, 0, 0),
649  Qcoeff(150.0, 300.0),
651  iso(it_isotopologue,
652  "MPM92",
653  Qcoeff(0, 0, 0, 0),
654  Qcoeff(150.0, 300.0),
656  iso(it_isotopologue,
657  "MPM89",
658  Qcoeff(0, 0, 0, 0),
659  Qcoeff(150.0, 300.0),
661  iso(it_isotopologue,
662  "MPM87",
663  Qcoeff(0, 0, 0, 0),
664  Qcoeff(150.0, 300.0),
666  iso(it_isotopologue,
667  "MPM85",
668  Qcoeff(0, 0, 0, 0),
669  Qcoeff(150.0, 300.0),
671  iso(it_isotopologue,
672  "MPM2020",
673  Qcoeff(0, 0, 0, 0),
674  Qcoeff(150.0, 300.0),
676 
677  // NO
678  // Coeff: 1 1 1
679  next_species(it_species, it_isotopologue, "NO");
680  // Name c0 c1 c2 c3
681  // | | | | |
682  iso(it_isotopologue,
683  "46",
684  Qcoeff(-5.824308e+01, 3.025484e+00, 4.976571e-03, -5.060093e-06),
685  Qcoeff(150.0, 300.0),
687  iso(it_isotopologue,
688  "56",
689  Qcoeff(-4.036081e+01, 2.091668e+00, 3.435242e-03, -3.490987e-06),
690  Qcoeff(150.0, 300.0),
692  iso(it_isotopologue,
693  "48",
694  Qcoeff(-6.255837e+01, 3.205744e+00, 5.176248e-03, -5.223151e-06),
695  Qcoeff(150.0, 300.0),
697 
698  // SO2
699  // Coeff: 1 1 2 2
700  next_species(it_species, it_isotopologue, "SO2");
701  // Name c0 c1 c2 c3
702  // | | | | |
703  iso(it_isotopologue,
704  "626",
705  Qcoeff(-3.406710e+02, 1.214516e+01, 1.995262e-02, 5.157669e-05),
706  Qcoeff(150.0, 300.0),
708  iso(it_isotopologue,
709  "646",
710  Qcoeff(-3.389056e+02, 1.215747e+01, 2.023113e-02, 5.153272e-05),
711  Qcoeff(150.0, 300.0),
713  iso(it_isotopologue,
714  "636",
715  Qcoeff(5.8740E+02, 1.2472E+01, 2.9113E-01, -1.6236E-04),
716  Qcoeff(150.0, 300.0),
718  iso(it_isotopologue,
719  "628",
720  Qcoeff(3.1299E+02, 6.6372E+00, 1.5485E-01, -8.6343E-05),
721  Qcoeff(150.0, 300.0),
723 
724  // NO2
725  // Coeff: 1
726  next_species(it_species, it_isotopologue, "NO2");
727  // Name c0 c1 c2 c3
728  // | | | | |
729  iso(it_isotopologue,
730  "646",
731  Qcoeff(-8.761726e+02, 2.829842e+01, 5.398242e-02, 5.194329e-05),
732  Qcoeff(150.0, 300.0),
734 
735  // NH3
736  // Coeff: 1 1 2
737  next_species(it_species, it_isotopologue, "NH3");
738  // Name c0 c1 c2 c3
739  // | | | | |
740  iso(it_isotopologue,
741  "4111",
742  Qcoeff(-9.698124e+01, 3.402711e+00, 8.958578e-03, 1.157044e-06),
743  Qcoeff(150.0, 300.0),
745  iso(it_isotopologue,
746  "5111",
747  Qcoeff(-6.520038e+01, 2.279068e+00, 5.958356e-03, 8.170489e-07),
748  Qcoeff(150.0, 300.0),
750  iso(it_isotopologue,
751  "4112",
752  Qcoeff(9.278991e+00, 4.053839e+00, 3.148529e-02, -8.153125e-06),
753  Qcoeff(150.0, 300.0),
755 
756  // HNO3
757  // Coeff: 1 0
758  next_species(it_species, it_isotopologue, "HNO3");
759  // Name c0 c1 c2 c3
760  // | | | | |
761  iso(it_isotopologue,
762  "146",
763  Qcoeff(-3.402033e+04, 7.965238e+02, -2.403160e+00, 8.593868e-03),
764  Qcoeff(150.0, 300.0),
766  iso(it_isotopologue,
767  "156",
768  Qcoeff(-3.402033e+04, 7.965238e+02, -2.403160e+00, 8.593868e-03),
769  Qcoeff(150.0, 300.0),
771 
772  // OH
773  // Coeff: 1 1 1
774  next_species(it_species, it_isotopologue, "OH");
775  // Name c0 c1 c2 c3
776  // | | | | |
777  iso(it_isotopologue,
778  "61",
779  Qcoeff(6.198722e+00, 1.870893e-01, 3.099551e-04, -3.229806e-07),
780  Qcoeff(150.0, 300.0),
782  iso(it_isotopologue,
783  "81",
784  Qcoeff(6.173190e+00, 1.884492e-01, 3.126020e-04, -3.263942e-07),
785  Qcoeff(150.0, 300.0),
787  iso(it_isotopologue,
788  "62",
789  Qcoeff(4.103720e+00, 5.095633e-01, 8.899807e-04, -9.103002e-07),
790  Qcoeff(150.0, 300.0),
792 
793  // HF
794  // Coeff: 1 2
795  next_species(it_species, it_isotopologue, "HF");
796  // Name c0 c1 c2 c3
797  // | | | | |
798  iso(it_isotopologue,
799  "19",
800  Qcoeff(1.472238e+00, 1.343685e-01, 3.150221e-06, -2.120225e-09),
801  Qcoeff(150.0, 300.0),
803  iso(it_isotopologue,
804  "29",
805  Qcoeff(3.375585e-01, 6.403473e-02, 3.134983e-07, -3.970786e-11),
806  Qcoeff(150.0, 300.0),
808 
809  // HCl
810  // Coeff: 1 1 2 2
811  next_species(it_species, it_isotopologue, "HCl");
812  // Name c0 c1 c2 c3
813  // | | | | |
814  iso(it_isotopologue,
815  "15",
816  Qcoeff(2.729314e+00, 5.328097e-01, 8.234868e-07, 5.619026e-09),
817  Qcoeff(150.0, 300.0),
819  iso(it_isotopologue,
820  "17",
821  Qcoeff(2.719350e+00, 5.335676e-01, 2.054102e-06, 2.061213e-09),
822  Qcoeff(150.0, 300.0),
824  iso(it_isotopologue,
825  "25",
826  Qcoeff(1.355208e+00, 5.155418e-01, 3.328246e-06, 1.718278e-12),
827  Qcoeff(150.0, 300.0),
829  iso(it_isotopologue,
830  "27",
831  Qcoeff(1.359929e+00, 5.170804e-01, 3.358101e-06, -1.087936e-11),
832  Qcoeff(150.0, 300.0),
834 
835  // HBr
836  // Coeff: 1 1 0 0
837  next_species(it_species, it_isotopologue, "HBr");
838  // Name c0 c1 c2 c3
839  // | | | | |
840  iso(it_isotopologue,
841  "19",
842  Qcoeff(2.936148e+00, 6.629899e-01, 1.604872e-05, -1.593934e-08),
843  Qcoeff(150.0, 300.0),
845  iso(it_isotopologue,
846  "11",
847  Qcoeff(2.875136e+00, 6.637710e-01, 1.449833e-05, -1.498201e-08),
848  Qcoeff(150.0, 300.0),
850  iso(it_isotopologue,
851  "29",
852  Qcoeff(2.936148e+00, 6.629899e-01, 1.604872e-05, -1.593934e-08),
853  Qcoeff(150.0, 300.0),
855  iso(it_isotopologue,
856  "21",
857  Qcoeff(2.875136e+00, 6.637710e-01, 1.449833e-05, -1.498201e-08),
858  Qcoeff(150.0, 300.0),
860 
861  // HI
862  // Coeff: 1 0
863  next_species(it_species, it_isotopologue, "HI");
864  // Name c0 c1 c2 c3
865  // | | | | |
866  iso(it_isotopologue,
867  "17",
868  Qcoeff(4.226561e+00, 1.295818e+00, 1.611346e-05, -7.882228e-09),
869  Qcoeff(150.0, 300.0),
871  iso(it_isotopologue,
872  "27",
873  Qcoeff(4.226561e+00, 1.295818e+00, 1.611346e-05, -7.882228e-09),
874  Qcoeff(150.0, 300.0),
876 
877  // ClO
878  // Coeff: 1 1
879  next_species(it_species, it_isotopologue, "ClO");
880  // Name c0 c1 c2 c3
881  // | | | | |
882  iso(it_isotopologue,
883  "56",
884  Qcoeff(1.290486e+02, 6.369550e+00, 1.441861e-02, -1.211120e-07),
885  Qcoeff(150.0, 300.0),
887  iso(it_isotopologue,
888  "76",
889  Qcoeff(1.306461e+02, 6.492672e+00, 1.457301e-02, 1.142879e-07),
890  Qcoeff(150.0, 300.0),
892 
893  // OCS
894  // Coeff: 1 1 1 1 1
895  next_species(it_species, it_isotopologue, "OCS");
896  // Name c0 c1 c2 c3
897  // | | | | |
898  iso(it_isotopologue,
899  "622",
900  Qcoeff(1.199103e+01, 3.484349e+00, -3.172632e-03, 1.757090e-05),
901  Qcoeff(150.0, 300.0),
903  iso(it_isotopologue,
904  "624",
905  Qcoeff(1.055761e+01, 3.598837e+00, -3.406838e-03, 1.836238e-05),
906  Qcoeff(150.0, 300.0),
908  iso(it_isotopologue,
909  "632",
910  Qcoeff(3.246621e+01, 6.852374e+00, -5.819381e-03, 3.599002e-05),
911  Qcoeff(150.0, 300.0),
913  iso(it_isotopologue,
914  "623",
915  Qcoeff(4.848356e+01, 1.411918e+01, -1.292079e-02, 7.151233e-05),
916  Qcoeff(150.0, 300.0),
918  iso(it_isotopologue,
919  "822",
920  Qcoeff(1.444298e+01, 3.686311e+00, -3.307686e-03, 1.920205e-05),
921  Qcoeff(150.0, 300.0),
923 
924  // H2CO
925  // Coeff: 1 1 1 2 2
926  next_species(it_species, it_isotopologue, "H2CO");
927  // Name c0 c1 c2 c3
928  // | | | | |
929  iso(it_isotopologue,
930  "1126",
931  Qcoeff(-1.734031e+02, 5.682345e+00, 1.504875e-02, 7.509330e-07),
932  Qcoeff(150.0, 300.0),
934  iso(it_isotopologue,
935  "1136",
936  Qcoeff(-3.529337e+02, 1.160844e+01, 3.109193e-02, 1.153082e-06),
937  Qcoeff(150.0, 300.0),
939  iso(it_isotopologue,
940  "1128",
941  Qcoeff(-1.781662e+02, 5.905635e+00, 1.604851e-02, 3.936717e-07),
942  Qcoeff(150.0, 300.0),
944  iso(it_isotopologue,
945  "1226",
946  Qcoeff(-5.332528e+01, 2.914098e+00, 1.444437e-02, -6.565213e-06),
947  Qcoeff(150.0, 300.0),
949  iso(it_isotopologue,
950  "2226",
951  Qcoeff(-2.847116e+02, 1.672849e+01, 8.661739e-02, -3.736935e-05),
952  Qcoeff(150.0, 300.0),
954 
955  // HOCl
956  // Coeff: 1 1
957  next_species(it_species, it_isotopologue, "HOCl");
958  // Name c0 c1 c2 c3
959  // | | | | |
960  iso(it_isotopologue,
961  "165",
962  Qcoeff(-1.219223e+03, 3.989396e+01, 7.529869e-02, 8.046020e-05),
963  Qcoeff(150.0, 300.0),
965  iso(it_isotopologue,
966  "167",
967  Qcoeff(-1.215084e+03, 4.025848e+01, 7.807742e-02, 7.992701e-05),
968  Qcoeff(150.0, 300.0),
970 
971  // N2
972  // Coeff: 1 0
973  next_species(it_species, it_isotopologue, "N2");
974  // Name c0 c1 c2 c3
975  // | | | | |
976  iso(it_isotopologue,
977  "44",
978  Qcoeff(1.704255e+00, 1.562748e+00, 2.437406e-05, -1.677703e-08),
979  Qcoeff(150.0, 300.0),
981  iso(it_isotopologue,
982  "45",
983  Qcoeff(1.704255e+00, 1.562748e+00, 2.437406e-05, -1.677703e-08),
984  Qcoeff(150.0, 300.0),
986  iso(it_isotopologue,
987  "SelfContMPM93",
988  Qcoeff(0, 0, 0, 0),
989  Qcoeff(150.0, 300.0),
991  iso(it_isotopologue,
992  "SelfContPWR93",
993  Qcoeff(0, 0, 0, 0),
994  Qcoeff(150.0, 300.0),
996  iso(it_isotopologue,
997  "SelfContStandardType",
998  Qcoeff(0, 0, 0, 0),
999  Qcoeff(150.0, 300.0),
1001  iso(it_isotopologue,
1002  "SelfContBorysow",
1003  Qcoeff(0, 0, 0, 0),
1004  Qcoeff(150.0, 300.0),
1006  iso(it_isotopologue,
1007  "CIArotCKDMT100",
1008  Qcoeff(0, 0, 0, 0),
1009  Qcoeff(150.0, 300.0),
1011  iso(it_isotopologue,
1012  "CIAfunCKDMT100",
1013  Qcoeff(0, 0, 0, 0),
1014  Qcoeff(150.0, 300.0),
1016  iso(it_isotopologue,
1017  "CIArotCKDMT252",
1018  Qcoeff(0, 0, 0, 0),
1019  Qcoeff(150.0, 300.0),
1021  iso(it_isotopologue,
1022  "CIAfunCKDMT252",
1023  Qcoeff(0, 0, 0, 0),
1024  Qcoeff(150.0, 300.0),
1026  iso(it_isotopologue,
1027  "DryContATM01",
1028  Qcoeff(0, 0, 0, 0),
1029  Qcoeff(150.0, 300.0),
1031 
1032  // HCN
1033  // Coeff: 1 1 1 2
1034  next_species(it_species, it_isotopologue, "HCN");
1035  // Name c0 c1 c2 c3
1036  // | | | | |
1037  iso(it_isotopologue,
1038  "124",
1039  Qcoeff(-5.935227e+00, 3.077616e+00, -2.476330e-03, 7.991253e-06),
1040  Qcoeff(150.0, 300.0),
1042  iso(it_isotopologue,
1043  "134",
1044  Qcoeff(-1.010578e+01, 6.290094e+00, -4.988065e-03, 1.641309e-05),
1045  Qcoeff(150.0, 300.0),
1047  iso(it_isotopologue,
1048  "125",
1049  Qcoeff(-3.253498e+00, 2.118761e+00, -1.680616e-03, 5.582555e-06),
1050  Qcoeff(150.0, 300.0),
1052  iso(it_isotopologue,
1053  "224",
1054  Qcoeff(6.626957e+01, 8.670873e-01, 3.148000e-03, -2.052228e-06),
1055  Qcoeff(150.0, 300.0),
1057 
1058  // CH3Cl
1059  // Coeff: 1 1
1060  next_species(it_species, it_isotopologue, "CH3Cl");
1061  // Name c0 c1 c2 c3
1062  // | | | | |
1063  iso(it_isotopologue,
1064  "215",
1065  Qcoeff(-1.140936e+04, 3.073757e+02, 4.383730e-02, 1.249421e-03),
1066  Qcoeff(150.0, 300.0),
1068  iso(it_isotopologue,
1069  "217",
1070  Qcoeff(-1.159736e+04, 3.123035e+02, 4.438509e-02, 1.269305e-03),
1071  Qcoeff(150.0, 300.0),
1073 
1074  // H2O2
1075  // Coeff: 1
1076  next_species(it_species, it_isotopologue, "H2O2");
1077  // Name c0 c1 c2 c3
1078  // | | | | |
1079  iso(it_isotopologue,
1080  "1661",
1081  Qcoeff(-3.865211e+02, 1.286868e+01, 3.910416e-02, 1.145394e-04),
1082  Qcoeff(150.0, 300.0),
1084 
1085  // C2H2
1086  // Coeff: 1 1 1
1087  next_species(it_species, it_isotopologue, "C2H2");
1088  // Name c0 c1 c2 c3
1089  // | | | | |
1090  iso(it_isotopologue,
1091  "1221",
1092  Qcoeff(-8.684002e+00, 1.453883e+00, -2.597724e-03, 8.482153e-06),
1093  Qcoeff(150.0, 300.0),
1095  iso(it_isotopologue,
1096  "1231",
1097  Qcoeff(-3.468599e+01, 5.815575e+00, -1.039390e-02, 3.393990e-05),
1098  Qcoeff(150.0, 300.0),
1100  iso(it_isotopologue,
1101  "1222",
1102  Qcoeff(-2.311093e+01, 4.993367e+00, -9.428896e-03, 3.674804e-05),
1103  Qcoeff(150.0, 300.0),
1105 
1106  // C2H6
1107  // Coeff: 1 1
1108  next_species(it_species, it_isotopologue, "C2H6");
1109  // Name c0 c1 c2 c3
1110  // | | | | |
1111  iso(it_isotopologue,
1112  "1221",
1113  Qcoeff(-9.118157e+03, 2.088364e+02, -4.404385e-01, 2.188428e-03),
1114  Qcoeff(150.0, 300.0),
1116  iso(it_isotopologue,
1117  "1231",
1118  Qcoeff(-4.632309e+03, 1.062931e+02, -2.234063e-01, 1.115322e-03),
1119  Qcoeff(150.0, 300.0),
1121 
1122  // PH3
1123  // Coeff: 1
1124  next_species(it_species, it_isotopologue, "PH3");
1125  // Name c0 c1 c2 c3
1126  // | | | | |
1127  iso(it_isotopologue,
1128  "1111",
1129  Qcoeff(-2.426409e+02, 7.338384e+00, 1.131674e-02, 1.261873e-05),
1130  Qcoeff(150.0, 300.0),
1132 
1133  // COF2
1134  // Coeff: 1 0
1135  next_species(it_species, it_isotopologue, "COF2");
1136  // Name c0 c1 c2 c3
1137  // | | | | |
1138  iso(it_isotopologue,
1139  "269",
1140  Qcoeff(-8.322642e+03, 2.144407e+02, -3.498616e-01, 1.755888e-03),
1141  Qcoeff(150.0, 300.0),
1143  iso(it_isotopologue,
1144  "369",
1145  Qcoeff(-8.322642e+03, 2.144407e+02, -3.498616e-01, 1.755888e-03),
1146  Qcoeff(150.0, 300.0),
1148 
1149  // SF6
1150  // Coeff: 1
1151  next_species(it_species, it_isotopologue, "SF6");
1152  // Name c0 c1 c2 c3
1153  // | | | | |
1154  iso(it_isotopologue,
1155  "29",
1156  Qcoeff(-1.668432e+06, 2.850128e+04, -1.561230e+02, 3.288986e-01),
1157  Qcoeff(150.0, 300.0),
1159 
1160  // H2S
1161  // Coeff: 1 1 1 2
1162  next_species(it_species, it_isotopologue, "H2S");
1163  // Name c0 c1 c2 c3
1164  // | | | | |
1165 
1166  iso(it_isotopologue,
1167  "121",
1168  Qcoeff(-2.308888e+01, 9.052647e-01, 3.237531e-03, -9.823621e-07),
1169  Qcoeff(150.0, 300.0),
1171  iso(it_isotopologue,
1172  "141",
1173  Qcoeff(-2.333981e+01, 9.102537e-01, 3.233485e-03, -9.665574e-07),
1174  Qcoeff(150.0, 300.0),
1176  iso(it_isotopologue,
1177  "131",
1178  Qcoeff(-9.329309e+01, 3.636877e+00, 1.291822e-02, -3.864368e-06),
1179  Qcoeff(150.0, 300.0),
1181  iso(it_isotopologue,
1182  "122",
1183  Qcoeff(-1.512671e+01, 6.851018e-01, 3.158080e-03, -1.563931e-06),
1184  Qcoeff(150.0, 300.0),
1186 
1187  // HCOOH
1188  // Coeff: 1 2 2 2
1189  next_species(it_species, it_isotopologue, "HCOOH");
1190  // Name c0 c1 c2 c3
1191  // | | | | |
1192  iso(it_isotopologue,
1193  "1261",
1194  Qcoeff(-4.370811e+03, 1.141311e+02, -1.217474e-01, 7.859656e-04),
1195  Qcoeff(150.0, 300.0),
1197  iso(it_isotopologue,
1198  "1361",
1199  Qcoeff(-4.910213e+03, 5.115094e+01, 3.433096e-02, -1.340898e-04),
1200  Qcoeff(150.0, 300.0),
1202  iso(it_isotopologue,
1203  "2261",
1204  Qcoeff(3.823001e+02, 5.455419e+00, 1.108040e-01, -5.086754e-06),
1205  Qcoeff(150.0, 300.0),
1207  iso(it_isotopologue,
1208  "1262",
1209  Qcoeff(8.193393e+02, 2.222546e+00, 1.070970e-01, 3.255965e-06),
1210  Qcoeff(150.0, 300.0),
1212 
1213  // HO2
1214  // Coeff: 1
1215  next_species(it_species, it_isotopologue, "HO2");
1216  // Name c0 c1 c2 c3
1217  // | | | | |
1218  iso(it_isotopologue,
1219  "166",
1220  Qcoeff(-2.341264e+02, 8.164256e+00, 2.506193e-02, -3.012599e-06),
1221  Qcoeff(150.0, 300.0),
1223 
1224  // O
1225  // Coeff: 2
1226  next_species(it_species, it_isotopologue, "O");
1227  // Name c0 c1 c2 c3
1228  // | | | | |
1229  iso(it_isotopologue,
1230  "6",
1231  Qcoeff(4.956057e+00, 8.070975e-05, 4.987684e-05, -1.028970e-07),
1232  Qcoeff(150.0, 300.0),
1234 
1235  // ClONO2
1236  // Coeff: 1 1
1237  next_species(it_species, it_isotopologue, "ClONO2");
1238  // Name c0 c1 c2 c3
1239  // | | | | |
1240  iso(it_isotopologue,
1241  "5646",
1242  Qcoeff(-2.052890e+06, 3.638094e+04, -1.995279e+02, 5.224687e-01),
1243  Qcoeff(150.0, 300.0),
1245  iso(it_isotopologue,
1246  "7646",
1247  Qcoeff(-2.104484e+06, 3.729925e+04, -2.045781e+02, 5.357327e-01),
1248  Qcoeff(150.0, 300.0),
1250 
1251  // NO+
1252  // Coeff: 1
1253  next_species(it_species, it_isotopologue, "NO+");
1254  // Name c0 c1 c2 c3
1255  // | | | | |
1256  iso(it_isotopologue,
1257  "46",
1258  Qcoeff(1.125969e+00, 1.047028e+00, 1.174546e-05, -1.519278e-08),
1259  Qcoeff(150.0, 300.0),
1261 
1262  // OClO
1263  // Coeff: 2 2
1264  next_species(it_species, it_isotopologue, "OClO");
1265  // Name c0 c1 c2 c3
1266  // | | | | |
1267  iso(it_isotopologue,
1268  "656",
1269  Qcoeff(-1.617389e+03, 6.991068e+01, 5.003075e-01, -1.442758e-04),
1270  Qcoeff(150.0, 300.0),
1272  iso(it_isotopologue,
1273  "676",
1274  Qcoeff(7.964396e+02, 4.768587e+01, 5.283347e-01, -8.232128e-05),
1275  Qcoeff(150.0, 300.0),
1277 
1278  // BrO
1279  // Coeff: 3 3
1280  next_species(it_species, it_isotopologue, "BrO");
1281  // Name c0 c1 c2 c3
1282  // | | | | |
1283  iso(it_isotopologue,
1284  "96",
1285  Qcoeff(-4.084622e+01, 1.427999e+01, -1.011647e-02, 2.783630e-05),
1286  Qcoeff(150.0, 300.0),
1288  iso(it_isotopologue,
1289  "16",
1290  Qcoeff(-4.118468e+01, 1.434034e+01, -1.016302e-02, 2.795965e-05),
1291  Qcoeff(150.0, 300.0),
1293 
1294  // H2SO4
1295  // Coeff: 2
1296  next_species(it_species, it_isotopologue, "H2SO4");
1297  // Name c0 c1 c2 c3
1298  // | | | | |
1299  iso(it_isotopologue,
1300  "126",
1301  Qcoeff(-5.913199e+03, 2.485770e+02, 1.140269e+00, -5.679165e-04),
1302  Qcoeff(150.0, 300.0),
1304 
1305  // Cl2O2
1306  // Coeff: 2 2
1307  next_species(it_species, it_isotopologue, "Cl2O2");
1308  // Name c0 c1 c2 c3
1309  // | | | | |
1310  iso(it_isotopologue,
1311  "565",
1312  Qcoeff(6.215326e+05, -7.121447e+03, 2.784834e+01, 2.147458e-02),
1313  Qcoeff(150.0, 300.0),
1315  iso(it_isotopologue,
1316  "765",
1317  Qcoeff(6.399192e+05, -7.332314e+03, 2.866224e+01, 2.210953e-02),
1318  Qcoeff(150.0, 300.0),
1320 
1321  // HOBr
1322  // Coeff: 1 1
1323  next_species(it_species, it_isotopologue, "HOBr");
1324  // Name c0 c1 c2 c3
1325  // | | | | |
1326  iso(it_isotopologue,
1327  "169",
1328  Qcoeff(-1.665575e+03, 5.687767e+01, 9.982304e-02, 1.705212e-04),
1329  Qcoeff(150.0, 300.0),
1331  iso(it_isotopologue,
1332  "161",
1333  Qcoeff(-1.631140e+03, 5.625451e+01, 1.012339e-01, 1.676169e-04),
1334  Qcoeff(150.0, 300.0),
1336 
1337  // C2H4
1338  // Coeff: 1 1
1339  next_species(it_species, it_isotopologue, "C2H4");
1340  // Name c0 c1 c2 c3
1341  // | | | | |
1342  iso(it_isotopologue,
1343  "221",
1344  Qcoeff(-1.379496e+03, 3.408740e+01, -2.321387e-02, 1.682474e-04),
1345  Qcoeff(150.0, 300.0),
1347  iso(it_isotopologue,
1348  "231",
1349  Qcoeff(-5.653328e+03, 1.396050e+02, -9.531910e-02, 6.891171e-04),
1350  Qcoeff(150.0, 300.0),
1352 
1353  // CH3OH
1354  // Coeff: 2
1355  next_species(it_species, it_isotopologue, "CH3OH");
1356  // Name c0 c1 c2 c3
1357  // | | | | |
1358  iso(it_isotopologue,
1359  "2161",
1360  Qcoeff(-6.340560e+01, 5.621709e+00, 6.341163e-02, 8.161605e-05),
1361  Qcoeff(150.0, 300.0),
1363  //iso(it_isotopologue, "2261" , Qcoeff( ), Qcoeff(150.0, 300.0), IsotopologueRecord::PF_FROMCOEFF);
1364 
1365  // CH3Br
1366  // Coeff: 1 1
1367  next_species(it_species, it_isotopologue, "CH3Br");
1368  // Name c0 c1 c2 c3
1369  // | | | | |
1370  iso(it_isotopologue,
1371  "219",
1372  Qcoeff(-8.148814e+03, 2.215010e+02, -5.238478e-02, 1.165145e-03),
1373  Qcoeff(150.0, 300.0),
1375  iso(it_isotopologue,
1376  "211",
1377  Qcoeff(-8.174189e+03, 2.222574e+02, -5.242739e-02, 1.170863e-03),
1378  Qcoeff(150.0, 300.0),
1380 
1381  // CH3CN
1382  // Coeff: 1 2 2 2 2
1383  // Note: In 2008 edition of HITRAN, CH3CN appear with isotopologue 2124 (here:
1384  // 211124). TIPS also provides partition functions for 2134, 3123, and 3134.
1385  // However, partition functions of HITRAN/TIPS and JPL deviate significantly,
1386  // particularly TIPS-fits lead to negative numbers at low temperatures. Proper
1387  // scaling of line intensities from HITRAN requires HITRAN partition
1388  // functions, though. Hence HITRAN/TIPS data is used for the isotopologue(s)
1389  // with existing HITRAN line data (=2124), but others are still taken from
1390  // JPL.
1391  next_species(it_species, it_isotopologue, "CH3CN");
1392  // Name c0 c1 c2 c3
1393  // | | | | |
1394  //iso(it_isotopologue, "211124" , Qcoeff( 1.706820e+03, 1.093287e+00, 4.255850e-01, 3.367172e-05 ), Qcoeff(150.0, 300.0), IsotopologueRecord::PF_FROMCOEFF);// !JPL!
1395  iso(it_isotopologue,
1396  "211124",
1397  Qcoeff(-9.623882e+03, 2.374695e+02, -6.173187e-01, 3.164639e-03),
1398  Qcoeff(150.0, 300.0),
1400  iso(it_isotopologue,
1401  "311124",
1402  Qcoeff(-1.172596e+03, 4.973615e+01, 2.285735e-01, -1.135942e-04),
1403  Qcoeff(150.0, 300.0),
1405  //iso(it_isotopologue, "311124" , Qcoeff(-2.049829e+04, 5.010426e+02, -1.338276e+00, 6.673269e-03 ), Qcoeff(150.0, 300.0), IsotopologueRecord::PF_FROMCOEFF);// !HITRAN!
1406  iso(it_isotopologue,
1407  "211134",
1408  Qcoeff(-1.139329e+03, 4.832504e+01, 2.220882e-01, -1.103713e-04),
1409  Qcoeff(150.0, 300.0),
1411  //iso(it_isotopologue, "211134" , Qcoeff(-1.968877e+04, 4.826701e+02, -1.286793e+00, 6.573412e-03 ), Qcoeff(150.0, 300.0), IsotopologueRecord::PF_FROMCOEFF);// !HITRAN!
1412  iso(it_isotopologue,
1413  "211125",
1414  Qcoeff(-3.861117e+02, 1.654635e+01, 7.638250e-02, -3.776153e-05),
1415  Qcoeff(150.0, 300.0),
1417  iso(it_isotopologue,
1418  "211224",
1419  Qcoeff(-3.483734e+02, 1.464417e+01, 6.717486e-02, -3.345710e-05),
1420  Qcoeff(150.0, 300.0),
1422  //iso(it_isotopologue, "311134" , Qcoeff(-4.172614e+04, 1.014830e+03, -2.761288e+00, 1.377871e-02 ), Qcoeff(150.0, 300.0), IsotopologueRecord::PF_FROMCOEFF);// !HITRAN!
1423 
1424  // CF4
1425  // Coeff: 1
1426  next_species(it_species, it_isotopologue, "CF4");
1427  // Name c0 c1 c2 c3
1428  // | | | | |
1429  iso(it_isotopologue,
1430  "29",
1431  Qcoeff(-8.012791e+03, 2.723081e+02, -7.099708e-01, 4.276032e-03),
1432  Qcoeff(150.0, 300.0),
1434 
1435  // HC3N
1436  // Coeff: 1 1 1 1 1 1
1437  next_species(it_species, it_isotopologue, "HC3N");
1438  // Name c0 c1 c2 c3
1439  // | | | | |
1440  iso(it_isotopologue,
1441  "12224",
1442  Qcoeff(-6.064268e+03, 1.310762e+02, -6.450667e-01, 1.872277e-03),
1443  Qcoeff(150.0, 300.0),
1445  iso(it_isotopologue,
1446  "12234",
1447  Qcoeff(-1.227602e+04, 2.649297e+02, -1.305621e+00, 3.782952e-03),
1448  Qcoeff(150.0, 300.0),
1450  iso(it_isotopologue,
1451  "12324",
1452  Qcoeff(-1.206417e+04, 2.614248e+02, -1.285701e+00, 3.740976e-03),
1453  Qcoeff(150.0, 300.0),
1455  iso(it_isotopologue,
1456  "13224",
1457  Qcoeff(-1.289278e+04, 2.770457e+02, -1.369981e+00, 3.949587e-03),
1458  Qcoeff(150.0, 300.0),
1460  iso(it_isotopologue,
1461  "12225",
1462  Qcoeff(-4.185427e+03, 9.035734e+01, -4.449410e-01, 1.289787e-03),
1463  Qcoeff(150.0, 300.0),
1465  iso(it_isotopologue,
1466  "22224",
1467  Qcoeff(-1.403953e+04, 2.856169e+02, -1.492360e+00, 4.092496e-03),
1468  Qcoeff(150.0, 300.0),
1470 
1471  // CS
1472  // Coeff: 1 1 1 1
1473  next_species(it_species, it_isotopologue, "CS");
1474  // Name c0 c1 c2 c3
1475  // | | | | |
1476  iso(it_isotopologue,
1477  "22",
1478  Qcoeff(-1.173849e+00, 8.763750e-01, -1.348835e-04, 2.778616e-07),
1479  Qcoeff(150.0, 300.0),
1481  iso(it_isotopologue,
1482  "24",
1483  Qcoeff(-1.268076e+00, 8.916788e-01, -1.426045e-04, 2.926318e-07),
1484  Qcoeff(150.0, 300.0),
1486  iso(it_isotopologue,
1487  "32",
1488  Qcoeff(-2.829388e+00, 1.861746e+00, -3.157562e-04, 6.522683e-07),
1489  Qcoeff(150.0, 300.0),
1491  iso(it_isotopologue,
1492  "23",
1493  Qcoeff(-4.804427e+00, 3.534610e+00, -5.409610e-04, 1.115080e-06),
1494  Qcoeff(150.0, 300.0),
1496 
1497  // HNC
1498  // Coeff: 2 2 2 2
1499  next_species(it_species, it_isotopologue, "HNC");
1500  // Name c0 c1 c2 c3
1501  // | | | | |
1502  iso(it_isotopologue,
1503  "142",
1504  Qcoeff(3.333499e-01, 4.595243e-01, 1.502307e-06, 2.413631e-13),
1505  Qcoeff(150.0, 300.0),
1507  iso(it_isotopologue,
1508  "143",
1509  Qcoeff(7.032558e-02, 4.813463e-01, -6.651923e-06, -1.954964e-11),
1510  Qcoeff(150.0, 300.0),
1512  iso(it_isotopologue,
1513  "152",
1514  Qcoeff(1.589700e-01, 4.708129e-01, -3.866420e-06, 4.006830e-11),
1515  Qcoeff(150.0, 300.0),
1517  iso(it_isotopologue,
1518  "242",
1519  Qcoeff(2.865158e-01, 5.465990e-01, 2.142689e-07, 1.733211e-11),
1520  Qcoeff(150.0, 300.0),
1522 
1523  // SO
1524  // Coeff: 1 1 1
1525  next_species(it_species, it_isotopologue, "SO");
1526  // Name c0 c1 c2 c3
1527  // | | | | |
1528  iso(it_isotopologue,
1529  "26",
1530  Qcoeff(-2.590097e+01, 3.010850e+00, -6.619843e-04, 1.377253e-06),
1531  Qcoeff(150.0, 300.0),
1533  iso(it_isotopologue,
1534  "46",
1535  Qcoeff(-2.691191e+01, 3.076825e+00, -7.096949e-04, 1.474163e-06),
1536  Qcoeff(150.0, 300.0),
1538  iso(it_isotopologue,
1539  "28",
1540  Qcoeff(-2.913675e+01, 3.263819e+00, -8.018822e-04, 1.695761e-06),
1541  Qcoeff(150.0, 300.0),
1543 
1544  // C3H8
1545  // Coeff: 2*
1546  // Note: The standard fit (150-300K) is completely wrong at T<150K, hence fit
1547  // has been done over 9-300K. Still, the fit is rather poor (deviation in
1548  // QT/QT[300K] ~10%).
1549  // Reason might be that the T^1.5 relation of the partition function does not
1550  // seem to hold (from looking at QT(T) at the given JPL temperatures), but
1551  // also that due to several orders of magnitude differences over the QT(T),
1552  // the fit is strongly forced to the high QT at high temperatures. Some kind
1553  // of weighted fit (putting more weight on low T values, e.g., cost function
1554  // depending on relative deviation instead of absolute) might be better.
1555  // According to our interpretation of the JPL C3H8 fact sheet, the JPL
1556  // partition functions in this case already include vibrational partition
1557  // function, i.e. do not need to get corrected here (nevertheless we leave the
1558  // data with correction here in case we find, we're wrong. For those
1559  // corrections, vibrational energy levels were taken from
1560  // http://webbook.nist.gov/chemistry/vib-ser.html. With this corrections, the
1561  // polynomial fit is even worse, yealding deviations of QT/QT[300K] >50% at
1562  // T<100K ~50%).
1563  next_species(it_species, it_isotopologue, "C3H8");
1564  // Name c0 c1 c2 c3
1565  // | | | | |
1566  iso(it_isotopologue,
1567  "21",
1568  Qcoeff(-1.826371e+04, 1.397636e+03, -3.770229e+00, 5.692114e-02),
1569  Qcoeff(150.0, 300.0),
1570  IsotopologueRecord::PF_FROMCOEFF); // w/out extra vib
1571  //iso(it_isotopologue, "21" , Qcoeff(-1.509682e+05, 8.184783e+03, -8.819316e+01, 3.778885e-01), Qcoeff(150.0, 300.0), IsotopologueRecord::PF_FROMCOEFF); // with vib
1572 
1573  // H2
1574  // Coeff: 1 1
1575  next_species(it_species, it_isotopologue, "H2");
1576  // Name c0 c1 c2 c3
1577  // | | | | |
1578  iso(it_isotopologue,
1579  "11",
1580  Qcoeff(-5.989204e-01, 3.716024e-02, -4.849594e-05, 5.867598e-08),
1581  Qcoeff(150.0, 300.0),
1583  iso(it_isotopologue,
1584  "12",
1585  Qcoeff(2.575211e+00, 8.914624e-02, 1.491752e-05, -1.505173e-08),
1586  Qcoeff(150.0, 300.0),
1588 
1589  // H
1590  // Coeff: 0
1591  // Note: Partition function is unknown. Anyway, H is only needed as
1592  // broadening species, i.e., partition functions are not needed for
1593  // calculation, just as equivalent entry to species_data. Nevertheless, we
1594  // want to avoid negative values (this would throw a runtime error), instead
1595  // we set the partition function to a constant, positive value.
1596  next_species(it_species, it_isotopologue, "H");
1597  // Name c0 c1 c2 c3
1598  // | | | | |
1599  iso(it_isotopologue,
1600  "1",
1601  Qcoeff(1.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00),
1602  Qcoeff(150.0, 300.0),
1604 
1605  // He
1606  // Coeff: 0
1607  // Note: Partition function is unknown. Anyway, He is only needed as
1608  // broadening species, i.e., partition functions are not needed for
1609  // calculation, just as equivalent entry to species_data. Nevertheless, we
1610  // want to avoid negative values (this would throw a runtime error), instead
1611  // we set the partition function to a constant, positive value.
1612  next_species(it_species, it_isotopologue, "He");
1613  // Name c0 c1 c2 c3
1614  // | | | | |
1615  iso(it_isotopologue,
1616  "4",
1617  Qcoeff(1.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00),
1618  Qcoeff(150.0, 300.0),
1620 
1621  // Ar
1622  // Coeff: 0
1623  // Note: Partition function is unknown. Anyway, Ar is only needed as
1624  // broadening species, i.e., partition functions are not needed for
1625  // calculation, just as equivalent entry to species_data. Nevertheless, we
1626  // want to avoid negative values (this would throw a runtime error), instead
1627  // we set the partition function to a constant, positive value.
1628  next_species(it_species, it_isotopologue, "Ar");
1629  // Name c0 c1 c2 c3
1630  // | | | | |
1631  iso(it_isotopologue,
1632  "8",
1633  Qcoeff(1.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00),
1634  Qcoeff(150.0, 300.0),
1636 
1637  // C4H2
1638  // Coeff: 0
1639  // Guessed to be linear. Q=T.
1640  next_species(it_species, it_isotopologue, "C4H2");
1641  // Name c0 c1 c2 c3
1642  // | | | | |
1643  iso(it_isotopologue,
1644  "2211",
1645  Qcoeff(0.0000E+00, 1.0000E+00, 0.0000E+00, 0.0000E+00),
1646  Qcoeff(150.0, 300.0),
1648 
1649  // SO3
1650  // Coeff: 0
1651  // Guessed to be non-linear. Q= T^1.5.
1652  next_species(it_species, it_isotopologue, "SO3");
1653  // Name c0 c1 c2 c3
1654  // | | | | |
1655  iso(it_isotopologue,
1656  "26",
1657  Qcoeff(-76.2339, 6.95356, 1.30510e-07, -1.17068e-11),
1658  Qcoeff(150.0, 300.0),
1660 
1661  // liquid cloud particles
1662  // Coeff: 1 1
1663  next_species(it_species, it_isotopologue, "liquidcloud");
1664  // Name c0 c1 c2 c3
1665  // | | | | |
1666  iso(it_isotopologue,
1667  "MPM93",
1668  Qcoeff(0, 0, 0, 0),
1669  Qcoeff(150.0, 300.0),
1671  iso(it_isotopologue,
1672  "ELL07",
1673  Qcoeff(0, 0, 0, 0),
1674  Qcoeff(150.0, 300.0),
1676 
1677  // ice cloud particles
1678  // Coeff: 1 1
1679  next_species(it_species, it_isotopologue, "icecloud");
1680  // Name c0 c1 c2 c3
1681  // | | | | |
1682  iso(it_isotopologue,
1683  "MPM93",
1684  Qcoeff(0, 0, 0, 0),
1685  Qcoeff(150.0, 300.0),
1687 
1688  // rain particles
1689  // Coeff: 1 1
1690  next_species(it_species, it_isotopologue, "rain");
1691  // Name c0 c1 c2 c3
1692  // | | | | |
1693  iso(it_isotopologue,
1694  "MPM93",
1695  Qcoeff(0, 0, 0, 0),
1696  Qcoeff(150.0, 300.0),
1698 
1699  // free_electrons: skip iso setting
1700  next_species(it_species, it_isotopologue, "free_electrons");
1701 
1702  // particles (to be derived from scat_data and pnd_field): skip iso setting
1703  next_species(it_species, it_isotopologue, "particles");
1704 
1705  // hitran cross section species: skip iso setting
1706  for (const auto& s : {
1707  "C2F6", "C3F8", "C4F10", "C5F12", "C6F14",
1708  "C8F18", "cC4F8", "CCl4", "CFC11", "CFC113",
1709  "CFC114", "CFC115", "CFC12", "CH2Cl2", "CH3CCl3",
1710  "CHCl3", "Halon1211", "Halon1301", "Halon2402", "HCFC141b",
1711  "HCFC142b", "HCFC22", "HFC125", "HFC134a", "HFC143a",
1712  "HFC152a", "HFC227ea", "HFC23", "HFC245fa", "HFC32",
1713  "NF3", "SO2F2", "HFC4310mee"
1714  }) {
1715  next_species(it_species, it_isotopologue, s);
1716  }
1717 
1718  // Ensure that we took care of all species
1719  assert(it_species == species_data.end());
1720 }
1721 
1724  String name _U_) {
1725  assert(name == is->Name());
1726 
1727  ii = is->Isotopologue().begin();
1728 
1729  is++;
1730 }
1731 
1733  String name _U_,
1734  const ArrayOfNumeric& coeff,
1735  const ArrayOfNumeric& temp_range,
1736  const Index& coefftype) {
1737  assert(name == ii->Name());
1738 
1739  ii->SetPartitionFctCoeff(coeff, temp_range, coefftype);
1740 
1741  ii++;
1742 }
Qcoeff
#define Qcoeff(...)
Definition: partition_function_data.cc:68
absorption.h
Declarations required for the calculation of absorption coefficients.
iso
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.
Definition: partition_function_data.cc:1732
IsotopologueRecord::PF_FROMCOEFF
@ PF_FROMCOEFF
Definition: absorption.h:124
global_data::species_data
const Array< SpeciesRecord > species_data
Species Data.
Definition: partition_function_data.cc:42
Array
This can be used to make arrays out of anything.
Definition: array.h:108
_U_
#define _U_
Definition: config.h:183
my_basic_string< char >
define_partition_species_data
void define_partition_species_data()
Definition: partition_function_data.cc:188
global_data
Definition: agenda_record.cc:33
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
next_species
void next_species(Array< SpeciesRecord >::iterator &is, Array< IsotopologueRecord >::iterator &ii, String name)
Define partition function coefficients lookup data.
Definition: partition_function_data.cc:1722
arts.h
The global header file for ARTS.