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 fi case set_variable RANGE $argv[3]
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
then usage $script< detector file >< inputfile > nUtility script to create PDF and CDF of transition time distribution fi case set_variable WORKDIR
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
case $OPTION in clean clean
do set_variable OUTPUT_DIRECTORY $WORKDIR T
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