#!/bin/sh

# Zum operationellen Einsatz!
# Berechnet fuer ein Reihe von Stationen die Globalstrahlung des heutigen bzw. angegebenen Tages
# Eine Liste von Stationen wird per ftp bei meteocontrol abgeholt "stationsliste.csv"
# Diese wird mit einer alten Liste zusammengeschmissen 
# Fuer alle Stationen wir Zeile Spalte und Trübungszone hinzugefügt
# Eine zweite Liste enthält die Koordinaten der Postleitzahl-Regionen  "ssplz.dat"
# Tag wird mit date bestimmt

function usage () { 
  echo "  usage: $0 TODAY|YEAR(YYYY) MONTH(MM) DAY(DD)"
}


## USAGE MESSAGE, if not enough command line arguments or wrong first argument (TODAY)
if test "$#" -lt "3";then
  if test "$#" -lt "2" ;then
    if test "$1" = "TODAY";then
#----------------- heutiges Datum bestimmen ------------------
      YEAR=`date -u +%Y`
      MON=`date -u +%m`
      DAY=`date -u +%d`
      JDAY=`date -u +%j`
    else 
      usage
      exit
    fi
  else 
    usage
  fi
else
  YEAR=$1 MON=$2 DAY=$3 JDAY=$4
  JDAY=`date -d $YEAR$MON$DAY -u +%j`
fi


startpath=$HOME/SaferSun
#test "$USER" == "satop" && startpath=/home/satop/SaferSun

plzpath=$startpath/dat
binpath=$startpath/bin
TEMP=$startpath/dat/NRT
IMAGEPATH=/home/prohome/sat-data/msg/cloudindex/hrv/europe

#--------------------neue Stationliste holen--------------------------
#-------------------- und in plzpath schreiben -----------------------
#
cd $plzpath
filename="stationsliste.csv";

perl $binpath/ftpget_mm_stationsliste.pl $filename
RC=$?


# Umwandlung des Dateiformats für c-Programm
       
if [ "$RC" == "0" ]; then
  # cp stationsliste.dat stationsliste.alt.dat
  # Herauswerfen von Leerzeichen und Minuszeichen für Stationsnamen
  sed 's/ //g ; s/---/nonamegiven/g' stationsliste.csv > stationsliste.neu 
  if [ -s "stationsliste.neu" ]; then 
    # mit awk herauswerfen der Semikola ";"
    awk -F ";" 'NR>1&&$4>-100{printf"%6d %6d %5d %5d %s\n", $1, $2, $3, $4, $5}' stationsliste.neu > stationsliste.dat
    # sortiertes Zusammenlegen der Liste von gestern und heute 
    # sort -n -u stationsliste.neu.dat stationsliste.alt.dat > stationsliste.dat
    rm stationsliste.neu # stationsliste.neu.dat
  else
    echo "$0: Stationsliste enthält Fehler, neue Stationsliste wird nicht angelegt!"
  fi
fi



# Berechnen der Zeile Spalte Trübungszone, output stationsliste_msg.lincol
$binpath/listen_meteocontrol_msg $plzpath
exit
#----------------------------------------------------------


for TIME in 0900 1000 1100 1200 1300 1400; do
  if test -s $IMAGEPATH/$YEAR$MON$DAY$TIME"_CI.XPIF";then
    # Bildbeispiel fuer das C-Programm cloudindex2G_plz_msg 
    # zum Auslesen der HeaderInformationen
    BILDBEISPIEL=$IMAGEPATH/$YEAR$MON$DAY$TIME"_CI.XPIF"
  fi
done

# -------------- Berechnung der Meteomedia-Stationen
$binpath/cloudindex2G_plz_msg -i $BILDBEISPIEL -o $TEMP/mm$YEAR$MON$DAY.dat -p $plzpath/stationsliste_msg.lincol -h 2 -v 2 -j $JDAY -d $YEAR$MON$DAY

# --------------- Berechnung der PLZ-Stationen
$binpath/cloudindex2G_plz_msg -i $BILDBEISPIEL -o $TEMP/ssplz$YEAR$MON$DAY.dat -p $plzpath/plz_liste_msg.lincol -h 2 -v 2 -j $JDAY -d $YEAR$MON$DAY


#--------kopieren auf ftpserver --------------------------
 scp -q $TEMP/mm$YEAR$MON$DAY.dat srvlx090:/home/data/pvsat2/daten/safersun
 scp -q $TEMP/ssplz$YEAR$MON$DAY.dat srvlx090:/home/data/pvsat2/daten/safersun

