PROGRAM HITFMT C C VERSION C 30JUN09 AD Bug fixes from Mike Burton reading IDXMOL, adding mol.#39-42 C 31JAN08 AD Convert Rotational info for CO2 lines C 19DEC07 AD Change to handling of IDXVIB C 24MAR06 AD Add IDXVIB to convert global quantum numbers C 26JAN06 AD Original. C C DESCRIPTION C Program to convert HITRAN 2004 format back to old format. C This program just copies the first 67 characters of the new C*160 record C to the old C*100 record leaving the remainder of the record blank, plus C sets the Transition Moment to ' 0.000E+00' (no transition moment in C the new format) C sets the Global Quantum Numbers converting the new C*15 to old indices C for CO2 lines: converts Rotational ID back to old shorter format C This should work for all RFM applications. C IMPLICIT NONE C EXTERNAL & IDXVIB ! Translate HITRAN C*15 Global Quantum ID to old integer index C INTEGER IDXVIB C C LOCAL CONSTANTS INTEGER LUNH04 ! LUN for HITRAN2004 format input file PARAMETER ( LUNH04 = 1 ) INTEGER LUNOUT ! LUN for reformatted output file PARAMETER ( LUNOUT = 2 ) C C LOCAL VARIABLES INTEGER IUVIB ! Upper Global Quantum Index INTEGER ILVIB ! Lower Global Quantum Index INTEGER IDXMOL ! HITRAN index of molecule CHARACTER*80 FILH04 ! Name of HITRAN2004 format file CHARACTER*80 FILOUT ! Name of reformatted output file CHARACTER*160 REC160 ! Record from HITRAN2004 format file CHARACTER*100 REC100 ! Record to be written to reformatted file C C EXECUTABLE CODE ------------------------------------------------------------- C WRITE ( *, * ) 'Running HITFMT v.31JAN08' C WRITE ( *, '($,A)' ) 'HITRAN 2004 (input) file: ' READ ( *, '(A)' ) FILH04 OPEN ( UNIT=LUNH04, FILE=FILH04, STATUS='OLD' ) C WRITE ( *, '($,A)' ) 'Converted (output) file: ' READ ( *, '(A)' ) FILOUT OPEN ( UNIT=LUNOUT, FILE=FILOUT, STATUS='NEW' ) C REC100 = ' ' 100 CONTINUE READ ( LUNH04, '(A)', END=200 ) REC160 REC100(1:67) = REC160(1:67) REC100(26:35) = ' 0.000E+00' ! Set Transition Moment C C Global quantum numbers READ ( REC160(1:2), '(I2)' ) IDXMOL IUVIB = IDXVIB ( IDXMOL, REC160(68:82) ) ILVIB = IDXVIB ( IDXMOL, REC160(83:97) ) WRITE ( REC100(68:73), '(2I3)' ) IUVIB, ILVIB C C Reformat local quantum numbers for CO2 lines (required by RFM for line-mixing) C The first 9 characters of the HITRAN04 C*15 strings seems to match the C old C*9 fields except that in the old format the characters are shifted one C space left with the last character blank C No idea what this will do for local quantum numbers for other molecules (!) C but hopefully this information won't be required by the user WRITE ( REC100(74:82), '(A9)' ) REC160(99:106)//' ' ! Upper Vib WRITE ( REC100(83:91), '(A9)' ) REC160(114:121)//' ' ! Lower Vib C C WRITE ( LUNOUT, '(A)' ) REC100 GOTO 100 200 CONTINUE STOP 'Successful Completion' END C INTEGER FUNCTION IDXVIB ( IDXMOL, STRVIB ) C C VERSION C 30JUN09 AD Add new HITRAN molec#40-42 C 19DEC07 AD Set IVIB locally, and set unidentified levels to 999 C 24MAR06 AD Original. C C DESCRIPTION C Translate HITRAN C*15 Global Quantum ID to old integer index C Based on a program supplied by Javier Martin-Torres (NASA LaRC). C IMPLICIT NONE C C ARGUMENTS INTEGER IVIB ! Local value of IDXVIB INTEGER IDXMOL ! HITRAN code for molecule CHARACTER*15 STRVIB ! HITRAN04 field defining vibration level C C EXECUTABLE CODE ------------------------------------------------------------- C IVIB = 0 C C Class 1: Diatomic Molecules IF ( IDXMOL .EQ. 5 .OR. ! CO & IDXMOL .EQ. 14 .OR. ! HF & IDXMOL .EQ. 15 .OR. ! HCl & IDXMOL .EQ. 16 .OR. ! HBr & IDXMOL .EQ. 17 .OR. ! HI & IDXMOL .EQ. 22 .OR. ! N2 & IDXMOL .EQ. 36 ) THEN ! NO+ IF ( STRVIB .EQ. ' 0' ) IVIB = 1 IF ( STRVIB .EQ. ' 1' ) IVIB = 2 IF ( STRVIB .EQ. ' 2' ) IVIB = 3 IF ( STRVIB .EQ. ' 3' ) IVIB = 4 IF ( STRVIB .EQ. ' 4' ) IVIB = 5 IF ( STRVIB .EQ. ' 5' ) IVIB = 6 IF ( STRVIB .EQ. ' 6' ) IVIB = 7 IF ( STRVIB .EQ. ' 7' ) IVIB = 8 IF ( STRVIB .EQ. ' 8' ) IVIB = 9 IF ( STRVIB .EQ. ' 9' ) IVIB = 10 IF ( STRVIB .EQ. ' 10' ) IVIB = 11 IF ( STRVIB .EQ. ' 11' ) IVIB = 12 IF ( STRVIB .EQ. ' 12' ) IVIB = 13 IF ( STRVIB .EQ. ' 13' ) IVIB = 14 IF ( STRVIB .EQ. ' 14' ) IVIB = 15 IF ( STRVIB .EQ. ' 15' ) IVIB = 16 IF ( STRVIB .EQ. ' 16' ) IVIB = 17 IF ( STRVIB .EQ. ' 17' ) IVIB = 18 IF ( STRVIB .EQ. ' 18' ) IVIB = 19 IF ( STRVIB .EQ. ' 19' ) IVIB = 20 IF ( STRVIB .EQ. ' 20' ) IVIB = 21 C C Class 2: Diatomic molecules with different electonic levels ELSE IF ( IDXMOL .EQ. 7 ) THEN ! O2 IF ( STRVIB .EQ. ' X 0' ) IVIB = 1 IF ( STRVIB .EQ. ' X 1' ) IVIB = 2 IF ( STRVIB .EQ. ' a 0' ) IVIB = 3 IF ( STRVIB .EQ. ' a 1' ) IVIB = 4 IF ( STRVIB .EQ. ' b 0' ) IVIB = 5 IF ( STRVIB .EQ. ' b 1' ) IVIB = 6 IF ( STRVIB .EQ. ' b 2' ) IVIB = 7 IF ( STRVIB .EQ. ' ' ) IVIB = 8 IF ( STRVIB .EQ. ' X 2' ) IVIB = 9 IF ( STRVIB .EQ. ' B 0' ) IVIB = 10 IF ( STRVIB .EQ. ' B 1' ) IVIB = 11 IF ( STRVIB .EQ. ' B 2' ) IVIB = 12 IF ( STRVIB .EQ. ' B 3' ) IVIB = 13 IF ( STRVIB .EQ. ' B 4' ) IVIB = 14 IF ( STRVIB .EQ. ' B 5' ) IVIB = 15 IF ( STRVIB .EQ. ' B 6' ) IVIB = 16 IF ( STRVIB .EQ. ' B 7' ) IVIB = 17 IF ( STRVIB .EQ. ' B 8' ) IVIB = 18 IF ( STRVIB .EQ. ' B 9' ) IVIB = 19 IF ( STRVIB .EQ. ' B 10' ) IVIB = 20 IF ( STRVIB .EQ. ' B 11' ) IVIB = 21 IF ( STRVIB .EQ. ' B 12' ) IVIB = 22 IF ( STRVIB .EQ. ' B 13' ) IVIB = 23 IF ( STRVIB .EQ. ' B 14' ) IVIB = 24 IF ( STRVIB .EQ. ' B 15' ) IVIB = 25 IF ( STRVIB .EQ. ' B 16' ) IVIB = 26 IF ( STRVIB .EQ. ' B 17' ) IVIB = 27 IF ( STRVIB .EQ. ' B 18' ) IVIB = 28 IF ( STRVIB .EQ. ' B 19' ) IVIB = 29 C C Class 3: Diatomic molecules with Pi-doublet electronic state ELSE IF ( IDXMOL .EQ. 8 .OR. ! NO & IDXMOL .EQ. 13 .OR. ! OH & IDXMOL .EQ. 18 ) THEN ! ClO IF ( STRVIB .EQ. ' X3/2 0' ) IVIB = 1 IF ( STRVIB .EQ. ' X3/2 1' ) IVIB = 2 IF ( STRVIB .EQ. ' X3/2 2' ) IVIB = 3 IF ( STRVIB .EQ. ' X3/2 3' ) IVIB = 4 IF ( STRVIB .EQ. ' X3/2 4' ) IVIB = 5 IF ( STRVIB .EQ. ' X3/2 5' ) IVIB = 6 IF ( STRVIB .EQ. ' X3/2 6' ) IVIB = 7 IF ( STRVIB .EQ. ' X3/2 7' ) IVIB = 8 IF ( STRVIB .EQ. ' X3/2 8' ) IVIB = 9 IF ( STRVIB .EQ. ' X3/2 9' ) IVIB = 10 IF ( STRVIB .EQ. ' X1/2 0' ) IVIB = 11 IF ( STRVIB .EQ. ' X1/2 1' ) IVIB = 12 IF ( STRVIB .EQ. ' X1/2 2' ) IVIB = 13 IF ( STRVIB .EQ. ' X1/2 3' ) IVIB = 14 IF ( STRVIB .EQ. ' X1/2 4' ) IVIB = 15 IF ( STRVIB .EQ. ' X1/2 5' ) IVIB = 16 IF ( STRVIB .EQ. ' X1/2 6' ) IVIB = 17 IF ( STRVIB .EQ. ' X1/2 7' ) IVIB = 18 IF ( STRVIB .EQ. ' X1/2 8' ) IVIB = 19 IF ( STRVIB .EQ. ' X1/2 9' ) IVIB = 20 IF ( STRVIB .EQ. ' X1/2 10' ) IVIB = 21 IF ( STRVIB .EQ. ' X1/2 11' ) IVIB = 22 IF ( STRVIB .EQ. ' X1/2 12' ) IVIB = 23 IF ( STRVIB .EQ. ' X3/2 10' ) IVIB = 24 IF ( STRVIB .EQ. ' X3/2 11' ) IVIB = 25 IF ( STRVIB .EQ. ' X3/2 12' ) IVIB = 26 IF ( STRVIB .EQ. ' A1 0' ) IVIB = 27 IF ( STRVIB .EQ. ' A1 1' ) IVIB = 28 IF ( STRVIB .EQ. ' A1 2' ) IVIB = 29 IF ( STRVIB .EQ. ' A1 3' ) IVIB = 30 IF ( STRVIB .EQ. ' A2 0' ) IVIB = 31 IF ( STRVIB .EQ. ' A2 1' ) IVIB = 32 IF ( STRVIB .EQ. ' A2 2' ) IVIB = 33 IF ( STRVIB .EQ. ' A2 3' ) IVIB = 34 IF ( STRVIB .EQ. ' X3/2 13' ) IVIB = 35 IF ( STRVIB .EQ. ' X3/2 14' ) IVIB = 36 IF ( STRVIB .EQ. ' X1/2 13' ) IVIB = 37 IF ( STRVIB .EQ. ' X1/2 14' ) IVIB = 38 C C Class 4: Linear triatomic molecules ELSE IF ( IDXMOL .EQ. 4 .OR. ! N2O & IDXMOL .EQ. 19 .OR. ! OCS & IDXMOL .EQ. 23 ) THEN ! HCN IF ( STRVIB .EQ. ' 0 0 0 0' ) IVIB = 1 IF ( STRVIB .EQ. ' 0 1 1 0' ) IVIB = 2 IF ( STRVIB .EQ. ' 0 2 0 0' ) IVIB = 3 IF ( STRVIB .EQ. ' 0 2 2 0' ) IVIB = 4 IF ( STRVIB .EQ. ' 1 0 0 0' ) IVIB = 5 IF ( STRVIB .EQ. ' 0 3 1 0' ) IVIB = 6 IF ( STRVIB .EQ. ' 0 3 3 0' ) IVIB = 7 IF ( STRVIB .EQ. ' 1 1 1 0' ) IVIB = 8 IF ( STRVIB .EQ. ' 0 4 0 0' ) IVIB = 9 IF ( STRVIB .EQ. ' 0 4 2 0' ) IVIB = 10 IF ( STRVIB .EQ. ' 1 2 0 0' ) IVIB = 11 IF ( STRVIB .EQ. ' 1 2 2 0' ) IVIB = 12 IF ( STRVIB .EQ. ' 2 0 0 0' ) IVIB = 13 IF ( STRVIB .EQ. ' 0 0 0 1' ) IVIB = 14 IF ( STRVIB .EQ. ' 0 5 1 0' ) IVIB = 15 IF ( STRVIB .EQ. ' 1 3 1 0' ) IVIB = 16 IF ( STRVIB .EQ. ' 1 3 3 0' ) IVIB = 17 IF ( STRVIB .EQ. ' 2 1 1 0' ) IVIB = 18 IF ( STRVIB .EQ. ' 0 1 1 1' ) IVIB = 19 IF ( STRVIB .EQ. ' 1 4 0 0' ) IVIB = 20 IF ( STRVIB .EQ. ' 1 4 2 0' ) IVIB = 21 IF ( STRVIB .EQ. ' 2 2 0 0' ) IVIB = 22 IF ( STRVIB .EQ. ' 2 2 2 0' ) IVIB = 23 IF ( STRVIB .EQ. ' 3 0 0 0' ) IVIB = 24 IF ( STRVIB .EQ. ' 0 2 0 1' ) IVIB = 25 IF ( STRVIB .EQ. ' 0 2 2 1' ) IVIB = 26 IF ( STRVIB .EQ. ' 1 0 0 1' ) IVIB = 27 IF ( STRVIB .EQ. ' 2 3 1 0' ) IVIB = 28 IF ( STRVIB .EQ. ' 3 1 1 0' ) IVIB = 29 IF ( STRVIB .EQ. ' 0 3 1 1' ) IVIB = 30 IF ( STRVIB .EQ. ' 0 3 3 1' ) IVIB = 31 IF ( STRVIB .EQ. ' 1 1 1 1' ) IVIB = 32 IF ( STRVIB .EQ. ' 4 0 0 0' ) IVIB = 33 IF ( STRVIB .EQ. ' 3 2 0 0' ) IVIB = 34 IF ( STRVIB .EQ. ' 2 0 0 1' ) IVIB = 35 IF ( STRVIB .EQ. ' 1 2 0 1' ) IVIB = 36 IF ( STRVIB .EQ. ' 1 2 2 1' ) IVIB = 37 IF ( STRVIB .EQ. ' 0 0 0 2' ) IVIB = 38 IF ( STRVIB .EQ. ' 2 1 1 1' ) IVIB = 39 IF ( STRVIB .EQ. ' 0 1 1 2' ) IVIB = 40 IF ( STRVIB .EQ. ' ' ) IVIB = 41 IF ( STRVIB .EQ. ' 0 6 0 0' ) IVIB = 42 IF ( STRVIB .EQ. ' 0 6 2 0' ) IVIB = 43 IF ( STRVIB .EQ. ' 0 4 4 0' ) IVIB = 44 IF ( STRVIB .EQ. ' 0 5 3 0' ) IVIB = 45 IF ( STRVIB .EQ. ' 0 4 4 1' ) IVIB = 46 IF ( STRVIB .EQ. ' 0 4 2 1' ) IVIB = 47 IF ( STRVIB .EQ. ' 0 4 0 1' ) IVIB = 48 IF ( STRVIB .EQ. ' 1 5 1 0' ) IVIB = 49 IF ( STRVIB .EQ. ' 1 5 3 0' ) IVIB = 50 IF ( STRVIB .EQ. ' 2 3 3 0' ) IVIB = 51 IF ( STRVIB .EQ. ' 0 5 3 1' ) IVIB = 52 IF ( STRVIB .EQ. ' 0 5 1 1' ) IVIB = 53 IF ( STRVIB .EQ. ' 1 0 0 2' ) IVIB = 54 IF ( STRVIB .EQ. ' 1 3 1 1' ) IVIB = 55 IF ( STRVIB .EQ. ' 1 3 3 1' ) IVIB = 56 IF ( STRVIB .EQ. ' 0 7 3 0' ) IVIB = 57 IF ( STRVIB .EQ. ' 0 7 1 0' ) IVIB = 58 IF ( STRVIB .EQ. ' 1 6 0 0' ) IVIB = 59 IF ( STRVIB .EQ. ' 2 4 0 0' ) IVIB = 60 IF ( STRVIB .EQ. ' 2 4 2 0' ) IVIB = 61 IF ( STRVIB .EQ. ' 4 1 1 0' ) IVIB = 62 IF ( STRVIB .EQ. ' 3 2 2 0' ) IVIB = 63 IF ( STRVIB .EQ. ' 0 2 2 2' ) IVIB = 64 IF ( STRVIB .EQ. ' 0 2 0 2' ) IVIB = 65 IF ( STRVIB .EQ. ' 1 4 0 1' ) IVIB = 66 IF ( STRVIB .EQ. ' 1 4 2 1' ) IVIB = 67 IF ( STRVIB .EQ. ' 2 2 0 1' ) IVIB = 68 IF ( STRVIB .EQ. ' 3 0 0 1' ) IVIB = 69 IF ( STRVIB .EQ. ' 2 5 1 0' ) IVIB = 70 IF ( STRVIB .EQ. ' 4 2 0 0' ) IVIB = 71 IF ( STRVIB .EQ. ' 3 3 1 0' ) IVIB = 72 IF ( STRVIB .EQ. ' 0 6 2 1' ) IVIB = 73 IF ( STRVIB .EQ. ' 1 1 1 2' ) IVIB = 74 IF ( STRVIB .EQ. ' 2 3 1 1' ) IVIB = 75 IF ( STRVIB .EQ. ' 3 1 1 1' ) IVIB = 76 IF ( STRVIB .EQ. ' 3 4 0 0' ) IVIB = 77 IF ( STRVIB .EQ. ' 5 0 0 0' ) IVIB = 78 IF ( STRVIB .EQ. ' 0 1 1 3' ) IVIB = 79 IF ( STRVIB .EQ. ' 0 0 0 3' ) IVIB = 80 IF ( STRVIB .EQ. ' 2 0 0 2' ) IVIB = 81 IF ( STRVIB .EQ. ' 3 2 0 1' ) IVIB = 82 IF ( STRVIB .EQ. ' 4 0 0 1' ) IVIB = 83 IF ( STRVIB .EQ. ' 1 0 0 3' ) IVIB = 84 IF ( STRVIB .EQ. ' 2 2 2 1' ) IVIB = 85 IF ( STRVIB .EQ. ' 0 9 1 0' ) IVIB = 86 IF ( STRVIB .EQ. ' 0 7 1 1' ) IVIB = 87 IF ( STRVIB .EQ. ' 0 2 0 2' ) IVIB = 88 IF ( STRVIB .EQ. ' 0 5 1 1' ) IVIB = 89 IF ( STRVIB .EQ. ' 1 1 1 2' ) IVIB = 90 IF ( STRVIB .EQ. ' 3 4 2 0' ) IVIB = 91 C C Class 5: Linear triatomic molecules with large Fermi resonance ELSE IF ( IDXMOL .EQ. 2 ) THEN ! CO2 IF ( STRVIB .EQ. ' 0 0 0 01' ) IVIB = 1 IF ( STRVIB .EQ. ' 0 1 1 01' ) IVIB = 2 IF ( STRVIB .EQ. ' 1 0 0 02' ) IVIB = 3 IF ( STRVIB .EQ. ' 0 2 2 01' ) IVIB = 4 IF ( STRVIB .EQ. ' 1 0 0 01' ) IVIB = 5 IF ( STRVIB .EQ. ' 1 1 1 02' ) IVIB = 6 IF ( STRVIB .EQ. ' 0 3 3 01' ) IVIB = 7 IF ( STRVIB .EQ. ' 1 1 1 01' ) IVIB = 8 IF ( STRVIB .EQ. ' 0 0 0 11' ) IVIB = 9 IF ( STRVIB .EQ. ' 2 0 0 03' ) IVIB = 10 IF ( STRVIB .EQ. ' 1 2 2 02' ) IVIB = 11 IF ( STRVIB .EQ. ' 2 0 0 02' ) IVIB = 12 IF ( STRVIB .EQ. ' 0 4 4 01' ) IVIB = 13 IF ( STRVIB .EQ. ' 1 2 2 01' ) IVIB = 14 IF ( STRVIB .EQ. ' 2 0 0 01' ) IVIB = 15 IF ( STRVIB .EQ. ' 0 1 1 11' ) IVIB = 16 IF ( STRVIB .EQ. ' 2 1 1 03' ) IVIB = 17 IF ( STRVIB .EQ. ' 1 3 3 02' ) IVIB = 18 IF ( STRVIB .EQ. ' 2 1 1 02' ) IVIB = 19 IF ( STRVIB .EQ. ' 0 5 5 01' ) IVIB = 20 IF ( STRVIB .EQ. ' 1 3 3 01' ) IVIB = 21 IF ( STRVIB .EQ. ' 2 1 1 01' ) IVIB = 22 IF ( STRVIB .EQ. ' 1 0 0 12' ) IVIB = 23 IF ( STRVIB .EQ. ' 0 2 2 11' ) IVIB = 24 IF ( STRVIB .EQ. ' 1 0 0 11' ) IVIB = 25 IF ( STRVIB .EQ. ' 3 0 0 04' ) IVIB = 26 IF ( STRVIB .EQ. ' 2 2 2 03' ) IVIB = 27 IF ( STRVIB .EQ. ' 1 4 4 02' ) IVIB = 28 IF ( STRVIB .EQ. ' 3 0 0 03' ) IVIB = 29 IF ( STRVIB .EQ. ' 2 2 2 02' ) IVIB = 30 IF ( STRVIB .EQ. ' 0 6 6 01' ) IVIB = 31 IF ( STRVIB .EQ. ' 3 0 0 02' ) IVIB = 32 IF ( STRVIB .EQ. ' 1 4 4 01' ) IVIB = 33 IF ( STRVIB .EQ. ' 2 2 2 01' ) IVIB = 34 IF ( STRVIB .EQ. ' 3 0 0 01' ) IVIB = 35 IF ( STRVIB .EQ. ' 1 1 1 12' ) IVIB = 36 IF ( STRVIB .EQ. ' 0 3 3 11' ) IVIB = 37 IF ( STRVIB .EQ. ' 1 1 1 11' ) IVIB = 38 IF ( STRVIB .EQ. ' 0 0 0 21' ) IVIB = 39 IF ( STRVIB .EQ. ' 3 1 1 04' ) IVIB = 40 IF ( STRVIB .EQ. ' 3 1 1 03' ) IVIB = 41 IF ( STRVIB .EQ. ' 3 1 1 02' ) IVIB = 42 IF ( STRVIB .EQ. ' 2 0 0 13' ) IVIB = 43 IF ( STRVIB .EQ. ' 1 2 2 12' ) IVIB = 44 IF ( STRVIB .EQ. ' 2 3 3 01' ) IVIB = 45 IF ( STRVIB .EQ. ' 3 1 1 01' ) IVIB = 46 IF ( STRVIB .EQ. ' 0 4 4 11' ) IVIB = 47 IF ( STRVIB .EQ. ' 2 0 0 12' ) IVIB = 48 IF ( STRVIB .EQ. ' 1 2 2 11' ) IVIB = 49 IF ( STRVIB .EQ. ' 2 0 0 11' ) IVIB = 50 IF ( STRVIB .EQ. ' 0 1 1 21' ) IVIB = 51 IF ( STRVIB .EQ. ' 4 0 0 04' ) IVIB = 52 IF ( STRVIB .EQ. ' 3 2 2 03' ) IVIB = 53 IF ( STRVIB .EQ. ' 2 1 1 13' ) IVIB = 54 IF ( STRVIB .EQ. ' 4 0 0 02' ) IVIB = 55 IF ( STRVIB .EQ. ' 1 3 3 12' ) IVIB = 56 IF ( STRVIB .EQ. ' 0 5 5 11' ) IVIB = 57 IF ( STRVIB .EQ. ' 2 1 1 12' ) IVIB = 58 IF ( STRVIB .EQ. ' 1 3 3 11' ) IVIB = 59 IF ( STRVIB .EQ. ' 2 1 1 11' ) IVIB = 60 IF ( STRVIB .EQ. ' 1 0 0 22' ) IVIB = 61 IF ( STRVIB .EQ. ' 0 2 2 21' ) IVIB = 62 IF ( STRVIB .EQ. ' 1 0 0 21' ) IVIB = 63 IF ( STRVIB .EQ. ' 3 0 0 14' ) IVIB = 64 IF ( STRVIB .EQ. ' 2 2 2 13' ) IVIB = 65 IF ( STRVIB .EQ. ' 1 4 4 12' ) IVIB = 66 IF ( STRVIB .EQ. ' 4 1 1 02' ) IVIB = 67 IF ( STRVIB .EQ. ' 3 0 0 13' ) IVIB = 68 IF ( STRVIB .EQ. ' 0 6 6 11' ) IVIB = 69 IF ( STRVIB .EQ. ' 2 2 2 12' ) IVIB = 70 IF ( STRVIB .EQ. ' 3 0 0 12' ) IVIB = 71 IF ( STRVIB .EQ. ' 4 1 1 01' ) IVIB = 72 IF ( STRVIB .EQ. ' 1 4 4 11' ) IVIB = 73 IF ( STRVIB .EQ. ' 2 2 2 11' ) IVIB = 74 IF ( STRVIB .EQ. ' 3 0 0 11' ) IVIB = 75 IF ( STRVIB .EQ. ' 1 1 1 22' ) IVIB = 76 IF ( STRVIB .EQ. ' 0 3 3 21' ) IVIB = 77 IF ( STRVIB .EQ. ' 1 1 1 21' ) IVIB = 78 IF ( STRVIB .EQ. ' 0 0 0 31' ) IVIB = 79 IF ( STRVIB .EQ. ' 3 1 1 14' ) IVIB = 80 IF ( STRVIB .EQ. ' 2 3 3 13' ) IVIB = 81 IF ( STRVIB .EQ. ' 3 1 1 13' ) IVIB = 82 IF ( STRVIB .EQ. ' 2 3 3 12' ) IVIB = 83 IF ( STRVIB .EQ. ' 3 1 1 12' ) IVIB = 84 IF ( STRVIB .EQ. ' 1 5 5 11' ) IVIB = 85 IF ( STRVIB .EQ. ' 2 0 0 23' ) IVIB = 86 IF ( STRVIB .EQ. ' 2 3 3 11' ) IVIB = 87 IF ( STRVIB .EQ. ' 1 2 2 22' ) IVIB = 88 IF ( STRVIB .EQ. ' 3 1 1 11' ) IVIB = 89 IF ( STRVIB .EQ. ' 2 0 0 22' ) IVIB = 90 IF ( STRVIB .EQ. ' 1 2 2 21' ) IVIB = 91 IF ( STRVIB .EQ. ' 2 0 0 21' ) IVIB = 92 IF ( STRVIB .EQ. ' 0 1 1 31' ) IVIB = 93 IF ( STRVIB .EQ. ' 4 0 0 15' ) IVIB = 94 IF ( STRVIB .EQ. ' 3 2 2 14' ) IVIB = 95 IF ( STRVIB .EQ. ' 4 0 0 14' ) IVIB = 96 IF ( STRVIB .EQ. ' 3 2 2 13' ) IVIB = 97 IF ( STRVIB .EQ. ' 4 0 0 13' ) IVIB = 98 IF ( STRVIB .EQ. ' 5 1 1 02' ) IVIB = 99 IF ( STRVIB .EQ. ' 3 2 2 12' ) IVIB = 100 IF ( STRVIB .EQ. ' 4 0 0 12' ) IVIB = 101 IF ( STRVIB .EQ. ' 2 1 1 23' ) IVIB = 102 IF ( STRVIB .EQ. ' 3 2 2 11' ) IVIB = 103 IF ( STRVIB .EQ. ' 2 1 1 22' ) IVIB = 104 IF ( STRVIB .EQ. ' 4 0 0 11' ) IVIB = 105 IF ( STRVIB .EQ. ' 2 1 1 21' ) IVIB = 106 IF ( STRVIB .EQ. ' 1 0 0 32' ) IVIB = 107 IF ( STRVIB .EQ. ' 0 2 2 31' ) IVIB = 108 IF ( STRVIB .EQ. ' 1 0 0 31' ) IVIB = 109 IF ( STRVIB .EQ. ' 4 1 1 14' ) IVIB = 110 IF ( STRVIB .EQ. ' 4 1 1 13' ) IVIB = 111 IF ( STRVIB .EQ. ' 4 1 1 12' ) IVIB = 112 IF ( STRVIB .EQ. ' 1 1 1 32' ) IVIB = 113 IF ( STRVIB .EQ. ' 0 3 3 31' ) IVIB = 114 IF ( STRVIB .EQ. ' 1 1 1 31' ) IVIB = 115 IF ( STRVIB .EQ. ' 2 0 0 33' ) IVIB = 116 IF ( STRVIB .EQ. ' 1 2 2 32' ) IVIB = 117 IF ( STRVIB .EQ. ' 2 0 0 32' ) IVIB = 118 IF ( STRVIB .EQ. ' 1 2 2 31' ) IVIB = 119 IF ( STRVIB .EQ. ' 2 0 0 31' ) IVIB = 120 IF ( STRVIB .EQ. ' 2 1 1 33' ) IVIB = 121 IF ( STRVIB .EQ. ' 2 1 1 32' ) IVIB = 122 IF ( STRVIB .EQ. ' 2 1 1 31' ) IVIB = 123 IF ( STRVIB .EQ. ' 2 3 3 03' ) IVIB = 124 IF ( STRVIB .EQ. ' 1 5 5 02' ) IVIB = 125 IF ( STRVIB .EQ. ' 2 3 3 02' ) IVIB = 126 IF ( STRVIB .EQ. ' 0 7 7 01' ) IVIB = 127 IF ( STRVIB .EQ. ' ' ) IVIB = 128 IF ( STRVIB .EQ. ' 1 0 0 41' ) IVIB = 129 IF ( STRVIB .EQ. ' 1 0 0 51' ) IVIB = 130 IF ( STRVIB .EQ. ' 1 0 0 52' ) IVIB = 131 IF ( STRVIB .EQ. ' 0 0 0 51' ) IVIB = 132 C C Class 6: Non-linear triatomic molecules ELSE IF ( IDXMOL .EQ. 1 .OR. ! H2O & IDXMOL .EQ. 3 .OR. ! O3 & IDXMOL .EQ. 9 .OR. ! SO2 & IDXMOL .EQ. 10 .OR. ! NO2 & IDXMOL .EQ. 21 .OR. ! HOCl & IDXMOL .EQ. 31 .OR. ! H2S & IDXMOL .EQ. 33 .OR. ! HO2 & IDXMOL .EQ. 37 ) THEN ! HOBr IF ( STRVIB .EQ. ' 0 0 0' ) IVIB = 1 IF ( STRVIB .EQ. ' 0 1 0' ) IVIB = 2 IF ( STRVIB .EQ. ' 0 2 0' ) IVIB = 3 IF ( STRVIB .EQ. ' 1 0 0' ) IVIB = 4 IF ( STRVIB .EQ. ' 0 0 1' ) IVIB = 5 IF ( STRVIB .EQ. ' 0 3 0' ) IVIB = 6 IF ( STRVIB .EQ. ' 1 1 0' ) IVIB = 7 IF ( STRVIB .EQ. ' 0 1 1' ) IVIB = 8 IF ( STRVIB .EQ. ' 0 4 0' ) IVIB = 9 IF ( STRVIB .EQ. ' 1 2 0' ) IVIB = 10 IF ( STRVIB .EQ. ' 0 2 1' ) IVIB = 11 IF ( STRVIB .EQ. ' 2 0 0' ) IVIB = 12 IF ( STRVIB .EQ. ' 1 0 1' ) IVIB = 13 IF ( STRVIB .EQ. ' 0 0 2' ) IVIB = 14 IF ( STRVIB .EQ. ' 1 3 0' ) IVIB = 15 IF ( STRVIB .EQ. ' 0 3 1' ) IVIB = 16 IF ( STRVIB .EQ. ' 2 1 0' ) IVIB = 17 IF ( STRVIB .EQ. ' 1 1 1' ) IVIB = 18 IF ( STRVIB .EQ. ' 0 1 2' ) IVIB = 19 IF ( STRVIB .EQ. ' 0 4 1' ) IVIB = 20 IF ( STRVIB .EQ. ' 2 2 0' ) IVIB = 21 IF ( STRVIB .EQ. ' 1 2 1' ) IVIB = 22 IF ( STRVIB .EQ. ' 0 2 2' ) IVIB = 23 IF ( STRVIB .EQ. ' 3 0 0' ) IVIB = 24 IF ( STRVIB .EQ. ' 2 0 1' ) IVIB = 25 IF ( STRVIB .EQ. ' 1 0 2' ) IVIB = 26 IF ( STRVIB .EQ. ' 0 0 3' ) IVIB = 27 IF ( STRVIB .EQ. ' 1 3 1' ) IVIB = 28 IF ( STRVIB .EQ. ' 3 1 0' ) IVIB = 29 IF ( STRVIB .EQ. ' 2 1 1' ) IVIB = 30 IF ( STRVIB .EQ. ' 1 1 2' ) IVIB = 31 IF ( STRVIB .EQ. ' 0 1 3' ) IVIB = 32 IF ( STRVIB .EQ. ' 1 4 1' ) IVIB = 33 IF ( STRVIB .EQ. ' 0 4 2' ) IVIB = 34 IF ( STRVIB .EQ. ' 3 2 0' ) IVIB = 35 IF ( STRVIB .EQ. ' 2 2 1' ) IVIB = 36 IF ( STRVIB .EQ. ' 3 0 1' ) IVIB = 37 IF ( STRVIB .EQ. ' 2 0 2' ) IVIB = 38 IF ( STRVIB .EQ. ' 1 2 2' ) IVIB = 39 IF ( STRVIB .EQ. ' 0 2 3' ) IVIB = 40 IF ( STRVIB .EQ. ' 4 0 0' ) IVIB = 41 IF ( STRVIB .EQ. ' 1 0 3' ) IVIB = 42 IF ( STRVIB .EQ. ' 0 0 4' ) IVIB = 43 IF ( STRVIB .EQ. ' 1 5 1' ) IVIB = 44 IF ( STRVIB .EQ. ' 3 3 0' ) IVIB = 45 IF ( STRVIB .EQ. ' 2 3 1' ) IVIB = 46 IF ( STRVIB .EQ. ' 2 1 2' ) IVIB = 47 IF ( STRVIB .EQ. ' 3 1 1' ) IVIB = 48 IF ( STRVIB .EQ. ' 4 1 0' ) IVIB = 49 IF ( STRVIB .EQ. ' 1 1 3' ) IVIB = 50 IF ( STRVIB .EQ. ' 3 2 1' ) IVIB = 51 IF ( STRVIB .EQ. ' 2 2 2' ) IVIB = 52 IF ( STRVIB .EQ. ' 3 0 2' ) IVIB = 53 IF ( STRVIB .EQ. ' 4 0 1' ) IVIB = 54 IF ( STRVIB .EQ. ' 4 2 0' ) IVIB = 55 IF ( STRVIB .EQ. ' 1 2 3' ) IVIB = 56 IF ( STRVIB .EQ. ' 5 0 0' ) IVIB = 57 IF ( STRVIB .EQ. ' 2 0 3' ) IVIB = 58 IF ( STRVIB .EQ. ' 1 0 4' ) IVIB = 59 IF ( STRVIB .EQ. ' ' ) IVIB = 60 IF ( STRVIB .EQ. ' 3 3 1' ) IVIB = 61 IF ( STRVIB .EQ. ' 2 1 3' ) IVIB = 62 IF ( STRVIB .EQ. ' 3 1 2' ) IVIB = 63 IF ( STRVIB .EQ. ' 4 1 1' ) IVIB = 64 IF ( STRVIB .EQ. ' 3 0 3' ) IVIB = 65 IF ( STRVIB .EQ. ' 4 0 2' ) IVIB = 66 IF ( STRVIB .EQ. ' 4 0 3' ) IVIB = 67 IF ( STRVIB .EQ. ' 4 2 1' ) IVIB = 68 IF ( STRVIB .EQ. ' 5 0 1' ) IVIB = 69 IF ( STRVIB .EQ. ' 3 1 3' ) IVIB = 70 IF ( STRVIB .EQ. ' 4 1 2' ) IVIB = 71 IF ( STRVIB .EQ. ' 2 3 2' ) IVIB = 72 IF ( STRVIB .EQ. ' 0 5 0' ) IVIB = 73 IF ( STRVIB .EQ. ' 0 6 0' ) IVIB = 74 IF ( STRVIB .EQ. ' 0 7 0' ) IVIB = 75 IF ( STRVIB .EQ. ' 0 3 2' ) IVIB = 76 IF ( STRVIB .EQ. ' 0 5 1' ) IVIB = 77 IF ( STRVIB .EQ. ' 0 6 1' ) IVIB = 78 IF ( STRVIB .EQ. ' 0 8 0' ) IVIB = 79 IF ( STRVIB .EQ. ' 1 4 0' ) IVIB = 80 IF ( STRVIB .EQ. ' 1 5 0' ) IVIB = 81 IF ( STRVIB .EQ. ' 0 3 3' ) IVIB = 82 IF ( STRVIB .EQ. ' 0 3 4' ) IVIB = 83 IF ( STRVIB .EQ. ' 0 4 3' ) IVIB = 84 IF ( STRVIB .EQ. ' 0 5 3' ) IVIB = 85 IF ( STRVIB .EQ. ' 0 6 1' ) IVIB = 86 IF ( STRVIB .EQ. ' 0 6 3' ) IVIB = 87 IF ( STRVIB .EQ. ' 0 7 1' ) IVIB = 88 IF ( STRVIB .EQ. ' 1 1 5' ) IVIB = 89 IF ( STRVIB .EQ. ' 1 3 2' ) IVIB = 90 IF ( STRVIB .EQ. ' 1 3 3' ) IVIB = 91 IF ( STRVIB .EQ. ' 1 4 2' ) IVIB = 92 IF ( STRVIB .EQ. ' 1 6 0' ) IVIB = 93 IF ( STRVIB .EQ. ' 1 7 0' ) IVIB = 94 IF ( STRVIB .EQ. ' 2 2 3' ) IVIB = 95 IF ( STRVIB .EQ. ' 2 4 0' ) IVIB = 96 IF ( STRVIB .EQ. ' 2 4 1' ) IVIB = 97 IF ( STRVIB .EQ. ' 3 2 2' ) IVIB = 98 IF ( STRVIB .EQ. ' 3 4 0' ) IVIB = 99 IF ( STRVIB .EQ. ' 3 4 1' ) IVIB = 100 IF ( STRVIB .EQ. ' 4 3 0' ) IVIB = 101 IF ( STRVIB .EQ. ' 4 3 1' ) IVIB = 102 IF ( STRVIB .EQ. ' 5 1 0' ) IVIB = 103 IF ( STRVIB .EQ. ' 5 1 1' ) IVIB = 104 IF ( STRVIB .EQ. ' 5 2 0' ) IVIB = 105 IF ( STRVIB .EQ. ' 6 0 0' ) IVIB = 106 IF ( STRVIB .EQ. ' 6 0 1' ) IVIB = 107 IF ( STRVIB .EQ. ' 6 1 0' ) IVIB = 108 IF ( STRVIB .EQ. ' 6 1 1' ) IVIB = 109 IF ( STRVIB .EQ. ' 6 2 0' ) IVIB = 110 IF ( STRVIB .EQ. ' 7 0 0' ) IVIB = 111 IF ( STRVIB .EQ. ' 7 0 1' ) IVIB = 112 IF ( STRVIB .EQ. ' 8 0 0' ) IVIB = 113 IF ( STRVIB .EQ. ' 0 5 0' ) IVIB = 114 IF ( STRVIB .EQ. ' 0 6 0' ) IVIB = 115 C C Class 7: Linear tetratomic molecules ELSE IF ( IDXMOL .EQ. 26 ) THEN ! C2H2 IF ( STRVIB .EQ. ' 0 0 0 0 1 1 ' ) IVIB = 1 IF ( STRVIB .EQ. ' 0 0 0 0 0 0+ ' ) IVIB = 2 IF ( STRVIB .EQ. ' 0 0 1 0 0 0+ ' ) IVIB = 3 IF ( STRVIB .EQ. ' 1 0 1 0 0 0+ ' ) IVIB = 4 IF ( STRVIB .EQ. ' 0 0 0 0 1 1 u' ) IVIB = 5 IF ( STRVIB .EQ. ' 0 0 0 0 0 0+ g' ) IVIB = 6 IF ( STRVIB .EQ. ' 0 0 0 0 3 1 u' ) IVIB = 7 IF ( STRVIB .EQ. ' 0 0 0 1 1 0+ u' ) IVIB = 8 IF ( STRVIB .EQ. ' 0 0 0 2 1 1 1u' ) IVIB = 9 IF ( STRVIB .EQ. ' 0 0 0 2 1 1 2u' ) IVIB = 10 IF ( STRVIB .EQ. ' 0 0 1 0 0 0+ u' ) IVIB = 11 IF ( STRVIB .EQ. ' 0 1 0 1 1 0+ u' ) IVIB = 12 IF ( STRVIB .EQ. ' 1 0 1 0 0 0+ u' ) IVIB = 13 IF ( STRVIB .EQ. ' 1 1 0 1 1 0+ u' ) IVIB = 14 IF ( STRVIB .EQ. ' 0 0 0 0 2 0+ g' ) IVIB = 15 IF ( STRVIB .EQ. ' 0 0 0 0 2 2 g' ) IVIB = 16 IF ( STRVIB .EQ. ' 0 0 0 0 4 0+ g' ) IVIB = 17 IF ( STRVIB .EQ. ' 0 0 0 0 4 2 g' ) IVIB = 18 IF ( STRVIB .EQ. ' 0 0 0 2 2 0+2g' ) IVIB = 19 IF ( STRVIB .EQ. ' 0 0 0 2 2 0- g' ) IVIB = 20 IF ( STRVIB .EQ. ' 0 0 0 2 2 2 2g' ) IVIB = 21 IF ( STRVIB .EQ. ' 0 1 0 1 0 1 g' ) IVIB = 22 IF ( STRVIB .EQ. ' 1 0 1 0 1 1 g' ) IVIB = 23 IF ( STRVIB .EQ. ' 0 0 0 1 0 1 g' ) IVIB = 24 IF ( STRVIB .EQ. ' 0 0 0 1 1 0- u' ) IVIB = 25 IF ( STRVIB .EQ. ' 0 0 0 1 1 2 u' ) IVIB = 26 IF ( STRVIB .EQ. ' 0 0 0 1 3 0+ u' ) IVIB = 27 IF ( STRVIB .EQ. ' 0 0 0 1 3 0- u' ) IVIB = 28 IF ( STRVIB .EQ. ' 0 0 0 1 3 2 1u' ) IVIB = 29 IF ( STRVIB .EQ. ' 0 0 0 1 3 2 2u' ) IVIB = 30 IF ( STRVIB .EQ. ' 0 0 0 3 1 0+ u' ) IVIB = 31 IF ( STRVIB .EQ. ' 0 0 0 3 1 0- u' ) IVIB = 32 IF ( STRVIB .EQ. ' 0 0 0 3 1 2 1u' ) IVIB = 33 IF ( STRVIB .EQ. ' 0 0 0 3 1 2 2u' ) IVIB = 34 IF ( STRVIB .EQ. ' 0 1 0 0 1 1 u' ) IVIB = 35 IF ( STRVIB .EQ. ' 1 0 1 1 0 1 u' ) IVIB = 36 C C Class 8: Pyramidal tetratomic molecules ELSE IF ( IDXMOL .EQ. 11 .OR. ! NH3 & IDXMOL .EQ. 28 ) THEN ! PH3 IF ( STRVIB .EQ. ' 0 0 0 0 ' ) IVIB = 1 IF ( STRVIB .EQ. ' 0 1 0 0 ' ) IVIB = 2 IF ( STRVIB .EQ. ' 0 2 0 0 ' ) IVIB = 3 IF ( STRVIB .EQ. ' 0 0 0 1 ' ) IVIB = 4 IF ( STRVIB .EQ. ' 0 1 0 1 ' ) IVIB = 5 IF ( STRVIB .EQ. ' 0 0 0 2 ' ) IVIB = 6 IF ( STRVIB .EQ. ' 0 0 1 0 ' ) IVIB = 7 IF ( STRVIB .EQ. ' 1 0 0 0 ' ) IVIB = 8 IF ( STRVIB .EQ. ' 0 0 0 0 a' ) IVIB = 9 IF ( STRVIB .EQ. ' 0 1 0 0 a' ) IVIB = 10 IF ( STRVIB .EQ. ' 0 2 0 0 a' ) IVIB = 11 IF ( STRVIB .EQ. ' 0 0 0 1 a' ) IVIB = 12 IF ( STRVIB .EQ. ' 0 0 0 0 s' ) IVIB = 13 IF ( STRVIB .EQ. ' 0 1 0 0 s' ) IVIB = 14 IF ( STRVIB .EQ. ' 0 2 0 0 s' ) IVIB = 15 IF ( STRVIB .EQ. ' 0 0 0 1 s' ) IVIB = 16 IF ( STRVIB .EQ. ' ' ) IVIB = 17 IF ( STRVIB .EQ. ' 0 3 0 0 s' ) IVIB = 18 IF ( STRVIB .EQ. ' 0 1 0 1 s' ) IVIB = 19 IF ( STRVIB .EQ. ' 0 1 0 1 a' ) IVIB = 20 IF ( STRVIB .EQ. ' 0 3 0 0 a' ) IVIB = 21 IF ( STRVIB .EQ. ' 0 2 0 1 s' ) IVIB = 22 IF ( STRVIB .EQ. ' 0 0 0 2As' ) IVIB = 23 IF ( STRVIB .EQ. ' 0 0 0 2Aa' ) IVIB = 24 IF ( STRVIB .EQ. ' 0 0 0 2Es' ) IVIB = 25 IF ( STRVIB .EQ. ' 0 0 0 2Ea' ) IVIB = 26 IF ( STRVIB .EQ. ' 1 0 0 0 s' ) IVIB = 27 IF ( STRVIB .EQ. ' 1 0 0 0 a' ) IVIB = 28 IF ( STRVIB .EQ. ' 0 0 1 0 s' ) IVIB = 29 IF ( STRVIB .EQ. ' 0 0 1 0 a' ) IVIB = 30 IF ( STRVIB .EQ. ' 0 4 0 0 s' ) IVIB = 31 IF ( STRVIB .EQ. ' 0 2 0 1 a' ) IVIB = 32 IF ( STRVIB .EQ. ' 0 3 0 1 s' ) IVIB = 33 IF ( STRVIB .EQ. ' 0 4 0 0 a' ) IVIB = 34 IF ( STRVIB .EQ. ' 0 1 0 2As' ) IVIB = 35 IF ( STRVIB .EQ. ' 0 1 0 2Es' ) IVIB = 36 IF ( STRVIB .EQ. ' 0 1 0 2Aa' ) IVIB = 37 IF ( STRVIB .EQ. ' 0 1 0 2Ea' ) IVIB = 38 IF ( STRVIB .EQ. ' 1 1 0 0 s' ) IVIB = 39 IF ( STRVIB .EQ. ' 1 1 0 0 a' ) IVIB = 40 IF ( STRVIB .EQ. ' 0 1 1 0 s' ) IVIB = 41 IF ( STRVIB .EQ. ' 0 1 1 0 a' ) IVIB = 42 IF ( STRVIB .EQ. ' 0 3 0 1 a' ) IVIB = 43 IF ( STRVIB .EQ. ' 1 0 0 1 s' ) IVIB = 44 IF ( STRVIB .EQ. ' 1 0 0 1 a' ) IVIB = 45 IF ( STRVIB .EQ. ' 0 0 1 1 s' ) IVIB = 46 IF ( STRVIB .EQ. ' 0 0 1 1 a' ) IVIB = 47 C C Class 9: Non-linear tetratomic molecules ELSE IF ( IDXMOL .EQ. 20 .OR. ! H2CO & IDXMOL .EQ. 25 .OR. ! H2O2 & IDXMOL .EQ. 29 ) THEN ! COF2 IF ( STRVIB .EQ. ' 0 0 0 0 0 0' ) IVIB = 1 IF ( STRVIB .EQ. ' 0 0 0 0 0 2' ) IVIB = 2 IF ( STRVIB .EQ. ' 0 0 1 1 0 0' ) IVIB = 3 IF ( STRVIB .EQ. ' 0 0 1 0 0 1' ) IVIB = 4 IF ( STRVIB .EQ. ' 1 0 0 0 0 0' ) IVIB = 5 IF ( STRVIB .EQ. ' 0 0 0 0 1 0' ) IVIB = 6 IF ( STRVIB .EQ. ' 0 1 0 1 0 0' ) IVIB = 7 IF ( STRVIB .EQ. ' 0 1 0 0 0 1' ) IVIB = 8 IF ( STRVIB .EQ. ' 0 0 0 0 0 1' ) IVIB = 9 IF ( STRVIB .EQ. ' 0 1 0 0 0 0' ) IVIB = 10 IF ( STRVIB .EQ. ' 0 0 0 1 0 0' ) IVIB = 11 IF ( STRVIB .EQ. ' 0 2 0 0 0 0' ) IVIB = 12 IF ( STRVIB .EQ. ' ' ) IVIB = 13 IF ( STRVIB .EQ. ' 0 0 2 0 0 1' ) IVIB = 14 IF ( STRVIB .EQ. ' 0 0 0 0 2 0' ) IVIB = 15 IF ( STRVIB .EQ. ' 0 0 000 0 0' ) IVIB = 16 IF ( STRVIB .EQ. ' 0 0 000 0 1' ) IVIB = 17 IF ( STRVIB .EQ. ' 0 0 001 0 0' ) IVIB = 18 IF ( STRVIB .EQ. ' 0 0 002 0 0' ) IVIB = 19 IF ( STRVIB .EQ. ' 0 0 011 0 0' ) IVIB = 20 IF ( STRVIB .EQ. ' 0 0 012 0 0' ) IVIB = 21 IF ( STRVIB .EQ. ' 0 0 021 0 0' ) IVIB = 22 IF ( STRVIB .EQ. ' 0 0 022 0 0' ) IVIB = 23 IF ( STRVIB .EQ. ' 0 0 031 0 0' ) IVIB = 24 IF ( STRVIB .EQ. ' 0 0 032 0 0' ) IVIB = 25 IF ( STRVIB .EQ. ' 0 0 101 0 0' ) IVIB = 26 IF ( STRVIB .EQ. ' 0 0 102 0 0' ) IVIB = 27 IF ( STRVIB .EQ. ' 0 0 111 0 0' ) IVIB = 28 IF ( STRVIB .EQ. ' 0 0 112 0 0' ) IVIB = 29 IF ( STRVIB .EQ. ' 0 0 003 0 0' ) IVIB = 30 IF ( STRVIB .EQ. ' 0 0 004 0 0' ) IVIB = 31 IF ( STRVIB .EQ. ' 0 0 013 0 0' ) IVIB = 32 IF ( STRVIB .EQ. ' 0 0 014 0 0' ) IVIB = 33 IF ( STRVIB .EQ. ' 0 0 023 0 0' ) IVIB = 34 IF ( STRVIB .EQ. ' 0 0 024 0 0' ) IVIB = 35 IF ( STRVIB .EQ. ' 0 0 033 0 0' ) IVIB = 36 IF ( STRVIB .EQ. ' 0 0 034 0 0' ) IVIB = 37 IF ( STRVIB .EQ. ' 0 0 103 0 0' ) IVIB = 38 IF ( STRVIB .EQ. ' 0 0 104 0 0' ) IVIB = 39 C C Class 10: Pentatomic or greater polyatomic molecules ELSE IF ( IDXMOL .EQ. 6 .OR. ! CH4 & IDXMOL .EQ. 12 .OR. ! HNO3 & IDXMOL .EQ. 24 .OR. ! CH3Cl & IDXMOL .EQ. 27 .OR. ! C2H6 & IDXMOL .EQ. 30 .OR. ! SF6 & IDXMOL .EQ. 32 .OR. ! HCOOH & IDXMOL .EQ. 35 .OR. ! ClONO2 & IDXMOL .EQ. 38 .OR. ! C2H4 & IDXMOL .EQ. 39 .OR. ! CH3OH & IDXMOL .EQ. 40 .OR. ! CH3Br & IDXMOL .EQ. 41 .OR. ! CH3CN & IDXMOL .EQ. 42 ) THEN ! CF4 IF ( STRVIB .EQ. ' GROUND' ) IVIB = 1 IF ( STRVIB .EQ. ' V1' ) IVIB = 2 IF ( STRVIB .EQ. ' V2' ) IVIB = 3 IF ( STRVIB .EQ. ' V4' ) IVIB = 4 IF ( STRVIB .EQ. ' V5' ) IVIB = 5 IF ( STRVIB .EQ. ' V9' ) IVIB = 6 IF ( STRVIB .EQ. ' 2V5' ) IVIB = 7 IF ( STRVIB .EQ. ' 2V9' ) IVIB = 8 IF ( STRVIB .EQ. ' 3V6' ) IVIB = 9 IF ( STRVIB .EQ. ' 3V9' ) IVIB = 10 IF ( STRVIB .EQ. ' V5+V9' ) IVIB = 11 IF ( STRVIB .EQ. ' ' ) IVIB = 12 IF ( STRVIB .EQ. ' V6' ) IVIB = 13 IF ( STRVIB .EQ. ' V3' ) IVIB = 14 IF ( STRVIB .EQ. ' 2V6' ) IVIB = 15 IF ( STRVIB .EQ. ' V7' ) IVIB = 16 IF ( STRVIB .EQ. ' V8' ) IVIB = 17 IF ( STRVIB .EQ. ' V8+V9' ) IVIB = 18 IF ( STRVIB .EQ. ' V3+V6' ) IVIB = 19 IF ( STRVIB .EQ. ' 2V3' ) IVIB = 20 IF ( STRVIB .EQ. ' V5+V6' ) IVIB = 21 IF ( STRVIB .EQ. ' V3+V5' ) IVIB = 22 IF ( STRVIB .EQ. ' V4+V9' ) IVIB = 23 IF ( STRVIB .EQ. ' V10' ) IVIB = 24 IF ( STRVIB .EQ. ' V11' ) IVIB = 25 IF ( STRVIB .EQ. ' V2+V12' ) IVIB = 26 IF ( STRVIB .EQ. ' 2V10+V12' ) IVIB = 27 IF ( STRVIB .EQ. ' V9+V10' ) IVIB = 28 IF ( STRVIB .EQ. ' V12' ) IVIB = 29 IF ( STRVIB .EQ. ' 2V12' ) IVIB = 30 IF ( STRVIB .EQ. ' V6+V12' ) IVIB = 31 IF ( STRVIB .EQ. ' V7+V12' ) IVIB = 32 IF ( STRVIB .EQ. ' V8+V12' ) IVIB = 33 IF ( STRVIB .EQ. ' V8+2V12' ) IVIB = 34 IF ( STRVIB .EQ. ' 3V12' ) IVIB = 35 IF ( STRVIB .EQ. ' 4V12' ) IVIB = 36 IF ( STRVIB .EQ. ' 0 0 0 0 ' ) IVIB = 37 IF ( STRVIB .EQ. ' 0 0 0 0 1A1' ) IVIB = 38 IF ( STRVIB .EQ. ' 0 0 0 1 1F2' ) IVIB = 39 IF ( STRVIB .EQ. ' 0 0 0 2 1 E' ) IVIB = 40 IF ( STRVIB .EQ. ' 0 0 0 2 1A1' ) IVIB = 41 IF ( STRVIB .EQ. ' 0 0 0 2 1F2' ) IVIB = 42 IF ( STRVIB .EQ. ' 0 0 0 3 1A1' ) IVIB = 43 IF ( STRVIB .EQ. ' 0 0 0 3 1F1' ) IVIB = 44 IF ( STRVIB .EQ. ' 0 0 0 3 1F2' ) IVIB = 45 IF ( STRVIB .EQ. ' 0 0 0 3 2F2' ) IVIB = 46 IF ( STRVIB .EQ. ' 0 0 0 4 ' ) IVIB = 47 IF ( STRVIB .EQ. ' 0 0 1 0 1F2' ) IVIB = 48 IF ( STRVIB .EQ. ' 0 0 1 1 1 E' ) IVIB = 49 IF ( STRVIB .EQ. ' 0 0 1 1 1A1' ) IVIB = 50 IF ( STRVIB .EQ. ' 0 0 1 1 1F1' ) IVIB = 51 IF ( STRVIB .EQ. ' 0 0 1 1 1F2' ) IVIB = 52 IF ( STRVIB .EQ. ' 0 0 1 2 ' ) IVIB = 53 IF ( STRVIB .EQ. ' 0 0 1 2 1F2' ) IVIB = 54 IF ( STRVIB .EQ. ' 0 0 2 0 1F2' ) IVIB = 55 IF ( STRVIB .EQ. ' 0 0 3 0 ' ) IVIB = 56 IF ( STRVIB .EQ. ' 0 1 0 0 1 E' ) IVIB = 57 IF ( STRVIB .EQ. ' 0 1 0 1 1F1' ) IVIB = 58 IF ( STRVIB .EQ. ' 0 1 0 1 1F2' ) IVIB = 59 IF ( STRVIB .EQ. ' 0 1 0 2 1 E' ) IVIB = 60 IF ( STRVIB .EQ. ' 0 1 0 2 1A1' ) IVIB = 61 IF ( STRVIB .EQ. ' 0 1 0 2 1A2' ) IVIB = 62 IF ( STRVIB .EQ. ' 0 1 0 2 1F1' ) IVIB = 63 IF ( STRVIB .EQ. ' 0 1 0 2 1F2' ) IVIB = 64 IF ( STRVIB .EQ. ' 0 1 0 2 2 E' ) IVIB = 65 IF ( STRVIB .EQ. ' 0 1 1 0 1F1' ) IVIB = 66 IF ( STRVIB .EQ. ' 0 1 1 0 1F2' ) IVIB = 67 IF ( STRVIB .EQ. ' 0 1 2 0 ' ) IVIB = 68 IF ( STRVIB .EQ. ' 0 2 0 0 1 E' ) IVIB = 69 IF ( STRVIB .EQ. ' 0 2 0 0 1A1' ) IVIB = 70 IF ( STRVIB .EQ. ' 0 2 0 1 1F1' ) IVIB = 71 IF ( STRVIB .EQ. ' 0 2 0 1 1F2' ) IVIB = 72 IF ( STRVIB .EQ. ' 0 2 0 1 2F2' ) IVIB = 73 IF ( STRVIB .EQ. ' 0 3 0 0 ' ) IVIB = 74 IF ( STRVIB .EQ. ' 0 3 0 0 1 E' ) IVIB = 75 IF ( STRVIB .EQ. ' 0 3 0 0 1A1' ) IVIB = 76 IF ( STRVIB .EQ. ' 0 3 0 0 1A2' ) IVIB = 77 IF ( STRVIB .EQ. ' 1 0 0 0 1A1' ) IVIB = 78 IF ( STRVIB .EQ. ' 1 0 0 1 1F2' ) IVIB = 79 IF ( STRVIB .EQ. ' 1 1 0 0 1 E' ) IVIB = 80 IF ( STRVIB .EQ. ' 0 0 0 2 1 E' ) IVIB = 81 IF ( STRVIB .EQ. ' 0 0 0 2 1A1' ) IVIB = 82 IF ( STRVIB .EQ. ' 0 0 0 2 1F2' ) IVIB = 83 IF ( STRVIB .EQ. ' 0 0 0 3 1A1' ) IVIB = 84 IF ( STRVIB .EQ. ' 0 0 0 3 1F1' ) IVIB = 85 IF ( STRVIB .EQ. ' 0 0 0 3 1F2' ) IVIB = 86 IF ( STRVIB .EQ. ' 0 0 0 3 2F2' ) IVIB = 87 IF ( STRVIB .EQ. ' 0 0 1 1 1 E' ) IVIB = 88 IF ( STRVIB .EQ. ' 0 0 1 1 1A1' ) IVIB = 89 IF ( STRVIB .EQ. ' 0 0 1 1 1F1' ) IVIB = 90 IF ( STRVIB .EQ. ' 0 0 1 1 1F2' ) IVIB = 91 C Monatomic molecules ELSE IF ( IDXMOL .EQ. 34 ) THEN ! O IF ( STRVIB .EQ. ' 0' ) IVIB = 1 ELSE WRITE ( *, * ) 'F-IVIB: Unrecognised value IDXMOL=', IDXMOL STOP END IF C C Check that level has been identified IF ( IVIB .EQ. 0 ) THEN WRITE ( *, * ) 'W-IDXVIB: Unrecognised Global Quanta=''', & STRVIB, ''' for IDXMOL=', IDXMOL IVIB = 999 END IF C IDXVIB = IVIB C END