w = WorkFlows(exp_config='exp_template.py', server_config='srvx1.py')
id = w.assimilate(assim_time, prior_init_time, prior_valid_time, prior_path_exp)
Calling :meth:`dartwrf.workflows.assimilate` triggers the execution of the script `dartwrf/assim_synth_obs.py`.
- Why do I need a separate script (in this case `assim_synth_obs.py`) to execute a script?
Because some users need to use SLURM, which can only call scripts, not run python code directly.
Recipe to add new functionality
*******************************
Do you need a new script? If not, use an existing one.
If you need write a new script, you need to
1. write a workflow method (`dartwrf/workflows.py`), e.g. copy and modify an existing one,
2. therein you call the script with :meth:`dartwrf.utils.ClusterConfig.run_job` available via `self.cluster.run_job`, be careful which command-line arguments you need
3. write the script and parse the command-line arguments