ecFlow's documentation is now on readthedocs!

This can be the most interesting part, requiring choices for

  • suite durability
  • common libraries coding
  • ensuring maintainability

The CDP client provides an environment where CDP variables, aliases and functions are global entities. Choosing ksh to design a suite will lead to similar concepts and practices. Choosing the Python language can lead to deeper changes.

Milestones are:

  • the expanded definition file generation
  • the expanded definition file load into ecFlow server
  • running the (e)suite
  • eventually, expanded definition files played into SMS server, and run as (e)suite

Language correspondence:

CDP
ksh
Python
if (math) then cmds; else cmds; endifif ((math)); then cmds; else cmds; fiif math: cmds; else: cmds
while (math) do cmds; endwhilewhile ((math)); do cmds; donewhile math: cmds
loop VAR (spaced_list) do cmds; endloopfor VAR in spaced_list; do cmds; donefor VAR in list:
case VARcase $VAR inif VAR in [comma_list]:
in (spaced_list) do cmds; endinpiped_list) cmds;; 
in ( ) do cmds; endin*) cmds;;else:
endcaseesac 
for VAR math1 math2; dovar=math1; while ((var < math2)); dovar=math1; while var<math2:
for VAR math1 math2 step math3; dovar=math1; while ((var < math2)); do var=$((var+math3))
endfordone 
$ shell_cmd<native>popen2.popen2(“cmd”)
% cshell_cmdcsh 
< file_include. file_includeimport library
alias a cmds ; cmds2alias a=”cmds; cmds2”def a: cmds; cmds2
set variable valuevariable=valuevariable=”value”
variable=mathvariable=$((math))variable=math
variable=`shell_cmd`variable=$(shell_cmd)<use popen2>
manman / helphelp()
echoecho / printprint
# comment# comment# comment
set debug onset -euxpython -m trace -t pylint coverage