🌎

CICESE PyK-Ar - A free software tool for the K-Ar dating in the cloud

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).

https://pykar.sanchezcarlosjr.com/
GitHub - sanchezcarlosjr/PyK-Ar: Potassium-argon dating
Potassium-argon dating. Contribute to sanchezcarlosjr/PyK-Ar development by creating an account on GitHub.
https://github.com/sanchezcarlosjr/PyK-Ar

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

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:

Requerimientos

Requisitos funcionales obtenidos desde la entrevista y la carpeta compartida.

Planificación

Cronograma

Modelado

Casos de uso

Escenarios

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.IDESCENARIOS DE PRUEBADESCRIPCIÓNPASO DE PRUEBARESULTADO ESPERADOESTADO
1Inicio 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ónAprobado
2Inicio 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
3Funcionalidad 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
4Inicio 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:

Mathematical model

💡
The numbers are represented in E notation.

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;
}

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

T0,D,(Ar40/Ar36)A=295.5(Ar40/Ar38)A=1581(Ar36/Ar38)A=5.35grams K/grams K2O=0.8301(atoms K)(gramsOfK)=1.19E4(grams K)/(moleK)=39.10(scale 40)(scale 38)(scale 38)(scale 36)XT_0,D,\\ (Ar^{40}/Ar^{36})_A=295.5\\ (Ar^{40}/Ar^{38})_A=1581\\ (Ar^{36}/Ar^{38})_A=5.35\\ \text{grams K}/\text{grams }K_2O=0.8301\\ \text{(atoms K})(gramsOfK)=1.19E-4\\ \text{(grams K)}/(moleK)=39.10\\ \dfrac{(\text{scale 40})}{(\text{scale 38})}\\ \dfrac{(\text{scale 38})}{(\text{scale 36})}\\ X

Algorithms

calculateGramsOfK(%K2O,W):return(%K2O)(grams K/grams K2O)(W)100calculateGramsOfK(\%K_2O,W):\\ return \text{} \dfrac{(\%K_2O)(\text{grams K}/\text{grams }K_2O)(W)}{100}
calculateMolesOfK40(gramsOfK):return K40=(atoms K40/atoms K)(gramsOfK)(grams K/mole K)calculateMolesOfK^{40}(gramsOfK):\\ return \text{ }K^{40}=\dfrac{(\text{atoms }K^{40}/\text{atoms K})(gramsOfK)}{(\text{grams K}/\text{mole K})}
calculateMolesAr38InTracer(T0,X,δ):return ArT38=T0eδXcalculateMolesAr^{38}InTracer(T_0,X,\delta):\\ return\text{ } Ar^{38}_T=T_0e^{-\delta X}
Measurement.init():δ,W,(Ar40/Ar38)T,(Ar36/Ar38)Tsample.filterMeasureByCorrected()blank.filterMeasureByCorrected()μBlank36=Blank.CiclosIntensity36μBlank38=Blank.CiclosIntensity38μBlank40=Blank.Intensity40Ar36=Sample36iμBlank36Ar38=Sample38iμBlank38Ar40=Sample40iμBlank40Measurement.init():\\ \delta,W,(Ar^{40}/Ar^{38})_T,(Ar^{36}/Ar^{38})_T\\ sample.filterMeasureByCorrected()\\ blank.filterMeasureByCorrected()\\ \mu_{Blank36}=Blank.\overline{CiclosIntensity36}\\ \mu_{Blank38}=Blank.\overline{CiclosIntensity38}\\ \mu_{Blank40}=Blank.\overline{Intensity40}\\ Ar_{}^{36}=\overline{Sample_{36i}-\mu_{Blank36}}\\ Ar_{}^{38}=\overline{Sample_{38i}-\mu_{Blank38}}\\ Ar_{}^{40}=\overline{Sample_{40i}-\mu_{Blank40}}\\
calculate(Ar40/Ar38)M():(Ar40/Ar38)M=(Ar40/Ar38)D(scale 40)(scale 38)return (Ar40/Ar38)Mcalculate(Ar^{40}_{}/Ar^{38})_M():\\ (Ar^{40}_{}/Ar^{38})_M=(Ar^{40}/Ar^{38})D\dfrac{(\text{scale 40})}{(\text{scale 38})}\\ return \text{ }(Ar^{40}_{}/Ar^{38})_M
calculate(Ar38/Ar36)M():(Ar38/Ar36)M=(Ar38/Ar36)D(scale 38)(scale 36)return (Ar40/Ar38)Mcalculate(Ar^{38}_{}/Ar^{36})_M():\\ (Ar^{38}_{}/Ar^{36})_M=(Ar^{38}/Ar^{36})D\dfrac{(\text{scale 38})}{(\text{scale 36})}\\ return \text{ }(Ar^{40}_{}/Ar^{38})_M
calculateArrad40():Arrad40=ArT38{(Ar40/Ar38)M(Ar40/Ar38)T[1(Ar38/Ar36)M(Ar36/Ar38)T(Ar38/Ar36)M(Ar36/Ar38)A1][(Ar40/Ar38)A(Ar40/Ar38)M]}calculateAr_{rad}^{40}():\\ Ar_{rad}^{40}=Ar_{T}^{38}\{ (Ar^{40}/Ar^{38})_M-(Ar^{40}/Ar^{38})_T-[\dfrac{1-(Ar^{38}/Ar^{36})_M(Ar^{36}/Ar^{38})_T}{(Ar^{38}/Ar^{36})_M(Ar^{36}/Ar^{38})_A-1}][(Ar^{40}/Ar^{38})_A-(Ar^{40}/Ar^{38})_M] \}\\
measureAge(Arrad40,K40):t=1.885×109loge{9.068Arrad40K40+1}return t \\measureAge(Ar^{40}_{rad},K^{40}):\\ t=1.885\times 10^9log_e\{9.068\dfrac{Ar_{rad}^{40}}{K^{40}}+1\}\\ \text{return } t
measureError():measureError():\\

Note:

We use Gaussian rounding

Dictionary

WW sample weight [grams]

T0T_0 initial tracer value [mole Ar38]

δ\delta tracer depletion constant

XX tracer number

(Ar40/Ar38)T(Ar^{40}/Ar^{38})_T Ar40/Ar38Ar^{40}/Ar^{38} ratio for tracer

(Ar36/Ar38)T(Ar^{36}/Ar^{38})_T Ar36/Ar38Ar^{36}/Ar^{38} ratio for tracer

DD spectrometer discrimination correction factor for two mass units.

Ar36,Ar38,Ar40.Ar_{36},Ar_{38},Ar_{40}. 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"
        }, ...]
    }
]
}

¿Cómo busco?

¿Cómo actualizo el código?

¿Cómo realizar una petición al servidor sin interfaz grafica?

Mi sistema ya no usa ese formato de archivo .dat ¿Cómo cambiamos de formato?

¿Cómo cambiar el idioma?

¿Cómo cambiar a modo oscuro?

¿Cómo compartir mis resultados?