Skip to content

Commit

Permalink
Fix references to the old packages in the scripts directory.
Browse files Browse the repository at this point in the history
  • Loading branch information
Mathieu BAGUE committed Oct 10, 2017
1 parent e33e7f5 commit 16b018e
Show file tree
Hide file tree
Showing 5 changed files with 89 additions and 96 deletions.
121 changes: 57 additions & 64 deletions scripts/groovy/synthesis2csv.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,16 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
import groovy.json.JsonSlurper
import java.io.File
import eu.itesla_project.commons.io.table.TableFormatterConfig
import eu.itesla_project.commons.io.table.CsvTableFormatterFactory
import eu.itesla_project.commons.io.table.Column
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;


if(args.size() < 2)
{
println "Usage: itools local-groovy-script --script synthesis2csv.groovy <geoCodesFile> <jsonFile>"
import com.powsybl.commons.io.table.TableFormatterConfig
import com.powsybl.commons.io.table.CsvTableFormatterFactory
import com.powsybl.commons.io.table.Column
import java.nio.charset.StandardCharsets
import java.nio.file.Files
import java.nio.file.Paths


if (args.size() < 2) {
println "Usage: itools run-script --file synthesis2csv.groovy <geoCodesFile> <jsonFile>"
return
}

Expand All @@ -25,97 +23,92 @@ def geoname = args[0]


def areaMap = [:]
def geomapFile = new File(geoname);
def geomapFile = new File(geoname)
String[] lines = geomapFile.text.split('\n')
lines.each {def vals =it.split(';'); areaMap.put(vals[0],vals[1].trim())}
lines.each { def vals = it.split(';'); areaMap.put(vals[0], vals[1].trim()) }


def inputFile = new File(fpath)
def filename = inputFile.getName();
def data = new JsonSlurper().parseText(inputFile.text )
def data = new JsonSlurper().parseText(inputFile.text)

def outFile= data.processId+".csv"
def outFile = data.processId + ".csv"



def columns = ["State","Contingency","Type","Name","Limit (A, kV)","Equipment","Area","Nominal Voltage (kV)","Worst Relative Value (%)","Worst Relative Value Timestamp"]
def column_keys = ["state","contingency","type","name","limit","equipment","area","voltageLevel","worstRelativeValue","worstRelativeTime"]
def columns = ["State", "Contingency", "Type", "Name", "Limit (A, kV)", "Equipment", "Area", "Nominal Voltage (kV)", "Worst Relative Value (%)", "Worst Relative Value Timestamp"]
def column_keys = ["state", "contingency", "type", "name", "limit", "equipment", "area", "voltageLevel", "worstRelativeValue", "worstRelativeTime"]

def timestamps=[]
def timestamps = []
def rows = []

data.states.each{ st ->
st.preContingencyViolations.each{
rows.add(getRowMap(timestamps,areaMap,st.state,'N_State', it));
data.states.each { st ->
st.preContingencyViolations.each {
rows.add(getRowMap(timestamps, areaMap, st.state, 'N_State', it))
}

st.postContingencyViolations.each{ cont ->
cont.value.each{ v ->
st.postContingencyViolations.each { cont ->
cont.value.each { v ->

rows.add(getRowMap(timestamps,areaMap,st.state,cont.key,v));
rows.add(getRowMap(timestamps, areaMap, st.state, cont.key, v))
}
}
}

timestamps.sort()

def writer = Files.newBufferedWriter(Paths.get(outFile), StandardCharsets.UTF_8);
def writer = Files.newBufferedWriter(Paths.get(outFile), StandardCharsets.UTF_8)

def tablecolumns = []
columns.each{ c -> tablecolumns.push(new Column(c)) }
timestamps.each{ t -> tablecolumns.push(new Column(t)) }
columns.each { c -> tablecolumns.push(new Column(c)) }
timestamps.each { t -> tablecolumns.push(new Column(t)) }

TableFormatterConfig tableFormatterConfig = TableFormatterConfig.load();
TableFormatterConfig tableFormatterConfig = TableFormatterConfig.load()
def formatterFactory = new CsvTableFormatterFactory()
def formatter = formatterFactory.create(writer, "#"+filename, tableFormatterConfig, tablecolumns.toArray(new Column [ tablecolumns.size()]))
def formatter = formatterFactory.create(writer, "#" + filename, tableFormatterConfig, tablecolumns.toArray(new Column[tablecolumns.size()]))


rows.each{ row ->
column_keys.each{ formatter.writeCell( row[it]!=null?row[it]:"") }
timestamps.each{ formatter.writeCell( row["vals"][it]!=null?row["vals"][it]:"") }
rows.each { row ->
column_keys.each { formatter.writeCell(row[it] != null ? row[it] : "") }
timestamps.each { formatter.writeCell(row["vals"][it] != null ? row["vals"][it] : "") }
}

writer.close()


def getRowMap(timestamps,areaMap, state, k, v){
def getRowMap(timestamps, areaMap, state, k, v) {

def rowMap =[:]
rowMap["contingency"]=k
rowMap["state"]=state
rowMap["type" ]= v.type
def rowMap = [:]
rowMap["contingency"] = k
rowMap["state"] = state
rowMap["type"] = v.type
rowMap["name"] = v.limitName
rowMap["limit"] = v.limit
rowMap["equipment"] = v.equipment
if(v.type == 'CURRENT')
{
rowMap["area"] = [ areaMap[v.equipment.substring(0,5)], areaMap[v.equipment.substring(v.equipment.length()-5)]].unique().sort().join(' ')
}
else
rowMap["area"] = areaMap[v.equipment.substring(0,5)]
if (v.type == 'CURRENT') {
rowMap["area"] = [areaMap[v.equipment.substring(0, 5)], areaMap[v.equipment.substring(v.equipment.length() - 5)]].unique().sort().join(' ')
} else
rowMap["area"] = areaMap[v.equipment.substring(0, 5)]
rowMap["voltageLevel"] = v.voltageLevel
def vals = [:]
def worst;
def tworst="";
v.timeValues.each{ tv ->
if(!timestamps.contains(tv.timestamp))
{
timestamps.add(tv.timestamp)
}
tv.indicators.each{ ind ->
if(ind.id == "ABSOLUTE")
{
vals[tv.timestamp] = ind.value
if( worst == null || ((v.type == 'LOW_VOLTAGE')? (ind.value < worst) : (ind.value > worst)) )
{
worst=ind.value
tworst=tv.timestamp
}
}
def worst
def tworst = ""
v.timeValues.each { tv ->
if (!timestamps.contains(tv.timestamp)) {
timestamps.add(tv.timestamp)
}
tv.indicators.each { ind ->
if (ind.id == "ABSOLUTE") {
vals[tv.timestamp] = ind.value
if (worst == null || ((v.type == 'LOW_VOLTAGE') ? (ind.value < worst) : (ind.value > worst))) {
worst = ind.value
tworst = tv.timestamp
}
}
}
}
rowMap["vals"]=vals
rowMap["worstRelativeValue"] = worst? (worst/v.limit) : null
rowMap["vals"] = vals
rowMap["worstRelativeValue"] = worst ? (worst / v.limit) : null
rowMap["worstRelativeTime"] = tworst
return rowMap;
return rowMap
}
24 changes: 12 additions & 12 deletions scripts/offline-mpi-task.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
installBinDir=$(dirname $(readlink -f $0))
installDir=${installBinDir%/*}

. $installDir/etc/itesla.conf
. $installDir/etc/itools.conf

if [[ -n "$OMPI_MCA_rmaps_base_cpus_per_rank" ]]; then
CORES=$OMPI_MCA_rmaps_base_cpus_per_rank
CORES=$OMPI_MCA_rmaps_base_cpus_per_rank
else
CORES=1
CORES=1
fi

tmpdir=$HOME/tmp
Expand All @@ -28,14 +28,14 @@ if [ $rank = 0 ]; then
exit -1
fi
export LD_LIBRARY_PATH=${installDir}/lib:$LD_LIBRARY_PATH
[ -n "$itesla_cache_dir" ] && options+="-Ditesla.cache.dir=$itesla_cache_dir"
[ -n "$itesla_config_dir" ] && options+=" -Ditesla.config.dir=$itesla_config_dir"
[ -n "$itesla_config_name" ] && options+=" -Ditesla.config.name=$itesla_config_name"
[ -n "$itools_cache_dir" ] && options+="-Ditools.cache.dir=$itools_cache_dir"
[ -n "$itools_config_dir" ] && options+=" -Ditools.config.dir=$itools_config_dir"
[ -n "$itools_config_name" ] && options+=" -Ditools.config.name=$itools_config_name"
options+=" -Dcom.sun.management.jmxremote.port=6666"
options+=" -Dcom.sun.management.jmxremote.authenticate=false"
options+=" -Dcom.sun.management.jmxremote.ssl=false"
options+=" -Dlogback.configurationFile="
[ -f "$itesla_config_dir/logback-offline.xml" ] && options+="$itesla_config_dir" || options+="$installDir/etc"
[ -f "$itools_config_dir/logback-offline.xml" ] && options+="$itools_config_dir" || options+="$installDir/etc"
options+="/logback-offline.xml"
$JAVA_HOME/bin/java \
-Xmx8G \
Expand All @@ -44,16 +44,16 @@ $options \
eu.itesla_project.offline.mpi.Master \
--mode=$1 \
--tmp-dir=$tmpdir \
--statistics-factory-class="eu.itesla_project.computation.mpi.CsvMpiStatisticsFactory" \
--statistics-factory-class="com.powsybl.computation.mpi.CsvMpiStatisticsFactory" \
--statistics-db-dir=$HOME \
--statistics-db-name="statistics" \
--cores=$CORES \
--stdout-archive=$tmpdir/stdout-archive.zip
else
# valgrind --show-reachable=yes --track-origins=yes --track-fds=yes --log-file=/tmp/val.log --error-limit=no
# valgrind --show-reachable=yes --track-origins=yes --track-fds=yes --log-file=/tmp/val.log --error-limit=no
mkdir $HOME/archive > /dev/null 2>&1
rm -r $tmpdir/itesla_common_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itesla_job_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itesla_work_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itools_common_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itools_job_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itools_work_${rank}* > /dev/null 2>&1
${installDir}/bin/slave --tmp-dir=$tmpdir --archive-dir=$HOME/archive --log-file=$tmpdir/slave.log --cores=$CORES
fi
2 changes: 1 addition & 1 deletion scripts/offline-service.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
installBinDir=$(dirname $(readlink -f $0))
installDir=${installBinDir%/*}

. $installDir/etc/itesla.conf
. $installDir/etc/itools.conf

pidFile=$HOME/.itesla_offline_pid

Expand Down
24 changes: 12 additions & 12 deletions scripts/online-mpi-task.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
installBinDir=$(dirname $(readlink -f $0))
installDir=${installBinDir%/*}

. $installDir/etc/itesla.conf
. $installDir/etc/itools.conf

if [[ -n "$OMPI_MCA_rmaps_base_cpus_per_rank" ]]; then
CORES=$OMPI_MCA_rmaps_base_cpus_per_rank
CORES=$OMPI_MCA_rmaps_base_cpus_per_rank
else
CORES=1
CORES=1
fi

tmpdir=$installDir/tmp
Expand All @@ -32,15 +32,15 @@ if [ $rank = 0 ]; then
exit -1
fi
export LD_LIBRARY_PATH=${installDir}/lib:$LD_LIBRARY_PATH
[ -n "$itesla_cache_dir" ] && options+="-Ditesla.cache.dir=$itesla_cache_dir"
[ -n "$itesla_config_dir" ] && options+=" -Ditesla.config.dir=$itesla_config_dir"
[ -n "$itesla_config_name" ] && options+=" -Ditesla.config.name=$itesla_config_name"
[ -n "$itools_cache_dir" ] && options+="-Ditools.cache.dir=$itools_cache_dir"
[ -n "$itools_config_dir" ] && options+=" -Ditools.config.dir=$itools_config_dir"
[ -n "$itools_config_name" ] && options+=" -Ditools.config.name=$itools_config_name"
options+=" -Dcom.sun.management.jmxremote.port=6667"
options+=" -Dcom.sun.management.jmxremote.authenticate=false"
options+=" -Dcom.sun.management.jmxremote.ssl=false"
options+=" -Djava.io.tmpdir=$installDir/tmp"
options+=" -Dlogback.configurationFile="
[ -f "$itesla_config_dir/logback-online.xml" ] && options+="$itesla_config_dir" || options+="$installDir/etc"
[ -f "$itools_config_dir/logback-online.xml" ] && options+="$itools_config_dir" || options+="$installDir/etc"
options+="/logback-online.xml"
$JAVA_HOME/bin/java \
-Xmx2048m \
Expand All @@ -49,16 +49,16 @@ $options \
eu.itesla_project.online.mpi.Master \
--mode=$1 \
--tmp-dir=$tmpdir \
--statistics-factory-class="eu.itesla_project.computation.mpi.CsvMpiStatisticsFactory" \
--statistics-factory-class="com.powsybl.computation.mpi.CsvMpiStatisticsFactory" \
--statistics-db-dir=$installDir/logs \
--statistics-db-name="statistics" \
--cores=$CORES \
--stdout-archive=$tmpdir/stdout-archive.zip
else
# valgrind --show-reachable=yes --track-origins=yes --track-fds=yes --log-file=/tmp/val.log --error-limit=no
# valgrind --show-reachable=yes --track-origins=yes --track-fds=yes --log-file=/tmp/val.log --error-limit=no
mkdir $installDir/archive > /dev/null 2>&1
rm -r $tmpdir/itesla_common_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itesla_job_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itesla_work_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itools_common_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itools_job_${rank}* > /dev/null 2>&1
rm -r $tmpdir/itools_work_${rank}* > /dev/null 2>&1
${installDir}/bin/slave --tmp-dir=$tmpdir --archive-dir=$installDir/archive --log-file=$installDir/logs/slave.log --cores=$CORES
fi
14 changes: 7 additions & 7 deletions scripts/online-service.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
installBinDir=$(dirname $(readlink -f $0))
installDir=${installBinDir%/*}

. $installDir/etc/itesla.conf
. $installDir/etc/itools.conf

pidFile=$HOME/.itesla_online_pid

Expand Down Expand Up @@ -71,14 +71,14 @@ clean_cache() {
if [ -n "$pid" ]; then
echo "cannot clean cache: online service is running ($pid)"
else
if [ -n "$itesla_cache_dir" ]; then
echo "cleaning cache ( $itesla_cache_dir ) ..."
rm -r $itesla_cache_dir >> /dev/null 2>&1
mkdir $itesla_cache_dir >> /dev/null 2>&1
touch $itesla_cache_dir/dontdeleteme >> /dev/null 2>&1
if [ -n "$itools_cache_dir" ]; then
echo "cleaning cache ( $itools_cache_dir ) ..."
rm -r $itools_cache_dir >> /dev/null 2>&1
mkdir $itools_cache_dir >> /dev/null 2>&1
touch $itools_cache_dir/dontdeleteme >> /dev/null 2>&1
echo "cache cleaned."
else
echo "variable itesla_cache-dir not defined"
echo "variable itools_cache-dir not defined"
fi
fi
}
Expand Down

0 comments on commit 16b018e

Please sign in to comment.