EAO have allocated me a serious lump of time to investigate ways in
which the starlink data system (basically NDF, ARY and HDS) could be
modified to meet the requirements of future EAO instruments, and to
implement such changes wherever possible. The main requirement is that
the NDF library should be able to handle very large arrays (number of
pixels > 2^32), although there are other requirements to do with the
long term maintainability of these libraries, and making them
thread-safe wherever appropriate
Since these Starlink libraries are used by various different
institutions in addition to EAO, I'm keen to keep everyone informed of
what's going on, and to get any input from other people on what should
and should not be done to them.
I'm presuming that the way forward with HDS will be to switch to Tim's
HDF5 implementation of the HDS API (https://arxiv.org/abs/1502.04029).
Regarding NDF and ARY, there is the question of whether it's
worthwhile considering porting them to a different language (either
C++ or C). The benefits of doing so, that I can think of, are
thread-safety and long-term maintainability as F77 programmers become
harder to find. The main down side is obviously the large amount of
work involved.
Anyway, this is just a starter message. If anyone has any thoughts on
ways in which this work should proceed, please chip in.
David
|