Menu

#6 Inconsistent state when direct_representer is interrupted

open
nobody
None
5
2008-02-19
2008-02-19
Ed Zaron
No

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.

Discussion


Log in to post a comment.