Scheda programma d'esame
COMPUTATIONAL GEOPHYSICS
FRANCESCO GRIGOLI
Anno accademico2022/23
CdSGEOFISICA DI ESPLORAZIONE E APPLICATA
Codice267DD
CFU6
PeriodoSecondo semestre
LinguaInglese

ModuliSettore/iTipoOreDocente/i
COMPUTATIONAL GEOPHYSICSGEO/11LEZIONI60
FRANCESCO GRIGOLI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Il corso mira a far acquisire agli studenti capacità operative di programmazione e le conoscenze dei metodi numerici per l’elaborazione di dati geofisici. Gli studenti acquisiranno la conoscenza di un linguaggio di programmazione di alto livello (Python) e, attraverso le esercitazioni, saranno in grado di sviluppare codici per l'elaborazione numerica dei dati geofisici

Knowledge

This course aims to provide to the students oparational skills in programming, computational thinking and numerical methods for geophysics. The students will learn a high level programming language (Python) and through practical sessions they will learn to apply it for geophysical data processing.

Modalità di verifica delle conoscenze

Attraverso le esercitazioni lo studente dovrà dimostrare di saper applicare in modo critico i concetti illustrati dal docente durante il corso.

Assessment criteria of knowledge

Through the practical sessions each student shall show to be able to apply, with critical awareness, what  explained by the lecturer during the course.

Capacità

Al termine del corso lo studente conoscerà un linguaggio di programmazione di alto livello (Python) e sarà in grado di utilizzarlo per risolvere problemi numerici e per l'elaborazione dei dati geofisici. Soprattutto avrà le conoscenze necessarie per poter approfondire autonomamente argomenti avanzati leagati all'elaborazione dei dati geofisici.

Skills

The student will learn a high level programming language (Python) and he will be able to use it to solve basic numerical problems and for geophysical data processing. He/She can also carry out in-depth analysis on topics related to geophysical data processing.

Modalità di verifica delle capacità

Verranno svolte sessioni di live coding finalizzate all'analisi dei dati geofisici utilizzando codici scritti in Python

Assessment criteria of skills

Live coding practicals aimed at analyzing geophysical data will be carried out using codes written in Python

Comportamenti

Questo corso permetterà agli studenti di svilupapre il pensiero computazionale impareranno a risolvere autonomamente problemi di svariata natura

Behaviors

Students attending this course will develop the computational thinkning, furthermore they will learn to solve autonomously a wide range of numerical problems

Modalità di verifica dei comportamenti

Verranno svolte sessioni di live coding dove, per la risoluzione di un particolare problema, verranno confrontate differenti stratgie computazionali

Assessment criteria of behaviors

Live coding practicals where, in order to solve a particular problem, different comptational strategies will be compared.

Prerequisiti (conoscenze iniziali)

Teoria dei Segnali, Sismica a Riflessione (consigliati)

Prerequisites

Signal theory; Exploration Seismology (suggested).

Programma (contenuti dell'insegnamento)

Introduzione al corso.

Informatica di base: Rappresentazione digitale dei dati e codifica dell'informazione, Architattura dei calcolatori, Agoritimi e complessità computazionale. Panoramica sui vari linguaggi e paradigmi di programmazione.

Programmazione in Python: Variabili; Strutture Dati; Istruzioni di Controllo del flusso; Funzioni; Incapsulazione; Input e Output; Programmazione Orientata agli ogetti; Ottimizzazione e debugging

Calcolo scientifico e visualizzazione scientifica: Numpy, Scipy e Matplotlib

Applicazioni geofisiche:

Campionamento e Trasformata di Fourier: il campionamento di una sinusoide; l'alias di una sinusoide

Modeling di sismogrammi sintetici: Il modello convoluzionale

Modeling di spettri di sorgenti sismiche: il modello di Brune

Analisi spettrale della forma d'onda di un terremoto, deconvoluzione e calcolo della magnitudo.

Filtraggio di dati geofisici: esempio di applicazione di un filtro nel tempo e nelle frequenze su dati sintetici e reale. filtro di Wiener

Autocorrelazione e cross-correlazione; proprietà dell'autocorrelazione nei confronti del rumore random; esempio di applicazione della cross-correlazione: il template matching.

Traformata di Fourier 2D: esempi sintetici e reali; Filtraggio FK ed esempio di applicazione di un filtro nel dominio FK. Funzione di trasferimento di un array.

Stima della coerenza delle forme d'onda: il funzionale di Semblance 

Syllabus

Basic computer science concepts: Digital representation of data, Computer architecture, Algorithms and computational complexity, Overview on programming languages and programming paradigms

Python programming: Variables, Data Structures, Flow control instructions, Functions, Encapsulation, Input and Output, Object Oriented Programming, Code optimization and debugging.

Scientific computing and visualization: Numpy, Scipy and Matplotlib

Geophyisical applications:

Sampling and Fourier Transform: sampling of a sine function and aliasing, the amplitude and phase spectra.

Modeling of seismograms: the convolutional model

Modeling of seismic source spectra: the brune model

Spectral analysis of earthquake waveforms, deconvolution and magnitude estimation.

Filtering seismic signals: application to real and synthetic datasets. Filters in frequency domain and Wiener filters 

Cross-correlation and autocorrelation: Application to random noise, Power Spectral Density of seismic noise, Template matching.

2D Fourier Transform: Application to real and synthetic datasets; FK filter and its application. The transfer function of an array.

Waveforms coherence estimation: the Semblance functional

Bibliografia e materiale didattico

Dispense del corso

Bibliography

Course notes

Modalità d'esame

Esame scritto e orale

Assessment methods

written and oral test

Ultimo aggiornamento 19/09/2022 11:18