Anuncio

Colapsar
No hay ningún anuncio todavía.

¿Alguien sabe utilizar CORSIKA?

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Avanzado ¿Alguien sabe utilizar CORSIKA?

    ¡Buenos días!

    Resulta que llevo unas semanas intentando aclararme con este programa. Para quien no lo conozca, CORSIKA es un simulador de cascadas atmosféricas.

    El problema viene cuando quiero leer el output. Éste se encuentra en un archivo binario, que debe ser convertido a un lenguaje "legible". Lo que yo necesito es saber todas las partículas que llegan al suelo, con sus posiciones (x,y) y sus momentos (px,py,pz).

    Había probado a utilizar el programa que se encuentra en Corsika-77100/src/utils/coast/CorsikaRead, pero ahí sólo puedo convertirlo en un ACII que tenga las posiciones (y no los momentos!) o convertirlo en un archivo para ROOT.

    He visto que el programa corsikaread.f que se encuentra en corsika-77100/src/utils me da todo lo que quiero, el problema es que no sé interpretar la primera columna (el id de la partícula), ya que no son números enteros (los id de las partículas suelen ser 1, 2, 3, 4...).

    Aquí dejo un ejemplo del output. Para este caso, he usado el programa corsikaread_thin.f, y el output se ha guardado en un archivo fort.8:

    1.11111E+07 1.01000E+02 2.00115E+05 7.71000E+00 1.00000E+00 1.10000E+04 0.00000E+00 0.00000E+00
    0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -2.70000E+00
    1.00000E+06 1.00000E+06 1.00000E+00 1.00000E+00 1.00000E+01 1.00000E+01 1.00000E+01 1.00000E+01
    6.37132E+08 6.00000E+05 2.00000E+06 0.00000E+00 0.00000E+00 4.58060E-02 5.73090E-01 5.28304E-02
    2.50000E+00 2.07000E+00 8.20000E+00 1.00000E-01 0.00000E+00 0.00000E+00 1.00002E+00 9.67266E-03
    1.00000E+00 5.75171E-04 0.00000E+00 0.00000E+00 3.77000E+01 1.53287E-04 9.38642E+00 2.00000E-03
    2.99792E+10 1.00000E+00 5.40302E-01 1.57000E+00 7.96327E-04 2.10000E-02 0.00000E+00 0.00000E+00
    0.00000E+00 2.00000E+01 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
    0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 2.61910E-01 8.99834E-01 0.00000E+00 1.03899E+00
    2.71383E-01 1.37036E+02 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
    0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00

    (esto es sólo una pequeña parte del output).

    Mi duda es, ¿cómo interpreto la primera columna? ¿Cómo sé a qué partícula se refiere el 6.37132E+08, por ejemplo?
    ¿Hay un modo mejor de conseguir la información que quiero?

  • #2
    Hola MrM, poco te puedo aportar, porque no conozco el software, pero no creo que la primera columna se trate de un índice, ya que tienes el valor 0.00000E+00 repetido 5 veces sobre la primera columna en la porción de datos que posteas , si fuera un índice, podría tratarse de cualquier valor , pero no repetido.

    Comentario


    • #3
      ¡Muchas gracias por tu aportación! Investigaré por ahí a ver si saco algo
      ¡Un saludo!

      Comentario


      • #4
        Hola MrM,

        ¿le has echado un ojo a la guía de usuario del simulador? No tengo ni idea para este caso, pero este tipo de cosas suelen venir en documentos del estilo.

        Un saludo
        Las bolsas de patatas fritas de hoy en día son como los átomos, el 99'99% es espacio vacío.

        Comentario


        • #5
          Escrito por Mossy Ver mensaje
          Hola MrM,

          ¿le has echado un ojo a la guía de usuario del simulador? No tengo ni idea para este caso, pero este tipo de cosas suelen venir en documentos del estilo.

          Un saludo
          ¡Hola!

          En primer lugar, gracias por tu aportación.

          He mirado la guía de usuario de pe a pa, pero no encuentro nada sobre esto La guía en sí está bastante bien detallada, pero se centra en explicar cómo funciona el programa. Hay un apartado explicando el output, pero se refiere al fichero binario que produce el programa, no a los datos que quedan después de aplicar el programa que suministran para leerlos...

          Sí es cierto que en la guía he visto que, en la descripción del output, aparece lo siguiente:

          "particle description encoded as: part. id*1000 +hadr. generation*10 +no. of obs. level"

          Esto puede dar una pista sobre qué es la primera columna de los datos que pasé antes, pero sigo sin saber cómo ver la generación hadrónica, así que sigue sin servirme...

          Comentario


          • #6
            Hola, yo he tenido problemas (muchos) al utilizar coast para leer los archivos de salida de corsika en formato root. ¿Alguien ha tendio suerte con eso?

            Comentario


            • #7
              Hola Mr.M, esperando que estes bien, te cuento que estoy aprendiendo a utilizar CORSIKA y estoy atascado en la lectura de los outputs. Investigando llegué hasta acá y quisiera saber como solucionaste el problema que tenias, pensando que me enfrentaré a lo mismo. He intentado utilizar algunos programas del CORSIKA mismo como las utilidades COAST y algunos entornos que funcionan con PYTHON como CorsikaReader y CORSIKAIO pero no he tenido exito en leer los archivos DAT y DAT.long.
              Agradecería que me echaras una mano a ver como solucionaste esta etapa.
              slds!

              Comentario

              Contenido relacionado

              Colapsar

              Trabajando...
              X