gelinive

Créer des profils du manteau neigeux - retour accueil

git clone git://bebou.netlib.re/gelinive
Log | Files | Refs | README |

commit fc56838503cb07441d73a08c1e4ecfa1f7a96928
parent 8262e3b6d81993f657fb0adfb59f3bdef1b4b3df
Auterice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Wed, 13 Mar 2024 18:06:56 +0100

Des commentaires

Idées à venir :

1. utiliser le style boxxy pour faire des histogrammes
verticaux. Si ça fonctionne on pourrait possiblement retirer la
dépendance à imagemagick.

2. Sortir makehistodata du script général pour le mettre
dans le script gnuplot. L'avantage serait que le format
échangé entre gelinive et geliniveplot serait celui que
'on voudrait potentiellement sauvegarder. On pourrait donc,
si on le souhaite simplement appeler geliniveplot sur une base
de donnée déjà créée au bon format plutôt que de forcément avoir
recours à gelinive pour repasser dans la makehistodata moulinette.
Ca demande soit de coder dans gnuplot, ce que j'aime pas trop, ou
de sortir makehistodata comme un script à par entière (ce qui était le
cas au début). Je pense que c'est un niveau d'atomisation trop élevé,
on l'utiliserait pour à priori rien d'autre. Donc plutôt la version
intégrée à gnuplot.

Diffstat:
Mgelinivetest | 36+++++++++++++++++++++++++++---------
1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/gelinivetest b/gelinivetest @@ -28,6 +28,23 @@ en intégrant une vraie gestion des arguments avec des options. exit 0 fi +# Rend les données contenues dans le profil plus faicle à afficher avec gnuplot +# +# En gros : +# +# 1 80 -> 80 1 +# 2 37 79 1 +# 3 21 ... +# 4 2 38 1 +# 37 2 +# ... +# 22 2 +# 21 3 +# ... +# 3 3 +# 2 4 +# ... +# makehistodata() { sed '$ a\ 0 0 0 0 0 0 0 0 @@ -41,6 +58,7 @@ awk '{ tr '/' '1' } +# Calcule les variables R e et H et les ajoute à la fin de change ligne calc_R_e_H() { awk -vH="$1" -vOFS='\t' ' { @@ -52,14 +70,14 @@ volde=olde;olde=e }' } -tempdir=$(mktemp -d);trap "rm -rf $tempdir" EXIT -cat $1 > $tempdir/profil +tempdir=$(mktemp -d);trap "rm -rf $tempdir" EXIT # Dossier temporaire dans lequel bosser +cat $1 > $tempdir/profil # On stocke les données dans un fichier -topheight=$(tail -n1 $tempdir/profil | cut -f5) -< $tempdir/profil calc_R_e_H $topheight | - tee "$3" 2> /dev/null | - makehistodata | - tac | - ./geliniveplot "$4" "$2" 2> /dev/null | - convert - -rotate -90 - +topheight=$(tail -n1 $tempdir/profil | cut -f5) # On récupère le dernier champ de la dernière ligne +< $tempdir/profil calc_R_e_H $topheight | # On met dans stdin de la fonction les données, en argument la hauteur + tee "$3" 2> /dev/null | # On stocke le résultat dans un fichier, si l'argument existe + makehistodata | # On construit les données pour l'histogramme + sed '1!G;h;$!d' | # tac, imprime du bas vers le haut + ./geliniveplot "$4" "$2" 2> /dev/null | # On créé le graph, premier arg = fichier temp, second = titre + convert - -rotate -90 - # On tourne l'image pour qu'elle soit en format portrait