! =============================================================================
!> Contains data for a realistic solar atmosphere model taken from
!! Avrett, E. H., & Loeser, R. (2008).
!! _Models of the solar chromosphere and transition region from SUMER and HRTS
!! observations: formation of the extreme-ultraviolet spectrum of hydrogen, carbon,
!! and oxygen._ ApJS, 175(1), 229.
!! [link](https://iopscience.iop.org/article/10.1086/523671/pdf).
module mod_atmosphere_curves
  use mod_global_variables, only: dp
  implicit none

  !> amount of points in the table
  integer, parameter  :: n_alc7 = 130
  !> height datapoints in the curve in km
  real(dp), protected :: h_alc7(n_alc7)
  !> temperature datapoints in the curve in K
  real(dp), protected :: T_alc7(n_alc7)
  !> (total) pressure datapoints in the curve in dyn*cm-2
  real(dp), protected :: pt_alc7(n_alc7)
  !> (gas) pressure datapoints in the curve in dyn*cm-2
  real(dp), protected :: pg_alc7(n_alc7)
  !> hydrogen numberdensity datapoints in the curve in cm-3
  real(dp), protected :: nh_alc7(n_alc7)

  data  h_alc7 /  0.00000d00, 1.00000d01, 2.00000d01, 3.50000d01, 5.00000d01, &
                  7.50000d01, 1.00000d02, 1.25000d02, 1.50000d02, 1.75000d02, &
                  2.00000d02, 2.50000d02, 3.00000d02, 3.50000d02, 4.00000d02, &
                  4.50000d02, 4.90000d02, 5.25000d02, 5.60000d02, 6.15000d02, &
                  6.60000d02, 7.00000d02, 7.50000d02, 8.00000d02, 8.54000d02, &
                  9.00000d02, 9.46000d02, 9.71000d02, 1.00300d03, 1.03200d03, &
                  1.06500d03, 1.10100d03, 1.14300d03, 1.21400d03, 1.29900d03, &
                  1.39800d03, 1.52000d03, 1.61700d03, 1.72200d03, 1.82000d03, &
                  1.89400d03, 1.94600d03, 1.98900d03, 2.02400d03, 2.05500d03, &
                  2.08300d03, 2.09800d03, 2.11000d03, 2.12000d03, 2.12600d03, &
                  2.13000d03, 2.13200d03, 2.13400d03, 2.13600d03, 2.13800d03, &
                  2.14193d03, 2.14516d03, 2.14705d03, 2.14865d03, 2.15012d03, &
                  2.15116d03, 2.15203d03, 2.15287d03, 2.15348d03, 2.15407d03, &
                  2.15473d03, 2.15550d03, 2.15616d03, 2.15682d03, 2.15757d03, &
                  2.15821d03, 2.15884d03, 2.15942d03, 2.16001d03, 2.16063d03, &
                  2.16126d03, 2.16229d03, 2.16329d03, 2.16456d03, 2.16603d03, &
                  2.16769d03, 2.16999d03, 2.17232d03, 2.17528d03, 2.17874d03, &
                  2.18244d03, 2.18608d03, 2.19146d03, 2.19652d03, 2.20192d03, &
                  2.20766d03, 2.21374d03, 2.22004d03, 2.22774d03, 2.23529d03, &
                  2.24332d03, 2.25164d03, 2.25943d03, 2.26969d03, 2.28238d03, &
                  2.29437d03, 2.30855d03, 2.32578d03, 2.34610d03, 2.37819d03, &
                  2.41866d03, 2.45790d03, 2.49556d03, 2.53547d03, 2.57823d03, &
                  2.62832d03, 2.68810d03, 2.76149d03, 2.84440d03, 2.97076d03, &
                  3.13379d03, 3.42499d03, 3.75271d03, 4.29586d03, 4.96864d03, &
                  5.76283d03, 7.36082d03, 8.97424d03, 1.15962d04, 1.53920d04, &
                  2.11331d04, 2.66766d04, 3.60795d04, 4.70093d04, 6.80844d04  /

  data T_alc7 /   6.583d03, 6.397d03, 6.231d03, 6.006d03, 5.826d03, &
                  5.607d03, 5.431d03, 5.288d03, 5.165d03, 5.080d03, &
                  5.010d03, 4.907d03, 4.805d03, 4.700d03, 4.590d03, &
                  4.485d03, 4.435d03, 4.410d03, 4.400d03, 4.435d03, &
                  4.510d03, 4.640d03, 4.840d03, 5.090d03, 5.430d03, &
                  5.720d03, 5.969d03, 6.100d03, 6.225d03, 6.315d03, &
                  6.400d03, 6.474d03, 6.531d03, 6.576d03, 6.598d03, &
                  6.610d03, 6.623d03, 6.633d03, 6.643d03, 6.652d03, &
                  6.660d03, 6.667d03, 6.674d03, 6.680d03, 6.686d03, &
                  6.694d03, 6.700d03, 6.706d03, 6.718d03, 6.740d03, &
                  6.768d03, 6.800d03, 6.870d03, 6.992d03, 7.248d03, &
                  7.950d03, 9.115d03, 1.098d04, 1.320d04, 1.576d04, &
                  1.814d04, 2.051d04, 2.310d04, 2.512d04, 2.713d04, &
                  2.950d04, 3.226d04, 3.458d04, 3.687d04, 3.940d04, &
                  4.145d04, 4.340d04, 4.514d04, 4.680d04, 4.849d04, &
                  5.014d04, 5.269d04, 5.502d04, 5.779d04, 6.079d04, &
                  6.395d04, 6.800d04, 7.181d04, 7.633d04, 8.122d04, &
                  8.612d04, 9.064d04, 9.686d04, 1.023d05, 1.078d05, &
                  1.132d05, 1.187d05, 1.240d05, 1.302d05, 1.358d05, &
                  1.416d05, 1.472d05, 1.523d05, 1.586d05, 1.660d05, &
                  1.726d05, 1.801d05, 1.886d05, 1.981d05, 2.120d05, &
                  2.278d05, 2.419d05, 2.544d05, 2.667d05, 2.790d05, &
                  2.925d05, 3.073d05, 3.240d05, 3.413d05, 3.650d05, &
                  3.920d05, 4.329d05, 4.716d05, 5.243d05, 5.774d05, &
                  6.293d05, 7.117d05, 7.783d05, 8.650d05, 9.637d05, &
                  1.080d06, 1.170d06, 1.294d06, 1.410d06, 1.586d06  /

  data pt_alc7 /  1.228d05, 1.153d05, 1.081d05, 9.772d04, 8.804d04, &
                  7.350d04, 6.092d04, 5.017d04, 4.109d04, 3.350d04, &
                  2.721d04, 1.781d04, 1.154d04, 7.401d03, 4.699d03, &
                  2.951d03, 2.021d03, 1.447d03, 1.035d03, 6.120d02, &
                  4.004d02, 2.769d02, 1.775d02, 1.162d02, 7.543d01, &
                  5.335d01, 3.835d01, 3.225d01, 2.596d01, 2.141d01, &
                  1.726d01, 1.369d01, 1.049d01, 6.742d00, 4.009d00, &
                  2.228d00, 1.133d00, 6.975d-1, 4.353d-1, 2.942d-1, &
                  2.253d-1, 1.893d-1, 1.653d-1, 1.488d-1, 1.360d-1, &
                  1.257d-1, 1.206d-1, 1.167d-1, 1.136d-1, 1.117d-1, &
                  1.106d-1, 1.100d-1, 1.094d-1, 1.088d-1, 1.083d-1, &
                  1.073d-1, 1.065d-1, 1.062d-1, 1.060d-1, 1.058d-1, &
                  1.057d-1, 1.056d-1, 1.055d-1, 1.055d-1, 1.055d-1, &
                  1.054d-1, 1.054d-1, 1.053d-1, 1.053d-1, 1.053d-1, &
                  1.053d-1, 1.052d-1, 1.052d-1, 1.052d-1, 1.052d-1, &
                  1.051d-1, 1.051d-1, 1.051d-1, 1.050d-1, 1.050d-1, &
                  1.050d-1, 1.049d-1, 1.048d-1, 1.048d-1, 1.047d-1, &
                  1.046d-1, 1.046d-1, 1.045d-1, 1.044d-1, 1.043d-1, &
                  1.042d-1, 1.041d-1, 1.040d-1, 1.039d-1, 1.038d-1, &
                  1.037d-1, 1.036d-1, 1.035d-1, 1.034d-1, 1.033d-1, &
                  1.032d-1, 1.030d-1, 1.029d-1, 1.027d-1, 1.024d-1, &
                  1.021d-1, 1.018d-1, 1.015d-1, 1.012d-1, 1.010d-1, &
                  1.006d-1, 1.003d-1, 9.988d-2, 9.943d-2, 9.879d-2, &
                  9.803d-2, 9.677d-2, 9.548d-2, 9.356d-2, 9.145d-2, &
                  8.920d-2, 8.526d-2, 8.180d-2, 7.694d-2, 7.102d-2, &
                  6.369d-2, 5.787d-2, 4.986d-2, 4.256d-2, 3.227d-2  /

  data pg_alc7 /  1.188d05, 1.116d05, 1.047d05, 9.489d04, 8.570d04, &
                  7.186d04, 5.979d04, 4.942d04, 4.060d04, 3.319d04, &
                  2.702d04, 1.774d04, 1.151d04, 7.387d03, 4.690d03, &
                  2.945d03, 2.017d03, 1.444d03, 1.032d03, 6.102d02, &
                  3.990d02, 2.759d02, 1.768d02, 1.156d02, 7.504d01, &
                  5.306d01, 3.813d01, 3.206d01, 2.580d01, 2.126d01, &
                  1.712d01, 1.356d01, 1.038d01, 6.640d00, 3.923d00, &
                  2.151d00, 1.061d00, 6.368d-1, 3.832d-1, 2.480d-1, &
                  1.817d-1, 1.475d-1, 1.247d-1, 1.091d-1, 9.719d-2, &
                  8.761d-2, 8.289d-2, 7.932d-2, 7.649d-2, 7.486d-2, &
                  7.381d-2, 7.331d-2, 7.288d-2, 7.253d-2, 7.238d-2, &
                  7.239d-2, 7.338d-2, 7.565d-2, 7.756d-2, 7.811d-2, &
                  7.844d-2, 7.869d-2, 7.891d-2, 7.907d-2, 7.916d-2, &
                  7.922d-2, 7.927d-2, 7.931d-2, 7.935d-2, 7.948d-2, &
                  7.960d-2, 7.974d-2, 7.986d-2, 7.999d-2, 8.012d-2, &
                  8.025d-2, 8.046d-2, 8.065d-2, 8.088d-2, 8.112d-2, &
                  8.137d-2, 8.170d-2, 8.200d-2, 8.234d-2, 8.269d-2, &
                  8.303d-2, 8.332d-2, 8.370d-2, 8.401d-2, 8.430d-2, &
                  8.457d-2, 8.483d-2, 8.506d-2, 8.531d-2, 8.552d-2, &
                  8.569d-2, 8.586d-2, 8.599d-2, 8.615d-2, 8.633d-2, &
                  8.647d-2, 8.662d-2, 8.677d-2, 8.692d-2, 8.710d-2, &
                  8.726d-2, 8.737d-2, 8.744d-2, 8.748d-2, 8.758d-2, &
                  8.785d-2, 8.808d-2, 8.827d-2, 8.840d-2, 8.847d-2, &
                  8.842d-2, 8.810d-2, 8.757d-2, 8.653d-2, 8.516d-2, &
                  8.355d-2, 8.044d-2, 7.756d-2, 7.333d-2, 6.801d-2, &
                  6.127d-2, 5.583d-2, 4.827d-2, 4.131d-2, 3.142d-2  /


  data nh_alc7 /  1.188d17, 1.149d17, 1.107d17, 1.040d17, 9.687d16, &
                  8.441d16, 7.251d16, 6.156d16, 5.178d16, 4.303d16, &
                  3.552d16, 2.381d16, 1.578d16, 1.035d16, 6.729d15, &
                  4.324d15, 2.994d15, 2.156d15, 1.545d15, 9.059d14, &
                  5.825d14, 3.914d14, 2.405d14, 1.495d14, 9.092d13, &
                  6.097d13, 4.193d13, 3.445d13, 2.711d13, 2.198d13, &
                  1.742d13, 1.360d13, 1.028d13, 6.488d12, 3.780d12, &
                  2.012d12, 9.256d11, 5.170d11, 2.864d11, 1.730d11, &
                  1.210d11, 9.543d10, 7.917d10, 6.843d10, 6.042d10, &
                  5.438d10, 5.153d10, 4.944d10, 4.783d10, 4.685d10, &
                  4.612d10, 4.565d10, 4.493d10, 4.388d10, 4.204d10, &
                  3.784d10, 3.187d10, 2.469d10, 2.009d10, 1.663d10, &
                  1.437d10, 1.269d10, 1.125d10, 1.033d10, 9.547d09, &
                  8.757d09, 7.985d09, 7.433d09, 6.958d09, 6.508d09, &
                  6.185d09, 5.908d09, 5.683d09, 5.484d09, 5.297d09, &
                  5.127d09, 4.885d09, 4.684d09, 4.468d09, 4.255d09, &
                  4.054d09, 3.822d09, 3.628d09, 3.422d09, 3.225d09, &
                  3.049d09, 2.904d09, 2.727d09, 2.589d09, 2.465d09, &
                  2.353d09, 2.251d09, 2.160d09, 2.064d09, 1.982d09, &
                  1.905d09, 1.836d09, 1.778d09, 1.710d09, 1.637d09, &
                  1.576d09, 1.513d09, 1.447d09, 1.380d09, 1.293d09, &
                  1.205d09, 1.137d09, 1.082d09, 1.032d09, 9.876d08, &
                  9.451d08, 9.018d08, 8.571d08, 8.149d08, 7.625d08, &
                  7.096d08, 6.403d08, 5.842d08, 5.193d08, 4.641d08, &
                  4.177d08, 3.556d08, 3.135d08, 2.667d08, 2.221d08, &
                  1.786d08, 1.502d08, 1.174d08, 9.217d07, 6.233d07  /

end module mod_atmosphere_curves
