
MODULE STR_DATA

! Structure and transfer related quantities for:
!     C, O, C+

  use constantes

! C
! Energy levels.
!        1 - 3P J = 0
!        2 - 3P J = 1
!        3 - 3P J = 2
!        4 - 1D J = 2
!        5 - 1S J = 0

  INTEGER, PUBLIC, PARAMETER                 :: nlvcat = 5       ! Number of levels

  REAL (kind=DP), PUBLIC, DIMENSION (nlvcat) :: gstcat           ! Statistical weight
  DATA gstcat                                 / 1.0_DP, 3.0_DP, 5.0_DP, 5.0_DP, 1.0_DP /

  REAL (kind=DP), PUBLIC, DIMENSION (nlvcat) :: elkcat           ! Level energy
  DATA elkcat                                 / 0.0_DP, 23.5969_DP, 62.4454_DP &
                                              , 14665.507_DP, 31147.902_DP /

! Transitions
!       1: 2-1 -> 609.75 micron
!       2: 3-2 -> 370.37 micron
!       3: 3-1 -> 230.41 micron
!       4: 4-3 -> 9850.26 Angstrom
!       5: 4-2 -> 9824.13 Angstrom
!       6: 4-1 -> 9808.32 Angstrom
!       7: 5-4 -> 8727.13 Angstrom
!       8: 5-3 -> 4627.346 Angstrom
!       9: 5-2 -> 4621.570 Angstrom
!      10: 5-1

  INTEGER, PUBLIC, PARAMETER                 :: ntrcat = 10      ! Number of transitions

  REAL (kind=DP), PUBLIC, DIMENSION (ntrcat) :: wlkcat           ! Energy of transition
  DATA wlkcat                                 /    23.5969_DP,    38.8485_DP,    62.4454_DP &
                                              , 14603.0616_DP, 14641.9101_DP, 14665.507_DP &
                                              , 16482.395_DP,  31085.4566_DP, 31124.3051_DP &
                                              , 31147.902_DP /

  REAL (kind=DP), PUBLIC, DIMENSION (ntrcat) :: aijcat           ! Transition probability
  DATA aijcat                                 / 7.93e-8_DP, 2.65e-7_DP, 1.71e-14_DP &
                                              , 2.44e-4_DP, 8.21e-5_DP, 7.77e-8_DP &
                                              , 5.28e-1_DP, 2.00e-5_DP, 2.71e-3_DP &
                                              , 0.00e-0_DP /

  INTEGER, PUBLIC, DIMENSION (ntrcat)        :: iupcat           ! Upper state of transition
  DATA iupcat                                 / 2, 3, 3, 4, 4, 4, 5, 5, 5, 5 /

  INTEGER, PUBLIC, DIMENSION (ntrcat)        :: jlocat           ! Lower state of transition 
  DATA jlocat                                 / 1, 2, 1, 3, 2, 1, 4, 3, 2, 1 /

! O

! 9 VII 2003 - First attempt at unifying atomic datas with the shock model
! Added 2 levels to O structure:

! Energy levels.
!        1 - 3P J = 2
!        2 - 3P J = 1
!        3 - 3P J = 0
!        4 - 1D J = 2
!        5 - 1S J = 0

  INTEGER, PUBLIC, PARAMETER                 :: nlvoat = 5       ! Number of levels

  REAL (kind=DP), PUBLIC, DIMENSION (nlvoat) :: gstoat           ! Statistical weight
  DATA gstoat                                 / 5.0_DP, 3.0_DP, 1.0_DP, 5.0_DP, 1.0_DP /

  REAL (kind=DP), PUBLIC, DIMENSION (nlvoat) :: elkoat           ! Level energy
  DATA elkoat                                 / 0.0_DP, 227.717_DP, 326.582_DP &
                                              , 22831.226_DP, 48621.932_DP /

