Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
IPSL
SIRTA
CL31
CL raw to 1a
Commits
3db36a12
Commit
3db36a12
authored
Jan 17, 2022
by
Marc-Antoine Drouin
Browse files
format script for general script
parent
5c0921a7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
80 additions
and
88 deletions
+80
-88
run_raw2l1_sirta30s.sh
run_raw2l1_sirta30s.sh
+80
-88
No files found.
run_raw2l1_sirta30s.sh
View file @
3db36a12
...
...
@@ -45,24 +45,22 @@
#
# Cette fonction decrit l'utilisation et les parametres d'entree du script
#==============================================================================
function
usage
{
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
"-n niv_debogage"
echo
echo
-e
" -d
\t
seules les donnees appartenant a cette date sont selectionnees,"
echo
-e
"
\t
le format de la date est du type aaaammjj"
echo
-e
" -e
\t
liste des fichiers niveau 1 5s ou 1s"
echo
-e
" -s
\t
liste des fichiers niveau 1 1min a creer"
echo
-e
" -n
\t
niveau de debogage (0 a 3)"
echo
-e
" -v
\t
affiche la version du programme"
echo
-e
" -c
\t
fichier de configuration"
echo
-e
" -h
\t
affiche cette aide"
echo
"Les fichiers a convertir doivent respecter la convention de nommage SIRTA."
function
usage
{
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
"-n niv_debogage"
echo
echo
-e
" -d
\t
seules les donnees appartenant a cette date sont selectionnees,"
echo
-e
"
\t
le format de la date est du type aaaammjj"
echo
-e
" -e
\t
liste des fichiers niveau 1 5s ou 1s"
echo
-e
" -s
\t
liste des fichiers niveau 1 1min a creer"
echo
-e
" -n
\t
niveau de debogage (0 a 3)"
echo
-e
" -v
\t
affiche la version du programme"
echo
-e
" -c
\t
fichier de configuration"
echo
-e
" -h
\t
affiche cette aide"
echo
"Les fichiers a convertir doivent respecter la convention de nommage SIRTA."
}
#==============================================================================
# consignerMsg
#
...
...
@@ -74,8 +72,7 @@ function usage
# $2 : niveau de debogage
#==============================================================================
function
consignerMsg
{
function
consignerMsg
{
local
heure
=
$(
date
+%d/%m/%Y,%H:%M:%S
)
local
niv_deb
=
$2
...
...
@@ -112,24 +109,29 @@ n=0
# Recupere les parametres de la lignes de commande
#------------------------------------------------------------------------------
UNZIP
=
0
while
getopts
:d:e:s:t:n:c:uhv option
do
while
getopts
:d:e:s:t:n:c:uhv option
;
do
case
$option
in
d
)
date
=
"
$OPTARG
"
;;
h
)
usage
exit
0
;;
v
)
echo
$VERSION
exit
0
;;
e
)
liste_entree[n]
=
"
$OPTARG
"
let
n++
;;
s
)
liste_sortie
=
${
OPTARG
}
;;
t
)
REP_TRAVAIL
=
${
OPTARG
}
;;
n
)
DEBUG
=
${
OPTARG
}
;;
c
)
fich_conf
=
"
$OPTARG
"
;;
u
)
UNZIP
=
1
;;
# permet de sauter des options inconnues sans sortir de while
?
)
while
[[
$OPTIND
-le
$#
&&
${
!OPTIND
:0:1
}
!=
'-'
]]
;
do
OPTIND
=
$((
OPTIND+1
))
;
done
;;
*
)
ERREUR
=
1
;;
d
)
date
=
"
$OPTARG
"
;;
h
)
usage
exit
0
;;
v
)
echo
$VERSION
exit
0
;;
e
)
liste_entree[n]
=
"
$OPTARG
"
let
n++
;;
s
)
liste_sortie
=
${
OPTARG
}
;;
t
)
REP_TRAVAIL
=
${
OPTARG
}
;;
n
)
DEBUG
=
${
OPTARG
}
;;
c
)
fich_conf
=
"
$OPTARG
"
;;
u
)
UNZIP
=
1
;;
# permet de sauter des options inconnues sans sortir de while
?
)
while
[[
$OPTIND
-le
$#
&&
${
!OPTIND
:0:1
}
!=
'-'
]]
;
do
OPTIND
=
$((
OPTIND
+
1
))
;
done
;;
*
)
ERREUR
=
1
;;
esac
done
...
...
@@ -145,45 +147,43 @@ NCKS="/usr/bin/ncks"
# verification des parametres
#------------------------------------------------------------------------------
if
[[
$ERREUR
!=
0
]]
;
then
usage
exit
1
usage
exit
1
fi
let
n--
while
[[
$n
-ge
0
]]
do
if
[[
-z
${
liste_entree
[n]
}
]]
;
then
consignerMsg
"Il faut indiquer la liste des fichiers d'entree a traiter."
exit
1
fi
if
[[
!
-f
${
liste_entree
[n]
}
]]
;
then
consignerMsg
"La liste de fichiers d'entree
${
liste_entree
[n]
}
est vide ou n'existe pas."
exit
1
fi
let
n--
while
[[
$n
-ge
0
]]
;
do
if
[[
-z
${
liste_entree
[n]
}
]]
;
then
consignerMsg
"Il faut indiquer la liste des fichiers d'entree a traiter."
exit
1
fi
if
[[
!
-f
${
liste_entree
[n]
}
]]
;
then
consignerMsg
"La liste de fichiers d'entree
${
liste_entree
[n]
}
est vide ou n'existe pas."
exit
1
fi
let
n--
done
if
[[
-z
$liste_sortie
]]
;
then
consignerMsg
"Il faut indiquer la liste des fichiers de sortie a creer."
exit
1
consignerMsg
"Il faut indiquer la liste des fichiers de sortie a creer."
exit
1
fi
if
[[
!
-f
$liste_sortie
||
!
-s
$liste_sortie
]]
;
then
consignerMsg
"La liste de fichiers de sortie
$liste_sortie
est vide ou n'existe pas."
exit
1
consignerMsg
"La liste de fichiers de sortie
$liste_sortie
est vide ou n'existe pas."
exit
1
fi
if
[[
-z
$REP_TRAVAIL
]]
;
then
consignerMsg
"Il faut indiquer un repertoire de travail."
exit
1
consignerMsg
"Il faut indiquer un repertoire de travail."
exit
1
fi
if
[[
!
-d
$REP_TRAVAIL
]]
;
then
consignerMsg
"Le repertoire de travail
$REP_TRAVAIL
n'existe pas."
exit
1
consignerMsg
"Le repertoire de travail
$REP_TRAVAIL
n'existe pas."
exit
1
fi
#------------------------------------------------------------------------------
# Traitement
#------------------------------------------------------------------------------
...
...
@@ -193,31 +193,26 @@ fi
# Si on n'en trouve aucun on quitte
#------------------------------------------------------------------------------
n
=
0
while
read
l
do
while
read
l
;
do
fich_entree[n]
=
$l
let
n++
done
<
${
liste_entree
[0]
}
done
<
${
liste_entree
[0]
}
# test pour savoir si fichier du jour disponible
if
[[
${#
fich_entree
[*]
}
-lt
2
]]
then
consignerMsg
"Pas de fichier du jour a traiter"
exit
1
if
[[
${#
fich_entree
[*]
}
-lt
2
]]
;
then
consignerMsg
"Pas de fichier du jour a traiter"
exit
1
fi
# if unzipping raw files is needed
if
[[
$UNZIP
==
0
]]
then
if
[[
$UNZIP
==
0
]]
;
then
input_files
=(
"
${
fich_entree
[@]
}
"
)
elif
[[
$UNZIP
==
1
]]
then
elif
[[
$UNZIP
==
1
]]
;
then
# create tmp directory for data
tmp_data
=
$(
mktemp
-d
-p
"
$REP_TRAVAIL
"
)
# unzip input files in it
for
zip_file
in
"
${
fich_entree
[@]
}
"
do
for
zip_file
in
"
${
fich_entree
[@]
}
"
;
do
unzip
"
$zip_file
"
-d
"
$tmp_data
"
done
...
...
@@ -238,37 +233,34 @@ cmd="$PYTHON $RAW2L1 '$date' $RAW2L1_CONF ${input_files[*]} $tmpfile -log $RAW2L
eval
$cmd
if
[[
$?
==
0
]]
then
# suppression des donnees qui ne correspondent pas au jour
#-------------------------------------------------------------------------
date_as_days
=
$(
bc
-l
<<<
"
$(
date
-u
-d
"
$date
"
+%s
)
/86400"
)
date_p1
=
$(
bc
-l
<<<
"(
$(
date
-u
-d
"
$date
"
+%s
)
+86399)/86400"
)
if
[[
$?
==
0
]]
;
then
# suppression des donnees qui ne correspondent pas au jour
#-------------------------------------------------------------------------
date_as_days
=
$(
bc
-l
<<<
"
$(
date
-u
-d
"
$date
"
+%s
)
/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
"
consignerMsg
"suppression des données n'appartenant au jour traite"
eval
$cmd
consignerMsg
"suppression des données n'appartenant au jour traite"
eval
$cmd
else
\r
m
$tmpfile
\r
m
$tmpfile
if
[[
$UNZIP
==
1
]]
then
\r
m
-rf
"
$tmp_data
"
fi
if
[[
$UNZIP
==
1
]]
;
then
\r
m
-rf
"
$tmp_data
"
fi
exit
1
exit
1
fi
\r
m
"
$tmpfile
"
# if needed remove unzipped files
if
[[
$UNZIP
==
1
]]
then
if
[[
$UNZIP
==
1
]]
;
then
\r
m
-rf
"
$tmp_data
"
fi
if
((
$?
>
1
))
;
then
exit
1
exit
1
fi
exit
0
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment