Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error en calibración con echopype #6

Open
emiliom opened this issue Mar 11, 2023 · 4 comments
Open

Error en calibración con echopype #6

emiliom opened this issue Mar 11, 2023 · 4 comments

Comments

@emiliom
Copy link
Member

emiliom commented Mar 11, 2023

@hvillalo me tomo la libertad de contestarte a tu mensaje de email aquí en github. Así no tendremos el problema de mi correo electrónico, y además otros podrán ver la respuesta directamente. Primero copio tu mensaje y pregunta:

No nos dio tiempo de incorporar tu código a lo que se presentó el día final, pero estoy tratando de hacerlo ahora y me da un error en la parte de calibración. De hecho, en nuestro script nunca pudimos agregar los parámetros ambientales por lo mismo. Esto ya lo probé tanto en mi PC de la oficina como en mi laptop:

Este es el mensaje cuando se incluye env_params (copia de la terminal):

Sv_ds = ep.calibrate.compute_Sv(
       ed, 
       waveform_mode = "CW", 
       encode_mode = "complex",
       env_params = {
           'temperature': 26.15, # en Centígrados
           'salinity': 34.96,    # en PSU
           'pressure': 50,       # en dbar (tomado del grupo Environment)
       },
       # cal_params=cal_params
)
AttributeError: 'float' object has no attribute 'coords'

Y si lo quitó funciona sin problema:

Sv_ds = ep.calibrate.compute_Sv(
       ed, 
       waveform_mode = "CW", 
       encode_mode = "complex",
)

Que podrá ser?

@emiliom
Copy link
Member Author

emiliom commented Mar 11, 2023

He probado esto en mi computadora. Tengo malas y buenas noticias. La mala, es que en el JupyterHub por cuestiones digamos aleatorias de dependecias de librerías Python, la versión de echopype que fue instalada es 0.6.2, que es la anterior a la más reciente. Con esa versión, el código en mi notebook funciona bien. En cambio, con la versión actual, 0.6.3, obtengo el error que reportaste. Podrías confirmar la versión que tenés instalada? Eso lo podés hacer así: print(ep.__version__), asumiendo que importaste echopype usando import echopype as ep. Asumo que es 0.6.3.

La buena noticia es que estamos a punto de lanzar una nueva versión, 0.6.4. Para el martes a más tardar. En esta versión, mi notebook corre sin problemas! También resolvemos el problema mencionado en el notebook, el que obligó o pasar parámetros de calibración de una manera mucho más complicada.

@hvillalo
Copy link
Contributor

Gracias! Efectivamente, es la v0.6.3. Esperaré el martes por la próxima.

@hvillalo
Copy link
Contributor

hvillalo commented Mar 14, 2023

Hola @emiliom, después de algunas dificultades ya instalé la v0.6.4 de echopype y todo parece funcionar mejor. Así modifiqué el código que nos compartiste:

def convertir_y_calibrar(raw_ruta):
    # convertir
    ed = ep.open_raw(raw_ruta, sonar_model='EK80')
    # calibrar
    Sv_ds = ep.calibrate.compute_Sv(
        ed, 
        waveform_mode='CW',
        encode_mode='complex',
        env_params = {
            'temperature': 26.15, # en Centígrados
            'salinity': 34.96,    # en PSU
            'pressure': 50,       # en dbar (tomado del grupo Environment)
        },
        # ver: https://echopype.readthedocs.io/en/stable/process.html
        cal_params = {
          'sa_correction': [0.02, 0],
          'gain_correction': [18.36, 18.7],
          'equivalent_beam_angle': [-12.5, -12.6]
        }
    )
    return Sv_ds 

Convierte y guarda los archivos, aunque me da un warning (por archivo):

C:\Users\Usuario\AppData\Local\R-MINI1\envs\R-RETI1\lib\site-packages\xarray\core\computation.py:727: RuntimeWarning: invalid value encountered in log10 result_data = func(*input_data)

Crees que sea algo a revisar o se podrá ignorar?

Gracias de nuevo!

@emiliom
Copy link
Member Author

emiliom commented Mar 15, 2023

Hola @hvillalo . Te me adelantaste un poco. Efectivamente, usaste bien los parámetros de compute_Sv.

El warning es algo que podés ignorar. En efecto, hoy mismo hemos estado trabajando en eso, y ya identificamos la fuente de esos warnings. Para abordar esto mas un bug que se nos coló en el release, pensamos sacar otro release rápidamente, mañana. 0.6.4.1

Me alegra que te haya funcionado.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants