4 # Script to request and transform data from the MII instrumented line. 
    5 # 1 - a request is formed to the DB 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 ASC 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 
   34 if ( do_usage $* ); 
then 
   35     usage "$script <tmin> <tmax> or"\
 
   37           "\nwhere <tmin> and <tmax> are strings of the form 2019-05-01T12:00:00Z" \
 
   38           "\nand clean will remove the output file" \
 
   40           "\nScript to request sea current data from the erddap.osupytheas.fr database." \
 
   41           "\nthe validity of the datetimes is not checked by the script." 
   48     *)  fatal 
"Wrong number of arguments.";;
 
   65     *)     fatal 
"Wrong option $OPTION.";;
 
   69 if [[ -
n "$TMIN" && -
n "$TMAX" ]]; 
then 
   71   uTMAX=`date -
d $TMAX +%s --utc`
 
   72   echo "Obtaining sea current speed and direction between" $TMIN 
"("$uTMIN
") and" $TMAX 
"("$uTMAX
")" 
   73   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" 
   75 # The ASC use the comma as separator. We split the file in two simple "space separated text files.  
   76 # One for the strength of the sea current. One for the direction of the sea current. 
   77 # The direction value are converted from deg to rad and inverted from clockwise to anticlockwise 
   78 # The header is dropped for the moment since it has to be correctly handled using awk command.  
   79 # It has currently 11 lines. A smarter way of handling the header and the fields must be found.  
   81 if [[ -
f $MII_ASC ]]; 
then 
   82   awk -
F',' '{if ( NR>11 ) {print $1 " " $2 " " $3;};}' $MII_ASC > $CurSpeed_TXT
 
   83   awk -
F',' '{if ( NR>11 ) {print $1 " " (90.0 - $4)/57.2958 " " $5/57.2958 ;}}' $MII_ASC > $CurDirec_TXT
 
   85 if [[ -
f $CurSpeed_TXT ]]; 
then 
   95   -\^ 
"Current speed [m.s-1]"          \
 
   96   -
T "Sea current speed at ORCA site " \
 
   99 if [[ -
f $CurDirec_TXT ]]; 
then 
  105   -
f $CurDirec_ROOT:\.\*               \
 
  109   -\^ 
"Current direction [rad]"        \
 
  110   -
T "Sea current direction at ORCA site " \
 
void set_variable(const std::string &name, const std::string &value)
Set environment variable. 
 
do echo Generating $dir eval DIR
 
case $OPTION in clean clean
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
alias put_queue eval echo n
 
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
 
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
 
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
 
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
 
#define DEBUG(A)
Message macros.