Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Workflow Editor

Workflow Editor allows to analyse the workflow's (e.g. ETS) Code Parameters.

...

Code Block
> module load workflow-editor

Getting help

To get basic overview of available options call workflow-editor with help argument

Code Block
> usage: workflow-editor
   -help                  print this message
   -actors                list all actors with Code Parameters
   -version               print the version information and exit
   -workflow <file>       analyze this workflow file
   -output <file>         name of the output workflow
   -actor <actorname>     name of the actor we will retrieve
   -xml                   list Code Parameters for actor
   -dxml                  list default Code Parameters for actor
   -xsd                   list XSD definition of Code Parameters for actor
   -validate <dest>       validate with [workflow|kepler]
   -actorxml              show XML Code Parameters inside actor
   -actorxsd              show XSD Code Parameters inside actor
   -actordxml             show Default XML Code Parameters inside actor
   -updatexml             update XML inside workflow using actor's version
   -updatexsd             update XSD inside workflow using actor's version
   -updatedxml            update default XML inside workflow using actor's version

Listing actors inside workflow

You can get the list of all actors that have Code Parameters by calling workflow-editor with "-actors" argument (remember to pass workflow as well)

Code Block
> workflow-editor -actors -workflow workflow_ets.xml
12:29:25.267 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - WEILAND - eu.itm.TCIWEILAND.TCIWEILAND
12:29:25.269 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - emeq_inside_simple_init - eu.itm.emeq.emeq
12:29:25.269 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - addICant - eu.itm.addICant.addICant
12:29:25.269 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - spider_inside_consistent_init - eu.itm.spider.spider
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - TGLF - eu.itm.TCITGLF.TCITGLF
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - chease - eu.itm.chease.chease
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - TORAYFOM - eu.itm.TORAYFOM.TORAYFOM
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - synchrotron_cytran - eu.itm.synchrotron_cytran.synchrotron_cytran
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - GLF23 - eu.itm.TCIGLF23.TCIGLF23
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - QLK - eu.itm.TCIQLK.TCIQLK
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - icdept - eu.itm.icdept.icdept
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - EDWM - eu.itm.TCIEDWM.TCIEDWM
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - afsi - eu.itm.afsi.afsi
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - ntmets - eu.itm.ntmets.ntmets
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - SOURCE_COMBINER - eu.itm.sourcecombiner.sourcecombiner
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - impuritymanipulator - eu.itm.impuritymanipulator.impuritymanipulator
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - ascot4parallel - eu.itm.ascot4parallel.ascot4parallel
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - emeq_inside_consistent_init - eu.itm.emeq.emeq
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - NCLASS - eu.itm.TCINCLASSZ.TCINCLASSZ
12:29:25.270 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - toric - eu.itm.toric.toric
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - EDWMZ - eu.itm.TCIEDWMZ.TCIEDWMZ
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - nemo - eu.itm.nemo.nemo
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - MMM - eu.itm.TCIMMM.TCIMMM
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - lion - eu.itm.LIONslice.LIONslice
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - pellettrigger - eu.itm.pellettrigger.pellettrigger
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - cyrano-in-loop - eu.itm.Cyrano.Cyrano
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - spot - eu.itm.spot.spot
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - teffcvg - eu.itm.teffcvg.teffcvg
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - deltacombiner - eu.itm.deltacombiner.deltacombiner
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - StixReDist - eu.itm.StixReDist.StixReDist
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - ascot4serial - eu.itm.ascot4serial.ascot4serial
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - nuclearsim - eu.itm.nuclearsim.nuclearsim
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - sawcrash - eu.itm.sawcrash.sawcrash
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - spider_inside_simple_init - eu.itm.spider.spider
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - IMP4imp - eu.itm.IMP4imp.IMP4imp
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - nbisim - eu.itm.nbisim.nbisim
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - hcd2coresource - eu.itm.hcd2coresource.hcd2coresource
12:29:25.271 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - gray - eu.itm.gray.gray
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - RELAX - eu.itm.RELAX.RELAX
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - gaussiansources - eu.itm.gausiansources.gausiansources
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - nbisim2 - eu.itm.nbisim2.nbisim2
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - RITM - eu.itm.TCIRITM.TCIRITM
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - addECant - eu.itm.addECant.addECant
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - checktearing - eu.itm.checktearing.checktearing
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - hcd2corefast - eu.itm.hcd2corefast.hcd2corefast
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - pelletactor - eu.itm.pelletactor.pelletactor
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - sawupdate - eu.itm.sawupdate.sawupdate
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - cyrano - eu.itm.Cyrano.Cyrano
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - ntmDeffTLets - eu.itm.ntmDeffTLets.ntmDeffTLets
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - cece - eu.itm.cece.cece
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - sawcrit - eu.itm.sawcrit.sawcrit
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - chease_inside_consistent_init - eu.itm.chease.chease
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - nbifiller - eu.itm.nbifiller.nbifiller
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - NEO - eu.itm.TCINEO.TCINEO
12:29:25.272 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - risk - eu.itm.risk.risk
12:29:25.273 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - emeq - eu.itm.emeq.emeq
12:29:25.273 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - travis - eu.itm.travis.travis
12:29:25.273 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - spider - eu.itm.spider.spider
12:29:25.273 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - chease_inside_simple_init - eu.itm.chease.chease
12:29:25.273 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - BgB_JETTO_Particles - eu.itm.BgB_JETTO_Particles.BgB_JETTO_Particles
12:29:25.273 [main] INFO  pl.psnc.kepler.commands.CommandGetActors - lion-in-loop - eu.itm.LIONslice.LIONslice

Retrieving XML/Default XML/XSD for actor

Once you have the name of the actor, you can list it's Code Parameters

...

Code Block
workflow-editor -xsd -xml -dxml -actor risk -workflow workflow_ets.xml

 

Getting Code Parameters from actor (installed inside Kepler)

It may happen that Code Parameters inside actor's code (inside Kepler) differ from data stored inside workflow. This can happen whenever you try to open workflow with more recent version of Kepler.

...

Note that you need to pass workflow as well. This is related to the fact that you can have multiple actors (inside workflow) that are actually pointing to the very same actor's code inside Kepler.

Replacing Batch Submission Scripts inside workfow

Whenever actor is put on canvas it takes all the parameters from the actor that is currently installed inside Kepler. This may lead to divergence between workflow and Kepler installation. Typical use-case where you may experience issues:

...

Code Block
> module load workflow-editor/rc
> ./bin/workflow-editor \
-updatebatch \
-actor nocpompibatch \
-batchfile `pwd`/new_script.txt \
-workflow `pwd`/workflow.xml \
-output workflow_out.xml
11:41:16.558 [main] INFO  pl.psnc.kepler.CLIParse - Parsing XML file
11:41:16.591 [main] INFO  pl.psnc.kepler.CLIParse - Creating Kepler based workflow
11:41:16.943 [main] INFO  pl.psnc.kepler.commands.CommandUpdateActorBatchScript - I have found batch script for actor: nocpompibatch

Helper script for listing all "broken" actors inside workflow file

It may happen that workflow contains inconsistent Code Parameters for an actor. For example, XML doesn't conform to XSD stored inside workflow. You can make bulk check of workflow by creating wrapper script.

...

After running this script you will get the list of all actors that have some sort of issues related to XSD vs. XML inside Code Parameters.

Further development

There are few more features that have to be developed to make the tool more useful

...