I don't know if you would call this a bug or a feature:
Step 0)
Suppose you run the direct representer calculation once to calculate some representers. Specifically, the outputs section of the xml-task description reads:
<!-- inversion outputs -->
<outputs>
<iom_compute_penalty_posterior/>
<iom_compute_penalty_prior/>
<iom_compute_representer_coefficients/>
<iom_compute_traj_optimal/>
<iom_compute_traj_prior/>
<iom_compute_traj_rep/>
<iom_compute_vect_h/>
<iom_form_matr_R/>
<iom_method_direct_representer/>
</outputs>
Step 1)
Now the IOM executes and we generate a few representers for diagnostic purposes.
Step 2)
Now, say, we re-tune some parameters, and want to regenerate representers, WITHOUT re-generating the prior solution, e.g.,
<!-- inversion outputs -->
<outputs>
<iom_compute_penalty_posterior/>
<iom_compute_penalty_prior/>
<iom_compute_representer_coefficients/>
<iom_compute_traj_optimal/>
<!-- <iom_compute_traj_prior/> -->
<iom_compute_traj_rep/>
<iom_compute_vect_h/>
<iom_form_matr_R/>
<iom_method_direct_representer/>
</outputs>
Step 3)
On re-running the IOM, we find that it fails because:
- the IOM has renamed the prior 'traj_prior.nc'
- by construction, the client _meas program always inputs 'traj.nc'
- 'traj.nc' is missing, or, worse yet, it exists but it is not the prior!
Probably, the safest way to achive the desired result is to use:
<!-- inversion outputs -->
<outputs>
<iom_compute_penalty_posterior/>
<!-- <iom_compute_penalty_prior/> -->
<iom_compute_representer_coefficients/>
<iom_compute_traj_optimal/>
<!-- <iom_compute_traj_prior/> -->
<iom_compute_traj_rep/>
<!-- <iom_compute_vect_h/> -->
<iom_form_matr_R/>
<iom_method_direct_representer/>
</outputs>
BUT THIS IS UNTESTED AT THIS TIME.