> I guess I am unclear on how you are storing these parameters.  They can't be
> columns in a table due to a hard HDF5 limitation.  Thus the parameters are
> either row entries in a table or they are stored as an array.  How you are
> storing them is going to determine how you might what to perform the
> comparison.

1/ I need a hierarchical model
cls1/injector/magnets/correctors
cls1/injector/magnets/quads
cls1/injecotr/magnets/solenoids
....

In my table, 1 row is
parameter name, value, <other parameter meta data>

2/ Assuming the hierarchical layout should not interfere with the comparison
(the 2 snapshots to be compared can have different 'hierarchical
model' due to evolution/ future development / future optimization, but
should still be comparable)
This forces me to have
* 1 table at the root with all backed up parameters with their
respective values = the backup table
* 1 static table with parameters to be backed up + metadata on
parameter (i.e subsystems it belongs to, etc)
* 1 hierarchy model to show how subsystems are related to systems and machines

A backup, backups everything
At restore, if I select the machine, the software (which is not
written yet!) will restore everything.
If i select a systems, only its subsystems will be restored.
Several systems or subsystem can be selected and restored in the same operation.


Now for the most common restore operations, instead of forcing the
operator to dig through the tree, i want to have 'preselected'
configuration.
I think I could do this with 'links'

So for groups I will have
/<machine./<system>/<subsystem>/<subsubsystem>/...
but also
/shortcut/<common backup name>/system1/<subset of its subsystems>/...
...................................................................../system2/<subset
of its subsystems>/
So that if I select the <common backup name> in GUI, I restore a
common list of systems/subsystems

Once the groups/directories have been selected, I query the 'backup
table' and find which parameters belongs to the selected (sub)systems
and restore only those.

That's the idea....


I would like to be able to compare snapshot of several subsystems
(without restoring).
I need a tolerance on the parameter which can be stored in the
parameter metadata table.
If abs(paramX in snapshot 1 - paramX in snapshot 2) > tolerance : then
print paramX val1, val2, tolerance

Then the operator can know what is different from a known working configuration.

Well, that's the idea.

> Also, any comparison where you want to build in a tolerance is
> going to have to (at some point) hit Python.  That is to say, you'll have to
> read into memory the parts of the file(s) that you want to do the comparison
> on (also true no matter what interface you use).

Is that true eevnt if the tolerance is stored in the h5 file (in the
parameter metadata table in my case) ?

> If you could describe your actual storage layout, we could help you more.

If you have a better storage layout, let me know ;-)

> Currently, sadly no.  ViTables does not let you edit.  I have toyed with the
> idea of writing a Traits-based application to do just that.  I have some
> parts of it written, if you or anyone else is interested....  It actually
> wouldn't be *that* much work.  I don't know of an HDF5 editor, only viewers.

I have already so much programming to do, but i could have someone
looking at this.
Send me whatever you have so I can look at it. ;-)

>> I am interested in h5 because my parameters can be classified in
>> /machine_id/systems/subsystems all of which could be groups. would be
>> nice for browsing and selective restore.
>
> Groups are a common feature to all HDF5 libraries (indeed they are the 'H')!

I actually found out about hdf5/pytables by looking at what is
packaged in python(x,y)
I am on linux though...

I tested vitables on windows. But couldn't install it on linux
though... But that's another thread... on a different mailing list!

Cheers,
--
E

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
http://p.sf.net/sfu/rim-devcon-copy2
_______________________________________________
Pytables-users mailing list
Pytables-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pytables-users

Reply via email to