! Transitions
!       1: 3-2 -> 145.53 micron
!       2: 2-1 -> 63.19  micron
!       3: 3-1 -> 44.06  micron
!       4: 4-3 -> 6391.73 Angstrom
!       5: 4-2 -> 6363.78 Angstrom
!       6: 4-1 -> 6300.30 Angstrom
!       7: 5-4 -> 5577.34 Angstrom
!       8: 5-2 -> 2972.29 Angstrom
!       9: 5-1 -> 2958.37 Angstrom
!      10: 5-3

  INTEGER, PUBLIC, PARAMETER                 :: ntroat = 10      ! Number of transitions

  REAL (kind=DP), PUBLIC, DIMENSION (ntroat) :: wlkoat           ! Energy of transition
  DATA wlkoat                                 / 98.865_DP, 227.717_DP, 326.582_DP, &
                                                22504.644_DP, 22603.509_DP, 22831.226_DP, &
                                                25790.706_DP, 48394.215_DP, 48621.932_DP, 48295.35_DP /

  REAL (kind=DP), PUBLIC, DIMENSION (ntroat) :: aijoat           ! Transition probability
  DATA aijoat                                 / 1.66e-5_dp, 8.46e-5_dp, 1.10e-10_dp, &
                                                1.20e-6_dp, 2.17e-3_dp, 6.71e-3_dp, &
                                                1.02e-0_dp, 7.83e-2_dp, 2.87e-4_dp, 0.0e0_DP /

  INTEGER, PUBLIC, DIMENSION (ntroat)        :: iupoat           ! Upper state of transition
  DATA iupoat                                 / 3, 2, 3, 4, 4, 4, 5, 5, 5, 5 /

  INTEGER, PUBLIC, DIMENSION (ntroat)        :: jlooat           ! Lower state of transition 
  DATA jlooat                                 / 2, 1, 1, 3, 2, 1, 4, 2, 1, 3 /


! C+

! Energy levels.
!        1 - 2P J = 1/2
!        2 - 2P J = 3/2
!        3 - 4P J = 1/2
!        4 - 4P J = 3/2
!        5 - 4P J = 5/2

  INTEGER, PUBLIC, PARAMETER                 :: nlvcpl = 5       ! Number of levels

  REAL (kind=DP), PUBLIC, DIMENSION (nlvcpl) :: gstcpl           ! Statistical weight
  DATA gstcpl                                 / 2.0_DP, 4.0_DP, 2.0_DP, 4.0_DP, 6.0_DP /

  REAL (kind=DP), PUBLIC, DIMENSION (nlvcpl) :: elkcpl           ! Level energy
  DATA elkcpl                                 / 0.0_DP, 91.25_DP, 61874.63_DP, 61906.28_DP &
                                              , 61947.00_DP /

! Transitions
!       1: 2-1 -> 157.68 micron
!       2: 3-2 -> 2328.12 Angstrom
!       3: 4-2 -> 2326.93 Angstrom
!       4: 5-2 -> 2325.40 Angstrom
!       5: 3-1 -> 2324.69 Angstrom
!       6: 4-1 -> 2323.50 Angstrom
!       7: 5-1 ->

  INTEGER, PUBLIC, PARAMETER                 :: ntrcpl = 7       ! Number of transitions

  REAL (kind=DP), PUBLIC, DIMENSION (ntrcpl) :: aijcpl           ! Transition probability
  DATA aijcpl                                 / 2.29e-6_DP, 6.55e+1_DP, 5.24e+0_DP, &
                                                4.32e+1_DP, 5.53e+1_DP, 1.71e-0_DP, 0.0e0_DP /

  REAL (kind=DP), PUBLIC, DIMENSION (ntrcpl) :: wlkcpl           ! Energy of transition
  DATA wlkcpl                                 / 91.25_DP, 61783.38_DP, 61815.03_DP, &
                                                61855.75_DP, 61874.63_DP, 61906.28_DP, 61947.00_DP /

  INTEGER, PUBLIC, DIMENSION (ntrcpl)        :: iupcpl           ! Upper state of transition
  DATA iupcpl                                 / 2, 3, 4, 5, 3, 4, 5 /

  INTEGER, PUBLIC, DIMENSION (ntrcpl)        :: jlocpl           ! Lower state of transition 
  DATA jlocpl                                 / 1, 2, 2, 2, 1, 1, 1 /

END MODULE STR_DATA
