Commit 5c0921a7 authored by Marc-Antoine Drouin's avatar Marc-Antoine Drouin
Browse files

refactor processing for sirta 3s data

parent 9cf0f5fa
...@@ -45,8 +45,7 @@ ...@@ -45,8 +45,7 @@
# #
# Cette fonction decrit l'utilisation et les parametres d'entree du script # Cette fonction decrit l'utilisation et les parametres d'entree du script
#============================================================================== #==============================================================================
function usage function usage {
{
echo -n "Utilisation de $NOM_PRGM : $NOM_PRGM [-h|-v] -d date -e liste_fich_entree " echo -n "Utilisation de $NOM_PRGM : $NOM_PRGM [-h|-v] -d date -e liste_fich_entree "
echo -n "[[-e liste_fich_basse_entree]...] -s liste_fich_sortie -t rep_travail " echo -n "[[-e liste_fich_basse_entree]...] -s liste_fich_sortie -t rep_travail "
echo -n "-n niv_debogage" echo -n "-n niv_debogage"
...@@ -62,7 +61,6 @@ function usage ...@@ -62,7 +61,6 @@ function usage
echo "Les fichiers a convertir doivent respecter la convention de nommage SIRTA." echo "Les fichiers a convertir doivent respecter la convention de nommage SIRTA."
} }
#============================================================================== #==============================================================================
# consignerMsg # consignerMsg
# #
...@@ -74,23 +72,22 @@ function usage ...@@ -74,23 +72,22 @@ function usage
# $2 : niveau de debogage # $2 : niveau de debogage
#============================================================================== #==============================================================================
function consignerMsg function consignerMsg {
{ local heure=$(date +%d/%m/%Y,%H:%M:%S)
local heure=$(date +%d/%m/%Y,%H:%M:%S) local niv_deb=$2
local niv_deb=$2
if [[ $# -gt 2 ]]; then
if [[ $# -gt 2 ]]; then consignerMsg "consignerMsg attend au maximum deux arguments"
consignerMsg "consignerMsg attend au maximum deux arguments" return 1
return 1 fi
fi [[ -z $niv_deb || $niv_deb -lt 0 ]] && niv_deb=0
[[ -z $niv_deb || $niv_deb -lt 0 ]] && niv_deb=0 if [[ $niv_deb -le $DEBUG ]]; then
if [[ $niv_deb -le $DEBUG ]]; then if [[ -n "$ENTETE_MSG" ]]; then
if [[ -n "$ENTETE_MSG" ]]; then echo "$heure, $ENTETE_MSG : $1"
echo "$heure, $ENTETE_MSG : $1" else
else echo "$heure, $1"
echo "$heure, $1" fi
fi fi
fi
} }
################################################################################ ################################################################################
...@@ -114,24 +111,28 @@ n=0 ...@@ -114,24 +111,28 @@ n=0
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Recupere les parametres de la lignes de commande # Recupere les parametres de la lignes de commande
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
while getopts :d:e:s:t:n:c:hv option while getopts :d:e:s:t:n:hv option; do
do case $option in
case $option in
d) date="$OPTARG" ;; d) date="$OPTARG" ;;
h) usage h)
exit 0 ;; usage
v) echo $VERSION exit 0
exit 0 ;; ;;
e) liste_entree[n]="$OPTARG" v)
let n++ ;; echo $VERSION
exit 0
;;
e)
liste_entree[n]="$OPTARG"
let n++
;;
s) liste_sortie=${OPTARG} ;; s) liste_sortie=${OPTARG} ;;
t) REP_TRAVAIL=${OPTARG} ;; t) REP_TRAVAIL=${OPTARG} ;;
n) DEBUG=${OPTARG} ;; n) DEBUG=${OPTARG} ;;
c) fich_conf="$OPTARG" ;;
# permet de sauter des options inconnues sans sortir de while # permet de sauter des options inconnues sans sortir de while
?) while [[ $OPTIND -le $# && ${!OPTIND:0:1} != '-' ]]; do OPTIND=$((OPTIND+1)); done ;; ?) while [[ $OPTIND -le $# && ${!OPTIND:0:1} != '-' ]]; do OPTIND=$((OPTIND + 1)); done ;;
*) ERREUR=1 ;; *) ERREUR=1 ;;
esac esac
done done
DATE_AS_SECONDS=$(date -u -d $date +%s) DATE_AS_SECONDS=$(date -u -d $date +%s)
...@@ -152,8 +153,7 @@ if [[ $ERREUR != 0 ]]; then ...@@ -152,8 +153,7 @@ if [[ $ERREUR != 0 ]]; then
fi fi
let n-- let n--
while [[ $n -ge 0 ]] while [[ $n -ge 0 ]]; do
do
if [[ -z ${liste_entree[n]} ]]; then if [[ -z ${liste_entree[n]} ]]; then
consignerMsg "Il faut indiquer la liste des fichiers d'entree a traiter." consignerMsg "Il faut indiquer la liste des fichiers d'entree a traiter."
exit 1 exit 1
...@@ -185,7 +185,6 @@ if [[ ! -d $REP_TRAVAIL ]]; then ...@@ -185,7 +185,6 @@ if [[ ! -d $REP_TRAVAIL ]]; then
exit 1 exit 1
fi fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Traitement # Traitement
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
...@@ -196,32 +195,28 @@ fi ...@@ -196,32 +195,28 @@ fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
n=0 n=0
if [[ $DATE_AS_SECONDS -le $H2_ON_DATE ]] if [[ $DATE_AS_SECONDS -le $H2_ON_DATE ]]; then
then
# fichier avec h2 off # fichier avec h2 off
consignerMsg "configuration h2 off" consignerMsg "configuration h2 off"
while read l while read l; do
do
fich_entree[n]=$l fich_entree[n]=$l
let n++ let n++
done < ${liste_entree[0]} done <${liste_entree[0]}
RAW2L1_CONF=${REP_SOURCES}"/conf_vaisala_cl31_sirta3s-h2off.ini" RAW2L1_CONF=${REP_SOURCES}"/conf_vaisala_cl31_sirtaLz1R5mF3s-h2off.ini"
else else
# fichier avec h2 on # fichier avec h2 on
consignerMsg "configuration h2 on" consignerMsg "configuration h2 on"
while read l while read l; do
do
fich_entree[n]=$l fich_entree[n]=$l
let n++ let n++
done < ${liste_entree[1]} done <${liste_entree[1]}
RAW2L1_CONF=${REP_SOURCES}"/conf_vaisala_cl31_sirta3s-h2on.ini" RAW2L1_CONF=${REP_SOURCES}"/conf_vaisala_cl31_sirtaLz1R5mF3s-h2on.ini"
fi fi
# test pour savoir si fichier du jour disponible # test pour savoir si fichier du jour disponible
if [[ ${#fich_entree[*]} -lt 2 ]] if [[ ${#fich_entree[*]} -lt 2 ]]; then
then
consignerMsg "Pas de fichier du jour a traiter" consignerMsg "Pas de fichier du jour a traiter"
exit 1 exit 1
fi fi
...@@ -239,12 +234,11 @@ cmd="$PYTHON $RAW2L1 '$date' $RAW2L1_CONF ${fich_entree[@]} $tmpfile -log $RAW2L ...@@ -239,12 +234,11 @@ cmd="$PYTHON $RAW2L1 '$date' $RAW2L1_CONF ${fich_entree[@]} $tmpfile -log $RAW2L
eval $cmd eval $cmd
if [[ $? == 0 ]] if [[ $? == 0 ]]; then
then
# suppression des donnees qui ne correspondent pas au jour # suppression des donnees qui ne correspondent pas au jour
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
date_as_days=$(bc -l <<< "$(date -u -d "$date" +%s)/86400") date_as_days=$(bc -l <<<"$(date -u -d "$date" +%s)/86400")
date_p1=$(bc -l <<< "($(date -u -d "$date" +%s)+86399)/86400") date_p1=$(bc -l <<<"($(date -u -d "$date" +%s)+86399)/86400")
cmd="$NCKS -h -O -d time,${date_as_days},${date_p1} $tmpfile $fich_sortie" cmd="$NCKS -h -O -d time,${date_as_days},${date_p1} $tmpfile $fich_sortie"
...@@ -258,7 +252,7 @@ fi ...@@ -258,7 +252,7 @@ fi
\rm $tmpfile \rm $tmpfile
if (($? > 1)); then if (($? > 1)); then
exit 1 exit 1
fi fi
exit 0 exit 0
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment