CICESE PyK-Ar - A free software tool for the K-Ar dating in the cloud
Tags |
---|
Potassium-Argon dating Software
Abstract
A numerical method K-Ar tracer, a web platform to date volcanic rocks 5 million years from getting spectrometer data.
While a lot of laboratories use a software insider, reproducibly requires open-source software availability and verifiability plus interoperability thanks Web. Therefore, it’s introducing the ‘PyK-ar’ package for Python, an open-source software package and web platform that dates volcanic rocks, it can manage them using a graphical user interface. The latest version of the package can be downloaded from GitHub.
The dating used in the package is, with some adaptations, largely based on the method
originally proposed by G. B. Dalrymple and M. A. Lanphere (1969).
- The package ‘PyK-Ar’ for Python can date volcanic rocks.
Justificación
Se requiere reducir los datos adquiridos por espectrometría de masas desde una plataforma sencilla. El proceso de reducción de datos usado actualmente requiere asociar grupos de datos diversos y fácilmente provoca errores del operador. Nuestro software ayudará al investigador Basabe del CICESE y también a otros investigadores del mismo campo.
Estado del arte
El estado del arte es el método numérico descrito en [3] (K-Ar con trazador), además de un software anterior escrito en C por los investigadores de CICESE, tales como el proyecto RaDAn (mezcla de archivos), IsoCalc (procesamiento) [5]. Como bases de datos, una bitácora de resultados en Google Sheets y un guardado temporal de los archivos obtenidos por el espectrómetro.
Objetivo general
Crear una plataforma web que procesará datos geocronológicos de K-Ar con trazado.
Objetivos específicos
- Unificar los 3 procesos: lectura y unión de los archivos, procesamiento y cálculo de las edades con sus incertidumbres.
- Mejorar la experiencia de usuario: reducir al máximo las tareas manuales.
- Garantizar la portabilidad gracias a la Web.
- Asegurar la simplicidad del código.
- Garantizar la correcta funcionalidad en los navegadores Chromium, Firefox y Safari.
- Ofrecer una interfaz amigable para el usuario.
- Entregar una versión estable el 6 de diciembre de 2021.
Hipótesis
Se espera aprender sobre K-Ar, métodos numéricos aplicados y la generación de conocimiento. Además, también se espera la apreciación mutua en relación empresa y cliente.
Proceso de desarrollo
Aplicar el Modelo General del Proceso de Desarrollo de Software, utilizando un número selecto de artefactos del Proceso Unificado de Racional (RUP) con el Lenguaje Unificado de Moldelado (UML), tales como:
- Máquina cliente: Windows 7 y navegador Chromium. Además de consultas de otras máquinas cliente, como navegadores principales: Chromium, Firefox y Safari.
- Método K-Ar : método de datación radiométrica que se utiliza en geología y arqueología para datar rocas o cenizas volcánicas, en general, las más antiguas.
- Lenguaje de programación Python e interfaz gráfica Web: para el uso correcto de la aplicación de métodos numéricos y estadístico se basará en Python, haciendo una "mezcla" de lenguajes.
- Máquina servidor: Linux, Python (lenguaje servidor donde se procesaran los datos, tomado de la entrevista), JavaScript (React), Firestore y Google Cloud Platform.
Requerimientos
Requisitos funcionales obtenidos desde la entrevista y la carpeta compartida.
- No es un sistema con roles, por tanto, todos son usuarios en calidad de investigadores.
- Iniciar sesión con correo electrónico o Google, para llevar control de los resultados.
- Lectura de archivos desde un formulario web (múltiples archivos): blanco y real. La información deben guardarse en la base datos.
- Mostrar grafica en escala logaritmica.
- Procesar los archivos mediante el método numérico y tomando como base el código actual, después de la lectura y guardado de la información del punto anterior -automáticamente-.
- Mostrar todos los experimentos con la siguiente info:
- Nombre de la muestra
- Edad de la roca con dos cifras significativas.
- Desviación estándar con dos cifras signficativas.
- Nombre de operador.
- Fecha.
-
-
Buscar por fecha de analisis, operador, nombre de muestra.
- Acceder al histórico para posteriores consultas.
- Cambiar en caliente el codigo para convertir al formato solicitado.
- Registrar resultados en la bitácora de Google Sheets según el formato usado por CICESE.
- Lectura de archivos desde una API (múltiples archivos): blanco y real, con la finalidad de futuros proyectos sin la necesidad de usar una interfaz gráfica. La información deben guardarse en la base datos.
- Subir automáticamente los archivos cada vez que haya un análisis: cuando se guarden en la carpeta asignada.
Planificación
Cronograma
Modelado
Casos de uso
Escenarios
- Mejor caso. Los navegadores y sistemas operativos son compatibles con los estándares más modernos con buena conexión a internet.
- Caso típico. Los navegadores son modernos, pero con conexión inestable.
- Peor caso. Los navegadores(IE) y sistemas operativos (Windows XP, ...) son incompatibles con los estándares y tienen conexión inestable.
Diseño y análisis
Diagrama de arquitectura
Diseño de la interfaz
Mapa de navegación
Esquema de menús
Casos de prueba
Prueba de integración
Pruebas
T.ID | ESCENARIOS DE PRUEBA | DESCRIPCIÓN | PASO DE PRUEBA | RESULTADO ESPERADO | ESTADO |
---|---|---|---|---|---|
1 | Inicio de sesión válido por correo electrónico. | Probar la funcionalidad de inicio de sesión de la aplicación web para garantizar que un usuario registrado pueda iniciar sesión con correo y contraseña. | 1.Entre a la página (URL). 2.Navegue por la página de inicio de sesión. 3.Introduzca un correo válido. 4.Introduzca una contraseña válida. 5.Haga clic en el botón de inicio de sesión. | Se crea la sesión y el usuario se guarda en local, después se redirige a la bitácora de todos los experimentos de su organización | Aprobado |
2 | Inicio de sesión válido por una cuenta de Google. | Probar la funcionalidad de inicio de sesión de la aplicación web para garantizar que un usuario registrado con una cuenta de Google pueda iniciar sesión. | 1.Entre a la página (URL). 2.Navegue por la página de inicio de sesión. 3.Haga clic en el icono de Google. 4.Elegir una cuenta válida. | Se crea la sesión y el usuario se guarda en local, después se redirige a la bitácora de todos los experimentos de su organización. | Aprobado |
3 | Funcionalidad de cierre de sesión. | Comprobar la función de cierre de sesión. | 1.Haga clic en el botón de usuario. 2.Seleccione el botón de cierre de sesión. | El usuario debería poder cerrar la sesión y regresar la página de inicio de sesión. | Aprobado |
4 | Inicio de sesión mediante una cuenta no válida de Google. | Probar la funcionalidad de inicio de sesión de la aplicación web para garantizar que un usuario no válido pueda entrar a la bitácora. | 1.Entre a la página (URL). 2.Navegue por la página de inicio de sesión. 3.Haga clic en el icono de Google. 4.Elegir una cuenta no válida. 5.Registrarse en Arsus. | Se le redirige a la página de registro para poder tener acceso a la bitácora. | Aprobado |
Calidad de software
Siguiendo el estándar ISO 9126 identificamos los siguientes seis atributos clave de calidad:
- Funcionalidad: La interfaz web cumple con los requisitos previamente establecidos por el cliente, como lo son; inicio de sesión, lectura de archivos (blanco y real), usar el método numérico K-Ar, portabilidad y la presentación de resultados (edad de la roca y su desviación estándar).
- Confiabilidad: Como su uso es mediante Internet está disponible en múltiples dispositivos y diversos navegadores web, haciendo que la tolerancia a fallos sea muy buena. Además, usando servicios como lo es Firebase tenemos la seguridad totalmente respaldada gracias a Google que esta detras, y claro, al tener el software mediante internet podemos recuperar los archivos rápidamente y tenerlos seguros.
- Usabilidad: Al ser un software muy específico tiene la facilidad de ser sencilla su interfaz, ya que está pensada para que sea manejada por el investigador, teniendo los menús necesarios para que el operador pueda entenderlos.
- Eficiencia: Al tener una buena gestión de almacenamiento y uso de recursos con la aplicación de Firebase estamos seguros que se obtiene una optimización de tiempo realmente buena.
- Facilidad de recibir mantenimiento: El software cumple con los criterios marcados por Clean Code.
- Portabilidad: Gracias a que el software fue desarrollado desde el principio mediante vía web, no se necesita un equipo robusto para poder trabajar con la aplicación.
Mathematical model
Interface
interface Cycle {
cycle: string;
mass: string; // Grams
peak: string; // M36, M38, M40
measure: string;
intensity: string; // Volts
time: string; // Milliseconds
}
interface Experiment {
cycles: Cycle[];
analysis_date: string;
spectrum: string;
sample_id: string;
type: string;
spectrum_user_name: string;
file_name: string;
}
Definiciones.
File name. El nombre sigue la secuencia del dia del mes y identificador incremental. Por ejemplo, hoy 23 de octubre de 2021, se realizaron los siguientes experimentos: 23A, 23B. Siguiendo la convencion que el primero es el blanco y el segundo la medicion.
Cycle. Identificador incremental del ciclo.
Mass.
Peak. Isotopos de Argon: "M40" (Argon 40), "M38" (Argon 38), "M36" (Argon 36), en otro caso indefinido: "ZERO".
Measure.
Inty.
Time.
Analysis Date.
Spectrum.
Sample id.
Type.
JSON
{
"experiments": [{
"analysis_date": "2019-01-08T08:00:00.000Z",
"spectrum": "MCAT 5400 ",
"file_name": "7A",
"sample_id": "BCO AIRE ",
"type": "Sample Analysis",
"spectrum_user_name": "miguel",
"cycles": [
{
"cycle": "1",
"mass": "3.59675500E+001",
"peak": "M36",
"measure": "RawData",
"intensity": "2.18833200E-006",
"time": "8.45625000E+001"
},
{
"cycle": "2",
"mass": "3.99623800E+001",
"peak": "M40",
"measure": "Corrected",
"intensity": "9.13460400E-005",
"time": "2.13250000E+002"
}
]
}]
}
Constants
Algorithms
Note:
We use Gaussian rounding
Dictionary
sample weight [grams]
initial tracer value [mole Ar38]
tracer depletion constant
tracer number
ratio for tracer
ratio for tracer
spectrometer discrimination correction factor for two mass units.
Argon Isotops.
Datar. Determinar la fecha la edad que surge una roca.
Método K-Ar. Método de datación radiométrica que se utiliza en geología y arqueología para datar rocas o cenizas volcánicas, en general, las más antiguas.
Incertidumbre. Medida cuantitativa de la variabilidad de los datos.
Blanco. Experimento anterior a la muestra para verificar el estado del espectrómetro.
Muestra. Medicion de Spike.
Referencias
“SOFTWARE CIENTÍFICO PARA GEOCRONOLOGÍA(CLON11043)(CLON55671),” Uabc.mx, 2021. [Online]. Available: https://sifpvu.uabc.mx/accesoUABC. [Accessed: 23 Aug-2021]
“Geocronología K-Ar,” Unam.mx, 2021. [Online]. Available: https://www.geologia.unam.mx/igl/deptos/geoq/lugis/kar/. [Accessed: 23-Aug-2021]
G. B. Dalrymple and M. A. Lanphere, Potassium-argon dating: Principles, techniques and applications to geochronology. W.H. Freeman and Company, 1969.
PyKAr - Google Drive. (2011). Google.com. https://drive.google.com/drive/folders/1HjwOAXkeaS17qxFPskPLqr1qW4FMNZqr?usp=sharing
SOFTWARE CIENTÍFICO PARA GEOCRONOLOGÍA (2021-09-03 at 10:03 GMT-7. (2021). SOFTWARE CIENTÍFICO PARA GEOCRONOLOGÍA (2021-09-03 at 10:03 GMT-7). Google Drive. https://drive.google.com/file/d/1j4O\\_LxUlz-l43asC2O-k89C9guLExmlk/view?usp=sharing
¿Cómo ...
¿Cómo creo un análisis en la interfaz grafica?
Con el boton CREATE. Debe subir los archivos planos con extension .dat en pares, el primero representa el blanco, el segundo la muestra. Los cuales deben seguir el siguiente formato:
"MCAT 5400 " "Sample Analysis"
"Analysis Date:" "Tuesday, January 08, 2019"
"File Name:" "7A"
"Sample ID:" "BCO AIRE "
"Cycle" "Mass" "Peak" "Measure" "Inty." "Time"
-
miguel
7A
BCO AIRE
-
""
" 1" 3.54675500E+001 "ZERO1" "Raw Data " 1.73016000E-006 7.79375000E+001
" 1" 3.59675500E+001 "M36 " "Raw Data " 2.18833200E-006 8.45625000E+001
" 1" 3.62675500E+001 "ZERO2" "Raw Data " 1.48345200E-006 9.61875000E+001
" 1" 3.74667800E+001 "ZERO3" "Raw Data " 1.68210000E-006 1.02875000E+002
" 1" 3.79627300E+001 "M38 " "Raw Data " 1.66287600E-006 1.09500000E+002
" 1" 3.84627300E+001 "ZERO4" "Raw Data " 1.65326400E-006 1.21125000E+002
" 1" 3.94643100E+001 "ZERO5" "Raw Data " 1.67248800E-006 1.27812500E+002
" 1" 3.99623800E+001 "M40 " "Raw Data " 9.34510680E-005 1.34437500E+002
" 1" 4.04623800E+001 "ZERO6" "Raw Data " 1.63404000E-006 1.46062500E+002
" 1" 3.59675500E+001 "M36 " "Corrected " 5.81526000E-007 8.45625000E+001
" 1" 3.79627300E+001 "M38 " "Corrected " -4.80600000E-009 1.09500000E+002
" 1" 3.99623800E+001 "M40 " "Corrected " 9.17978040E-005 1.34437500E+002
""
" 2" 3.54675500E+001 "ZERO1" "Raw Data " 1.60840800E-006 1.56750000E+002
" 2" 3.59675500E+001 "M36 " "Raw Data " 2.32290000E-006 1.63375000E+002
" 2" 3.62675500E+001 "ZERO2" "Raw Data " 1.43539200E-006 1.75000000E+002
" 2" 3.74667800E+001 "ZERO3" "Raw Data " 1.55714400E-006 1.81687500E+002
" 2" 3.79627300E+001 "M38 " "Raw Data " 1.74137400E-006 1.88312500E+002
" 2" 3.84627300E+001 "ZERO4" "Raw Data " 1.55394000E-006 1.99937500E+002
" 2" 3.94643100E+001 "ZERO5" "Raw Data " 1.57636800E-006 2.06625000E+002
" 2" 3.99623800E+001 "M40 " "Raw Data " 9.30009060E-005 2.13250000E+002
" 2" 4.04623800E+001 "ZERO6" "Raw Data " 1.73336400E-006 2.24875000E+002
" 2" 3.59675500E+001 "M36 " "Corrected " 8.01000000E-007 1.63375000E+002
" 2" 3.79627300E+001 "M38 " "Corrected " 1.85832000E-007 1.88312500E+002
" 2" 3.99623800E+001 "M40 " "Corrected " 9.13460400E-005 2.13250000E+002
""
" 3" 3.54675500E+001 "ZERO1" "Raw Data " 1.59559200E-006 2.35562500E+002
" 3" 3.59675500E+001 "M36 " "Raw Data " 2.24440200E-006 2.42187500E+002
" 3" 3.62675500E+001 "ZERO2" "Raw Data " 1.67889600E-006 2.53812500E+002
" 3" 3.74667800E+001 "ZERO3" "Raw Data " 1.67248800E-006 2.60500000E+002
" 3" 3.79627300E+001 "M38 " "Raw Data " 1.73656800E-006 2.67125000E+002
" 3" 3.84627300E+001 "ZERO4" "Raw Data " 1.68850800E-006 2.78750000E+002
" 3" 3.94643100E+001 "ZERO5" "Raw Data " 1.51869600E-006 2.85437500E+002
" 3" 3.99623800E+001 "M40 " "Raw Data " 9.38147220E-005 2.92062500E+002
" 3" 4.04623800E+001 "ZERO6" "Raw Data " 1.54112400E-006 3.03687500E+002
" 3" 3.59675500E+001 "M36 " "Corrected " 6.07158000E-007 2.42187500E+002
" 3" 3.79627300E+001 "M38 " "Corrected " 5.60700000E-008 2.67125000E+002
" 3" 3.99623800E+001 "M40 " "Corrected " 9.22848120E-005 2.92062500E+002
""
" 4" 3.54675500E+001 "ZERO1" "Raw Data " 1.52510400E-006 3.14375000E+002
" 4" 3.59675500E+001 "M36 " "Raw Data " 2.11784400E-006 3.21000000E+002
" 4" 3.62675500E+001 "ZERO2" "Raw Data " 1.64365200E-006 3.32625000E+002
" 4" 3.74667800E+001 "ZERO3" "Raw Data " 1.60840800E-006 3.39312500E+002
" 4" 3.79627300E+001 "M38 " "Raw Data " 1.74778200E-006 3.45937500E+002
" 4" 3.84627300E+001 "ZERO4" "Raw Data " 1.56355200E-006 3.57562500E+002
" 4" 3.94643100E+001 "ZERO5" "Raw Data " 1.66608000E-006 3.64250000E+002
" 4" 3.99623800E+001 "M40 " "Raw Data " 9.34110180E-005 3.70875000E+002
" 4" 4.04623800E+001 "ZERO6" "Raw Data " 1.63724400E-006 3.82500000E+002
" 4" 3.59675500E+001 "M36 " "Corrected " 5.33466000E-007 3.21000000E+002
" 4" 3.79627300E+001 "M38 " "Corrected " 1.61802000E-007 3.45937500E+002
" 4" 3.99623800E+001 "M40 " "Corrected " 9.17593560E-005 3.70875000E+002
""
" 5" 3.54675500E+001 "ZERO1" "Raw Data " 1.65646800E-006 3.93187500E+002
" 5" 3.59675500E+001 "M36 " "Raw Data " 2.17551600E-006 3.99812500E+002
" 5" 3.62675500E+001 "ZERO2" "Raw Data " 1.46743200E-006 4.11437500E+002
" 5" 3.74667800E+001 "ZERO3" "Raw Data " 1.62763200E-006 4.18125000E+002
" 5" 3.79627300E+001 "M38 " "Raw Data " 1.67248800E-006 4.24750000E+002
" 5" 3.84627300E+001 "ZERO4" "Raw Data " 1.65006000E-006 4.36375000E+002
" 5" 3.94643100E+001 "ZERO5" "Raw Data " 1.74618000E-006 4.43062500E+002
" 5" 3.99623800E+001 "M40 " "Raw Data " 9.38868120E-005 4.49687500E+002
" 5" 4.04623800E+001 "ZERO6" "Raw Data " 1.59879600E-006 4.61312500E+002
" 5" 3.59675500E+001 "M36 " "Corrected " 6.13566000E-007 3.99812500E+002
" 5" 3.79627300E+001 "M38 " "Corrected " 3.36420000E-008 4.24750000E+002
" 5" 3.99623800E+001 "M40 " "Corrected " 9.22143240E-005 4.49687500E+002
""
" 6" 3.54675500E+001 "ZERO1" "Raw Data " 1.68210000E-006 4.72000000E+002
" 6" 3.59675500E+001 "M36 " "Raw Data " 2.22998400E-006 4.78625000E+002
" 6" 3.62675500E+001 "ZERO2" "Raw Data " 1.69491600E-006 4.90250000E+002
" 6" 3.74667800E+001 "ZERO3" "Raw Data " 1.77822000E-006 4.96937500E+002
" 6" 3.79627300E+001 "M38 " "Raw Data " 1.65646800E-006 5.03562500E+002
" 6" 3.84627300E+001 "ZERO4" "Raw Data " 1.55394000E-006 5.15187500E+002
" 6" 3.94643100E+001 "ZERO5" "Raw Data " 1.72695600E-006 5.21875000E+002
" 6" 3.99623800E+001 "M40 " "Raw Data " 9.39476880E-005 5.28500000E+002
" 6" 4.04623800E+001 "ZERO6" "Raw Data " 1.74297600E-006 5.40125000E+002
" 6" 3.59675500E+001 "M36 " "Corrected " 5.41476000E-007 4.78625000E+002
" 6" 3.79627300E+001 "M38 " "Corrected " -9.61200000E-009 5.03562500E+002
" 6" 3.99623800E+001 "M40 " "Corrected " 9.22127220E-005 5.28500000E+002
""
" 7" 3.54675500E+001 "ZERO1" "Raw Data " 1.66287600E-006 5.50812500E+002
" 7" 3.59675500E+001 "M36 " "Raw Data " 2.14187400E-006 5.57437500E+002
" 7" 3.62675500E+001 "ZERO2" "Raw Data " 1.56355200E-006 5.69062500E+002
" 7" 3.74667800E+001 "ZERO3" "Raw Data " 1.71093600E-006 5.75750000E+002
" 7" 3.79627300E+001 "M38 " "Raw Data " 1.72855800E-006 5.82375000E+002
" 7" 3.84627300E+001 "ZERO4" "Raw Data " 1.74297600E-006 5.94000000E+002
" 7" 3.94643100E+001 "ZERO5" "Raw Data " 1.52830800E-006 6.00687500E+002
" 7" 3.99623800E+001 "M40 " "Raw Data " 9.49537440E-005 6.07312500E+002
" 7" 4.04623800E+001 "ZERO6" "Raw Data " 1.60840800E-006 6.18937500E+002
" 7" 3.59675500E+001 "M36 " "Corrected " 5.28660000E-007 5.57437500E+002
" 7" 3.79627300E+001 "M38 " "Corrected " 1.60200000E-009 5.82375000E+002
" 7" 3.99623800E+001 "M40 " "Corrected " 9.33853860E-005 6.07312500E+002
""
" 8" 3.54675500E+001 "ZERO1" "Raw Data " 1.56675600E-006 6.29625000E+002
" 8" 3.59675500E+001 "M36 " "Raw Data " 2.25241200E-006 6.36250000E+002
" 8" 3.62675500E+001 "ZERO2" "Raw Data " 1.64685600E-006 6.47875000E+002
" 8" 3.74667800E+001 "ZERO3" "Raw Data " 1.56355200E-006 6.54562500E+002
" 8" 3.79627300E+001 "M38 " "Raw Data " 1.77982200E-006 6.61187500E+002
" 8" 3.84627300E+001 "ZERO4" "Raw Data " 1.70452800E-006 6.72812500E+002
" 8" 3.94643100E+001 "ZERO5" "Raw Data " 1.74297600E-006 6.79500000E+002
" 8" 3.99623800E+001 "M40 " "Raw Data " 9.49329180E-005 6.86125000E+002
" 8" 4.04623800E+001 "ZERO6" "Raw Data " 1.65967200E-006 6.97750000E+002
" 8" 3.59675500E+001 "M36 " "Corrected " 6.45606000E-007 6.36250000E+002
" 8" 3.79627300E+001 "M38 " "Corrected " 1.45782000E-007 6.61187500E+002
" 8" 3.99623800E+001 "M40 " "Corrected " 9.32315940E-005 6.86125000E+002
""
" 9" 3.54675500E+001 "ZERO1" "Raw Data " 1.67248800E-006 7.08437500E+002
" 9" 3.59675500E+001 "M36 " "Raw Data " 2.31008400E-006 7.15062500E+002
" 9" 3.62675500E+001 "ZERO2" "Raw Data " 1.62122400E-006 7.26687500E+002
" 9" 3.74667800E+001 "ZERO3" "Raw Data " 1.49626800E-006 7.33375000E+002
" 9" 3.79627300E+001 "M38 " "Raw Data " 1.62763200E-006 7.40000000E+002
" 9" 3.84627300E+001 "ZERO4" "Raw Data " 1.62763200E-006 7.51625000E+002
" 9" 3.94643100E+001 "ZERO5" "Raw Data " 1.54112400E-006 7.58312500E+002
" 9" 3.99623800E+001 "M40 " "Raw Data " 9.49905900E-005 7.64937500E+002
" 9" 4.04623800E+001 "ZERO6" "Raw Data " 1.64044800E-006 7.76562500E+002
" 9" 3.59675500E+001 "M36 " "Corrected " 6.63228000E-007 7.15062500E+002
" 9" 3.79627300E+001 "M38 " "Corrected " 6.56820000E-008 7.40000000E+002
" 9" 3.99623800E+001 "M40 " "Corrected " 9.33998040E-005 7.64937500E+002
""
" 10" 3.54675500E+001 "ZERO1" "Raw Data " 1.55073600E-006 7.87250000E+002
" 10" 3.59675500E+001 "M36 " "Raw Data " 2.21556600E-006 7.93875000E+002
" 10" 3.62675500E+001 "ZERO2" "Raw Data " 1.56996000E-006 8.05500000E+002
" 10" 3.74667800E+001 "ZERO3" "Raw Data " 1.73016000E-006 8.12187500E+002
" 10" 3.79627300E+001 "M38 " "Raw Data " 1.71894600E-006 8.18812500E+002
" 10" 3.84627300E+001 "ZERO4" "Raw Data " 1.65006000E-006 8.30437500E+002
" 10" 3.94643100E+001 "ZERO5" "Raw Data " 1.60840800E-006 8.37125000E+002
" 10" 3.99623800E+001 "M40 " "Raw Data " 9.51187500E-005 8.43750000E+002
" 10" 4.04623800E+001 "ZERO6" "Raw Data " 1.57636800E-006 8.55375000E+002
" 10" 3.59675500E+001 "M36 " "Corrected " 6.55218000E-007 7.93875000E+002
" 10" 3.79627300E+001 "M38 " "Corrected " 2.88360000E-008 8.18812500E+002
" 10" 3.99623800E+001 "M40 " "Corrected " 9.35263620E-005 8.43750000E+002
""
" 11" 3.54675500E+001 "ZERO1" "Raw Data " 1.74938400E-006 8.66062500E+002
" 11" 3.59675500E+001 "M36 " "Raw Data " 2.21716800E-006 8.72687500E+002
" 11" 3.62675500E+001 "ZERO2" "Raw Data " 1.55073600E-006 8.84312500E+002
" 11" 3.74667800E+001 "ZERO3" "Raw Data " 1.68850800E-006 8.91000000E+002
" 11" 3.79627300E+001 "M38 " "Raw Data " 1.71894600E-006 8.97625000E+002
" 11" 3.84627300E+001 "ZERO4" "Raw Data " 1.57636800E-006 9.09250000E+002
" 11" 3.94643100E+001 "ZERO5" "Raw Data " 1.61802000E-006 9.15937500E+002
" 11" 3.99623800E+001 "M40 " "Raw Data " 9.55544940E-005 9.22562500E+002
" 11" 4.04623800E+001 "ZERO6" "Raw Data " 1.50908400E-006 9.34187500E+002
" 11" 3.59675500E+001 "M36 " "Corrected " 5.67108000E-007 8.72687500E+002
" 11" 3.79627300E+001 "M38 " "Corrected " 8.65080000E-008 8.97625000E+002
" 11" 3.99623800E+001 "M40 " "Corrected " 9.39909420E-005 9.22562500E+002
""
" 12" 3.54675500E+001 "ZERO1" "Raw Data " 1.50908400E-006 9.44875000E+002
" 12" 3.59675500E+001 "M36 " "Raw Data " 2.17711800E-006 9.51500000E+002
" 12" 3.62675500E+001 "ZERO2" "Raw Data " 1.47384000E-006 9.63125000E+002
" 12" 3.74667800E+001 "ZERO3" "Raw Data " 1.61802000E-006 9.69812500E+002
" 12" 3.79627300E+001 "M38 " "Raw Data " 1.70292600E-006 9.76437500E+002
" 12" 3.84627300E+001 "ZERO4" "Raw Data " 1.62122400E-006 9.88062500E+002
" 12" 3.94643100E+001 "ZERO5" "Raw Data " 1.68530400E-006 9.94750000E+002
" 12" 3.99623800E+001 "M40 " "Raw Data " 9.51427800E-005 1.00137500E+003
" 12" 4.04623800E+001 "ZERO6" "Raw Data " 1.65967200E-006 1.01300000E+003
" 12" 3.59675500E+001 "M36 " "Corrected " 6.85656000E-007 9.51500000E+002
" 12" 3.79627300E+001 "M38 " "Corrected " 8.33040000E-008 9.76437500E+002
" 12" 3.99623800E+001 "M40 " "Corrected " 9.34702920E-005 1.00137500E+003
""
" 13" 3.54675500E+001 "ZERO1" "Raw Data " 1.65326400E-006 1.02368750E+003
" 13" 3.59675500E+001 "M36 " "Raw Data " 2.18993400E-006 1.03031250E+003
" 13" 3.62675500E+001 "ZERO2" "Raw Data " 1.45141200E-006 1.04193750E+003
" 13" 3.74667800E+001 "ZERO3" "Raw Data " 1.67569200E-006 1.04862500E+003
" 13" 3.79627300E+001 "M38 " "Raw Data " 1.69812000E-006 1.05525000E+003
" 13" 3.84627300E+001 "ZERO4" "Raw Data " 1.64685600E-006 1.06687500E+003
" 13" 3.94643100E+001 "ZERO5" "Raw Data " 1.54112400E-006 1.07356250E+003
" 13" 3.99623800E+001 "M40 " "Raw Data " 9.61808760E-005 1.08018750E+003
" 13" 4.04623800E+001 "ZERO6" "Raw Data " 1.62763200E-006 1.09181250E+003
" 13" 3.59675500E+001 "M36 " "Corrected " 6.37596000E-007 1.03031250E+003
" 13" 3.79627300E+001 "M38 " "Corrected " 3.68460000E-008 1.05525000E+003
" 13" 3.99623800E+001 "M40 " "Corrected " 9.45964980E-005 1.08018750E+003
""
" 14" 3.54675500E+001 "ZERO1" "Raw Data " 1.59879600E-006 1.10250000E+003
" 14" 3.59675500E+001 "M36 " "Raw Data " 2.14347600E-006 1.10912500E+003
" 14" 3.62675500E+001 "ZERO2" "Raw Data " 1.56996000E-006 1.12075000E+003
" 14" 3.74667800E+001 "ZERO3" "Raw Data " 1.60520400E-006 1.12743750E+003
" 14" 3.79627300E+001 "M38 " "Raw Data " 1.58117400E-006 1.13406250E+003
" 14" 3.84627300E+001 "ZERO4" "Raw Data " 1.62122400E-006 1.14568750E+003
" 14" 3.94643100E+001 "ZERO5" "Raw Data " 1.65646800E-006 1.15237500E+003
" 14" 3.99623800E+001 "M40 " "Raw Data " 9.67367700E-005 1.15900000E+003
" 14" 4.04623800E+001 "ZERO6" "Raw Data " 1.67569200E-006 1.17062500E+003
" 14" 3.59675500E+001 "M36 " "Corrected " 5.59098000E-007 1.10912500E+003
" 14" 3.79627300E+001 "M38 " "Corrected " -3.20400000E-008 1.13406250E+003
" 14" 3.99623800E+001 "M40 " "Corrected " 9.50706900E-005 1.15900000E+003
""
" 15" 3.54675500E+001 "ZERO1" "Raw Data " 1.53471600E-006 1.18131250E+003
" 15" 3.59675500E+001 "M36 " "Raw Data " 2.28445200E-006 1.18793750E+003
" 15" 3.62675500E+001 "ZERO2" "Raw Data " 1.57957200E-006 1.19956250E+003
" 15" 3.74667800E+001 "ZERO3" "Raw Data " 1.56675600E-006 1.20625000E+003
" 15" 3.79627300E+001 "M38 " "Raw Data " 1.60039800E-006 1.21287500E+003
" 15" 3.84627300E+001 "ZERO4" "Raw Data " 1.55714400E-006 1.22450000E+003
" 15" 3.94643100E+001 "ZERO5" "Raw Data " 1.55714400E-006 1.23118750E+003
" 15" 3.99623800E+001 "M40 " "Raw Data " 9.67463820E-005 1.23781250E+003
" 15" 4.04623800E+001 "ZERO6" "Raw Data " 1.65646800E-006 1.24943750E+003
" 15" 3.59675500E+001 "M36 " "Corrected " 7.27308000E-007 1.18793750E+003
" 15" 3.79627300E+001 "M38 " "Corrected " 3.84480000E-008 1.21287500E+003
" 15" 3.99623800E+001 "M40 " "Corrected " 9.51395760E-005 1.23781250E+003
""
" 16" 3.54675500E+001 "ZERO1" "Raw Data " 1.62442800E-006 1.26012500E+003
" 16" 3.59675500E+001 "M36 " "Raw Data " 2.15469000E-006 1.26675000E+003
" 16" 3.62675500E+001 "ZERO2" "Raw Data " 1.50908400E-006 1.27837500E+003
" 16" 3.74667800E+001 "ZERO3" "Raw Data " 1.51228800E-006 1.28506250E+003
" 16" 3.79627300E+001 "M38 " "Raw Data " 1.67248800E-006 1.29168750E+003
" 16" 3.84627300E+001 "ZERO4" "Raw Data " 1.42257600E-006 1.30331250E+003
" 16" 3.94643100E+001 "ZERO5" "Raw Data " 1.52510400E-006 1.31000000E+003
" 16" 3.99623800E+001 "M40 " "Raw Data " 9.65797740E-005 1.31662500E+003
" 16" 4.04623800E+001 "ZERO6" "Raw Data " 1.59238800E-006 1.32825000E+003
" 16" 3.59675500E+001 "M36 " "Corrected " 5.87934000E-007 1.26675000E+003
" 16" 3.79627300E+001 "M38 " "Corrected " 2.05056000E-007 1.29168750E+003
" 16" 3.99623800E+001 "M40 " "Corrected " 9.50210280E-005 1.31662500E+003
""
Lo cual convierte a un JSON (el cual se espera tambien en la API):
{
"tracer_depletion_constant": "",
"experiments": [{
"analysis_date": "1",
"spectrum": "",
"sample_id": "",
"type": "",
"spectrum_user_name": "",
"file_name": "",
"cycles": [{
"cycle": "1",
"mass": "3.54675500E+001",
"peak": "ZERO1",
"measure": "RawData",
"inty": "1.73016000E-006",
"time": "7.79375000E+001"
}, {
"cycle": "1",
"mass": "3.54675500E+001",
"peak": "ZERO1",
"measure": "Corrected",
"inty": "1.73016000E-006",
"time": "7.79375000E+001"
}]
},
{
"analysis_date": "1",
"spectrum": "",
"sample_id": "",
"type": "",
"spectrum_user_name": "",
"file_name": "",
"cycles": [{
"cycle": "1",
"mass": "3.54675500E+001",
"peak": "ZERO1",
"measure": "RawData",
"inty": "1.73016000E-006",
"time": "7.79375000E+001"
}, {
"cycle": "1",
"mass": "3.54675500E+001",
"peak": "ZERO1",
"measure": "Corrected",
"inty": "1.73016000E-006",
"time": "7.79375000E+001"
}, ...]
}
]
}