4 # Script to request and transform data from the MII instrumented line.
5 # 1 - a request is formed to the database storing the data. The order of the fields is
6 # fixed and must stay the same for the next steps :
7 # time, current speed, error on current speed, current direction, error on current direction
8 # A given period can be specified by providing two strings of the form 2019-05-01T12:00:00Z
9 # The data are written into a ASCII file (csv text file).
10 # 2 - The awk program splits the file in two separated text files with the header dropped for the
11 # moment. The angles are converted from degrees with 0 at North and counting clockwise into
12 # radians with 0 at East and counting anticlockwise. They are not further reduded to [-pi,+pi]
13 # to keep a continuity of values (the current is often directed toward West)
15 if [ -z $JPP_DIR ];
then
16 echo "Variable JPP_DIR undefined."
20 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null
37 usage "$script <tmin> <tmax> or"\
39 "\nwhere <tmin> and <tmax> are strings of the form 2019-05-01T12:00:00Z" \
40 "\nand clean will remove the output file" \
42 "\nScript to request sea current data from the erddap.osupytheas.fr database." \
43 "\nthe validity of the datetimes is not checked by the script."
50 *) fatal
"Wrong number of arguments.";;
68 *) fatal
"Wrong option $OPTION.";;
72 if [[ -
n "$TMIN" && -
n "$TMAX" ]];
then
74 uTMAX=`date -
d $TMAX +%s --utc`
75 echo "Obtaining sea current speed and direction between" $TMIN
"("$uTMIN
") and" $TMAX
"("$uTMAX
")"
76 wget -O $MII_ASC
"https://erddap.osupytheas.fr/erddap/tabledap/Emso_Aquadopp_64c7_8059_4af9.asc?time,Speed_mean,Speed_std,Direction_mean,Direction_std&time>=$uTMIN&time<=$uTMAX"
79 # The ASCII use the comma as separator. We split the file in two simple space separated text files.
80 # One for the strength of the sea current. One for the direction of the sea current.
81 # The direction value are converted from deg to rad and inverted from clockwise to anticlockwise
82 # The header is dropped for the moment since it has to be correctly handled using awk command.
83 # It has currently 11 lines. A smarter way of handling the header and the fields must be found.
85 if [[ -
f $MII_ASC ]];
then
86 awk -
F',' '{if ( NR>11 ) {print $1 " " $2 " " $3;};}' $MII_ASC > $CurSpeed_TXT
87 awk -
F',' '{if ( NR>11 ) {print $1 " " (90.0 - $4)/57.2958 " " $5/57.2958 ;}}' $MII_ASC > $CurDirec_TXT
90 if [[ -
f $CurSpeed_TXT ]];
then
101 -\^
"Current speed [m.s-1]" \
102 -
T "Sea current speed at ORCA site " \
103 -
o $CurSpeed_GIF $BATCH
106 if [[ -
f $CurDirec_TXT ]];
then
113 -
f $CurDirec_ROOT:\.\* \
117 -\^
"Current direction [rad]" \
118 -
T "Sea current direction at ORCA site " \
119 -
o $CurDirec_GIF $BATCH
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn only modules within the given range of floors are used fi case set_variable RANGE $argv[3]
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
o $QUALITY_ROOT d $DEBUG!JPlot1D f
do echo Generating $dir eval DIR
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
do set_variable STRING_TXT awk
case $OPTION in clean clean
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
then JConvertDetectorFormat a $DETECTOR[1] o
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
then awk $MII_ASC $CurSpeed_TXT awk then JGraph f $CurSpeed_TXT o $CurSpeed_ROOT JPlot1D f $CurSpeed_ROOT
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null