Bayesian optimization approach for tuning SeisComP3's scautopick and scanloc modules.
Ajuste automático de parámetros de los módulos de SeisComP3 scautopick y scanloc usando optimización bayesiana.
- SeisComP3
- Módulo scanloc de SeisComP3
- Ubuntu 18.04 LTS o superior
-
Instale los pre requisitos de python3.8:
$ sudo apt update $ sudo apt install software-properties-common
-
Instale python3.8:
$ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt update $ sudo apt install python3.8 python3.8-dev python3.8-venv python3.8-tk
-
Descargue el repositorio de sc3-autotuner:
$ git clone https://github.com/dsiervo/sc3-autotuner $ cd sc3-autotuner
-
Cree y active una instancia de python3.8:
$ python3.8 -m venv venv $ source venv/bin/activate
-
Actualice pip:
(venv) $ pip install --upgrade pip
-
Instale las dependencias:
(venv) $ pip install -r requirements.txt
-
Agregue el pluging del pick S-AIC al global.cfg de su instalación de SeisComP3.
Abra el archivo seicomp3/etc/global.cfg y agregue saic al final de la lista de plugins:
plugins = hypo71,mlr,saic
-
Configure el S-AIC como picker secundario del scautopick:
Abra el archivo seicomp3/etc/scautopick.cfg (si no existe creelo en esa ruta) y agregue la siguiente línea (o reemplace la existente):
spicker = S-AIC
-
Desactive el ambiente de python3.8 y actualice la configuración de SeisComP3:
(venv) $ deactivate $ seiscomp update-config
-
Agregue sc3-autotuner al path en el archivo ~/.bashrc:
$ echo 'export PATH=<ruta a sc3-autotuner>:$PATH' >> ~/.bashrc $ source ~/.bashrc
-
Cambie el path de la ruta a la carpeta sc3-autotuner en la primera linea del script sc3autotuner.py
El programa lee los parámetros desde el archivo sc3-autotuner.inp que se encuentran en el directorio de ejecución.
-
Copie en su directorio de trabajo el archivo sc3-autotuner.inp.
-
Modifique el archivo sc3-autotuner.inp de acuerdo a sus preferencias.
-
Ejecute el programa:
$ sc3autotuner.py
Puede introducir comentarios al sc3-autotuner.inp usando el caracter # al inicio de la línea.
A continuación se explicará cada uno de estos parámetros:
- tune_mode
: Controla si se ajusta el picker (picker
) o se ajusta el asociador (asoc
). Por el momento sólo se acepta el valor picker
.
- debug
: Si es True
muestra información de depuración y mostrará plots de los resultados.
- deb_url
: Dirección IP del servidor SQL para la consulta de picks y eventos.
- ti
: Tiempo inicial para la consulta de picks y eventos. Debe ser una fecha en formato YYYY-MM-DD HH:MM:SS
.
- tf
: Tiempo final para la consulta de picks y eventos. Debe ser una fecha en formato YYYY-MM-DD HH:MM:SS
.
- inv_xml
: Ruta al archivo XML de con la información del inventory. Puede usar el módulo de SeisComP3 scxmldump para generar el archivo.
- stations
: Lista de estaciones a usar separadas por coma en formato: <network>.<station>.<location>.<channel sin componente>
. Por ejemplo:
stations = IU.ANMO.10.BH, CM.BAR2.00.HH, CM.DBB.20.EH
- fdsn_ip
: Dirección IP y puerto del servidor FDSN para la descarga de las formas de onda (Usualmente en SeisComP3 la IP del servidor FDSN es la misma que la IP del servidor SQL mas el puerto 8091).
- max_picks
: Número máximo de picks manuales por estación a usar en el ajuste.
- n_trials
: Número de intentos que hará el programa para ajustar el picker de cada fase y de cada estación.
-
Carpeta
output_station_files
: Los archivos contenidos en esta carpeta contienen los resultados del ajuste de cada estación en el formato apropiado para su incorporación en la configuración de SeisComP3. Para agregar estos resultados a su sistema debe copiar estos archivos al directorioseicomp3/etc/key/scautopick
y luego agregar la siguiente línea en los archivos homónimos en la rutaseicomp3/etc/key/
:scautopick
Ahora SeisComP3 reconocerá que dichas estaciones están disponibles para ser usadas por el autopicker scautopick y para el picado utilizará los parámetros consignados en el archivo de configuración de la estación en la ruta
seicomp3/etc/key/scautopick
. -
Carpeta
images
: Gráficas interactivas del proceso de ajuste de cada fase de cada estación. Puede abrirlas con cualquier navegador web. -
Archivos
results_P.csv
yresults_S.csv
: Compilación de los mejores parámetros encontrados para cada fase y estación junto con el valor del f1-score de esa iteración.
exc_<station>_<phase>.xml
: Contienen los parámetros de los pickers en la última iteración.mseed_data
: Carpeta con las formas de onda usadas en el ajuste.picks_xml
: Carpeta con archivos XML en formato seiscomp con los picks generados en la última iteración.