El software Miami INsar Time-series en PYthon (MintPy como /mɪnt paɪ/) es un paquete de código abierto para el análisis de series de tiempo del radar interferométrico de apertura sintética (InSAR). Lee la pila de interferogramas (registrados y desenvueltos) en formato ISCE, ARIA, FRInGE, HyP3, GMTSAR, SNAP, GAMMA o ROI_PAC, y produce un desplazamiento tridimensional (2D en el espacio y 1D en el tiempo) de la superficie del suelo en línea de- dirección de la vista. Incluye un análisis de series de tiempo de rutina ( smallbaselineApp.py
) y una caja de herramientas independiente.
Este paquete se llamaba PySAR antes de la versión 1.1.1. Para la versión 1.1.2 y posteriores, utilizamos MintPy en su lugar.
Este es un código de investigación que se le proporciona "tal cual" SIN GARANTÍAS DE CORRECCIÓN. Úselo bajo su propio riesgo.
smallbaselineApp.py
MintPy lee una pila de interferogramas (interferogramas desenvueltos, coherencia y componentes conectados de SNAPHU si están disponibles) y los archivos de geometría (DEM, tabla de búsqueda, ángulo de incidencia, etc.). ¡Debes indicar la ruta donde están los archivos y MintPy se encarga del resto!
smallbaselineApp.py # run with default template 'smallbaselineApp.cfg'
smallbaselineApp.py < custom_template > # run with default and custom templates
smallbaselineApp.py -h / --help # help
smallbaselineApp.py -H # print default template options
smallbaselineApp.py -g # generate default template if it does not exist
smallbaselineApp.py -g < custom_template > # generate/update default template based on custom template
# Run with --start/stop/dostep options
smallbaselineApp.py GalapagosSenDT128.txt --dostep velocity # run step 'velocity' only
smallbaselineApp.py GalapagosSenDT128.txt --end load_data # end run after step 'load_data'
Dentro de smallbaselineApp.py, lee los interferogramas desenvueltos, los referencia todos al mismo píxel coherente (punto de referencia), calcula el cierre de fase y estima los errores de desenvolvimiento (si se ha solicitado), invierte la red de interferogramas en el tiempo. -series, calcula la coherencia temporal para evaluar la calidad de la inversión, corrige la deriva del oscilador local (solo para Envisat), corrige el retraso troposférico estratificado (usando modelos atmosféricos globales o un enfoque de relación de elevación de fase), elimina rampas de fase (si se ha solicitado), corrige el error DEM,... y finalmente estima la velocidad.
Los parámetros de configuración para cada paso se inician con valores predeterminados en un archivo de texto personalizable smallbaselineApp.cfg .
wget https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz
tar -xvJf FernandinaSenDT128.tar.xz
cd FernandinaSenDT128/mintpy
smallbaselineApp.py ${MINTPY_HOME} /docs/templates/FernandinaSenDT128.txt
Los resultados se trazan en la carpeta ./pic . Para explorar más información y visualización de datos, pruebe los siguientes scripts:
info.py # check HDF5 file structure and metadata
view.py # 2D map view
tsview.py # 1D point time-series (interactive)
plot_coherence_matrix.py # plot coherence matrix for one pixel (interactive)
plot_network.py # plot network configuration of the dataset
plot_transection.py # plot 1D profile along a line of a 2D matrix (interactive)
save_kmz.py # generate Google Earth KMZ file in points or raster image
save_kmz_timeseries.py # generate Google Earth KMZ file in points for time-series (interactive)
MintPy es una caja de herramientas con scripts de utilidades individuales. Simplemente ejecute el script con -h / --help
para ver su uso, ¡podría crear su propia receta de procesamiento personalizada! A continuación se muestra un ejemplo para comparar las velocidades estimadas a partir de series temporales de desplazamiento con diferentes correcciones de retraso troposférico.
mintpy
MintPy está modulado en Python con clases y funciones de utilidades y bien comentado a nivel de código. Los usuarios que estén familiarizados con Python pueden crear sus propias funciones y módulos sobre mintpy.objects
y mintpy.utils
. Sin embargo, todavía no tenemos un sitio web con el documento API completo (¡tal vez usted pueda contribuir con esto!). A continuación se muestra un ejemplo de lectura de la matriz 3D de series temporales de desplazamiento desde un archivo HDF5.
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
Los algoritmos implementados en el software se describen en detalle en Yunjun et al. (2019).
Descargo de responsabilidad sobre el síndrome del impostor: queremos su ayuda. No, de verdad.
Puede haber una vocecita dentro de tu cabeza que te dice que no estás listo para ser un colaborador de código abierto; que tus habilidades no son lo suficientemente buenas para contribuir. ¿Qué podrías ofrecer?
Te lo aseguramos: la vocecita en tu cabeza está equivocada. Si puedes escribir código, puedes contribuir con código de código abierto. Contribuir a proyectos de código abierto es una forma fantástica de mejorar las habilidades de codificación. Escribir código perfecto no es la medida de un buen desarrollador (¡eso nos descalificaría a todos!); es intentar crear algo, cometer errores y aprender de esos errores. Así es como todos mejoramos y estamos felices de ayudar a otros a aprender.
Ser colaborador de código abierto no significa sólo escribir código. Puedes ayudar escribiendo o revisando documentación, sugiriendo o implementando pruebas, o incluso dando comentarios sobre el proyecto (y sí, eso incluye dar comentarios sobre el proceso de contribución). Algunas de estas contribuciones pueden ser las más valiosas para el proyecto en su conjunto, porque usted llega al proyecto con ojos nuevos, por lo que puede ver los errores y suposiciones que los contribuyentes experimentados han pasado por alto.
Para obtener más información, lea nuestra guía de contribución.
Este descargo de responsabilidad fue adaptado del proyecto MetPy.
Yunjun, Z., Fattahi, H. y Amelung, F. (2019), Análisis de series temporales InSAR de línea de base pequeña: corrección de errores de desenvolvimiento y reducción de ruido, Computadoras y geociencias , 133 , 104331. [doi | arxi | datos | computadora portátil ]
Además de lo anterior, le recomendamos citar las publicaciones originales que describen los algoritmos utilizados en su análisis específico. Se indican brevemente en el archivo de plantilla predeterminado y se enumeran en el archivo de referencia.