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
...