# Data

Ce dossier regroupe les données d'entrée et les scripts de pré-traitement des données.

## Configuration initiale

Afin de limiter l'espace utilisé, le fichier de bathymétrie n'est pas fourni. Il est recommandé d'utiliser la base de
donnée construite par V. Roeber.

Les scripts de ce dossier sont configurés à l'aide d'un fichier `config.ini`. Les options seront détaillées pour chaque
script par la suite.

## Scripts
### Lambert
`lambert.py` contient une classe permettant de réaliser la projection en coordonnées cartésiennes de la bathymétrie en
coordonnées sphériques.

### Nandasena
`nandasena.py` permet de calculer le critère de déplacement de bloc de Nandasena (2011). Configuration dans le code
directement en modifiant le contenu de la variable `const`.

### Orbitals
`orbitals.py` permet de tracer la trajectoire de la bouée lors du passage de la vague scélérate identifiée en 2 et 3
dimensions.

```python -m processing.orbitals [-c CONFIG] [-v]```

* `-c CONFIG` : choix d'un fichier de configuration (`.ini`)
* `-v` : verbose

```
[inp]
root : racine des fichiers d'entrée
raw_ts : liste des chemins vers les fichiers de données brutes de la bouée

[out]
root : racine des fichiers de sortie
```

### Plot
`plot.py` permet de tracer la bathymétrie locale en 2 dimensions.

```python -m processing.plot [-c CONFIG] [-v]```

* `-c CONFIG` : choix d'un fichier de configuration (`.ini`)
* `-v` : verbose

```
[inp]
root : racine des fichiers d'entrée

[out]
root : racine des fichiers de sortie
sub : sous-domaine de bathymétrie, doit être généré avec subdomain
```

### Projection
`projection.py` utilise le module `lambert` afin de réaliser une projection 1D en coordonnées cartésiennes de la
bathymétrie en coordonnées sphériques, en utilisant les données haute-résolution de PA Poncet pour la digue.

```python -m processing.projection [-c CONFIG] [-v]```

* `-c CONFIG` : choix d'un fichier de configuration (`.ini`)
* `-v` : verbose

```
[inp]
root : racine des fichiers d'entrée
hires : bathymétrie haute-résolution (PA Poncet)
hstru : hauteur de poreux (PA Poncet)
poro : porosité (PA Poncet)
psize : taille de porosité (PA Poncet)
hires_step : résolution des données hires

[out]
root : racine des fichiers de sortie
no_breakwater* : enlever la digue (défaut : False)
sub : sous-domaine de bathymétrie, doit être généré avec subdomain
step : résolution du domaine de sortie
left : marge après la digue sur le domaine de sortie
right : marge après la bouée sur le domaine de sortie

[artha]
lat : latitude de la digue
lon : longitude de la digue

[buoy]
lat : latitude de la bouée
lon : longitude de la bouée
```

### Spec
`spec.py` permet de générer un spectre d'entrée de SWASH à partir du spectre mesuré par la bouée.

```python -m processing.spec [-c CONFIG] [-v]```

* `-c CONFIG` : choix d'un fichier de configuration (`.ini`)
* `-v` : verbose

```
[inp]
root : racine des fichiers d'entrée
raw_spec : fichier de spectre à utiliser
cycle : durée d'utilisation du spectre

[out]
root : racine des fichiers de sortie
```

### Subdomain
`subdomain.py` permet de générer un sous-domaine de la bathymétrie pour utilisation avec `plot` et `projection`.

```python -m processing.projection [-c CONFIG] [-v]```

* `-c CONFIG` : choix d'un fichier de configuration (`.ini`)
* `-v` : verbose

```
[inp]
root : racine des fichiers d'entrée
base : base de données de bathymétrie (V Roeber)

[out]
margin : marges (en degrés) autour des positions de la bouée et de la digue
root : racine des fichiers de sortie
sub : fichier de sortie du sous-domaine de bathymétrie

[artha]
lat : latitude de la digue
lon : longitude de la digue

[buoy]
lat : latitude de la bouée
lon : longitude de la bouée
```

### TS
`ts.py` permet de générer une série temporelle pour SWASH à partir de plusieurs série temporelles brutes de la bouée.

```python -m processing.ts [-c CONFIG] [-v]```

* `-c CONFIG` : choix d'un fichier de configuration (`.ini`)
* `-v` : verbose

```
[inp]
root : racine des fichiers d'entrée
raw_ts : liste des fichiers de données brutes de la bouée à utiliser

[out]
root : racine des fichiers de sortie
```

### Zero-cross
`zero_cross.py` permet d'obtenir les vagues les plus grosses de toutes les séries temporelles et d'obtenir la
transformée en ondelettes de la série.

```python -m processing.zero_cross [-c CONFIG] [-v]```

* `-c CONFIG` : choix d'un fichier de configuration (`.ini`)
* `-v` : verbose

```
[inp]
root : racine des fichiers d'entrée (les données brutes doivent être dans le sous-dossier `cerema/raw`)

[out]
root : racine des fichiers de sortie
```
