diff --git a/docs/io/model/data/artis_abundances.dat b/docs/io/model/data/artis_abundances.dat new file mode 100644 index 00000000000..c8d8a45db3b --- /dev/null +++ b/docs/io/model/data/artis_abundances.dat @@ -0,0 +1,70 @@ + 1 1.542953e-08 3.044380e-03 0.000000e+00 0.000000e+00 0.000000e+00 5.962784e-09 1.333966e-10 1.089431e-08 2.880061e-14 7.145056e-09 2.102327e-12 1.010160e-08 8.678938e-10 9.098134e-08 1.089107e-08 1.629979e-07 3.713141e-08 9.928826e-08 4.806383e-09 8.054892e-07 6.228080e-10 2.787905e-07 4.546527e-09 6.401459e-07 6.635375e-08 5.054952e-06 2.336918e-05 9.929157e-01 2.519449e-03 1.484387e-03 + 2 1.819415e-08 3.063475e-03 0.000000e+00 0.000000e+00 0.000000e+00 5.101060e-09 1.346837e-10 1.136252e-08 3.472759e-14 7.411624e-09 2.960238e-12 1.031964e-08 1.162675e-09 9.384061e-08 1.302695e-08 1.578623e-07 4.245587e-08 9.461593e-08 6.015047e-09 8.048638e-07 6.199591e-10 2.808052e-07 5.646330e-09 6.451228e-07 7.629742e-08 5.016425e-06 2.306023e-05 9.929653e-01 2.493043e-03 1.442460e-03 + 3 2.113421e-08 3.096918e-03 0.000000e+00 0.000000e+00 0.000000e+00 4.425876e-09 1.343822e-10 1.185534e-08 4.140153e-14 7.764507e-09 4.156421e-12 1.064121e-08 1.574565e-09 9.759909e-08 1.537862e-08 1.534231e-07 4.738695e-08 9.019599e-08 7.610140e-09 8.139796e-07 6.229764e-10 2.851089e-07 7.171078e-09 6.555744e-07 9.084803e-08 4.918929e-06 2.297828e-05 9.930250e-01 2.466971e-03 1.375858e-03 + 4 2.411551e-08 3.143995e-03 0.000000e+00 0.000000e+00 0.000000e+00 3.933706e-09 1.343648e-10 1.240199e-08 4.837106e-14 8.200072e-09 5.616842e-12 1.105502e-08 2.077251e-09 1.017314e-07 1.757458e-08 1.504682e-07 5.143386e-08 8.724746e-08 9.412267e-09 8.337361e-07 6.356170e-10 2.920933e-07 9.000255e-09 6.620349e-07 1.080326e-07 4.844148e-06 2.297066e-05 9.930679e-01 2.447453e-03 1.305832e-03 + 5 2.666156e-08 3.217888e-03 0.000000e+00 0.000000e+00 0.000000e+00 3.698634e-09 1.369257e-10 1.304747e-08 5.523229e-14 8.800297e-09 7.221993e-12 1.174703e-08 2.684592e-09 1.078123e-07 1.992028e-08 1.514380e-07 5.587708e-08 8.620488e-08 1.167160e-08 8.715993e-07 6.638471e-10 3.038204e-07 1.138397e-08 6.803082e-07 1.297806e-07 4.731951e-06 2.297371e-05 9.930593e-01 2.443522e-03 1.244965e-03 + 6 2.862934e-08 3.347334e-03 0.000000e+00 0.000000e+00 0.000000e+00 3.771347e-09 1.455547e-10 1.411153e-08 6.267116e-14 9.744308e-09 8.809608e-12 1.302054e-08 3.448553e-09 1.194956e-07 2.318552e-08 1.602234e-07 6.248645e-08 8.866829e-08 1.492412e-08 9.482896e-07 7.280304e-10 3.293136e-07 1.487385e-08 7.258841e-07 1.614067e-07 4.586326e-06 2.296858e-05 9.929525e-01 2.465991e-03 1.200295e-03 + 7 3.144711e-08 3.557809e-03 0.000000e+00 0.000000e+00 0.000000e+00 3.988834e-09 1.621716e-10 1.605261e-08 7.633185e-14 1.132564e-08 1.099933e-11 1.516690e-08 4.460592e-09 1.408977e-07 2.826099e-08 1.819593e-07 7.408948e-08 9.659366e-08 2.003040e-08 1.087745e-06 8.548228e-10 3.766340e-07 2.047208e-08 8.168535e-07 2.110268e-07 4.450377e-06 2.297711e-05 9.926958e-01 2.533849e-03 1.178649e-03 + 8 3.547168e-08 3.886017e-03 0.000000e+00 0.000000e+00 0.000000e+00 4.410438e-09 1.909669e-10 1.948041e-08 1.015828e-13 1.404950e-08 1.446626e-11 1.878886e-08 5.915612e-09 1.794973e-07 3.682740e-08 2.256968e-07 9.500331e-08 1.128359e-07 2.872071e-08 1.336730e-06 1.091665e-09 4.598216e-07 3.021394e-08 9.833563e-07 2.977425e-07 4.418437e-06 2.300881e-05 9.922307e-01 2.662174e-03 1.186677e-03 + 9 4.020854e-08 4.330109e-03 0.000000e+00 0.000000e+00 0.000000e+00 5.126442e-09 2.342863e-10 2.467830e-08 1.416896e-13 1.824528e-08 1.964232e-11 2.433907e-08 7.971283e-09 2.405506e-07 5.008907e-08 2.983078e-07 1.283187e-07 1.405294e-07 4.287889e-08 1.727470e-06 1.488298e-09 5.877340e-07 4.580431e-08 1.238583e-06 4.402691e-07 4.676192e-06 2.310242e-05 9.915770e-01 2.843450e-03 1.213593e-03 + 10 4.495155e-08 4.823073e-03 0.000000e+00 0.000000e+00 0.000000e+00 6.052792e-09 2.877180e-10 3.105752e-08 1.931816e-13 2.355097e-08 2.633171e-11 3.138683e-08 1.059394e-08 3.185371e-07 6.673702e-08 3.970032e-07 1.731906e-07 1.773542e-07 6.266978e-08 2.228139e-06 2.029054e-09 7.454808e-07 6.741036e-08 1.551902e-06 6.351036e-07 5.275361e-06 2.327495e-05 9.908747e-01 3.029679e-03 1.234418e-03 + 11 5.107943e-08 5.305111e-03 0.000000e+00 0.000000e+00 0.000000e+00 6.782301e-09 3.433828e-10 3.791585e-08 2.583959e-13 2.942266e-08 3.567020e-11 3.899677e-08 1.377270e-08 4.025456e-07 8.488522e-08 5.082675e-07 2.249616e-07 2.196311e-07 8.707519e-08 2.787060e-06 2.670033e-09 9.137338e-07 9.328602e-08 1.878813e-06 8.630003e-07 6.101494e-06 2.351296e-05 9.902357e-01 3.185340e-03 1.233158e-03 + 12 5.780875e-08 5.737592e-03 0.000000e+00 0.000000e+00 0.000000e+00 7.290356e-09 3.947539e-10 4.436189e-08 3.282415e-13 3.501327e-08 4.683777e-11 4.623625e-08 1.739027e-08 4.814565e-07 1.022349e-07 6.151126e-07 2.754254e-07 2.623285e-07 1.130502e-07 3.348050e-06 3.347105e-09 1.075971e-06 1.199413e-07 2.185531e-06 1.090701e-06 6.983269e-06 2.380980e-05 9.897249e-01 3.288567e-03 1.205719e-03 + 13 6.651854e-08 6.106844e-03 0.000000e+00 0.000000e+00 0.000000e+00 7.356271e-09 4.368018e-10 4.987713e-08 4.089920e-13 3.987930e-08 6.163922e-11 5.223848e-08 2.136177e-08 5.483381e-07 1.178018e-07 7.029746e-07 3.188435e-07 2.990235e-07 1.373024e-07 3.866885e-06 3.986484e-09 1.222597e-06 1.445293e-07 2.456261e-06 1.303066e-06 7.783351e-06 2.414316e-05 9.893566e-01 3.335911e-03 1.154965e-03 + 14 7.696115e-08 6.389387e-03 0.000000e+00 0.000000e+00 0.000000e+00 7.020592e-09 4.634612e-10 5.373848e-08 4.855131e-13 4.327390e-08 7.936796e-11 5.607508e-08 2.541157e-08 5.939886e-07 1.297357e-07 7.588739e-07 3.490680e-07 3.230252e-07 1.557992e-07 4.261732e-06 4.478384e-09 1.335441e-06 1.634102e-07 2.656640e-06 1.471980e-06 8.366059e-06 2.453733e-05 9.891623e-01 3.319816e-03 1.081070e-03 + 15 9.079641e-08 6.509236e-03 0.000000e+00 0.000000e+00 0.000000e+00 6.078730e-09 4.631313e-10 5.423080e-08 5.508855e-13 4.374040e-08 1.010633e-10 5.567606e-08 2.895285e-08 5.961418e-07 1.339663e-07 7.562682e-07 3.547803e-07 3.230697e-07 1.619410e-07 4.356955e-06 4.599459e-09 1.362052e-06 1.688649e-07 2.690519e-06 1.532433e-06 8.482681e-06 2.497511e-05 9.892535e-01 3.209720e-03 9.796746e-04 + 16 1.102902e-07 6.289496e-03 0.000000e+00 0.000000e+00 0.000000e+00 4.389895e-09 4.096129e-10 4.822988e-08 5.642469e-13 3.856849e-08 1.236150e-10 4.755932e-08 3.018104e-08 5.169398e-07 1.218620e-07 6.470047e-07 3.129191e-07 2.796289e-07 1.446048e-07 3.853620e-06 3.988526e-09 1.203967e-06 1.476790e-07 2.372134e-06 1.370878e-06 7.687106e-06 2.540611e-05 9.898925e-01 2.937678e-03 8.346906e-04 + 17 1.409724e-07 5.385856e-03 0.000000e+00 0.000000e+00 0.000000e+00 2.158549e-09 2.757925e-10 3.232580e-08 4.550284e-13 2.492744e-08 1.346093e-10 2.899703e-08 2.535922e-08 3.225256e-07 8.261400e-08 3.955629e-07 2.010634e-07 1.765578e-07 9.303519e-08 2.480383e-06 2.387615e-09 7.711484e-07 8.998174e-08 1.512881e-06 8.783142e-07 5.820383e-06 2.561652e-05 9.915578e-01 2.392648e-03 6.241620e-04 + 18 2.138938e-07 3.186444e-03 0.000000e+00 0.000000e+00 0.000000e+00 3.895844e-10 8.794015e-11 9.919553e-09 1.846814e-13 6.810758e-09 1.008089e-10 6.937654e-09 1.065918e-08 8.238423e-08 2.455302e-08 9.944664e-08 5.505317e-08 4.871189e-08 2.513793e-08 6.802490e-07 5.434435e-10 2.076842e-07 2.135132e-08 3.957693e-07 3.898303e-07 1.157916e-05 2.481025e-05 9.950397e-01 1.408415e-03 3.265157e-04 + 19 2.713363e-07 3.063128e-04 0.000000e+00 0.000000e+00 0.000000e+00 4.838728e-12 1.686380e-12 1.815126e-10 4.610079e-15 5.513051e-11 8.321327e-12 6.659609e-11 1.941712e-10 3.979523e-05 1.705148e-07 1.682429e-04 1.110965e-06 1.633376e-04 1.445795e-07 9.757785e-04 1.097045e-08 1.985652e-05 3.296238e-07 1.073965e-04 1.406489e-04 7.607644e-03 1.410810e-04 9.900993e-01 1.924735e-04 3.613008e-05 + 20 1.257297e-16 3.995195e-08 0.000000e+00 1.136978e-25 0.000000e+00 1.869207e-10 1.662876e-14 1.594537e-09 2.212487e-17 3.354386e-12 2.005067e-14 5.475286e-09 1.217135e-10 1.511962e-03 6.336712e-07 3.099504e-03 4.125708e-07 1.898995e-03 2.461373e-07 5.151936e-03 6.445010e-09 9.942724e-06 1.429693e-07 4.914010e-04 4.829645e-04 2.148566e-02 3.569970e-04 9.655061e-01 2.641355e-06 3.872909e-07 + 21 2.238367e-20 1.557575e-08 0.000000e+00 5.549478e-24 0.000000e+00 9.343621e-10 8.686177e-14 6.818248e-09 7.577142e-17 3.588649e-12 2.113915e-14 3.051034e-08 6.628063e-10 5.824975e-03 2.176869e-06 9.365685e-03 9.947324e-07 4.660640e-03 5.032237e-07 1.007387e-02 9.143883e-09 1.323911e-05 2.478587e-07 7.503220e-04 6.653339e-04 2.637945e-02 3.659499e-04 9.418950e-01 1.365864e-06 1.748724e-07 + 22 8.576414e-22 2.138001e-08 0.000000e+00 3.478793e-23 1.987640e-25 2.753788e-09 2.773736e-13 1.831086e-08 3.000962e-16 6.901203e-12 5.138173e-14 9.183757e-08 1.926846e-09 1.430866e-02 5.004527e-06 1.991505e-02 1.944065e-06 8.674883e-03 8.516405e-07 1.636048e-02 1.412896e-08 1.805360e-05 3.306610e-07 9.685891e-04 7.793632e-04 2.945512e-02 3.913448e-04 9.091190e-01 1.059250e-06 1.187623e-07 + 23 8.098230e-23 2.647234e-08 0.000000e+00 1.420493e-22 1.424666e-22 6.937709e-09 7.367255e-13 4.293824e-08 9.181669e-16 1.451332e-11 1.267319e-13 2.314041e-07 4.602881e-09 3.067058e-02 1.002527e-05 3.789842e-02 3.448021e-06 1.473964e-02 1.335228e-06 2.478865e-02 2.122818e-08 2.397474e-05 4.153474e-07 1.180260e-03 8.777829e-04 3.157715e-02 4.102657e-04 8.578168e-01 8.490985e-07 8.295964e-08 + 24 9.326643e-24 2.877535e-08 0.000000e+00 4.715480e-22 1.068895e-21 1.670769e-08 1.807978e-12 9.747102e-08 2.360602e-15 3.054915e-11 3.117088e-13 5.507028e-07 1.006529e-08 6.260125e-02 1.875977e-05 6.894500e-02 5.766497e-06 2.398489e-02 1.994684e-06 3.604648e-02 3.084074e-08 3.087436e-05 5.098904e-07 1.379882e-03 9.558076e-04 3.238057e-02 4.122114e-04 7.732345e-01 6.741135e-07 5.715612e-08 + 25 1.443013e-24 2.672351e-08 0.000000e+00 1.315400e-21 5.208256e-21 3.868493e-08 4.030818e-12 2.156969e-07 4.963183e-15 6.019405e-11 7.799518e-13 1.272466e-06 2.026173e-08 1.227418e-01 3.248101e-05 1.196746e-01 8.897429e-06 3.697536e-02 2.777086e-06 4.928504e-02 4.271754e-08 3.727070e-05 6.002034e-07 1.496855e-03 9.741418e-04 3.052437e-02 3.833311e-04 6.378602e-01 5.251628e-07 3.832985e-08 + 26 4.830855e-25 2.122691e-08 0.000000e+00 2.634398e-21 2.002864e-20 7.824099e-08 7.080732e-12 4.305350e-07 7.338739e-15 9.966133e-11 1.800973e-12 2.638390e-06 3.401920e-08 2.133750e-01 4.709576e-05 1.839318e-01 1.155533e-05 5.042341e-02 3.316691e-06 5.945981e-02 5.372843e-08 3.972641e-05 6.441726e-07 1.429084e-03 8.847395e-04 2.532276e-02 3.166034e-04 4.647508e-01 4.246505e-07 2.693247e-08 + 27 2.746344e-25 1.515394e-08 0.000000e+00 3.777348e-21 5.818921e-20 1.338923e-07 9.473146e-12 7.626971e-07 7.537091e-15 1.375507e-10 3.660660e-12 4.727774e-06 4.637255e-08 3.182077e-01 5.549626e-05 2.427397e-01 1.235453e-05 5.910307e-02 3.333773e-06 6.169058e-02 5.901730e-08 3.667121e-05 6.349309e-07 1.182340e-03 7.132840e-04 1.829379e-02 2.279300e-04 2.977270e-01 3.383511e-07 1.852873e-08 + 28 1.850659e-25 1.050646e-08 0.000000e+00 4.272747e-21 1.260049e-19 1.989369e-07 1.035781e-11 1.232912e-06 5.997112e-15 1.682799e-10 6.514744e-12 7.345040e-06 5.339234e-08 4.148897e-01 5.541143e-05 2.807938e-01 1.142718e-05 6.081709e-02 2.947131e-06 5.631910e-02 5.688643e-08 3.003542e-05 5.986049e-07 8.724538e-04 5.220473e-04 1.187824e-02 1.461825e-04 1.736518e-01 2.474437e-07 1.198274e-08 + 29 1.377298e-25 7.672337e-09 1.385272e-25 4.370054e-21 2.115120e-19 2.621650e-07 1.036970e-11 1.813786e-06 4.422129e-15 1.919430e-10 9.921981e-12 1.001791e-05 5.498899e-08 4.865983e-01 5.061556e-05 2.961546e-01 9.960573e-06 5.777651e-02 2.490138e-06 4.810095e-02 4.982865e-08 2.331708e-05 5.806558e-07 6.232680e-04 3.789026e-04 7.621028e-03 9.099254e-05 1.025561e-01 1.625606e-07 7.084087e-09 + 30 1.134786e-25 6.141649e-09 6.691119e-25 4.487341e-21 3.021997e-19 3.156049e-07 1.029966e-11 2.427523e-06 3.421188e-15 2.100311e-10 1.316790e-11 1.240285e-05 5.406842e-08 5.340989e-01 4.552262e-05 2.985420e-01 8.789351e-06 5.355045e-02 2.149929e-06 4.093067e-02 4.244391e-08 1.837818e-05 5.929649e-07 4.636840e-04 2.920607e-04 5.238593e-03 6.012034e-05 6.673273e-02 1.026554e-07 3.955911e-09 + 31 1.041621e-25 5.391220e-09 7.678720e-25 4.736980e-21 3.897953e-19 3.562696e-07 1.033388e-11 2.981612e-06 2.863344e-15 2.237032e-10 1.573082e-11 1.431923e-05 5.287528e-08 5.639027e-01 4.179738e-05 2.963560e-01 8.063908e-06 5.002842e-02 1.942431e-06 3.593282e-02 3.714556e-08 1.527559e-05 6.235521e-07 3.712169e-04 2.457344e-04 3.976343e-03 4.446685e-05 4.905680e-02 6.469117e-08 2.068736e-09 + 32 1.059178e-25 5.045106e-09 8.480087e-25 4.985808e-21 4.644785e-19 3.851200e-07 1.038655e-11 3.436331e-06 2.529096e-15 2.330227e-10 1.743138e-11 1.577730e-05 5.193003e-08 5.825070e-01 3.927955e-05 2.935686e-01 7.650604e-06 4.757182e-02 1.826488e-06 3.274557e-02 3.403838e-08 1.343156e-05 6.635259e-07 3.163532e-04 2.221246e-04 3.266586e-03 3.627998e-05 3.968310e-02 4.048891e-08 1.017147e-09 + 33 1.120548e-25 4.871106e-09 8.681120e-25 4.960520e-21 5.083190e-19 4.015366e-07 1.016819e-11 3.820317e-06 2.218838e-15 2.384753e-10 1.795349e-11 1.662580e-05 4.979564e-08 5.929372e-01 3.712794e-05 2.931379e-01 7.480104e-06 4.663397e-02 1.802920e-06 3.146262e-02 3.329362e-08 1.273072e-05 7.084709e-07 2.689499e-04 2.008538e-04 2.668449e-03 2.990638e-05 3.257929e-02 2.434332e-08 4.546156e-10 + 34 1.129959e-25 4.591282e-09 7.814213e-25 4.158771e-21 4.784192e-19 3.973930e-07 9.119579e-12 4.235424e-06 1.755601e-15 2.433332e-10 1.626734e-11 1.619548e-05 4.288766e-08 5.918932e-01 3.393325e-05 2.998971e-01 7.692524e-06 4.891370e-02 1.972805e-06 3.379425e-02 3.682908e-08 1.410172e-05 7.601571e-07 2.015793e-04 1.561104e-04 1.809496e-03 2.124750e-05 2.323391e-02 1.297257e-08 1.717452e-10 + 35 1.047666e-25 3.927153e-09 7.850494e-25 3.256583e-21 4.490406e-19 4.041420e-07 8.116235e-12 5.252315e-06 1.283172e-15 2.705180e-10 1.497166e-11 1.512700e-05 3.215919e-08 5.843706e-01 2.919481e-05 3.102784e-01 8.360674e-06 5.302444e-02 2.352647e-06 3.833892e-02 4.044718e-08 1.687256e-05 9.290516e-07 1.303133e-04 9.562542e-05 9.087524e-04 1.212805e-05 1.276220e-02 5.803573e-09 5.426897e-11 + 36 6.468346e-25 2.765178e-09 5.861457e-23 9.851707e-20 1.859153e-17 6.482207e-06 2.785119e-10 3.040761e-04 3.061219e-14 1.684605e-08 5.097342e-09 1.491746e-05 3.854393e-08 5.795535e-01 2.465091e-05 3.170761e-01 1.021120e-05 5.581973e-02 3.072007e-06 4.151507e-02 3.433526e-08 1.895244e-05 1.357562e-06 7.432637e-05 4.540186e-05 3.292266e-04 9.019546e-06 5.193807e-03 3.042973e-09 2.144860e-11 + 37 4.448448e-25 7.360278e-10 7.901047e-21 1.814379e-18 4.798292e-16 2.613737e-05 5.709275e-09 6.985812e-03 2.327745e-13 2.655319e-07 5.358039e-08 3.616486e-05 4.771712e-07 5.932039e-01 2.954668e-05 3.093999e-01 1.796048e-05 5.197214e-02 4.817845e-06 3.680829e-02 2.824489e-08 1.623637e-05 1.616695e-06 2.680330e-05 1.384740e-05 6.894188e-05 1.344053e-05 1.373638e-03 1.134329e-09 1.809321e-11 + 38 0.000000e+00 1.139493e-12 1.187545e-19 1.680818e-17 5.317951e-15 3.065573e-05 4.203188e-08 3.981921e-02 5.800033e-14 9.458066e-07 8.387836e-08 1.874060e-04 2.614644e-06 6.241580e-01 5.550932e-05 2.737380e-01 1.628769e-05 3.873784e-02 2.679188e-06 2.299874e-02 5.290147e-08 8.763145e-06 6.438238e-07 4.175607e-06 1.969219e-06 1.404975e-05 5.962801e-06 2.163434e-04 3.190003e-11 1.837572e-11 + 39 0.000000e+00 9.134727e-15 9.233790e-19 1.279811e-16 4.050462e-14 2.388465e-05 2.115652e-07 1.243065e-01 9.137374e-14 2.446344e-06 7.446829e-08 8.078557e-04 7.969738e-06 6.377022e-01 9.185343e-05 2.064543e-01 8.646312e-06 2.148865e-02 1.068830e-06 9.080709e-03 3.295225e-08 2.717449e-06 1.108078e-07 4.668488e-07 1.689618e-07 1.844192e-06 4.773236e-07 1.780495e-05 3.690510e-12 7.605904e-12 + 40 0.000000e+00 6.254484e-16 6.564774e-18 9.009347e-16 2.902835e-13 1.585925e-05 6.338809e-07 2.617973e-01 1.623981e-13 3.759262e-06 7.352245e-08 7.880480e-03 1.900940e-05 6.249948e-01 1.267241e-04 9.894362e-02 3.814038e-06 5.228480e-03 2.338363e-07 9.846053e-04 3.413533e-09 1.939264e-07 6.122177e-09 2.195478e-08 6.956078e-09 3.796440e-08 5.705604e-09 3.239845e-07 1.336620e-13 4.867722e-13 + 41 0.000000e+00 9.234828e-17 2.768700e-17 3.784029e-15 1.250222e-12 1.050983e-05 1.068699e-06 4.070562e-01 1.703015e-13 3.801768e-06 8.937529e-08 6.917671e-02 5.633392e-05 4.941578e-01 1.383709e-04 2.884078e-02 1.003893e-06 5.254876e-04 1.898069e-08 3.184557e-05 5.223061e-11 2.226801e-09 6.981285e-11 2.270594e-10 7.363979e-11 4.787417e-10 5.670134e-11 4.884504e-09 5.444861e-15 2.866883e-14 + 42 0.000000e+00 3.618460e-17 4.537360e-17 6.172790e-15 2.026464e-12 8.437138e-06 1.287080e-06 4.971809e-01 1.644252e-13 4.102748e-06 9.307593e-08 1.398220e-01 9.721677e-05 3.455847e-01 1.442108e-04 1.685209e-02 5.836459e-07 2.896153e-04 9.615692e-09 1.474628e-05 2.089054e-11 7.826076e-10 2.686963e-11 8.349119e-11 2.962210e-11 1.617493e-10 1.590085e-11 8.129533e-10 9.993684e-16 5.242447e-15 + 43 0.000000e+00 2.732003e-17 5.372476e-17 7.290169e-15 2.391279e-12 8.041905e-06 1.368396e-06 5.353658e-01 1.560427e-13 4.194988e-06 9.614804e-08 1.755621e-01 1.180839e-04 2.737571e-01 1.456448e-04 1.476854e-02 5.228186e-07 2.595071e-04 8.200785e-09 8.972342e-06 1.319365e-11 4.451983e-10 2.302242e-11 6.599034e-11 2.696335e-11 9.573152e-11 7.042890e-12 1.650611e-10 1.086284e-16 5.506398e-16 + 44 0.000000e+00 2.874121e-17 6.090094e-17 8.221765e-15 2.683114e-12 8.350723e-06 1.414344e-06 5.505683e-01 1.546022e-13 4.101649e-06 1.196802e-07 1.940748e-01 1.320831e-04 2.408057e-01 1.529106e-04 1.401113e-02 7.472418e-07 2.340323e-04 8.890628e-09 6.153944e-06 1.442182e-11 3.071138e-10 2.360285e-11 7.100512e-11 1.761279e-11 4.676435e-11 2.207102e-12 3.229511e-11 9.010316e-18 4.317241e-17 + 45 0.000000e+00 3.354866e-17 6.372332e-17 8.535397e-15 2.732929e-12 9.080715e-06 1.327550e-06 5.570902e-01 1.592643e-13 4.118010e-06 5.538673e-07 2.032239e-01 1.604587e-04 2.253692e-01 1.880516e-04 1.371831e-02 1.852412e-06 2.277236e-04 2.002156e-08 5.279518e-06 2.332468e-11 3.597731e-10 1.839472e-11 6.834967e-11 8.408460e-12 2.114567e-11 7.380145e-13 1.003357e-11 1.533576e-18 7.044412e-18 + 46 0.000000e+00 3.812439e-17 5.971778e-17 7.932396e-15 2.489231e-12 9.984658e-06 1.101950e-06 5.599107e-01 1.515852e-13 4.189342e-06 3.165030e-06 2.072989e-01 2.253586e-04 2.183984e-01 2.270791e-04 1.367810e-02 3.823537e-06 2.339300e-04 4.958769e-08 5.236010e-06 3.566109e-11 6.403037e-10 1.341433e-11 6.250788e-11 4.573617e-12 1.160297e-11 3.629863e-13 4.454073e-12 4.842498e-19 2.232447e-18 + 47 0.000000e+00 4.309942e-17 5.315444e-17 7.017798e-15 2.161346e-12 1.348224e-05 8.961403e-07 5.613911e-01 1.367146e-13 4.308085e-06 8.977132e-06 2.082775e-01 3.092999e-04 2.156635e-01 2.460133e-04 1.382886e-02 5.703955e-06 2.447626e-04 8.897295e-08 5.474428e-06 5.305064e-11 1.125878e-09 1.069605e-11 5.861837e-11 3.015786e-12 7.523893e-12 2.323384e-13 2.312202e-12 2.464881e-19 1.226430e-18 + 48 0.000000e+00 5.946696e-17 4.411260e-17 5.790408e-15 1.717559e-12 3.278396e-05 7.593785e-07 5.620625e-01 1.307544e-13 4.913756e-06 1.666410e-05 2.078928e-01 3.827505e-04 2.150389e-01 2.500590e-04 1.404849e-02 6.978856e-06 2.564386e-04 1.257038e-07 5.820754e-06 7.690240e-11 1.717986e-09 9.483555e-12 5.799666e-11 2.200371e-12 5.203900e-12 1.550218e-13 1.180897e-12 1.365319e-19 7.422479e-19 + 49 0.000000e+00 1.294813e-16 2.945695e-17 3.838228e-15 1.082780e-12 8.933080e-05 6.737551e-07 5.626238e-01 1.504265e-13 7.079463e-06 2.463137e-05 2.063706e-01 4.311416e-04 2.155699e-01 2.511544e-04 1.434903e-02 7.850116e-06 2.685079e-04 1.561710e-07 6.230601e-06 1.063168e-10 2.331645e-09 9.302877e-12 6.022339e-11 1.876928e-12 4.043343e-12 1.169599e-13 6.989297e-13 9.597320e-20 5.762190e-19 + 50 0.000000e+00 4.207433e-16 1.581816e-17 2.038248e-15 5.321742e-13 1.965356e-04 6.128412e-07 5.630919e-01 2.178115e-13 1.290103e-05 3.249875e-05 2.042378e-01 4.565302e-04 2.167193e-01 2.549798e-04 1.470060e-02 8.656931e-06 2.807529e-04 1.847487e-07 6.690408e-06 1.402207e-10 2.931137e-09 9.833527e-12 6.398312e-11 1.839239e-12 3.433004e-12 9.405436e-14 4.416033e-13 6.926614e-20 4.550428e-19 + 51 0.000000e+00 1.384043e-15 7.812587e-18 9.851270e-16 2.227207e-13 3.628353e-04 5.549144e-07 5.637506e-01 3.762250e-13 2.637246e-05 4.033128e-05 2.017643e-01 4.665014e-04 2.179543e-01 2.631733e-04 1.506353e-02 9.412555e-06 2.907298e-04 2.113637e-07 7.076599e-06 1.720434e-10 3.440199e-09 1.058966e-11 6.579776e-11 2.079983e-12 3.260308e-12 9.541253e-14 3.555357e-13 6.438941e-20 4.474391e-19 + 52 0.000000e+00 4.167299e-15 3.975829e-18 4.834875e-16 8.738643e-14 6.051230e-04 4.908155e-07 5.646163e-01 7.163014e-13 5.595355e-05 4.809083e-05 1.990672e-01 4.680103e-04 2.191186e-01 2.763463e-04 1.542793e-02 1.018390e-05 2.982062e-04 2.388278e-07 7.363742e-06 1.969720e-10 3.825199e-09 1.136443e-11 6.451287e-11 2.554249e-12 3.392390e-12 1.234906e-13 3.808116e-13 8.220189e-20 5.654704e-19 + 53 0.000000e+00 1.153225e-14 2.125770e-18 2.429053e-16 3.252778e-14 9.466594e-04 4.208861e-07 5.656418e-01 1.402035e-12 1.187333e-04 5.535582e-05 1.963878e-01 4.671502e-04 2.200097e-01 2.949940e-04 1.575725e-02 1.094130e-05 3.014507e-04 2.680527e-07 7.483012e-06 2.072478e-10 4.031914e-09 1.196498e-11 5.972538e-11 3.143809e-12 3.767448e-12 1.813212e-13 4.947251e-13 1.469261e-19 9.380785e-19 + 54 0.000000e+00 2.950972e-14 1.199555e-18 1.242730e-16 1.181037e-14 1.399565e-03 3.569923e-07 5.666138e-01 2.632574e-12 2.456694e-04 6.156134e-05 1.942859e-01 4.704198e-04 2.203126e-01 3.185361e-04 1.597070e-02 1.184988e-05 3.011883e-04 3.135591e-07 7.477402e-06 2.087820e-10 4.085791e-09 1.230320e-11 5.336885e-11 3.659906e-12 4.162506e-12 2.552122e-13 6.478001e-13 2.910650e-19 1.705719e-18 + 55 0.000000e+00 6.769032e-14 6.694174e-19 6.003278e-17 3.941175e-15 1.974131e-03 3.024752e-07 5.674204e-01 4.561917e-12 4.975249e-04 6.648415e-05 1.929062e-01 4.854237e-04 2.199375e-01 3.478681e-04 1.604705e-02 1.294001e-05 2.963629e-04 3.894403e-07 7.303390e-06 2.019470e-10 3.989292e-09 1.244932e-11 4.673466e-11 4.148441e-12 4.627578e-12 3.436865e-13 8.257371e-13 5.703172e-19 3.079188e-18 + 56 0.000000e+00 1.445121e-13 3.365394e-19 2.471456e-17 1.168530e-15 2.687411e-03 2.608675e-07 5.677586e-01 7.386263e-12 1.007451e-03 7.045676e-05 1.926959e-01 5.233897e-04 2.186442e-01 3.873164e-04 1.591816e-02 1.438240e-05 2.850295e-04 5.182895e-07 6.900286e-06 1.870620e-10 3.730932e-09 1.231403e-11 4.031930e-11 4.513327e-12 4.993790e-12 4.279973e-13 9.621450e-13 9.622181e-19 4.865613e-18 + 57 0.000000e+00 3.241723e-13 1.206809e-19 6.647667e-18 2.905155e-16 3.722767e-03 2.294706e-07 5.671783e-01 1.230594e-11 2.249431e-03 7.554221e-05 1.942860e-01 6.140472e-04 2.156751e-01 4.520713e-04 1.545782e-02 1.706822e-05 2.646647e-04 7.508504e-07 6.176623e-06 1.634992e-10 3.286037e-09 1.165125e-11 3.336122e-11 4.593821e-12 5.093399e-12 4.972033e-13 1.000974e-12 1.371758e-18 6.537948e-18 + 58 0.000000e+00 7.158907e-13 2.885492e-20 1.063997e-18 7.170271e-17 5.120288e-03 2.071115e-07 5.651489e-01 2.020662e-11 4.856252e-03 8.387532e-05 1.983569e-01 7.839085e-04 2.102682e-01 5.502402e-04 1.456993e-02 2.113591e-05 2.337850e-04 1.034455e-06 5.127389e-06 1.338260e-10 2.674418e-09 1.073604e-11 2.710622e-11 4.632853e-12 5.097637e-12 5.573770e-13 9.602595e-13 1.660969e-18 7.473333e-18 + 59 1.064278e-25 1.483623e-12 8.342764e-21 2.037781e-19 2.525757e-17 6.801749e-03 1.983538e-07 5.615185e-01 3.177152e-11 9.217787e-03 9.687047e-05 2.040364e-01 1.023426e-03 2.029686e-01 6.666626e-04 1.343680e-02 2.601259e-05 2.017219e-04 1.267716e-06 4.158654e-06 1.114375e-10 2.151264e-09 1.010535e-11 2.302937e-11 4.530777e-12 4.830384e-12 5.765514e-13 8.376043e-13 1.808059e-18 7.588843e-18 + 60 3.714713e-25 2.997616e-12 3.483666e-21 5.512261e-20 1.080681e-17 9.024547e-03 1.954268e-07 5.554196e-01 5.014083e-11 1.650418e-02 1.186332e-04 2.123182e-01 1.350226e-03 1.923771e-01 7.947780e-04 1.189229e-02 3.110989e-05 1.643838e-04 1.381285e-06 3.124465e-06 8.739870e-11 1.585117e-09 8.797581e-12 1.824925e-11 4.053160e-12 4.154459e-12 5.297943e-13 6.264275e-13 1.479971e-18 5.766022e-18 + 61 1.209495e-24 6.486898e-12 2.117721e-21 2.137131e-20 5.893235e-18 1.228264e-02 1.935120e-07 5.458349e-01 8.284050e-11 2.915498e-02 1.576651e-04 2.223657e-01 1.779644e-03 1.773551e-01 9.077026e-04 9.997546e-03 3.543546e-05 1.251979e-04 1.345943e-06 2.164101e-06 6.611710e-11 1.077221e-09 7.714086e-12 1.458978e-11 3.703076e-12 3.647569e-12 4.914029e-13 4.588379e-13 1.331264e-18 4.629095e-18 + 62 3.329406e-24 1.319849e-11 1.907034e-21 1.345286e-20 4.553284e-18 1.641313e-02 1.953677e-07 5.338532e-01 1.342961e-10 4.646504e-02 2.159602e-04 2.308070e-01 2.201892e-03 1.607501e-01 9.465379e-04 8.213493e-03 3.679448e-05 9.362764e-05 1.204088e-06 1.488979e-06 5.196050e-11 7.358851e-10 7.178225e-12 1.252790e-11 3.545027e-12 3.257288e-12 4.384733e-13 3.135522e-13 1.117243e-18 3.411596e-18 + 63 1.097191e-23 3.099221e-11 2.375844e-21 1.230539e-20 4.546366e-18 2.335979e-02 2.005539e-07 5.153270e-01 2.486245e-10 7.530805e-02 3.278358e-04 2.376218e-01 2.635343e-03 1.382753e-01 8.688794e-04 6.178279e-03 3.299142e-05 6.260030e-05 9.254519e-07 8.859179e-07 3.674191e-11 4.314114e-10 5.990606e-12 9.518215e-12 2.887956e-12 2.414927e-12 3.056825e-13 1.610096e-13 7.055757e-19 1.859785e-18 + 64 3.866955e-23 7.337385e-11 3.748094e-21 1.540708e-20 5.677100e-18 3.357647e-02 2.156195e-07 4.940011e-01 4.835038e-10 1.111666e-01 4.977709e-04 2.370589e-01 2.901695e-03 1.155365e-01 6.866623e-04 4.506248e-03 2.570720e-05 4.106384e-05 6.621883e-07 5.229763e-07 2.689921e-11 2.592508e-10 5.332955e-12 7.725224e-12 2.357294e-12 1.673397e-12 1.743385e-13 6.653861e-14 3.857056e-19 8.565140e-19 + 65 1.122361e-22 1.533182e-10 5.921780e-21 2.116702e-20 7.488042e-18 4.559130e-02 2.390234e-07 4.762071e-01 8.794180e-10 1.417961e-01 6.720680e-04 2.309028e-01 2.933903e-03 9.792409e-02 5.176591e-04 3.406375e-03 1.925096e-05 2.833234e-05 4.677284e-07 3.199514e-07 1.909419e-11 1.593164e-10 4.203971e-12 5.602726e-12 1.621365e-12 9.960228e-13 8.234227e-14 2.463341e-14 1.534235e-19 3.073608e-19 + 66 3.781693e-22 3.609942e-10 9.653839e-21 3.111837e-20 1.032258e-17 6.501540e-02 2.836117e-07 4.591593e-01 1.780565e-09 1.713578e-01 8.700893e-04 2.175092e-01 2.788482e-03 8.042303e-02 3.553806e-04 2.488588e-03 1.328769e-05 1.879695e-05 3.043107e-07 1.855719e-07 1.295005e-11 9.460471e-11 3.362347e-12 4.234606e-12 1.153895e-12 6.224251e-13 3.899973e-14 9.113562e-15 6.597879e-20 1.183898e-19 + 67 1.363554e-21 9.163784e-10 1.407174e-20 4.619950e-20 1.380099e-17 9.457854e-02 3.778498e-07 4.465495e-01 3.734866e-09 1.905340e-01 1.017763e-03 1.983213e-01 2.491397e-03 6.447967e-02 2.385456e-04 1.767635e-03 8.926187e-06 1.207154e-05 1.870661e-07 1.027037e-07 8.147426e-12 5.311746e-11 2.361046e-12 2.696349e-12 6.052373e-13 2.612006e-13 1.184791e-14 2.176212e-15 1.562414e-20 2.673539e-20 + 68 3.583210e-21 2.110112e-09 1.640400e-20 6.608595e-20 1.677892e-17 1.314903e-01 5.234878e-07 4.396841e-01 6.901450e-09 1.967712e-01 1.071349e-03 1.765433e-01 2.148317e-03 5.087806e-02 1.644679e-04 1.234011e-03 6.042319e-06 7.610007e-06 1.115635e-07 5.439884e-08 4.783829e-12 2.808426e-11 1.433714e-12 1.527227e-12 2.854006e-13 9.807333e-14 3.050289e-15 4.414396e-16 2.582915e-21 4.230115e-21 + 69 1.019389e-20 4.639170e-09 1.644376e-20 9.510537e-20 1.882483e-17 1.747000e-01 7.082685e-07 4.377793e-01 1.121145e-08 1.920009e-01 1.043884e-03 1.525223e-01 1.793924e-03 3.919261e-02 1.148221e-04 8.422582e-04 4.103195e-06 4.773355e-06 6.704880e-08 2.937802e-08 2.839970e-12 1.519359e-11 8.383668e-13 7.810334e-13 1.117589e-13 2.865500e-14 6.302008e-16 6.904064e-17 1.378063e-22 4.029423e-22 + 70 2.405973e-20 9.135263e-09 1.527355e-20 1.392140e-19 2.066210e-17 2.213707e-01 9.184447e-07 4.389194e-01 1.632217e-08 1.807710e-01 9.641412e-04 1.271261e-01 1.442040e-03 2.878117e-02 7.853882e-05 5.405647e-04 2.687973e-06 2.818877e-06 3.776795e-08 1.463510e-08 1.548225e-12 7.564263e-12 4.412332e-13 3.650192e-13 4.016544e-14 7.830205e-15 1.184330e-16 1.029928e-17 0.000000e+00 2.376717e-23 diff --git a/docs/io/model/data/artis_model.dat b/docs/io/model/data/artis_model.dat new file mode 100644 index 00000000000..513be2f0955 --- /dev/null +++ b/docs/io/model/data/artis_model.dat @@ -0,0 +1,72 @@ + 70 + 0.00114661 + 1 1.259375e+03 -5.449497e-05 9.969498e-01 9.787696e-01 6.973734e-06 5.052319e-06 6.168110e-07 + 2 1.574219e+03 3.013383e-04 9.969307e-01 9.788986e-01 6.845718e-06 5.013408e-06 6.140697e-07 + 3 1.889063e+03 -1.982630e-02 9.968976e-01 9.789760e-01 6.720018e-06 4.915389e-06 6.130545e-07 + 4 2.203907e+03 -4.429480e-02 9.968509e-01 9.790147e-01 6.608687e-06 4.839975e-06 6.060005e-07 + 5 2.518750e+03 -5.767948e-02 9.967775e-01 9.789697e-01 6.505750e-06 4.727071e-06 6.067441e-07 + 6 2.833594e+03 -7.370731e-02 9.966485e-01 9.787804e-01 6.395329e-06 4.580685e-06 6.268937e-07 + 7 3.148438e+03 -1.013941e-01 9.964382e-01 9.783643e-01 6.259683e-06 4.443940e-06 6.797306e-07 + 8 3.463282e+03 -1.223770e-01 9.961101e-01 9.776204e-01 6.090588e-06 4.411024e-06 7.830217e-07 + 9 3.778126e+03 -1.441526e-01 9.956658e-01 9.765878e-01 5.894967e-06 4.667291e-06 9.375288e-07 + 10 4.092969e+03 -1.710595e-01 9.951726e-01 9.754603e-01 5.696173e-06 5.264160e-06 1.113761e-06 + 11 4.407813e+03 -1.921165e-01 9.946904e-01 9.743882e-01 5.505227e-06 6.087066e-06 1.275082e-06 + 12 4.722657e+03 -2.190449e-01 9.942578e-01 9.734612e-01 5.318957e-06 6.965121e-06 1.406783e-06 + 13 5.037501e+03 -2.503739e-01 9.938884e-01 9.727036e-01 5.138882e-06 7.761285e-06 1.503072e-06 + 14 5.352345e+03 -2.796168e-01 9.936060e-01 9.721567e-01 4.966839e-06 8.340429e-06 1.549395e-06 + 15 5.667188e+03 -3.105920e-01 9.934865e-01 9.719984e-01 4.797945e-06 8.454966e-06 1.503797e-06 + 16 5.982032e+03 -3.413327e-01 9.937069e-01 9.726593e-01 4.642989e-06 7.660500e-06 1.276586e-06 + 17 6.296876e+03 -3.751951e-01 9.946118e-01 9.750052e-01 4.504424e-06 5.799124e-06 7.959853e-07 + 18 6.611720e+03 -4.087162e-01 9.968127e-01 9.809170e-01 4.377842e-06 1.154036e-05 2.120706e-07 + 19 6.926563e+03 -4.452069e-01 9.993206e-01 9.838294e-01 4.787479e-06 7.603537e-03 1.054282e-04 + 20 7.241407e+03 -4.782779e-01 9.934882e-01 9.623342e-01 7.808212e-06 2.142014e-02 4.893291e-04 + 21 7.556251e+03 -5.144547e-01 9.801450e-01 9.390609e-01 7.891220e-06 2.628785e-02 7.470313e-04 + 22 7.871095e+03 -5.506459e-01 9.570934e-01 9.065100e-01 7.418816e-06 2.935965e-02 9.643208e-04 + 23 8.185939e+03 -5.838073e-01 9.166762e-01 8.554363e-01 6.813265e-06 3.148066e-02 1.174981e-03 + 24 8.500782e+03 -6.187967e-01 8.444416e-01 7.711242e-01 6.021313e-06 3.228287e-02 1.373482e-03 + 25 8.815626e+03 -6.478082e-01 7.205625e-01 6.360884e-01 4.926903e-06 3.042671e-02 1.489358e-03 + 26 9.130470e+03 -6.772585e-01 5.522046e-01 4.633726e-01 3.580056e-06 2.523080e-02 1.421018e-03 + 27 9.445314e+03 -7.025316e-01 3.798727e-01 2.967333e-01 2.290327e-06 1.821502e-02 1.174456e-03 + 28 9.760158e+03 -7.393099e-01 2.434208e-01 1.729650e-01 1.321915e-06 1.181660e-02 8.653664e-04 + 29 1.007500e+04 -7.769093e-01 1.593954e-01 1.020666e-01 7.627219e-07 7.574566e-03 6.170831e-04 + 30 1.038985e+04 -8.221853e-01 1.137370e-01 6.635599e-02 4.797101e-07 5.202758e-03 4.581936e-04 + 31 1.070469e+04 -8.745196e-01 8.964338e-02 4.874161e-02 3.390994e-07 3.947096e-03 3.661284e-04 + 32 1.101953e+04 -9.296468e-01 7.628418e-02 3.940266e-02 2.635893e-07 3.241346e-03 3.114475e-04 + 33 1.133438e+04 -9.903432e-01 6.722356e-02 3.232460e-02 2.087902e-07 2.646639e-03 2.642194e-04 + 34 1.164922e+04 -1.044582e+00 5.923151e-02 2.301299e-02 1.443657e-07 1.793031e-03 1.973346e-04 + 35 1.196406e+04 -1.107672e+00 5.226578e-02 1.259155e-02 7.754713e-08 8.991098e-04 1.268152e-04 + 36 1.227891e+04 -1.166106e+00 4.718720e-02 5.081296e-03 3.147591e-08 3.251325e-04 7.181194e-05 + 37 1.259375e+04 -1.224244e+00 3.832284e-02 1.308496e-03 1.028649e-08 6.508490e-05 2.581188e-05 + 38 1.290860e+04 -1.278808e+00 2.325070e-02 1.854372e-04 8.404720e-09 5.333218e-06 3.988807e-06 + 39 1.322344e+04 -1.319016e+00 9.104333e-03 1.132432e-05 2.479127e-09 3.431589e-07 4.391149e-07 + 40 1.353828e+04 -1.339697e+00 9.852053e-04 1.299599e-07 7.783476e-11 1.265313e-08 2.057230e-08 + 41 1.385313e+04 -1.350281e+00 3.185364e-05 9.492013e-10 1.632555e-12 1.190779e-10 2.088784e-10 + 42 1.416797e+04 -1.366863e+00 1.474822e-05 2.220123e-10 5.309134e-13 4.447397e-11 7.551816e-11 + 43 1.448281e+04 -1.408773e+00 8.973184e-06 8.011853e-11 2.082280e-13 3.914228e-11 5.869264e-11 + 44 1.479766e+04 -1.484229e+00 6.154459e-06 2.021216e-11 5.137364e-14 2.829258e-11 6.464542e-11 + 45 1.511250e+04 -1.576636e+00 5.280028e-06 6.933790e-12 1.465119e-14 1.530388e-11 6.442062e-11 + 46 1.542735e+04 -1.673018e+00 5.236783e-06 3.220037e-12 6.011255e-15 8.828028e-12 6.008495e-11 + 47 1.574219e+04 -1.779685e+00 5.475689e-06 1.656054e-12 3.293192e-15 5.715768e-12 5.706669e-11 + 48 1.605703e+04 -1.876238e+00 5.822625e-06 8.090158e-13 1.990751e-15 3.956454e-12 5.687796e-11 + 49 1.637188e+04 -1.990179e+00 6.233115e-06 4.442047e-13 1.473151e-15 3.072241e-12 5.915856e-11 + 50 1.668672e+04 -2.082134e+00 6.693559e-06 2.602742e-13 1.196462e-15 2.628631e-12 6.268807e-11 + 51 1.700156e+04 -2.189603e+00 7.080294e-06 1.937764e-13 1.302169e-15 2.424756e-12 6.402162e-11 + 52 1.731641e+04 -2.251445e+00 7.367846e-06 1.874260e-13 2.002987e-15 2.292432e-12 6.198017e-11 + 53 1.763125e+04 -2.336874e+00 7.487331e-06 2.089537e-13 3.862363e-15 2.145276e-12 5.615828e-11 + 54 1.794610e+04 -2.413082e+00 7.481771e-06 2.284368e-13 7.610089e-15 1.892516e-12 4.869019e-11 + 55 1.826094e+04 -2.525231e+00 7.307651e-06 2.426003e-13 1.494172e-14 1.604724e-12 4.093251e-11 + 56 1.857578e+04 -2.598198e+00 6.904268e-06 2.392776e-13 2.741366e-14 1.286481e-12 3.355300e-11 + 57 1.889063e+04 -2.582957e+00 6.180129e-06 2.125336e-13 4.712860e-14 9.528658e-13 2.601973e-11 + 58 1.920547e+04 -2.732132e+00 5.130247e-06 1.782245e-13 7.413013e-14 6.634504e-13 1.942738e-11 + 59 1.952032e+04 -2.787764e+00 4.160961e-06 1.395227e-13 9.871988e-14 4.585879e-13 1.521031e-11 + 60 1.983516e+04 -2.847531e+00 3.126174e-06 9.689468e-14 1.121511e-13 2.803738e-13 1.103460e-11 + 61 2.015000e+04 -2.861318e+00 2.165275e-06 6.563661e-14 1.260716e-13 1.659489e-13 7.817914e-12 + 62 2.046485e+04 -2.984034e+00 1.489794e-06 4.275136e-14 1.315134e-13 9.863714e-14 5.815667e-12 + 63 2.077969e+04 -2.888253e+00 8.864073e-07 2.107301e-14 1.053168e-13 4.595312e-14 3.655108e-12 + 64 2.109453e+04 -3.077504e+00 5.232797e-07 8.675422e-15 6.905988e-14 1.760052e-14 2.341958e-12 + 65 2.140938e+04 -3.169650e+00 3.201423e-07 3.365656e-15 3.595022e-14 6.162002e-15 1.394190e-12 + 66 2.172422e+04 -3.103242e+00 1.856889e-07 1.293778e-15 1.860925e-14 2.033915e-15 8.039162e-13 + 67 2.203907e+04 -3.195011e+00 1.027709e-07 3.343978e-16 5.949844e-15 5.858914e-16 4.132950e-13 + 68 2.235391e+04 -3.304330e+00 5.443506e-08 7.937542e-17 1.640208e-15 1.396395e-16 1.943107e-13 + 69 2.266875e+04 -3.441502e+00 2.939781e-08 1.475479e-17 3.430180e-16 4.586563e-17 9.063403e-14 + 70 2.298360e+04 -3.453566e+00 1.464506e-08 2.619737e-18 6.785903e-17 1.021336e-17 3.857130e-14 diff --git a/docs/io/model/how_to_read_artis_model.ipynb b/docs/io/model/how_to_read_artis_model.ipynb new file mode 100644 index 00000000000..2c96dd228e2 --- /dev/null +++ b/docs/io/model/how_to_read_artis_model.ipynb @@ -0,0 +1,543 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to Read ARTIS Models with TARDIS\n", + "\n", + "This notebook demonstrates how to read in density and abundance data from ARTIS-based files using TARDIS.\n", + "\n", + "We assume you've already installed TARDIS (including the `tardis.io.model.readers.artis` module)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time of model: 99.067104 s\n", + "Velocity shape: (70,)\n", + "Mean density shape: (70,)\n", + "\n", + "Isotope mass fractions (from artis_model.dat):\n", + "cell_indexd 1.0 2.0 3.0 \\\n", + "atomic_number mass_number \n", + "28 56 9.787696e-01 9.788986e-01 9.789760e-01 \n", + "27 56 6.973734e-06 6.845718e-06 6.720018e-06 \n", + "26 52 5.052319e-06 5.013408e-06 4.915389e-06 \n", + "24 48 6.168110e-07 6.140697e-07 6.130545e-07 \n", + "\n", + "cell_indexd 4.0 5.0 6.0 \\\n", + "atomic_number mass_number \n", + "28 56 9.790147e-01 9.789697e-01 9.787804e-01 \n", + "27 56 6.608687e-06 6.505750e-06 6.395329e-06 \n", + "26 52 4.839975e-06 4.727071e-06 4.580685e-06 \n", + "24 48 6.060005e-07 6.067441e-07 6.268937e-07 \n", + "\n", + "cell_indexd 7.0 8.0 9.0 10.0 \\\n", + "atomic_number mass_number \n", + "28 56 9.783643e-01 9.776204e-01 9.765878e-01 0.975460 \n", + "27 56 6.259683e-06 6.090588e-06 5.894967e-06 0.000006 \n", + "26 52 4.443940e-06 4.411024e-06 4.667291e-06 0.000005 \n", + "24 48 6.797306e-07 7.830217e-07 9.375288e-07 0.000001 \n", + "\n", + "cell_indexd ... 61.0 62.0 63.0 \\\n", + "atomic_number mass_number ... \n", + "28 56 ... 6.563661e-14 4.275136e-14 2.107301e-14 \n", + "27 56 ... 1.260716e-13 1.315134e-13 1.053168e-13 \n", + "26 52 ... 1.659489e-13 9.863714e-14 4.595312e-14 \n", + "24 48 ... 7.817914e-12 5.815667e-12 3.655108e-12 \n", + "\n", + "cell_indexd 64.0 65.0 66.0 \\\n", + "atomic_number mass_number \n", + "28 56 8.675422e-15 3.365656e-15 1.293778e-15 \n", + "27 56 6.905988e-14 3.595022e-14 1.860925e-14 \n", + "26 52 1.760052e-14 6.162002e-15 2.033915e-15 \n", + "24 48 2.341958e-12 1.394190e-12 8.039162e-13 \n", + "\n", + "cell_indexd 67.0 68.0 69.0 \\\n", + "atomic_number mass_number \n", + "28 56 3.343978e-16 7.937542e-17 1.475479e-17 \n", + "27 56 5.949844e-15 1.640208e-15 3.430180e-16 \n", + "26 52 5.858914e-16 1.396395e-16 4.586563e-17 \n", + "24 48 4.132950e-13 1.943107e-13 9.063403e-14 \n", + "\n", + "cell_indexd 70.0 \n", + "atomic_number mass_number \n", + "28 56 2.619737e-18 \n", + "27 56 6.785903e-17 \n", + "26 52 1.021336e-17 \n", + "24 48 3.857130e-14 \n", + "\n", + "[4 rows x 70 columns]\n", + "\n", + "Elemental mass fractions (from artis_abundances.dat):\n", + "cell_index 1 2 3 4 \\\n", + "atomic_number \n", + "1 1.542961e-08 1.819425e-08 2.113432e-08 2.411562e-08 \n", + "2 3.044396e-03 3.063491e-03 3.096934e-03 3.144010e-03 \n", + "3 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "4 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "5 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "\n", + "cell_index 5 6 7 8 \\\n", + "atomic_number \n", + "1 2.666167e-08 2.862944e-08 3.144721e-08 3.547179e-08 \n", + "2 3.217901e-03 3.347346e-03 3.557821e-03 3.886029e-03 \n", + "3 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "4 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "5 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "\n", + "cell_index 9 10 ... 61 62 \\\n", + "atomic_number ... \n", + "1 4.020866e-08 4.495169e-08 ... 1.209495e-24 3.329407e-24 \n", + "2 4.330122e-03 4.823087e-03 ... 6.486897e-12 1.319849e-11 \n", + "3 0.000000e+00 0.000000e+00 ... 2.117721e-21 1.907035e-21 \n", + "4 0.000000e+00 0.000000e+00 ... 2.137131e-20 1.345286e-20 \n", + "5 0.000000e+00 0.000000e+00 ... 5.893234e-18 4.553286e-18 \n", + "\n", + "cell_index 63 64 65 66 \\\n", + "atomic_number \n", + "1 1.097191e-23 3.866955e-23 1.122361e-22 3.781693e-22 \n", + "2 3.099221e-11 7.337384e-11 1.533182e-10 3.609942e-10 \n", + "3 2.375844e-21 3.748094e-21 5.921780e-21 9.653838e-21 \n", + "4 1.230539e-20 1.540708e-20 2.116702e-20 3.111837e-20 \n", + "5 4.546367e-18 5.677099e-18 7.488042e-18 1.032258e-17 \n", + "\n", + "cell_index 67 68 69 70 \n", + "atomic_number \n", + "1 1.363554e-21 3.583212e-21 1.019389e-20 2.405973e-20 \n", + "2 9.163784e-10 2.110113e-09 4.639171e-09 9.135262e-09 \n", + "3 1.407174e-20 1.640401e-20 1.644377e-20 1.527355e-20 \n", + "4 4.619950e-20 6.608599e-20 9.510540e-20 1.392140e-19 \n", + "5 1.380099e-17 1.677893e-17 1.882484e-17 2.066210e-17 \n", + "\n", + "[5 rows x 70 columns]\n" + ] + } + ], + "source": [ + "from tardis.io.model.readers.artis import (\n", + " read_artis_density,\n", + " read_artis_mass_fractions,\n", + " read_artis_model,\n", + ")\n", + "\n", + "# Provide your density and abundance filenames here.\n", + "density_filename = 'data/artis_model.dat' # e.g. path/to/artis_model.dat\n", + "abundance_filename = 'data/artis_abundances.dat' # e.g. path/to/artis_abundances.dat\n", + "\n", + "# Option 1: Read separately (use legacy_return=False to get isotope mass fractions as well)\n", + "time_of_model, velocity, mean_density, isotope_mass_fractions = read_artis_density(\n", + " density_filename, legacy_return=False\n", + ")\n", + "mass_fractions_df = read_artis_mass_fractions(abundance_filename)\n", + "\n", + "print('Time of model:', time_of_model)\n", + "print('Velocity shape:', velocity.shape)\n", + "print('Mean density shape:', mean_density.shape)\n", + "print('\\nIsotope mass fractions (from artis_model.dat):')\n", + "print(isotope_mass_fractions.head())\n", + "\n", + "print('\\nElemental mass fractions (from artis_abundances.dat):')\n", + "print(mass_fractions_df.head())" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ArtisModelData instance:\n", + "ArtisModelData(time_of_model=, velocity=, mean_density=, mass_fractions= 1 2 3 \\\n", + "atomic_number mass_number \n", + "1 -1 1.542961e-08 1.819425e-08 2.113432e-08 \n", + "2 -1 3.044396e-03 3.063491e-03 3.096934e-03 \n", + "3 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "4 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "5 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "6 -1 5.962816e-09 5.101087e-09 4.425898e-09 \n", + "7 -1 1.333973e-10 1.346844e-10 1.343829e-10 \n", + "8 -1 1.089437e-08 1.136258e-08 1.185540e-08 \n", + "9 -1 2.880077e-14 3.472778e-14 4.140174e-14 \n", + "10 -1 7.145095e-09 7.411664e-09 7.764546e-09 \n", + "11 -1 2.102338e-12 2.960254e-12 4.156442e-12 \n", + "12 -1 1.010165e-08 1.031970e-08 1.064126e-08 \n", + "13 -1 8.678985e-10 1.162681e-09 1.574573e-09 \n", + "14 -1 9.098183e-08 9.384111e-08 9.759958e-08 \n", + "15 -1 1.089113e-08 1.302702e-08 1.537870e-08 \n", + "16 -1 1.629988e-07 1.578631e-07 1.534239e-07 \n", + "17 -1 3.713161e-08 4.245610e-08 4.738719e-08 \n", + "18 -1 9.928880e-08 9.461644e-08 9.019644e-08 \n", + "19 -1 4.806409e-09 6.015079e-09 7.610178e-09 \n", + "20 -1 8.054936e-07 8.048681e-07 8.139837e-07 \n", + "21 -1 6.228114e-10 6.199624e-10 6.229795e-10 \n", + "22 -1 2.787920e-07 2.808067e-07 2.851103e-07 \n", + "23 -1 4.546552e-09 5.646360e-09 7.171114e-09 \n", + "24 -1 2.333836e-08 3.105656e-08 4.252320e-08 \n", + "25 -1 6.635411e-08 7.629783e-08 9.084849e-08 \n", + "26 -1 2.660334e-09 3.043941e-09 3.564759e-09 \n", + "27 -1 1.639557e-05 1.621464e-05 1.625838e-05 \n", + "28 -1 1.415147e-02 1.407203e-02 1.405400e-02 \n", + "29 -1 2.519463e-03 2.493056e-03 2.466983e-03 \n", + "30 -1 1.484395e-03 1.442468e-03 1.375865e-03 \n", + "28 56 9.787696e-01 9.788986e-01 9.789760e-01 \n", + "27 56 6.973734e-06 6.845718e-06 6.720018e-06 \n", + "26 52 5.052319e-06 5.013408e-06 4.915389e-06 \n", + "24 48 6.168110e-07 6.140697e-07 6.130545e-07 \n", + "\n", + " 4 5 6 \\\n", + "atomic_number mass_number \n", + "1 -1 2.411562e-08 2.666167e-08 2.862944e-08 \n", + "2 -1 3.144010e-03 3.217901e-03 3.347346e-03 \n", + "3 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "4 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "5 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "6 -1 3.933724e-09 3.698649e-09 3.771361e-09 \n", + "7 -1 1.343654e-10 1.369263e-10 1.455552e-10 \n", + "8 -1 1.240205e-08 1.304752e-08 1.411158e-08 \n", + "9 -1 4.837128e-14 5.523252e-14 6.267139e-14 \n", + "10 -1 8.200110e-09 8.800333e-09 9.744343e-09 \n", + "11 -1 5.616868e-12 7.222023e-12 8.809640e-12 \n", + "12 -1 1.105507e-08 1.174708e-08 1.302059e-08 \n", + "13 -1 2.077261e-09 2.684603e-09 3.448565e-09 \n", + "14 -1 1.017319e-07 1.078127e-07 1.194960e-07 \n", + "15 -1 1.757466e-08 1.992036e-08 2.318560e-08 \n", + "16 -1 1.504689e-07 1.514386e-07 1.602240e-07 \n", + "17 -1 5.143410e-08 5.587731e-08 6.248668e-08 \n", + "18 -1 8.724786e-08 8.620524e-08 8.866861e-08 \n", + "19 -1 9.412310e-09 1.167165e-08 1.492417e-08 \n", + "20 -1 8.337400e-07 8.716029e-07 9.482930e-07 \n", + "21 -1 6.356199e-10 6.638498e-10 7.280330e-10 \n", + "22 -1 2.920946e-07 3.038217e-07 3.293148e-07 \n", + "23 -1 9.000297e-09 1.138402e-08 1.487390e-08 \n", + "24 -1 5.603746e-08 7.356690e-08 9.899302e-08 \n", + "25 -1 1.080331e-07 1.297811e-07 1.614073e-07 \n", + "26 -1 4.195379e-09 4.899506e-09 5.657523e-09 \n", + "27 -1 1.636208e-05 1.646805e-05 1.657333e-05 \n", + "28 -1 1.405779e-02 1.409369e-02 1.417568e-02 \n", + "29 -1 2.447464e-03 2.443532e-03 2.466000e-03 \n", + "30 -1 1.305838e-03 1.244970e-03 1.200299e-03 \n", + "28 56 9.790147e-01 9.789697e-01 9.787804e-01 \n", + "27 56 6.608687e-06 6.505750e-06 6.395329e-06 \n", + "26 52 4.839975e-06 4.727071e-06 4.580685e-06 \n", + "24 48 6.060005e-07 6.067441e-07 6.268937e-07 \n", + "\n", + " 7 8 9 \\\n", + "atomic_number mass_number \n", + "1 -1 3.144721e-08 3.547179e-08 4.020866e-08 \n", + "2 -1 3.557821e-03 3.886029e-03 4.330122e-03 \n", + "3 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "4 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "5 -1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "6 -1 3.988847e-09 4.410452e-09 5.126457e-09 \n", + "7 -1 1.621721e-10 1.909675e-10 2.342870e-10 \n", + "8 -1 1.605266e-08 1.948047e-08 2.467837e-08 \n", + "9 -1 7.633210e-14 1.015831e-13 1.416900e-13 \n", + "10 -1 1.132568e-08 1.404954e-08 1.824533e-08 \n", + "11 -1 1.099937e-11 1.446631e-11 1.964238e-11 \n", + "12 -1 1.516695e-08 1.878892e-08 2.433914e-08 \n", + "13 -1 4.460607e-09 5.915630e-09 7.971307e-09 \n", + "14 -1 1.408982e-07 1.794979e-07 2.405513e-07 \n", + "15 -1 2.826108e-08 3.682751e-08 5.008922e-08 \n", + "16 -1 1.819599e-07 2.256975e-07 2.983087e-07 \n", + "17 -1 7.408973e-08 9.500361e-08 1.283191e-07 \n", + "18 -1 9.659398e-08 1.128363e-07 1.405298e-07 \n", + "19 -1 2.003047e-08 2.872080e-08 4.287902e-08 \n", + "20 -1 1.087749e-06 1.336734e-06 1.727475e-06 \n", + "21 -1 8.548256e-10 1.091668e-09 1.488302e-09 \n", + "22 -1 3.766353e-07 4.598230e-07 5.877358e-07 \n", + "23 -1 2.047215e-08 3.021403e-08 4.580445e-08 \n", + "24 -1 1.371256e-07 2.003377e-07 3.010579e-07 \n", + "25 -1 2.110275e-07 2.977434e-07 4.402704e-07 \n", + "26 -1 6.451809e-09 7.426781e-09 8.915059e-09 \n", + "27 -1 1.671750e-05 1.691829e-05 1.720752e-05 \n", + "28 -1 1.433480e-02 1.461339e-02 1.499218e-02 \n", + "29 -1 2.533857e-03 2.662182e-03 2.843459e-03 \n", + "30 -1 1.178653e-03 1.186681e-03 1.213597e-03 \n", + "28 56 9.783643e-01 9.776204e-01 9.765878e-01 \n", + "27 56 6.259683e-06 6.090588e-06 5.894967e-06 \n", + "26 52 4.443940e-06 4.411024e-06 4.667291e-06 \n", + "24 48 6.797306e-07 7.830217e-07 9.375288e-07 \n", + "\n", + " 10 ... 61 62 \\\n", + "atomic_number mass_number ... \n", + "1 -1 4.495169e-08 ... 1.209495e-24 3.329407e-24 \n", + "2 -1 4.823087e-03 ... 6.486897e-12 1.319849e-11 \n", + "3 -1 0.000000e+00 ... 2.117721e-21 1.907035e-21 \n", + "4 -1 0.000000e+00 ... 2.137131e-20 1.345286e-20 \n", + "5 -1 0.000000e+00 ... 5.893234e-18 4.553286e-18 \n", + "6 -1 6.052810e-09 ... 1.228264e-02 1.641314e-02 \n", + "7 -1 2.877189e-10 ... 1.935120e-07 1.953678e-07 \n", + "8 -1 3.105761e-08 ... 5.458348e-01 5.338534e-01 \n", + "9 -1 1.931822e-13 ... 8.284048e-11 1.342961e-10 \n", + "10 -1 2.355104e-08 ... 2.915497e-02 4.646506e-02 \n", + "11 -1 2.633179e-11 ... 1.576651e-04 2.159603e-04 \n", + "12 -1 3.138692e-08 ... 2.223657e-01 2.308071e-01 \n", + "13 -1 1.059397e-08 ... 1.779644e-03 2.201893e-03 \n", + "14 -1 3.185381e-07 ... 1.773551e-01 1.607502e-01 \n", + "15 -1 6.673722e-08 ... 9.077024e-04 9.465382e-04 \n", + "16 -1 3.970044e-07 ... 9.997544e-03 8.213496e-03 \n", + "17 -1 1.731911e-07 ... 3.543545e-05 3.679449e-05 \n", + "18 -1 1.773547e-07 ... 1.251979e-04 9.362767e-05 \n", + "19 -1 6.266997e-08 ... 1.345943e-06 1.204088e-06 \n", + "20 -1 2.228146e-06 ... 2.164101e-06 1.488979e-06 \n", + "21 -1 2.029060e-09 ... 6.611709e-11 5.196052e-11 \n", + "22 -1 7.454830e-07 ... 1.077221e-09 7.358853e-10 \n", + "23 -1 6.741056e-08 ... 7.714084e-12 7.178227e-12 \n", + "24 -1 4.381457e-07 ... 6.771863e-12 6.712237e-12 \n", + "25 -1 6.351055e-07 ... 3.703075e-12 3.545028e-12 \n", + "26 -1 1.121686e-08 ... 3.481619e-12 3.158652e-12 \n", + "27 -1 1.757885e-05 ... 3.653312e-13 3.069600e-13 \n", + "28 -1 1.541738e-02 ... 3.932012e-13 2.708009e-13 \n", + "29 -1 3.029688e-03 ... 1.331264e-18 1.117243e-18 \n", + "30 -1 1.234422e-03 ... 4.629094e-18 3.411597e-18 \n", + "28 56 9.754603e-01 ... 6.563661e-14 4.275136e-14 \n", + "27 56 5.696173e-06 ... 1.260716e-13 1.315134e-13 \n", + "26 52 5.264160e-06 ... 1.659489e-13 9.863714e-14 \n", + "24 48 1.113761e-06 ... 7.817914e-12 5.815667e-12 \n", + "\n", + " 63 64 65 \\\n", + "atomic_number mass_number \n", + "1 -1 1.097191e-23 3.866955e-23 1.122361e-22 \n", + "2 -1 3.099221e-11 7.337384e-11 1.533182e-10 \n", + "3 -1 2.375844e-21 3.748094e-21 5.921780e-21 \n", + "4 -1 1.230539e-20 1.540708e-20 2.116702e-20 \n", + "5 -1 4.546367e-18 5.677099e-18 7.488042e-18 \n", + "6 -1 2.335979e-02 3.357647e-02 4.559130e-02 \n", + "7 -1 2.005539e-07 2.156195e-07 2.390234e-07 \n", + "8 -1 5.153271e-01 4.940010e-01 4.762071e-01 \n", + "9 -1 2.486245e-10 4.835037e-10 8.794180e-10 \n", + "10 -1 7.530806e-02 1.111666e-01 1.417961e-01 \n", + "11 -1 3.278358e-04 4.977708e-04 6.720680e-04 \n", + "12 -1 2.376218e-01 2.370589e-01 2.309028e-01 \n", + "13 -1 2.635343e-03 2.901695e-03 2.933903e-03 \n", + "14 -1 1.382753e-01 1.155365e-01 9.792409e-02 \n", + "15 -1 8.688795e-04 6.866622e-04 5.176591e-04 \n", + "16 -1 6.178280e-03 4.506247e-03 3.406375e-03 \n", + "17 -1 3.299142e-05 2.570720e-05 1.925096e-05 \n", + "18 -1 6.260031e-05 4.106384e-05 2.833234e-05 \n", + "19 -1 9.254520e-07 6.621882e-07 4.677284e-07 \n", + "20 -1 8.859180e-07 5.229762e-07 3.199514e-07 \n", + "21 -1 3.674191e-11 2.689921e-11 1.909419e-11 \n", + "22 -1 4.314115e-10 2.592508e-10 1.593164e-10 \n", + "23 -1 5.990607e-12 5.332954e-12 4.203971e-12 \n", + "24 -1 5.863108e-12 5.383265e-12 4.208536e-12 \n", + "25 -1 2.887956e-12 2.357294e-12 1.621365e-12 \n", + "26 -1 2.368974e-12 1.655796e-12 9.898608e-13 \n", + "27 -1 2.003657e-13 1.052786e-13 4.639205e-14 \n", + "28 -1 1.399366e-13 5.786318e-14 2.126775e-14 \n", + "29 -1 7.055758e-19 3.857056e-19 1.534235e-19 \n", + "30 -1 1.859785e-18 8.565139e-19 3.073608e-19 \n", + "28 56 2.107301e-14 8.675422e-15 3.365656e-15 \n", + "27 56 1.053168e-13 6.905988e-14 3.595022e-14 \n", + "26 52 4.595312e-14 1.760052e-14 6.162002e-15 \n", + "24 48 3.655108e-12 2.341958e-12 1.394190e-12 \n", + "\n", + " 66 67 68 \\\n", + "atomic_number mass_number \n", + "1 -1 3.781693e-22 1.363554e-21 3.583212e-21 \n", + "2 -1 3.609942e-10 9.163784e-10 2.110113e-09 \n", + "3 -1 9.653838e-21 1.407174e-20 1.640401e-20 \n", + "4 -1 3.111837e-20 4.619950e-20 6.608599e-20 \n", + "5 -1 1.032258e-17 1.380099e-17 1.677893e-17 \n", + "6 -1 6.501539e-02 9.457854e-02 1.314904e-01 \n", + "7 -1 2.836117e-07 3.778498e-07 5.234881e-07 \n", + "8 -1 4.591592e-01 4.465495e-01 4.396843e-01 \n", + "9 -1 1.780565e-09 3.734866e-09 6.901454e-09 \n", + "10 -1 1.713578e-01 1.905340e-01 1.967713e-01 \n", + "11 -1 8.700892e-04 1.017763e-03 1.071350e-03 \n", + "12 -1 2.175092e-01 1.983213e-01 1.765434e-01 \n", + "13 -1 2.788482e-03 2.491397e-03 2.148318e-03 \n", + "14 -1 8.042302e-02 6.447967e-02 5.087809e-02 \n", + "15 -1 3.553806e-04 2.385456e-04 1.644680e-04 \n", + "16 -1 2.488588e-03 1.767635e-03 1.234012e-03 \n", + "17 -1 1.328769e-05 8.926187e-06 6.042322e-06 \n", + "18 -1 1.879695e-05 1.207154e-05 7.610011e-06 \n", + "19 -1 3.043107e-07 1.870661e-07 1.115636e-07 \n", + "20 -1 1.855719e-07 1.027037e-07 5.439887e-08 \n", + "21 -1 1.295005e-11 8.147426e-12 4.783832e-12 \n", + "22 -1 9.460470e-11 5.311746e-11 2.808428e-11 \n", + "23 -1 3.362347e-12 2.361046e-12 1.433715e-12 \n", + "24 -1 3.430689e-12 2.283054e-12 1.332917e-12 \n", + "25 -1 1.153895e-12 6.052373e-13 2.854008e-13 \n", + "26 -1 6.203911e-13 2.606147e-13 9.793374e-14 \n", + "27 -1 2.039047e-14 5.898066e-15 1.410083e-15 \n", + "28 -1 7.819783e-15 1.841814e-15 3.620644e-16 \n", + "29 -1 6.597878e-20 1.562414e-20 2.582916e-21 \n", + "30 -1 1.183898e-19 2.673539e-20 4.230117e-21 \n", + "28 56 1.293778e-15 3.343978e-16 7.937542e-17 \n", + "27 56 1.860925e-14 5.949844e-15 1.640208e-15 \n", + "26 52 2.033915e-15 5.858914e-16 1.396395e-16 \n", + "24 48 8.039162e-13 4.132950e-13 1.943107e-13 \n", + "\n", + " 69 70 \n", + "atomic_number mass_number \n", + "1 -1 1.019389e-20 2.405973e-20 \n", + "2 -1 4.639171e-09 9.135262e-09 \n", + "3 -1 1.644377e-20 1.527355e-20 \n", + "4 -1 9.510540e-20 1.392140e-19 \n", + "5 -1 1.882484e-17 2.066210e-17 \n", + "6 -1 1.747001e-01 2.213707e-01 \n", + "7 -1 7.082687e-07 9.184446e-07 \n", + "8 -1 4.377794e-01 4.389193e-01 \n", + "9 -1 1.121145e-08 1.632217e-08 \n", + "10 -1 1.920010e-01 1.807710e-01 \n", + "11 -1 1.043884e-03 9.641410e-04 \n", + "12 -1 1.525223e-01 1.271261e-01 \n", + "13 -1 1.793925e-03 1.442040e-03 \n", + "14 -1 3.919262e-02 2.878117e-02 \n", + "15 -1 1.148221e-04 7.853881e-05 \n", + "16 -1 8.422585e-04 5.405646e-04 \n", + "17 -1 4.103196e-06 2.687973e-06 \n", + "18 -1 4.773356e-06 2.818877e-06 \n", + "19 -1 6.704882e-08 3.776794e-08 \n", + "20 -1 2.937803e-08 1.463510e-08 \n", + "21 -1 2.839971e-12 1.548225e-12 \n", + "22 -1 1.519359e-11 7.564262e-12 \n", + "23 -1 8.383671e-13 4.412331e-13 \n", + "24 -1 6.903996e-13 3.264478e-13 \n", + "25 -1 1.117589e-13 4.016543e-14 \n", + "26 -1 2.860914e-14 7.819990e-15 \n", + "27 -1 2.871830e-16 5.057395e-17 \n", + "28 -1 5.428587e-17 7.679541e-18 \n", + "29 -1 1.378063e-22 0.000000e+00 \n", + "30 -1 4.029424e-22 2.376717e-23 \n", + "28 56 1.475479e-17 2.619737e-18 \n", + "27 56 3.430180e-16 6.785903e-17 \n", + "26 52 4.586563e-17 1.021336e-17 \n", + "24 48 9.063403e-14 3.857130e-14 \n", + "\n", + "[34 rows x 70 columns])\n", + "\n", + "HomologousRadial1DGeometry from model_data:\n", + "v_inner = [1.259375e+08 1.574219e+08 1.889063e+08 2.203907e+08 2.518750e+08\n", + " 2.833594e+08 3.148438e+08 3.463282e+08 3.778126e+08 4.092969e+08\n", + " 4.407813e+08 4.722657e+08 5.037501e+08 5.352345e+08 5.667188e+08\n", + " 5.982032e+08 6.296876e+08 6.611720e+08 6.926563e+08 7.241407e+08\n", + " 7.556251e+08 7.871095e+08 8.185939e+08 8.500782e+08 8.815626e+08\n", + " 9.130470e+08 9.445314e+08 9.760158e+08 1.007500e+09 1.038985e+09\n", + " 1.070469e+09 1.101953e+09 1.133438e+09 1.164922e+09 1.196406e+09\n", + " 1.227891e+09 1.259375e+09 1.290860e+09 1.322344e+09 1.353828e+09\n", + " 1.385313e+09 1.416797e+09 1.448281e+09 1.479766e+09 1.511250e+09\n", + " 1.542735e+09 1.574219e+09 1.605703e+09 1.637188e+09 1.668672e+09\n", + " 1.700156e+09 1.731641e+09 1.763125e+09 1.794610e+09 1.826094e+09\n", + " 1.857578e+09 1.889063e+09 1.920547e+09 1.952032e+09 1.983516e+09\n", + " 2.015000e+09 2.046485e+09 2.077969e+09 2.109453e+09 2.140938e+09\n", + " 2.172422e+09 2.203907e+09 2.235391e+09 2.266875e+09] cm / s\n", + "v_outer = [1.574219e+08 1.889063e+08 2.203907e+08 2.518750e+08 2.833594e+08\n", + " 3.148438e+08 3.463282e+08 3.778126e+08 4.092969e+08 4.407813e+08\n", + " 4.722657e+08 5.037501e+08 5.352345e+08 5.667188e+08 5.982032e+08\n", + " 6.296876e+08 6.611720e+08 6.926563e+08 7.241407e+08 7.556251e+08\n", + " 7.871095e+08 8.185939e+08 8.500782e+08 8.815626e+08 9.130470e+08\n", + " 9.445314e+08 9.760158e+08 1.007500e+09 1.038985e+09 1.070469e+09\n", + " 1.101953e+09 1.133438e+09 1.164922e+09 1.196406e+09 1.227891e+09\n", + " 1.259375e+09 1.290860e+09 1.322344e+09 1.353828e+09 1.385313e+09\n", + " 1.416797e+09 1.448281e+09 1.479766e+09 1.511250e+09 1.542735e+09\n", + " 1.574219e+09 1.605703e+09 1.637188e+09 1.668672e+09 1.700156e+09\n", + " 1.731641e+09 1.763125e+09 1.794610e+09 1.826094e+09 1.857578e+09\n", + " 1.889063e+09 1.920547e+09 1.952032e+09 1.983516e+09 2.015000e+09\n", + " 2.046485e+09 2.077969e+09 2.109453e+09 2.140938e+09 2.172422e+09\n", + " 2.203907e+09 2.235391e+09 2.266875e+09 2.298360e+09] cm / s\n", + "time_explosion = 99.067104 s\n" + ] + } + ], + "source": [ + "# Option 2: Use the combined read_artis_model\n", + "model_data = read_artis_model(density_filename, abundance_filename)\n", + "\n", + "print(\"ArtisModelData instance:\")\n", + "print(model_data)\n", + "\n", + "# Example of converting model_data to a homologous geometry\n", + "geometry = model_data.to_geometry()\n", + "print(\"\\nHomologousRadial1DGeometry from model_data:\")\n", + "print(\"v_inner =\", geometry.v_inner)\n", + "print(\"v_outer =\", geometry.v_outer)\n", + "print(\"time_explosion =\", geometry.time_explosion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After running these cells, you'll have an instance of the `ArtisModelData` dataclass that contains: \n", + " - `time_of_model`: The model's valid time as an astropy Quantity (in seconds)\n", + " - `velocity`: An array of velocity values (converted to cm/s by default)\n", + " - `mean_density`: The mean density values (in g/cm^3)\n", + " - `mass_fractions`: A DataFrame holding mass fractions across each shell \n", + "You can directly integrate this object into TARDIS for simulation or leverage its properties for further data analysis and visualization." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tardis-devel", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/io/model/index.rst b/docs/io/model/index.rst index c43d7a5a7a6..7859dbb1e5c 100644 --- a/docs/io/model/index.rst +++ b/docs/io/model/index.rst @@ -9,3 +9,4 @@ TARDIS can read a variety of models. The following models are currently supporte how_to_read_stella_model.ipynb how_to_read_cmfgen_model.ipynb + how_to_read_artis_model.ipynb \ No newline at end of file diff --git a/tardis/io/model/readers/__init__.py b/tardis/io/model/readers/__init__.py index e69de29bb2d..8b137891791 100644 --- a/tardis/io/model/readers/__init__.py +++ b/tardis/io/model/readers/__init__.py @@ -0,0 +1 @@ + diff --git a/tardis/io/model/readers/artis.py b/tardis/io/model/readers/artis.py index e2963cdb57a..9cb491988cd 100644 --- a/tardis/io/model/readers/artis.py +++ b/tardis/io/model/readers/artis.py @@ -1,28 +1,67 @@ +from dataclasses import dataclass, field + import numpy as np import pandas as pd from astropy import units as u -def read_artis_density(fname): +@dataclass +class ArtisModelData: + time_of_model: u.Quantity + velocity: np.ndarray + mean_density: u.Quantity + mass_fractions: pd.DataFrame = field(default_factory=pd.DataFrame) + + def to_geometry(self): + """ + Construct a HomologousRadial1DGeometry object from this ArtisModelData. + + We create v_inner and v_outer by treating the velocity array as boundary + points for the shells. The time_of_model is used as the time_explosion. + """ + geometry = HomologousRadial1DGeometry( + v_inner=self.velocity[:-1], + v_outer=self.velocity[1:], + v_inner_boundary=None, + v_outer_boundary=None, + time_explosion=self.time_of_model, + ) + return geometry + + +def read_artis_density(fname, legacy_return=True): """ - Reading a density file of the following structure (example; lines starting with a hash will be ignored): - The first density describes the mean density in the center of the model and is not used. - 5 - #index velocity [km/s] log10(density) [log10(g/cm^3)] - 0 1.1e4 1.6e8 - 1 1.2e4 1.7e8 + Read an ARTIS density file. + + The file is expected to have: + • First line: number of shells (ignored beyond reading the integer). + • Second line: time of the model in days, which is then converted to seconds. + • Remaining lines: columns containing cell_id, velocity (km/s), log10(density), + and mass fractions of Ni56, Co56, Fe52, and Cr48. + + Notes + ----- + The first density (i.e., the center of the model) is not used in the returned arrays. Parameters ---------- fname : str - filename or path with filename + Path to the ARTIS density file. + legacy_return : bool, optional (default: True) + If True, returns (time_of_model, velocity, mean_density). + If False, returns (time_of_model, velocity, mean_density, isotope_mass_fractions). Returns ------- time_of_model : astropy.units.Quantity - time at which the model is valid - data : pandas.DataFrame - data frame containing index, velocity (in km/s) and density + The time at which the model is valid, in seconds. + velocity : astropy.units.Quantity + The velocity array in cm/s. + mean_density : astropy.units.Quantity + The array of mean densities in g/cm^3, excluding the first (central) value. + isotope_mass_fractions : pandas.DataFrame, optional + Mass fractions for Ni56, Co56, Fe52, and Cr48 if legacy_return=False. + The DataFrame has a MultiIndex of (Z, A) for rows and the cell_id for columns. """ with open(fname) as fh: for i, line in enumerate(open(fname)): @@ -34,13 +73,13 @@ def read_artis_density(fname): break artis_model_columns = [ - "index", + "cell_index", "velocities", "mean_densities_0", - "ni56_fraction", - "co56_fraction", - "fe52_fraction", - "cr48_fraction", + "ni56_mass_fraction", + "co56_mass_fraction", + "fe52_mass_fraction", + "cr48_mass_fraction", ] artis_model = pd.read_csv( @@ -49,16 +88,110 @@ def read_artis_density(fname): usecols=(0, 1, 2, 4, 5, 6, 7), dtype={item: np.float64 for item in artis_model_columns}, names=artis_model_columns, - # The argument `delim_whitespace` was changed to `sep` - # because the first one is deprecated since version 2.2.0. - # The regular expression means: the separation is one or - # more spaces together (simple space, tabs, new lines). sep=r"\s+", - ).to_records(index=False) - + ) + assert ( + len(artis_model) == no_of_shells + ), "Number of shells {len(artis_model)} does not match metadate {no_of_shells}" velocity = u.Quantity(artis_model["velocities"], "km/s").to("cm/s") - mean_density = u.Quantity(10 ** artis_model["mean_densities_0"], "g/cm^3")[ - 1: - ] + mean_density = u.Quantity(10 ** artis_model["mean_densities_0"], "g/cm^3") + + isotope_mass_fractions = pd.DataFrame( + artis_model[ + [ + "ni56_mass_fraction", + "co56_mass_fraction", + "fe52_mass_fraction", + "cr48_mass_fraction", + ] + ].T + ) + isotope_mass_fractions.index = pd.MultiIndex.from_tuples( + [(28, 56), (27, 56), (26, 52), (24, 48)], + names=["atomic_number", "mass_number"], + ) + + isotope_mass_fractions.columns = artis_model["cell_index"] + isotope_mass_fractions.columns.name = "cell_index" + + if legacy_return: + return time_of_model, velocity, mean_density[1:] + else: + return time_of_model, velocity, mean_density, isotope_mass_fractions + + +def read_artis_mass_fractions(fname, normalize=True): + """ + Reads mass fractions from an ARTIS abundance file. + + The file must have shell indices in the first column, followed by + columns for each element. Each row generally corresponds to one shell. + + Parameters + ---------- + fname : str + Path to the ARTIS abundance file. + normalize : bool, optional + If True, normalizes each row so the sum of mass fractions is 1. + + Returns + ------- + pandas.DataFrame + A DataFrame with 'atomic_number' as its index and 'cell_index' + as columns, holding the mass fractions for each element and shell. + """ + mass_fractions_df = pd.read_csv( + fname, comment="#", sep="\s+", header=None, index_col=0 + ) + + mass_fractions_df.index.name = "cell_index" + + if normalize: + mass_fractions_df = mass_fractions_df.div(mass_fractions_df.sum(axis=1), axis=0) + mass_fractions_df = mass_fractions_df.T + mass_fractions_df.index.name = "atomic_number" + mass_fractions_df.columns.name = "cell_index" + + return mass_fractions_df + + +def read_artis_model(density_fname, abundance_fname): + """ + Read density and abundance files, combine them, and return a single model dataset. + + Parameters + ---------- + density_fname : str + Path to the ARTIS density file. + abundance_fname : str + Path to the ARTIS abundance file. + + Returns + ------- + ArtisModelData + Combined data with time_of_model, velocity, mean_density, and mass_fractions. + """ + time_of_model, velocity, mean_density, isotope_mass_fractions = read_artis_density( + density_fname, legacy_return=False + ) + mass_fractions = read_artis_mass_fractions(abundance_fname) + mass_fractions.index = pd.MultiIndex.from_arrays( + [mass_fractions.index, [-1] * len(mass_fractions.index)], + names=["atomic_number", "mass_number"], + ) + isotope_summed = isotope_mass_fractions.groupby(level="atomic_number").sum() + mass_fractions = mass_fractions.sub( + isotope_summed, level="atomic_number", fill_value=0 + ) + + mass_fractions = pd.concat([mass_fractions, isotope_mass_fractions], axis=0) + + return ArtisModelData( + time_of_model=time_of_model, + velocity=velocity, + mean_density=mean_density, + mass_fractions=mass_fractions, + ) + - return time_of_model, velocity, mean_density +from tardis.model.geometry.radial1d import HomologousRadial1DGeometry diff --git a/tardis/io/model/readers/tests/test_artis_readers.py b/tardis/io/model/readers/tests/test_artis_readers.py new file mode 100644 index 00000000000..093c32e1e47 --- /dev/null +++ b/tardis/io/model/readers/tests/test_artis_readers.py @@ -0,0 +1,79 @@ +import numpy as np +import numpy.testing as npt +import pytest +from astropy import units as u + +from tardis.io.model.readers.artis import ( + read_artis_density, + read_artis_mass_fractions, + read_artis_model, +) + + +@pytest.fixture +def artis_density_fname(example_model_file_dir): + return example_model_file_dir / "artis_model.dat" + + +def test_artis_density_reader(artis_density_fname: str): + # Using a test ARTIS density file. + # File: tardis_artis_density_test.dat + time_model, velocity, mean_density, isotopic_mass_fractions = read_artis_density( + artis_density_fname, legacy_return=False + ) + # Check that time is recognized as time + assert time_model.unit.physical_type == "time" + # Check velocity unit is cm/s + assert velocity.unit == u.Unit("cm/s") + # Dummy check for mean_density value + npt.assert_allclose(mean_density.value[0], 10**-5.449497e-05) + # Additional check that all density values are positive + assert (mean_density.value > 0).all(), "All mean_density values should be positive" + + +def test_artis_mass_fractions_reader(example_model_file_dir): + # Using a test ARTIS abundance file. + mass_fractions = read_artis_mass_fractions( + example_model_file_dir / "artis_abundances.dat" + ) + # Verify index and data shape (adjust expected shape as appropriate) + assert mass_fractions.index.name == "atomic_number" + assert mass_fractions.columns.name == "cell_index" + # Dummy check: ensure there is at least one value + npt.assert_(mass_fractions.size > 0, "Mass fractions should not be empty") + + +def test_artis_model_reader(example_model_file_dir): + # Combine both density and abundance test files. + artis_model_data = read_artis_model( + example_model_file_dir / "artis_model.dat", + example_model_file_dir / "artis_abundances.dat", + ) + # Check that the returned object has proper attributes. + assert hasattr(artis_model_data, "time_of_model") + assert hasattr(artis_model_data, "velocity") + assert hasattr(artis_model_data, "mean_density") + assert hasattr(artis_model_data, "mass_fractions") + # Check basic units + assert artis_model_data.time_of_model.unit.physical_type == "time" + assert artis_model_data.velocity.unit.physical_type == "velocity" + # Dummy check for mass fractions DataFrame (non-empty) + assert ( + artis_model_data.mass_fractions.size > 0, + "Mass fractions should not be empty", + ) + + +def test_simple_legacy_read_artis_density(artis_density_fname: str): + time_of_model, velocity, mean_density = read_artis_density( + artis_density_fname, legacy_return=True + ) + + assert np.isclose(0.00114661 * u.day, time_of_model, atol=1e-7 * u.day) + assert np.isclose( + mean_density[23], + 0.2250048 * u.g / u.cm**3, + atol=1.0e-6 * u.g / u.cm**3, + ) + assert len(mean_density) == 69 + assert len(velocity) == len(mean_density) + 1 diff --git a/tardis/io/model/readers/tests/test_ascii_readers.py b/tardis/io/model/readers/tests/test_ascii_readers.py index 7e338054cfa..f551d4c3e32 100644 --- a/tardis/io/model/readers/tests/test_ascii_readers.py +++ b/tardis/io/model/readers/tests/test_ascii_readers.py @@ -1,5 +1,3 @@ -import os - import numpy.testing as npt import pytest from astropy import units as u @@ -11,8 +9,6 @@ read_simple_ascii_mass_fractions, ) -test_data_directory = os.path.dirname(__file__) - def test_simple_ascii_density_reader_time(example_model_file_dir): (time_model, velocity, density,) = read_simple_ascii_density( diff --git a/tardis/io/tests/test_model_reader.py b/tardis/io/tests/test_model_reader.py index 6694c5dca77..d3c273b4c13 100644 --- a/tardis/io/tests/test_model_reader.py +++ b/tardis/io/tests/test_model_reader.py @@ -15,11 +15,6 @@ ) -@pytest.fixture -def artis_density_fname(example_model_file_dir): - return example_model_file_dir / "artis_model.dat" - - @pytest.fixture def artis_abundances_fname(example_model_file_dir): return example_model_file_dir / "artis_abundances.dat" @@ -44,21 +39,6 @@ def isotope_uniform_abundance(example_model_file_dir): return config.model.abundances -def test_simple_read_artis_density(artis_density_fname: str): - time_of_model, velocity, mean_density = read_artis_density( - artis_density_fname - ) - - assert np.isclose(0.00114661 * u.day, time_of_model, atol=1e-7 * u.day) - assert np.isclose( - mean_density[23], - 0.2250048 * u.g / u.cm**3, - atol=1.0e-6 * u.g / u.cm**3, - ) - assert len(mean_density) == 69 - assert len(velocity) == len(mean_density) + 1 - - # Artis files are currently read with read ascii files function def test_read_simple_ascii_mass_fractions(artis_abundances_fname): index, abundances = read_simple_ascii_mass_fractions(artis_abundances_fname)