#include "o815.h"
-void o815::obs::_meas(bool loadedobs) {
- *olog << "OBS_" << obsid << ": meas not implemented!" << endl << flush;
-};
-
-void o815::obs::_finish() {
- *olog << "OBS_" << obsid << ": finish not implemented!" << endl << flush;
-};
+#include "latlib/hypercache.h"
void o815::obs::finish() {
_finish();
}
-void o815::obs::meas() {
- _meas(true);
+void o815::obs::start() {
+ if(O815->rank==0) {
+ *out << "#" << O815->programid << "-" << obsid << O815->headMaster() << endl << flush;
+ *out << "#" << O815->programid << "-" << obsid << O815->headMaster() << "-" << datadesc << endl << flush;
+ }
+
+ if (O815->comargs.outdir=="")
+ MPI_Barrier(MPI_COMM_WORLD);
+
+ _start();
+}
+
+void o815::obs::meas(bool loadedobs) {
+ _meas(loadedobs);
}
-o815::obs::obs(const string& _obsid, o815 *_O815) {
+o815::obs::obs(const string& _obsid, const string& _datadesc, o815 *_O815, const int& obsmemSize) {
obsid = _obsid;
O815 = _O815;
-
+ datadesc = _datadesc;
O815->out->newsub(obsid);
- oout = O815->out->out[obsid];
- olog = O815->out->log;
+
+ out = O815->out->out[obsid];
+ log = O815->out->log;
+ paraQ = O815->paraQ;
+
+ ocid = hypercache::initO(O815->programid + "-" + obsid, O815->comargs.nequi, O815->comargs.nskip,
+ O815->comargs.obscache.first, &obsMem, obsmemSize, O815->comargs.obscache.second, log);
}