diff --git a/.gitattributes b/.gitattributes index 6e57dfc79ee2e78ed6d46df1d0fb92b0363813a3..d4ca84673b7baf00beaf448c4ec4ed2ac07bc425 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2493,15 +2493,12 @@ LCU/StationTest/xc_200_setup.sh eol=lf LCU/StationTest/xc_200_verify.sh eol=lf LCU/checkhardware/checkHardware.conf -text LCU/checkhardware/checkHardware.py -text -LCU/checkhardware/doServiceTest.sh -text svneol=unset#application/x-shellscript -LCU/checkhardware/doShortStationTest.sh -text svneol=unset#application/x-shellscript LCU/checkhardware/doStationTest.sh -text svneol=unset#application/x-shellscript LCU/checkhardware/lib/general_lib.py -text LCU/checkhardware/lib/lofar_lib.py -text LCU/checkhardware/lib/search_lib.py -text LCU/checkhardware/lib/test_db.py -text LCU/checkhardware/lib/test_lib.py -text -LCU/checkhardware/makeStationLogFile.py -text LCU/checkhardware/showTestResult.py -text LCU/checkhardware/updatePVSS.py -text MAC/APL/APLCommon/include/APL/APLCommon/AntennaField.h -text @@ -3810,6 +3807,7 @@ RTCP/Cobalt/GPUProc/share/gpu/kernels/IntToFloat.cuh -text RTCP/Cobalt/GPUProc/src/backward/CL/cl.hpp -text RTCP/Cobalt/GPUProc/src/cpu_utils.cc -text RTCP/Cobalt/GPUProc/src/cpu_utils.h -text +RTCP/Cobalt/GPUProc/src/scripts/get_casacore_measures_data.sh eol=lf RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh -text RTCP/Cobalt/GPUProc/src/scripts/startBGL.sh -text RTCP/Cobalt/GPUProc/src/scripts/stopBGL.sh -text diff --git a/CEP/Calibration/BBSKernel/include/BBSKernel/Expr/PiercePoint.h b/CEP/Calibration/BBSKernel/include/BBSKernel/Expr/PiercePoint.h index 1e239b484dd983ebd00e00450b08ccc5b375ff17..41886dc2988c3ea67a719e43fa5daa8563da3a58 100644 --- a/CEP/Calibration/BBSKernel/include/BBSKernel/Expr/PiercePoint.h +++ b/CEP/Calibration/BBSKernel/include/BBSKernel/Expr/PiercePoint.h @@ -45,19 +45,19 @@ namespace BBS // \addtogroup Expr // @{ -class PiercePoint: public BasicBinaryExpr<Vector<2>, Scalar, Vector<4> > +class PiercePoint: public BasicBinaryExpr<Vector<3>, Scalar, Vector<4> > { public: typedef shared_ptr<PiercePoint> Ptr; typedef shared_ptr<const PiercePoint> ConstPtr; PiercePoint(const casa::MPosition &position, - const Expr<Vector<2> >::ConstPtr &azel, + const Expr<Vector<3> >::ConstPtr &direction, const Expr<Scalar>::ConstPtr &height); protected: virtual const Vector<4>::View evaluateImpl(const Grid &grid, - const Vector<2>::View &azel, const Scalar::View &height) const; + const Vector<3>::View &direction, const Scalar::View &height) const; private: // Station position in ITRF coordinates. diff --git a/CEP/Calibration/BBSKernel/include/BBSKernel/IonosphereExpr.h b/CEP/Calibration/BBSKernel/include/BBSKernel/IonosphereExpr.h index f891fcea68498e898019715882aa45d5709ecdc2..8a6a6090731bdc09eb7c99e2c962168d33293ad5 100644 --- a/CEP/Calibration/BBSKernel/include/BBSKernel/IonosphereExpr.h +++ b/CEP/Calibration/BBSKernel/include/BBSKernel/IonosphereExpr.h @@ -62,7 +62,7 @@ public: virtual ~IonosphereExpr(); virtual Expr<JonesMatrix>::Ptr construct(const casa::MPosition &refPosition, - const casa::MPosition &station, const Expr<Vector<2> >::ConstPtr &azel) + const casa::MPosition &station, const Expr<Vector<3> >::ConstPtr &direction) const = 0; }; @@ -75,7 +75,7 @@ public: MIMExpr(const IonosphereConfig &config, Scope &scope); virtual Expr<JonesMatrix>::Ptr construct(const casa::MPosition &refPosition, - const casa::MPosition &station, const Expr<Vector<2> >::ConstPtr &azel) + const casa::MPosition &station, const Expr<Vector<3> >::ConstPtr &direction) const; private: @@ -92,7 +92,7 @@ public: ExpIonExpr(const IonosphereConfig&, Scope &scope); virtual Expr<JonesMatrix>::Ptr construct(const casa::MPosition &refPosition, - const casa::MPosition &station, const Expr<Vector<2> >::ConstPtr &azel) + const casa::MPosition &station, const Expr<Vector<3> >::ConstPtr &direction) const; private: diff --git a/CEP/Calibration/BBSKernel/include/BBSKernel/MeasurementExprLOFARUtil.h b/CEP/Calibration/BBSKernel/include/BBSKernel/MeasurementExprLOFARUtil.h index ff52a9201a76f5f534b784d2f502f5a88e9f7c07..46bc71833e0d09cb5469e9308f1bbf9dc0c4ec2f 100644 --- a/CEP/Calibration/BBSKernel/include/BBSKernel/MeasurementExprLOFARUtil.h +++ b/CEP/Calibration/BBSKernel/include/BBSKernel/MeasurementExprLOFARUtil.h @@ -138,7 +138,7 @@ makeScalarPhaseExpr(Scope &scope, Expr<JonesMatrix>::Ptr makeIonosphereExpr(const Station::ConstPtr &station, const casa::MPosition &refPosition, - const Expr<Vector<2> >::Ptr &exprAzEl, + const Expr<Vector<3> >::Ptr &exprDirection, const IonosphereExpr::Ptr &exprIonosphere); // Right multiply \p lhs by \p rhs. Return \p rhs if \p lhs is uninitialized. diff --git a/CEP/Calibration/BBSKernel/src/Expr/IonPhaseShift.cc b/CEP/Calibration/BBSKernel/src/Expr/IonPhaseShift.cc index af0ae825c2bb373fca31f57816bf75c922538d42..5ccee50ae4bae396495e1bb75af7b6377c76b2c6 100644 --- a/CEP/Calibration/BBSKernel/src/Expr/IonPhaseShift.cc +++ b/CEP/Calibration/BBSKernel/src/Expr/IonPhaseShift.cc @@ -160,13 +160,14 @@ const JonesMatrix IonPhaseShift::evaluateExpr(const Request &request, // Compute (differential) total electron content (TEC) at the piercepoint // (see memo by Bas van der Tol). + ASSERT(!r0.value().isArray()); Matrix r0sqr = r0.value() * r0.value(); + ASSERT(!beta.value().isArray()); Matrix beta_2 = beta.value() * 0.5; // LOG_DEBUG_STR("r0sqr: " << r0sqr); // LOG_DEBUG_STR("beta: " << beta_2); - Matrix tecX(0.0, 1, nTime); - Matrix tecY(0.0, 1, nTime); + Matrix tec(0.0, nFreq, nTime); for(size_t i = 0; i < calPiercePoint.size(); ++i) { Matrix dx = calPiercePoint[i].value(0) - piercePoint.value(0); @@ -174,43 +175,34 @@ const JonesMatrix IonPhaseShift::evaluateExpr(const Request &request, Matrix dz = calPiercePoint[i].value(2) - piercePoint.value(2); Matrix weight = pow((dx * dx + dy * dy + dz * dz) / r0sqr, beta_2); -// LOG_DEBUG_STR("dx: " << dx); -// LOG_DEBUG_STR("dy: " << dy); -// LOG_DEBUG_STR("dz: " << dz); +// LOG_DEBUG_STR("dx: " << dx.getDouble()); +// LOG_DEBUG_STR("dy: " << dy.getDouble()); +// LOG_DEBUG_STR("dz: " << dz.getDouble()); // LOG_DEBUG_STR("weight: " << weight); - tecX += weight * tecWhite[i].value(0); - tecY += weight * tecWhite[i].value(1); + tec += weight * tecWhite[i].value(0); } - tecX *= -0.5; - tecY *= -0.5; + tec *= -0.5; // Correct TEC value for the slant (angle of the line of sight w.r.t. the // normal to the ionospheric thin layer at the pierce point position). A // large slant implies a longer path through the ionosphere, and thus a // higher TEC value. - tecX /= cos(piercePoint.value(3)); - tecY /= cos(piercePoint.value(3)); - + tec *= piercePoint.value(3); + // Convert from slanted TEC to phase shift. // // TODO: Because MeqMatrix cannot handle the elementwise product of an N x 1 // times a 1 x M array, we have to write it out ourselves. Maybe this could // be made possible in MeqMatrix instead? - Matrix shiftX, shiftY; - shiftX.setDCMat(nFreq, nTime); - shiftY.setDCMat(nFreq, nTime); - double *shiftX_re, *shiftX_im; - double *shiftY_re, *shiftY_im; - shiftX.dcomplexStorage(shiftX_re, shiftX_im); - shiftY.dcomplexStorage(shiftY_re, shiftY_im); - - ASSERT(!tecX.isComplex() && tecX.isArray() - && static_cast<size_t>(tecX.nelements()) == nTime); - const double *tecItX = tecX.doubleStorage(); - ASSERT(!tecY.isComplex() && tecY.isArray() - && static_cast<size_t>(tecY.nelements()) == nTime); - const double *tecItY = tecY.doubleStorage(); + Matrix shift; + shift.setDCMat(nFreq, nTime); + double *shift_re, *shift_im; + shift.dcomplexStorage(shift_re, shift_im); + + ASSERT(!tec.isComplex() && tec.isArray() + && static_cast<size_t>(tec.nelements()) == nFreq*nTime); + const double *tecIt = tec.doubleStorage(); for(size_t t = 0; t < nTime; ++t) { @@ -230,30 +222,25 @@ const JonesMatrix IonPhaseShift::evaluateExpr(const Request &request, double k_nu = 8.44797245e9 / reqGrid[FREQ]->center(f); - double phaseX = k_nu * (*tecItX); - double phaseY = k_nu * (*tecItY); + double phase = k_nu * (*tecIt); - *shiftX_re++ = std::cos(phaseX); - *shiftX_im++ = std::sin(phaseX); - *shiftY_re++ = std::cos(phaseY); - *shiftY_im++ = std::sin(phaseY); + *shift_re++ = std::cos(phase); + *shift_im++ = std::sin(phase); + + ++tecIt; } - ++tecItX; - ++tecItY; } -// LOG_DEBUG_STR("TEC X: " << tecX); -// LOG_DEBUG_STR("TEC Y: " << tecY); -// LOG_DEBUG_STR("SHIFT X: " << shiftX); -// LOG_DEBUG_STR("SHIFT Y: " << shiftY); +// LOG_DEBUG_STR("TEC: " << tec); +// LOG_DEBUG_STR("SHIFT: " << shift); JonesMatrix result; result.setFlags(mergeFlags(flags.begin(), flags.end())); - result.assign(0, 0, shiftX); + result.assign(0, 0, shift); result.assign(0, 1, Matrix(makedcomplex(0.0, 0.0))); result.assign(1, 0, Matrix(makedcomplex(0.0, 0.0))); - result.assign(1, 1, shiftY); + result.assign(1, 1, shift); EXPR_TIMER_STOP(); diff --git a/CEP/Calibration/BBSKernel/src/Expr/PiercePoint.cc b/CEP/Calibration/BBSKernel/src/Expr/PiercePoint.cc index 47ff1d1b3ce84f12a7f9417e19dbc7a8d6799f29..3e884ec3f2eb801b37cd0b8a930e138aefa48b11 100644 --- a/CEP/Calibration/BBSKernel/src/Expr/PiercePoint.cc +++ b/CEP/Calibration/BBSKernel/src/Expr/PiercePoint.cc @@ -44,66 +44,41 @@ namespace LOFAR namespace BBS { +const double earth_ellipsoid_a = 6378137.0; +const double earth_ellipsoid_a2 = earth_ellipsoid_a*earth_ellipsoid_a; +const double earth_ellipsoid_b = 6356752.3142; +const double earth_ellipsoid_b2 = earth_ellipsoid_b*earth_ellipsoid_b; +const double earth_ellipsoid_e2 = (earth_ellipsoid_a2 - earth_ellipsoid_b2) / earth_ellipsoid_a2; + + PiercePoint::PiercePoint(const casa::MPosition &position, - const Expr<Vector<2> >::ConstPtr &direction, + const Expr<Vector<3> >::ConstPtr &direction, const Expr<Scalar>::ConstPtr &height) - : BasicBinaryExpr<Vector<2>, Scalar, Vector<4> >(direction, height), + : BasicBinaryExpr<Vector<3>, Scalar, Vector<4> >(direction, height), itsPosition(casa::MPosition::Convert(position, casa::MPosition::ITRF)()) { - // Get geodetic longitude, geodetic lattitude, and height above the - // ellipsoid (WGS84). - casa::MPosition mPositionWGS84 = - casa::MPosition::Convert(itsPosition, casa::MPosition::WGS84)(); - const casa::MVPosition &mvPositionWGS84 = mPositionWGS84.getValue(); - itsLon = mvPositionWGS84.getLong(); - itsLat = mvPositionWGS84.getLat(); - - // Compute the distance from the center of gravity of the earth to the - // station position. - itsPositionRadius = itsPosition.getValue().getLength().getValue(); - - // Use height above the ellipsoid to compute the earth radius at the - // position of the station. - // - // TODO: You cannot just subtract the height above the ellipsoid from the - // length of the ITRF position vector and expect to get the earth radius at - // the station position. Assuming "earth radius" means distance from the - // center of mass of the earth to the position on the ellipsoid specified by - // itsLat, itsLon, then still this is incorrect because the position vector - // is generally not parallel to the ellipsoidal normal vector at the - // position on the ellipsoid at itsLat, itsLon (along which the height above - // the ellipsoid is measured). - // - // TODO: This earth radius is specific to the station position, yet it is - // also used when computing the length of the pierce point vector (which - // intersects the earth's surface at a different position, where the earth - // radius may be different!). - itsEarthRadius = itsPositionRadius - mvPositionWGS84.getLength().getValue(); - -// LOG_DEBUG_STR("Antenna: Longitude: " << (itsLon * 180.0) / casa::C::pi -// << " deg, Lattitude: " << (itsLat * 180.0) / casa::C::pi -// << " deg, Height: " << itsHeight << " m, Radius: " << radius -// << " m, Earth radius: " << itsEarthRadius << " m"); -// LOG_DEBUG_STR("Antenna: Longitude: " << itsLon -// << " rad, Lattitude: " << itsLat -// << " rad, Height: " << itsHeight << " m, Radius: " << radius -// << " m, Earth radius: " << itsEarthRadius << " m"); } const Vector<4>::View PiercePoint::evaluateImpl(const Grid &grid, - const Vector<2>::View &azel, const Scalar::View &height) const + const Vector<3>::View &direction, const Scalar::View &height) const { const size_t nTime = grid[TIME]->size(); + const size_t nFreq = grid[FREQ]->size(); // Allocate space for the result. // TODO: This is a hack! The Matrix class does not support 1xN or Nx1 // "matrices". - Matrix out_x, out_y, out_z, out_alpha; - double *x = out_x.setDoubleFormat(1, nTime); - double *y = out_y.setDoubleFormat(1, nTime); - double *z = out_z.setDoubleFormat(1, nTime); - double *alpha = out_alpha.setDoubleFormat(1, nTime); + Matrix out_x, out_y, out_z, out_airmass; + double *out_x_ptr = out_x.setDoubleFormat(nFreq, nTime); + double *out_y_ptr = out_y.setDoubleFormat(nFreq, nTime); + double *out_z_ptr = out_z.setDoubleFormat(nFreq, nTime); + double *out_airmass_ptr = out_airmass.setDoubleFormat(nFreq, nTime); + double pp_x, pp_y, pp_z, pp_airmass; + + + ASSERT(!height().isArray()); + double h = height().getDouble(); // Get station position in ITRF coordinates. const casa::MVPosition &mPosition = itsPosition.getValue(); @@ -111,109 +86,90 @@ const Vector<4>::View PiercePoint::evaluateImpl(const Grid &grid, double stationY = mPosition(1); double stationZ = mPosition(2); -// LOG_DEBUG_STR("Geocentric lattitude: " << std::atan2(stationZ, std::sqrt(stationX * stationX + stationY * stationY))); - - // Precompute rotation matrix to transform from local ENU (East, North, Up) - // coordinates to ITRF coordinates (see e.g. - // http://en.wikipedia.org/wiki/Geodetic_system). - // - // TODO: Use measures to compute a direction vector in ITRF directly, - // instead of going from (RA, Dec) to (azimuth, elevation), to ENU to ITRF. - double sinlon = std::sin(itsLon); - double coslon = std::cos(itsLon); - double sinlat = std::sin(itsLat); - double coslat = std::cos(itsLat); - double R[3][3] = {{-sinlon, -sinlat * coslon, coslat * coslon}, - { coslon, -sinlat * sinlon, coslat * sinlon}, - { 0.0, coslat, sinlat}}; - -// { -// // A first stab at using the measures to compute a direction vector -// // in ITRF coordinates directly. Needs more work. -// casa::Quantity qEpoch(grid[TIME]->center(0), "s"); -// casa::MEpoch mEpoch(qEpoch, casa::MEpoch::UTC); - -// // Create and initialize a frame. -// casa::MeasFrame frame; -// frame.set(itsPosition); -// frame.set(mEpoch); - -// // Create conversion engine. -// casa::MDirection mDirection(casa::MVDirection(4.33961, 1.09537), -// casa::MDirection::Ref(casa::MDirection::J2000)); - -// casa::MDirection::Convert converter = -// casa::MDirection::Convert(mDirection, -// casa::MDirection::Ref(casa::MDirection::ITRF, frame)); - -// LOG_DEBUG_STR("Convertor: " << converter); - -// // Compute XYZ direction vector. -// casa::MVDirection mvXYZ(converter().getValue()); -// const casa::Vector<casa::Double> xyz = mvXYZ.getValue(); -// LOG_DEBUG_STR("XYZ direction (from measures): " << xyz(0) << " " -// << xyz(1) << " " << xyz(2)); -// } - - ASSERT(azel(0).isArray() && azel(0).nx() == 1); - ASSERT(azel(1).isArray() && azel(1).nx() == 1); - ASSERT(!height().isArray()); + const double ion_ellipsoid_a = earth_ellipsoid_a + h; + const double ion_ellipsoid_a2_inv = 1.0 / (ion_ellipsoid_a * ion_ellipsoid_a); + const double ion_ellipsoid_b = earth_ellipsoid_b + h; + const double ion_ellipsoid_b2_inv = 1.0 / (ion_ellipsoid_b * ion_ellipsoid_b); - // TODO: itsEarthRadius is valid only for the station position, which is - // generally not equal to the position where the pierce point vector - // intersects the ellipsoid. The question is how the height of the - // ionospheric layer should be defined. A layer with a fixed distance from - // the earth center of mass is probably easiest. - double ionosphereRadius = itsEarthRadius + height().getDouble(); + double x = stationX/ion_ellipsoid_a; + double y = stationY/ion_ellipsoid_a; + double z = stationZ/ion_ellipsoid_b; + double c = x*x + y*y + z*z - 1.0; for(size_t i = 0; i < nTime; ++i) { - double az = azel(0).getDouble(0, i); - double el = azel(1).getDouble(0, i); - - // Calculate alpha, this is the angle of the line of sight with the - // normal of the ionospheric layer at the pierce point location (i.e. - // alpha' (alpha prime) in the memo). - *alpha = - std::asin(std::cos(el) * (itsPositionRadius / ionosphereRadius)); - - // Compute direction vector in local ENU (East, North, Up) coordinates. - double cosel = std::cos(el); - double dx = std::sin(az) * cosel; - double dy = std::cos(az) * cosel; - double dz = std::sin(el); - - // Transform the direction vector from the local ENU frame to the ITRF - // frame. - double dxr = R[0][0] * dx + R[0][1] * dy + R[0][2] * dz; - double dyr = R[1][0] * dx + R[1][1] * dy + R[1][2] * dz; - double dzr = R[2][0] * dx + R[2][1] * dy + R[2][2] * dz; - -// if(i == 0) -// { -// LOG_DEBUG_STR("XYZ direction (from az, el): " << dxr << " " << dyr -// << " " << dzr); -// } - - // Compute the distance from the station to the pierce point, i.e. - // equation 6 in the memo. The equation below is equivalent to that in - // the memo, but it is expressed in elevation instead of zenith angle. - double radius = ionosphereRadius * std::cos(el + *alpha) / cosel; - - // Compute the pierce point location in ITRF coordinates. - *x = stationX + radius * dxr; - *y = stationY + radius * dyr; - *z = stationZ + radius * dzr; - - ++x; ++y; ++z; ++alpha; + double directionX = direction(0).getDouble(0, i); + double directionY = direction(1).getDouble(0, i); + double directionZ = direction(2).getDouble(0, i); + + double dx = directionX / ion_ellipsoid_a; + double dy = directionY / ion_ellipsoid_a; + double dz = directionZ / ion_ellipsoid_b; + + double a = dx*dx + dy*dy + dz*dz; + double b = x*dx + y*dy + z*dz; + double alpha = (-b + std::sqrt(b*b - a*c))/a; + + pp_x = stationX + alpha*directionX; + pp_y = stationY + alpha*directionY; + pp_z = stationZ + alpha*directionZ; + double normal_x = pp_x * ion_ellipsoid_a2_inv; + double normal_y = pp_y * ion_ellipsoid_a2_inv; + double normal_z = pp_z * ion_ellipsoid_b2_inv; + double norm_normal2 = normal_x*normal_x + normal_y*normal_y + normal_z*normal_z; + double norm_normal = std::sqrt(norm_normal2); + double sin_lat2 = normal_z*normal_z / norm_normal2; + + double g = 1.0 - earth_ellipsoid_e2*sin_lat2; + double sqrt_g = std::sqrt(g); + + double M = earth_ellipsoid_b2 / ( earth_ellipsoid_a * g * sqrt_g ); + double N = earth_ellipsoid_a / sqrt_g; + + double local_ion_ellipsoid_e2 = (M-N) / ((M+h)*sin_lat2 - N - h); + double local_ion_ellipsoid_a = (N+h) * std::sqrt(1.0 - local_ion_ellipsoid_e2*sin_lat2); + double local_ion_ellipsoid_b = local_ion_ellipsoid_a*std::sqrt(1.0 - local_ion_ellipsoid_e2); + + double z_offset = ((1.0-earth_ellipsoid_e2)*N + h - (1.0-local_ion_ellipsoid_e2)*(N+h)) * std::sqrt(sin_lat2); + + double x1 = stationX/local_ion_ellipsoid_a; + double y1 = stationY/local_ion_ellipsoid_a; + double z1 = (stationZ-z_offset)/local_ion_ellipsoid_b; + double c1 = x1*x1 + y1*y1 + z1*z1 - 1.0; + + dx = directionX / local_ion_ellipsoid_a; + dy = directionY / local_ion_ellipsoid_a; + dz = directionZ / local_ion_ellipsoid_b; + a = dx*dx + dy*dy + dz*dz; + b = x1*dx + y1*dy + z1*dz; + alpha = (-b + std::sqrt(b*b - a*c1))/a; + + pp_x = stationX + alpha*directionX; + pp_y = stationY + alpha*directionY; + pp_z = stationZ + alpha*directionZ; + + normal_x = pp_x / (local_ion_ellipsoid_a * local_ion_ellipsoid_a); + normal_y = pp_y / (local_ion_ellipsoid_a * local_ion_ellipsoid_a); + normal_z = (pp_z-z_offset) / (local_ion_ellipsoid_b * local_ion_ellipsoid_b); + + norm_normal2 = normal_x*normal_x + normal_y*normal_y + normal_z*normal_z; + norm_normal = std::sqrt(norm_normal2); + + pp_airmass = norm_normal / (directionX*normal_x + directionY*normal_y + directionZ*normal_z); + + for(size_t j = 0; j < nFreq; ++j) { + *(out_x_ptr++) = pp_x; + *(out_y_ptr++) = pp_y; + *(out_z_ptr++) = pp_z; + *(out_airmass_ptr++) = pp_airmass; + } } - // Create result. Vector<4>::View result; result.assign(0, out_x); result.assign(1, out_y); result.assign(2, out_z); - result.assign(3, out_alpha); + result.assign(3, out_airmass); return result; } diff --git a/CEP/Calibration/BBSKernel/src/IonosphereExpr.cc b/CEP/Calibration/BBSKernel/src/IonosphereExpr.cc index 97d665e136fd4eb53f151092bfb39bb31bfa08c7..3e1ed42e6f4cf0a5ae30efa61a42f30ed546fa1e 100644 --- a/CEP/Calibration/BBSKernel/src/IonosphereExpr.cc +++ b/CEP/Calibration/BBSKernel/src/IonosphereExpr.cc @@ -111,10 +111,10 @@ MIMExpr::MIMExpr(const IonosphereConfig &config, Scope &scope) } Expr<JonesMatrix>::Ptr MIMExpr::construct(const casa::MPosition &refPosition, - const casa::MPosition &station, const Expr<Vector<2> >::ConstPtr &azel) + const casa::MPosition &station, const Expr<Vector<3> >::ConstPtr &direction) const { - PiercePoint::Ptr piercePoint(new PiercePoint(station, azel, itsHeight)); + PiercePoint::Ptr piercePoint(new PiercePoint(station, direction, itsHeight)); PolynomialLayer::Ptr shift(new PolynomialLayer(refPosition, piercePoint, itsCoeff.begin(), itsCoeff.end())); @@ -166,10 +166,10 @@ ExpIonExpr::ExpIonExpr(const IonosphereConfig&, Scope &scope) } Expr<JonesMatrix>::Ptr ExpIonExpr::construct(const casa::MPosition&, - const casa::MPosition &station, const Expr<Vector<2> >::ConstPtr &azel) + const casa::MPosition &station, const Expr<Vector<3> >::ConstPtr &direction) const { - PiercePoint::Ptr piercePoint(new PiercePoint(station, azel, itsHeight)); + PiercePoint::Ptr piercePoint(new PiercePoint(station, direction, itsHeight)); IonPhaseShift::Ptr shift(new IonPhaseShift(piercePoint, itsR0, itsBeta)); shift->setCalibratorPiercePoints(itsCalPiercePoint.begin(), diff --git a/CEP/Calibration/BBSKernel/src/MeasurementExprLOFAR.cc b/CEP/Calibration/BBSKernel/src/MeasurementExprLOFAR.cc index 02b613bf7eb0e12469fafe30ca78bf19f7fce701..eb2ae9af1baa87be7a16ed94ba8b40d972766c65 100644 --- a/CEP/Calibration/BBSKernel/src/MeasurementExprLOFAR.cc +++ b/CEP/Calibration/BBSKernel/src/MeasurementExprLOFAR.cc @@ -243,13 +243,13 @@ void MeasurementExprLOFAR::makeForwardExpr(SourceDB &sourceDB, { // Create an AZ, EL expression for the centroid direction of the // patch. - Expr<Vector<2> >::Ptr exprAzEl = - makeAzElExpr(instrument->station(j)->position(), - exprPatch->position()); +// Expr<Vector<2> >::Ptr exprAzEl = +// makeAzElExpr(instrument->station(j)->position(), +// exprPatch->position()); exprDDE[j] = compose(exprDDE[j], makeIonosphereExpr(instrument->station(j), - instrument->position(), exprAzEl, exprIonosphere)); + instrument->position(), exprPatchPositionITRF, exprIonosphere)); } } @@ -549,15 +549,9 @@ void MeasurementExprLOFAR::makeInverseExpr(SourceDB &sourceDB, // Ionosphere. if(config.useIonosphere()) { - // Create an AZ, EL expression for the phase reference - // direction. - Expr<Vector<2> >::Ptr exprAzEl = - makeAzElExpr(instrument->station(i)->position(), - exprRefPhase); - stationExpr[i] = compose(stationExpr[i], makeIonosphereExpr(instrument->station(i), - instrument->position(), exprAzEl, exprIonosphere)); + instrument->position(), exprRefPhaseITRF, exprIonosphere)); } } } @@ -583,7 +577,6 @@ void MeasurementExprLOFAR::makeInverseExpr(SourceDB &sourceDB, makeDirectionalGainExpr(itsScope, instrument->station(i), patch, config.usePhasors())); } - // Beam. if(config.useBeam()) { @@ -629,15 +622,9 @@ void MeasurementExprLOFAR::makeInverseExpr(SourceDB &sourceDB, // Ionosphere. if(config.useIonosphere()) { - // Create an AZ, EL expression for the centroid direction of - // the patch. - Expr<Vector<2> >::Ptr exprAzEl = - makeAzElExpr(instrument->station(i)->position(), - exprPatch->position()); - stationExpr[i] = compose(stationExpr[i], makeIonosphereExpr(instrument->station(i), - instrument->position(), exprAzEl, exprIonosphere)); + instrument->position(), exprPatchPositionITRF, exprIonosphere)); } } } diff --git a/CEP/Calibration/BBSKernel/src/MeasurementExprLOFARUtil.cc b/CEP/Calibration/BBSKernel/src/MeasurementExprLOFARUtil.cc index bf7ab794df146634a77f78e136b1309d03501eac..4020dd42f3055777705fadbd2cf5256f8d6dad60 100644 --- a/CEP/Calibration/BBSKernel/src/MeasurementExprLOFARUtil.cc +++ b/CEP/Calibration/BBSKernel/src/MeasurementExprLOFARUtil.cc @@ -397,11 +397,11 @@ makeScalarPhaseExpr(Scope &scope, Expr<JonesMatrix>::Ptr makeIonosphereExpr(const Station::ConstPtr &station, const casa::MPosition &refPosition, - const Expr<Vector<2> >::Ptr &exprAzEl, + const Expr<Vector<3> >::Ptr &exprDirection, const IonosphereExpr::Ptr &exprIonosphere) { return exprIonosphere->construct(refPosition, station->position(), - exprAzEl); + exprDirection); } Expr<JonesMatrix>::Ptr diff --git a/CEP/Calibration/BBSKernel/src/StationExprLOFAR.cc b/CEP/Calibration/BBSKernel/src/StationExprLOFAR.cc index e12e0b57f78d01771e7b87df93ff96d3e4517c78..249e2cee4bd0b0182dfd61abd91f20404cdb630a 100644 --- a/CEP/Calibration/BBSKernel/src/StationExprLOFAR.cc +++ b/CEP/Calibration/BBSKernel/src/StationExprLOFAR.cc @@ -134,7 +134,7 @@ void StationExprLOFAR::initialize(SourceDB &sourceDB, const BufferMap &buffers, " correction can only be applied for a single direction on the" " sky."); } - + // Beam reference position on the sky. Expr<Vector<2> >::Ptr exprRefDelay = makeDirectionExpr(refDelay); Expr<Vector<3> >::Ptr exprRefDelayITRF = @@ -187,15 +187,9 @@ void StationExprLOFAR::initialize(SourceDB &sourceDB, const BufferMap &buffers, // Ionosphere. if(config.useIonosphere()) { - // Create an AZ, EL expression for the phase reference - // direction. - Expr<Vector<2> >::Ptr exprAzEl = - makeAzElExpr(instrument->station(i)->position(), - exprRefPhase); - itsExpr[i] = compose(itsExpr[i], makeIonosphereExpr(instrument->station(i), - instrument->position(), exprAzEl, exprIonosphere)); + instrument->position(), exprRefPhaseITRF, exprIonosphere)); } } } @@ -221,7 +215,6 @@ void StationExprLOFAR::initialize(SourceDB &sourceDB, const BufferMap &buffers, makeDirectionalGainExpr(itsScope, instrument->station(i), patch, config.usePhasors())); } - // Beam. if(config.useBeam()) { @@ -266,15 +259,9 @@ void StationExprLOFAR::initialize(SourceDB &sourceDB, const BufferMap &buffers, // Ionosphere. if(config.useIonosphere()) { - // Create an AZ, EL expression for the centroid direction of - // the patch. - Expr<Vector<2> >::Ptr exprAzEl = - makeAzElExpr(instrument->station(i)->position(), - exprPatch->position()); - itsExpr[i] = compose(itsExpr[i], makeIonosphereExpr(instrument->station(i), - instrument->position(), exprAzEl, exprIonosphere)); + instrument->position(), exprPatchPositionITRF, exprIonosphere)); } } } @@ -477,7 +464,7 @@ PatchExprBase::Ptr StationExprLOFAR::makePatchExpr(const string &name, it->second)); } - return PatchExprBase::Ptr(new PatchExpr(itsScope, sourceDB, name, + return PatchExprBase::Ptr(new PatchExpr(itsScope, sourceDB, name, refPhase)); } diff --git a/CEP/DP3/DPPP/include/DPPP/ApplyCal.h b/CEP/DP3/DPPP/include/DPPP/ApplyCal.h index 6c072de0d5d1f256bb72e00d17a2621e1dff225b..709b48229c083a77ef72b6b4c1448e44b5de3fac 100644 --- a/CEP/DP3/DPPP/include/DPPP/ApplyCal.h +++ b/CEP/DP3/DPPP/include/DPPP/ApplyCal.h @@ -34,6 +34,7 @@ #include <ParmDB/Parm.h> #include <casa/Arrays/Cube.h> #include <casa/Arrays/ArrayMath.h> +#include <DPPP/FlagCounter.h> namespace LOFAR { namespace DPPP { @@ -67,7 +68,6 @@ namespace LOFAR { // Show the timings. virtual void showTimings (std::ostream&, double duration) const; - private: // Apply a diagonal Jones matrix to the 2x2 visibilities matrix: A.V.B^H void applyDiag (casa::Complex* vis, float* weight, int antA, int antB, @@ -103,6 +103,7 @@ namespace LOFAR { uint itsNCorr; double itsTimeInterval; double itsLastTime; + FlagCounter itsFlagCounter; bool itsUseAP; //# use ampl/phase or real/imag NSTimer itsTimer; }; diff --git a/CEP/DP3/DPPP/include/DPPP/DPInfo.h b/CEP/DP3/DPPP/include/DPPP/DPInfo.h index 6c20eb982b7ddca02d92f7be52960998ad4019bb..94a98e7e9cca182a925eb319030f29f8da8d2ebd 100644 --- a/CEP/DP3/DPPP/include/DPPP/DPInfo.h +++ b/CEP/DP3/DPPP/include/DPPP/DPInfo.h @@ -112,8 +112,10 @@ namespace LOFAR { { return itsNCorr; } uint nchan() const { return itsNChan; } + uint startchan() const + { return itsStartChan; } uint origNChan() const - { return itsOrigNChan; } + { return itsOrigNChan; } uint nchanAvg() const { return itsChanAvg; } uint nbaselines() const @@ -201,6 +203,7 @@ namespace LOFAR { string itsMSName; string itsAntennaSet; uint itsNCorr; + uint itsStartChan; uint itsOrigNChan; uint itsNChan; uint itsChanAvg; diff --git a/CEP/DP3/DPPP/include/DPPP/MSReader.h b/CEP/DP3/DPPP/include/DPPP/MSReader.h index dd244fb2b120f578d6df6575db7c2e6b37bfca6e..0a526c8c4aaa2c1f7741e3894b1c2c98bd1be3a7 100644 --- a/CEP/DP3/DPPP/include/DPPP/MSReader.h +++ b/CEP/DP3/DPPP/include/DPPP/MSReader.h @@ -240,6 +240,10 @@ namespace LOFAR { const DPBuffer& getBuffer() const { return itsBuffer; } + // Flags inf and NaN + static void flagInfNaN(const casa::Cube<casa::Complex>& dataCube, + casa::Cube<bool>& flagsCube, FlagCounter& flagCounter); + private: // Prepare the access to the MS. // Return the first and last time and the interval. diff --git a/CEP/DP3/DPPP/include/DPPP/MSUpdater.h b/CEP/DP3/DPPP/include/DPPP/MSUpdater.h index 80eae52bb61f255b7587922284bbc2dcd0996565..3aebf006a7d418204f4c473267c69eb79915f2b0 100644 --- a/CEP/DP3/DPPP/include/DPPP/MSUpdater.h +++ b/CEP/DP3/DPPP/include/DPPP/MSUpdater.h @@ -75,6 +75,11 @@ namespace LOFAR { const ParameterSet& parset, const string& prefix); + // Tests if an update is possible. When throwError is true, it will + // throw an error with a descriptive string instead of returning false + static bool updateAllowed (DPInfo& info, MSReader* reader, + bool throwError=true); + private: // Write the flags at the given row numbers. void putFlags (const casa::RefRows& rowNrs, @@ -101,9 +106,6 @@ namespace LOFAR { uint itsNrTimesFlush; //# flush every N time slots (0=no flush) bool itsWriteData; bool itsWriteWeight; - uint itsNrCorr; - uint itsNrChan; - uint itsNrBl; uint itsNrDone; //# nr of time slots written bool itsDataColAdded; //# has data column been added? bool itsWeightColAdded; //# has weight column been added? diff --git a/CEP/DP3/DPPP/src/ApplyCal.cc b/CEP/DP3/DPPP/src/ApplyCal.cc index cb9b34cf48ce02920c7de689076275a1f9123618..bf243ec99f5a9dd176a734bf1b455217993a63e0 100644 --- a/CEP/DP3/DPPP/src/ApplyCal.cc +++ b/CEP/DP3/DPPP/src/ApplyCal.cc @@ -25,6 +25,7 @@ #include <DPPP/ApplyCal.h> #include <DPPP/DPBuffer.h> #include <DPPP/DPInfo.h> +#include <DPPP/MSReader.h> #include <Common/ParameterSet.h> #include <Common/StringUtil.h> #include <Common/LofarLogger.h> @@ -58,8 +59,6 @@ namespace LOFAR { itsUseAP (false) { ASSERT (!itsParmDBName.empty()); - // Possible corrections one (or more?) of: - // Gain (real/imag or ampl/phase), RM, TEC, Clock, Bandpass } ApplyCal::~ApplyCal() @@ -144,6 +143,7 @@ namespace LOFAR { } initDataArrays(); + itsFlagCounter.init(getInfo()); } void ApplyCal::show (std::ostream& os) const @@ -205,6 +205,8 @@ namespace LOFAR { } } + MSReader::flagInfNaN(buf.getData(),buf.getFlags(),itsFlagCounter); + itsTimer.stop(); getNextStep()->process(buf); return false; @@ -496,5 +498,6 @@ namespace LOFAR { weight[3]=1./weight[3]; } + } //# end namespace } diff --git a/CEP/DP3/DPPP/src/DPInfo.cc b/CEP/DP3/DPPP/src/DPInfo.cc index 2ef9bd7f8003849d158a5bf785f79a1d9ece06ad..844dd1fc9d59a15a694e8f0942f4d1d5b3fae835 100644 --- a/CEP/DP3/DPPP/src/DPInfo.cc +++ b/CEP/DP3/DPPP/src/DPInfo.cc @@ -40,6 +40,7 @@ namespace LOFAR { : itsNeedVisData (false), itsNeedWrite (0), itsNCorr (0), + itsStartChan (0), itsNChan (0), itsChanAvg (1), itsNTime (0), @@ -187,8 +188,11 @@ namespace LOFAR { const vector<uint>& baselines, bool removeAnt) { Slice slice(startChan, nchan); + itsStartChan=startChan; itsChanFreqs.reference (itsChanFreqs (slice).copy()); itsChanWidths.reference (itsChanWidths(slice).copy()); + itsResolutions.reference (itsResolutions(slice).copy()); + itsEffectiveBW.reference (itsEffectiveBW(slice).copy()); itsNChan = nchan; // Keep only selected baselines. if (! baselines.empty()) { diff --git a/CEP/DP3/DPPP/src/DPRun.cc b/CEP/DP3/DPPP/src/DPRun.cc index d1c2333d02ac9c649f9934498e8ec56bcbab10f8..e2b5f71873a7e434df26656acb57461203622933 100644 --- a/CEP/DP3/DPPP/src/DPRun.cc +++ b/CEP/DP3/DPPP/src/DPRun.cc @@ -292,10 +292,9 @@ namespace LOFAR { // If the user specified an output MS name, a writer is always created // If there is a writer, the reader needs to read the visibility data. if (outName.empty()) { - ASSERTSTR (lastInfo.nchanAvg() == 1 && lastInfo.ntimeAvg() == 1, - "A new MS has to be given in msout if averaging is done"); - ASSERTSTR (lastInfo.phaseCenterIsOriginal(), - "A new MS has to be given in msout if a phase shift is done"); + if (!MSUpdater::updateAllowed(lastInfo,reader)) { + THROW(Exception, "Updating an existing MS is not possible with the current operations"); + } if (needWrite || lastInfo.needWrite()) { ASSERTSTR (inNames.size() == 1, "No update can be done if multiple input MSs are used"); diff --git a/CEP/DP3/DPPP/src/Filter.cc b/CEP/DP3/DPPP/src/Filter.cc index 3747eabef677bbfc0ea2724204ffe5fe5ed0dff7..17076a75c9bb89010d44d40a075248a4cb464c5a 100644 --- a/CEP/DP3/DPPP/src/Filter.cc +++ b/CEP/DP3/DPPP/src/Filter.cc @@ -185,7 +185,12 @@ namespace LOFAR { itsBuf.getWeights() = weights(first, last); itsBuf.getFullResFlags() = frFlags(frfFirst, frfLast); itsBuf.setUVW (buf.getUVW()); + itsBuf.setRowNrs (buf.getRowNrs()); } else { + Vector<uint> rowNrs(0); + if (!buf.getRowNrs().empty()) { + rowNrs.resize(getInfo().nbaselines()); + } // Copy the data of the selected baselines and channels. itsBuf.getUVW().resize (IPosition(2, 3, getInfo().nbaselines())); itsBuf.getUVW().unique(); @@ -204,6 +209,9 @@ namespace LOFAR { int nffr = frFlags.shape()[0]; int nfto = itsBuf.getFullResFlags().shape()[0]; for (uint i=0; i<itsSelBL.size(); ++i) { + if (!buf.getRowNrs().empty()) { + rowNrs[i] = buf.getRowNrs()[itsSelBL[i]]; + } objcopy (toData , frData + itsSelBL[i]*ndfr, ndto); toData += ndto; objcopy (toFlag , frFlag + itsSelBL[i]*ndfr, ndto); @@ -221,6 +229,7 @@ namespace LOFAR { frFrf += nffr; } } + itsBuf.setRowNrs(rowNrs); } itsBuf.setTime (buf.getTime()); itsBuf.setExposure (buf.getExposure()); diff --git a/CEP/DP3/DPPP/src/MSReader.cc b/CEP/DP3/DPPP/src/MSReader.cc index 80ee92ea63ffb22a1cb11a6eaeed5edc34b8566b..c56e5f2afb4fb86e61aea3211af12c2a19e0544d 100644 --- a/CEP/DP3/DPPP/src/MSReader.cc +++ b/CEP/DP3/DPPP/src/MSReader.cc @@ -301,25 +301,8 @@ namespace LOFAR { itsBuffer.getFlags() = false; } // Flag invalid data (NaN, infinite). - const Complex* dataPtr = itsBuffer.getData().data(); - bool* flagPtr = itsBuffer.getFlags().data(); - for (uint i=0; i<itsBuffer.getData().size();) { - for (uint j=i; j<i+itsNrCorr; ++j) { - bool flag = (!isFinite(dataPtr[j].real()) || - !isFinite(dataPtr[j].imag())); - if (flag) { - itsFlagCounter.incrCorrelation(j-i); - } - if (flag || flagPtr[j]) { - // Flag all correlations if a single one is flagged. - for (uint k=i; k<i+itsNrCorr; ++k) { - flagPtr[k] = true; - } - break; - } - } - i += itsNrCorr; - } + flagInfNaN(itsBuffer.getData(), itsBuffer.getFlags(), + itsFlagCounter); } itsLastMSTime = itsNextTime; itsNrRead++; @@ -336,6 +319,30 @@ namespace LOFAR { return true; } + void MSReader::flagInfNaN(const casa::Cube<casa::Complex>& dataCube, + casa::Cube<bool>& flagsCube, FlagCounter& flagCounter) { + int ncorr=dataCube.shape()[0]; + const Complex* dataPtr = dataCube.data(); + bool* flagPtr = flagsCube.data(); + for (uint i=0; i<dataCube.size();) { + for (uint j=i; j<i+ncorr; ++j) { + bool flag = (!isFinite(dataPtr[j].real()) || + !isFinite(dataPtr[j].imag())); + if (flag) { + flagCounter.incrCorrelation(j-i); + } + if (flag || flagPtr[j]) { + // Flag all correlations if a single one is flagged. + for (uint k=i; k<i+ncorr; ++k) { + flagPtr[k] = true; + } + break; + } + } + i += ncorr; + } + } + void MSReader::finish() { getNextStep()->finish(); diff --git a/CEP/DP3/DPPP/src/MSUpdater.cc b/CEP/DP3/DPPP/src/MSUpdater.cc index af8ff8d2179270d4951fe1683624fb037228c6c4..9885afe369a53f3214d5ae2023252cc3b7bdcca5 100644 --- a/CEP/DP3/DPPP/src/MSUpdater.cc +++ b/CEP/DP3/DPPP/src/MSUpdater.cc @@ -46,9 +46,6 @@ namespace LOFAR { : itsReader (reader), itsWriteData ((needWrite & DPInfo::NeedWriteData) != 0), itsWriteWeight ((needWrite & DPInfo::NeedWriteWeight) != 0), - itsNrCorr (reader->getInfo().ncorr()), - itsNrChan (reader->getInfo().nchan()), - itsNrBl (reader->getInfo().nbaselines()), itsNrDone (0), itsDataColAdded (false), itsWeightColAdded (false) @@ -95,6 +92,30 @@ namespace LOFAR { return colName != reader->dataColumnName(); } + bool MSUpdater::updateAllowed (DPInfo& info, MSReader* reader, + bool throwError) { + if (info.nchanAvg() != 1 || info.ntimeAvg() != 1) { + if (throwError) { + THROW(Exception, "A new MS has to be given in msout if averaging is done"); + } + return false; + } + if (!info.phaseCenterIsOriginal()) { + if (throwError) { + THROW(Exception, "A new MS has to be given in msout if a phase shift is done"); + } + return false; + } + if (info.antennaNames().size() != reader->getInfo().antennaNames().size() || + ! allEQ(info.antennaNames(), reader->getInfo().antennaNames())) { + if (throwError) { + THROW(Exception, "A new MS has to be given if antennas are added or removed"); + } + return false; + } + return true; + } + bool MSUpdater::addColumn(const string& colName, const casa::DataType dataType, const ColumnDesc& cd) { Table& tab = itsReader->table(); @@ -177,7 +198,8 @@ namespace LOFAR { { // Only put if rownrs are filled, thus if data were not inserted. if (! rowNrs.rowVector().empty()) { - const Slicer& colSlicer = itsReader->colSlicer(); + Slicer colSlicer(IPosition(2, 0, info().startchan()), + IPosition(2, info().ncorr(), info().nchan()) ); ArrayColumn<bool> flagCol(itsReader->table(), "FLAG"); ScalarColumn<bool> flagRowCol(itsReader->table(), "FLAG_ROW"); // Loop over all rows of this subset. @@ -202,10 +224,11 @@ namespace LOFAR { { // Only put if rownrs are filled, thus if data were not inserted. if (! rowNrs.rowVector().empty()) { - const Slicer& colSlicer = itsReader->colSlicer(); + Slicer colSlicer(IPosition(2, 0, info().startchan()), + IPosition(2, info().ncorr(), info().nchan()) ); ArrayColumn<float> weightCol(itsReader->table(), itsWeightColName); // Loop over all rows of this subset. - // (it also avoids StandardStMan putCol with RefRows problem). + // (it also avoids StandardStMan putCol with RefRows problem). Vector<uint> rows = rowNrs.convert(); ReadOnlyArrayIterator<float> weightIter (weights, 2); for (uint i=0; i<rows.size(); ++i) { @@ -220,8 +243,10 @@ namespace LOFAR { const Cube<Complex>& data) { // Only put if rownrs are filled, thus if data were not inserted. + //cout << "Data shape"<< data.shape()<<endl; if (! rowNrs.rowVector().empty()) { - const Slicer& colSlicer = itsReader->colSlicer(); + Slicer colSlicer(IPosition(2, 0, info().startchan()), + IPosition(2, info().ncorr(), info().nchan()) ); ArrayColumn<Complex> dataCol(itsReader->table(), itsDataColName); // Loop over all rows of this subset. // (it also avoids StandardStMan putCol with RefRows problem). diff --git a/CEP/DP3/DPPP/test/tNDPPP.cc b/CEP/DP3/DPPP/test/tNDPPP.cc index 031ac4f48c8e22d17e25bd9a43b7af9e33d105cb..39dc12f33e2df138c846011f4a19b526066e3174 100644 --- a/CEP/DP3/DPPP/test/tNDPPP.cc +++ b/CEP/DP3/DPPP/test/tNDPPP.cc @@ -825,6 +825,25 @@ void testFilter2() } } + +void testFilter3() +{ + cout << endl << "** testFilter3 **" << endl; + // Remove some baselines, update original file with different data column + // This test justs tests if it runs without throwing exceptions + { + ofstream ostr("tNDPPP_tmp.parset"); + ostr << "msin=tNDPPP_tmp.MS" << endl; + ostr << "msout=." << endl; + ostr << "msout.datacolumn=DATA_FILTER" << endl; + ostr << "steps=[filter]" << endl; + ostr << "filter.baseline=!RT[16]&&*" << endl; + ostr << "filter.remove=False" << endl; + } + DPRun::execute ("tNDPPP_tmp.parset"); +} + + void testClear() { cout << endl << "** testClear **" << endl; @@ -890,6 +909,7 @@ int main() testStationAdd(); testFilter1(); testFilter2(); + testFilter3(); testClear(); } catch (std::exception& err) { std::cerr << "Error detected: " << err.what() << std::endl; diff --git a/CEP/Imager/LofarFT/src/LofarATerm.cc b/CEP/Imager/LofarFT/src/LofarATerm.cc index 8d3f02ee8377bc14afbf21264a6925cfddeb196f..8a7bef36ab4bc47f86982e75064f2c4e5e662e9d 100644 --- a/CEP/Imager/LofarFT/src/LofarATerm.cc +++ b/CEP/Imager/LofarFT/src/LofarATerm.cc @@ -82,6 +82,7 @@ namespace if (itsApplyIonosphere) { String parmdbname = ms.tableName() + "/instrument"; + if (itsParameters.fieldNumber("parmdbname") > -1) parmdbname = ms.tableName() + "/" + itsParameters.asString("parmdbname"); cout << parmdbname << endl; initParmDB(parmdbname); cout << cal_pp_names << endl; @@ -118,12 +119,12 @@ namespace if (this->itsApplyIonosphere) { this->time = epoch.get(casa::Unit("s")).getValue(); - cout << "Epoch set to " << this->time << " reading parms..." << flush; - double freq = 50e6; // the ionospheric parameters are not frequency dependent, so just pick an arbitrary frequency +// cout << "Epoch set to " << this->time << " reading parms..." << flush; + double freq = 60447692.87109375; // the ionospheric parameters are not frequency dependent, so just pick an arbitrary frequency // this frequency should be within the range specified in the parmdbname // this range is again quite arbitrary - Record parms = this->pdb->getValues ("*", freq, freq+0.5, 1.0, this->time, this->time + 0.5, 1.0 ); + Record parms = this->pdb->getValuesGrid ("*", 0, 1e9, this->time, this->time + 0.01); this->r0 = get_parmvalue(parms, "r_0"); this->beta = get_parmvalue(parms, "beta"); this->height = get_parmvalue(parms, "height"); @@ -132,8 +133,9 @@ namespace this->cal_pp(1, i) = get_parmvalue(parms, "Piercepoint:Y:" + this->cal_pp_names(i)); this->cal_pp(2, i) = get_parmvalue(parms, "Piercepoint:Z:" + this->cal_pp_names(i)); this->tec_white(i) = get_parmvalue(parms, "TECfit_white:0:" + this->cal_pp_names(i)); + } - cout << "done." << endl; +// cout << "done." << endl; } } @@ -377,6 +379,8 @@ namespace const uint nX = map.directions.shape()[1]; const uint nY = map.directions.shape()[2]; +// cout << "LofarATerm::evaluateIonosphere " << nX << " " << nY << endl; + const uint nFreq = freq.size(); const casa::MVPosition p = this->itsInstrument->station(station)->position().getValue(); @@ -467,6 +471,7 @@ namespace { for(uint k = 0 ; k < cal_pp_names.size(); ++k) { +// cout << piercepoints(0,i,j) << " " << piercepoints(1,i,j) << " " << piercepoints(2,i,j) << " " << tec_white(k) << endl; Double dx = cal_pp(0, k) - piercepoints(0,i,j); Double dy = cal_pp(1, k) - piercepoints(1,i,j); Double dz = cal_pp(2, k) - piercepoints(2,i,j); @@ -486,8 +491,10 @@ namespace for(uint k = 0 ; k < nY; ++k) { Double phase = -tec(j,k) * a; +// cout << phase << " "; IF(j,k,i) = DComplex(cos(phase), sin(phase)); } +// cout << endl; } } return IF; diff --git a/CEP/Imager/LofarFT/src/awimager.cc b/CEP/Imager/LofarFT/src/awimager.cc index cb2d2393374b79cba1b9d254972f2a69c786fbde..f01dd60e9742234b22f508ad604a694df75166f9 100644 --- a/CEP/Imager/LofarFT/src/awimager.cc +++ b/CEP/Imager/LofarFT/src/awimager.cc @@ -455,6 +455,9 @@ int main (Int argc, char** argv) inputs.create ("applyIonosphere", "false", "apply ionospheric correction", "bool"); + inputs.create ("parmdbname", "instrument", + "Name of parmdb (default is instrument", + "string"); inputs.create ("splitbeam", "true", "Evaluate station beam and element beam separately (splitbeam = true is faster)", "bool"); @@ -533,6 +536,7 @@ int main (Int argc, char** argv) Bool UseEJones = inputs.getBool("UseEJones"); Bool MakeDirtyCorr = inputs.getBool("MakeDirtyCorr"); Bool applyIonosphere = inputs.getBool("applyIonosphere"); + String parmdbname = inputs.getString("parmdbname"); Bool splitbeam = inputs.getBool("splitbeam"); Bool constrainFlux = inputs.getBool("constrainflux"); Bool preferVelocity = inputs.getBool("prefervelocity"); @@ -733,6 +737,7 @@ int main (Int argc, char** argv) params.define ("RowBlock", RowBlock); params.define ("doPSF", doPSF); params.define ("applyIonosphere", applyIonosphere); + params.define ("parmdbname", parmdbname); params.define ("splitbeam", splitbeam); params.define ("MakeDirtyCorr", MakeDirtyCorr); params.define ("UVmin", UVmin); diff --git a/CEP/PyBDSM/doc/source/conf.py b/CEP/PyBDSM/doc/source/conf.py index fdd98c94664b0edfcb07552b7edb9e2d6a1c4e05..f9264d74e6104119f0fe13eed4d03be4d8d798c5 100644 --- a/CEP/PyBDSM/doc/source/conf.py +++ b/CEP/PyBDSM/doc/source/conf.py @@ -50,7 +50,7 @@ copyright = u'2013, David Rafferty and Niruj Mohan' # The short X.Y version. version = '1.7' # The full version, including alpha/beta/rc tags. -release = '1.7.5' +release = '1.7.6' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/CEP/PyBDSM/doc/source/whats_new.rst b/CEP/PyBDSM/doc/source/whats_new.rst index 9af9cf734fbd040aa28d6f70feb54b4815b2ad22..df16033aba6e15ec840b0771cdcbc336d28f7e13 100644 --- a/CEP/PyBDSM/doc/source/whats_new.rst +++ b/CEP/PyBDSM/doc/source/whats_new.rst @@ -4,6 +4,14 @@ What's New ********** +Version 1.7.6 (2013/09/27): + + * Changed caching behavior to ensure that temporary files are always deleted after they are no longer needed or on exit. + + * Renamed ``blank_zeros`` to ``blank_limit``. The ``blank_limit`` option now specifies a limit below which pixels are blanked. + + * Enabled SAGECAL sky-model output. + Version 1.7.5 (2013/09/02): * Fix to bug that caused a crash when images with 2 or 3 axes were used. diff --git a/CEP/PyBDSM/src/python/_version.py b/CEP/PyBDSM/src/python/_version.py index 068ff3a5ed862362d8d4bb1c6b49f0b7932c5d38..27b29faaffa551ace94eba0ef21d02ced703c9dd 100644 --- a/CEP/PyBDSM/src/python/_version.py +++ b/CEP/PyBDSM/src/python/_version.py @@ -9,7 +9,7 @@ adding to the changelog will naturally do this. """ # Version number -__version__ = '1.7.5' +__version__ = '1.7.6' # Store svn Revision number. For this to work, one also needs to do: # @@ -27,6 +27,11 @@ def changelog(): PyBDSM Changelog. ----------------------------------------------------------------------- + 2013/09/27 - Version 1.7.6 + + 2013/09/27 - Changed caching behavior to ensure that temporary files + are always deleted after they are no longer needed or on exit. + 2013/09/05 - Renamed blank_zeros to blank_limit. The blank_limit option now specifies a limit below which pixels are blanked. diff --git a/CEP/PyBDSM/src/python/functions.py b/CEP/PyBDSM/src/python/functions.py index a5809bbb34ab074209239f7322aec206109a11d8..c9a9ec52874d4f87e739e1f4def5291657414f0e 100755 --- a/CEP/PyBDSM/src/python/functions.py +++ b/CEP/PyBDSM/src/python/functions.py @@ -1179,7 +1179,8 @@ def read_image_from_file(filename, img, indir, quiet=False): if not quiet: mylogger.userinfo(mylog, "Opened '"+image_file+"'") if img.use_io == 'rap': - hdr = convert_pyrap_header(inputimage) + tmpdir = img.parentname+'_tmp' + hdr = convert_pyrap_header(inputimage, tmpdir) if img.use_io == 'fits': hdr = fits[0].header @@ -1333,17 +1334,28 @@ def read_image_from_file(filename, img, indir, quiet=False): return data, hdr -def convert_pyrap_header(pyrap_image): +def convert_pyrap_header(pyrap_image, tmpdir): """Converts a pyrap header to a PyFITS header.""" import tempfile + import os + import atexit + import shutil try: from astropy.io import fits as pyfits except ImportError, err: import pyfits - tfile = tempfile.NamedTemporaryFile(delete=False) + if not os.path.exists(tmpdir): + os.makedirs(tmpdir) + tfile = tempfile.NamedTemporaryFile(delete=False, dir=tmpdir) pyrap_image.tofits(tfile.name) hdr = pyfits.getheader(tfile.name) + if os.path.isfile(tfile.name): + os.remove(tfile.name) + + # Register deletion of temp directory at exit to be sure it is deleted + atexit.register(shutil.rmtree, tmpdir, ignore_errors=True) + return hdr diff --git a/CEP/PyBDSM/src/python/readimage.py b/CEP/PyBDSM/src/python/readimage.py index e043bf6008591b7d14886cd3af966d6a2f56a458..6e9c75ff1dd0565770fe4957db9d6999a734f71a 100644 --- a/CEP/PyBDSM/src/python/readimage.py +++ b/CEP/PyBDSM/src/python/readimage.py @@ -60,14 +60,8 @@ class Op_readimage(Op): else: img.indir = img.opts.indir - image_file = os.path.basename(img.opts.filename) - result = read_image_from_file(image_file, img, img.indir) - if result == None: - raise RuntimeError("Cannot open file " + repr(image_file) + ". " + img._reason) - else: - data, hdr = result - - # Try to trim common extensions from filename + # Try to trim common extensions from filename and store various + # paths root, ext = os.path.splitext(img.opts.filename) if ext in ['.fits', '.FITS', '.image']: fname = root @@ -84,6 +78,14 @@ class Op_readimage(Op): img.imagename = fname + '.pybdsm' img.basedir = './' + fname + '_pybdsm/' + # Read in data and header + image_file = os.path.basename(img.opts.filename) + result = read_image_from_file(image_file, img, img.indir) + if result == None: + raise RuntimeError("Cannot open file " + repr(image_file) + ". " + img._reason) + else: + data, hdr = result + # Check whether caching is to be used. If it is, set up a # temporary directory. The temporary directory will be # removed automatically upon exit. diff --git a/CMake/variants/variants.dop256 b/CMake/variants/variants.dop256 index 34c058329e36a298c8e0e6a116632c5b4facafb3..4bb0ea4a7e0c786403568517dd941400b5fdd5f3 100644 --- a/CMake/variants/variants.dop256 +++ b/CMake/variants/variants.dop256 @@ -8,8 +8,9 @@ set(GNU_COMPILE_DEFINITIONS -DCL_USE_DEPRECATED_OPENCL_1_1_APIS) # /opt/lofar/external is searched by default # CUDA 5.0 headers refuse to try gcc 4.7. Force 4.6 for the moment. -set(GNU_C /usr/bin/gcc-4.6 ) -set(GNU_CXX /usr/bin/g++-4.6 ) -set(GNU_Fortran /usr/bin/gfortran-4.6) -set(GNU_ASM /usr/bin/gcc-4.6 ) +# This is only needed if configuring/compiling a .cu file with nvcc (not anymore). +#set(GNU_C /usr/bin/gcc-4.6 ) +#set(GNU_CXX /usr/bin/g++-4.6 ) +#set(GNU_Fortran /usr/bin/gfortran-4.6) +#set(GNU_ASM /usr/bin/gcc-4.6 ) diff --git a/LCU/checkhardware/checkHardware.py b/LCU/checkhardware/checkHardware.py index c5cbf58d671a5e2178a3ae203e02dc4b2f3717ca..4dd94542c63015f483843a22043fa86cc427984a 100755 --- a/LCU/checkhardware/checkHardware.py +++ b/LCU/checkhardware/checkHardware.py @@ -1,6 +1,7 @@ #!/usr/bin/python versiondate = 'September 2013' +check_version = '0913' import sys import os @@ -17,6 +18,7 @@ from general_lib import * from lofar_lib import * from test_lib import * from test_db import * +from search_lib import search_version os.umask(001) @@ -65,7 +67,7 @@ def printHelp(): rcu_m1_keys = ('LBL','O1','SP1','N1','S1') rcu_m3_keys = ('LBH','O3','SP3','N3','S3') -rcu_m5_keys = ('HBA','M','O5','SN','SP5','N5','S5','EHBA','ES7') +rcu_m5_keys = ('HBA','M','O5','SN','SP5','N5','S5','S7','EHBA','ES7') rsp_keys = ('RV',) + rcu_m1_keys + rcu_m3_keys + rcu_m5_keys tbb_keys = ('TV','TM') control_keys = ('R','START','STOP') @@ -92,7 +94,9 @@ testInfo['O5'] = "HBA mode-5 Oscillation test" testInfo['SP5'] = "HBA mode-5 Spurious test" testInfo['N5'] = "HBA mode-5 Noise test" testInfo['S5'] = "HBA mode-5 RF test" +testInfo['S7'] = "HBA mode-7 RF test" testInfo['EHBA'] = "HBA mode-5 Element tests" +testInfo['ES7'] = "HBA mode-7 Element signal tests" testInfo['M'] = "HBA mode-5 Modem test" testInfo['SN'] = "HBA mode-5 Summator noise test" testInfo['RV'] = "RSP Version test" @@ -329,8 +333,11 @@ def main(): # setup intern database with station layout db = cDB(StID, nRSP, nTBB, nLBL, nLBH, nHBA) - + + db.script_versions = 'CHECK=%s,DB=%s,TEST=%s,SEARCH=%s,LOFAR=%s,GENERAL=%s' %\ + (check_version, db_version, test_version, search_version, lofar_version, general_version) db.check_start_time = time.gmtime() + writeMessage('!!! This station will be in use for a test! Please do not use the station! (script version %s) !!!' %(versiondate)) start_level = swlevel() sw_level = swlevel(2) diff --git a/LCU/checkhardware/doServiceTest.sh b/LCU/checkhardware/doServiceTest.sh deleted file mode 100755 index 19eff462b67993973ba44d129ff19c90e8d7dcd7..0000000000000000000000000000000000000000 --- a/LCU/checkhardware/doServiceTest.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# usage -# -# doServiceTest.sh -# doServiceTest.sh start=20130629_13:00:45 stop=20130629_16:00:45 -# doServiceTest.sh stop=20130629_16:00:45 - -host=`hostname -s` - -locallogdir="/opt/stationtest/data/" -globallogdir="/globalhome/log/" - -filenameNow=$locallogdir$host"_StationTest.csv" -filenameHistory=$locallogdir$host"_L2_StationTestHistory.csv" - -# Check hardware in CheckLevel 2, do all tests -start="" -stop="" -if [ $# -eq "2" ] -then - start="-$1" - stop="-$2" -fi -if [ $# -eq "1" ] -then - stop="-$1" -fi -checkHardware.py -l=2 $start $stop - -# Add to history -cat $filenameNow >> $filenameHistory - -# Copy to L2 file in local dir -cp $filenameNow $locallogdir$host"_L2_StationTest.csv" - -# Copy from local to global dir -cp $filenameNow $globallogdir$host"_L2_StationTest.csv" -cp $filenameHistory $globallogdir - -# Show results on screen -showTestResult.py -f=$filenameNow \ No newline at end of file diff --git a/LCU/checkhardware/doShortStationTest.sh b/LCU/checkhardware/doShortStationTest.sh deleted file mode 100755 index 5c9de8ea05e0cbcfae818f1b0a3776912b34034b..0000000000000000000000000000000000000000 --- a/LCU/checkhardware/doShortStationTest.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -host=`hostname -s` - -locallogdir="/opt/stationtest/data/" -globallogdir="/globalhome/log/" - -filenameNow=$locallogdir$host"_StationTest.csv" -filenameHistory=$locallogdir$host"_StationTestHistory.csv" - -# Check hardware in CheckLevel 1, only antennas -checkHardware.py -l=1 - -# Add too history -cat $filenameNow >> $filenameHistory - -# Add test results too PVSS and make bad_rcu_file -#updatePVSS.py -N=5,50,1 -J=5,50,2 -reset -S=20 -E - - -#UNCOMMENT NEXT LINE WHEN PVSS UPDATE MUST BE ENABLED AGAIN -#updatePVSS.py -N=5,50,3 -J=5,50,3 -E -S=10 # new settings by Wilfred, 9-7-2013 - -# Make old station log files -makeStationLogFile.py - -# Copy from local to global dir -cp $filenameNow $globallogdir -cp $filenameHistory $globallogdir - -showTestResult.py -f=$filenameNow diff --git a/LCU/checkhardware/doStationTest.sh b/LCU/checkhardware/doStationTest.sh index ca6d881f70abdabe4d28f8e1344507620e9e4de5..a8dda52c930621748a08be3d16cb7bb67448a6b9 100755 --- a/LCU/checkhardware/doStationTest.sh +++ b/LCU/checkhardware/doStationTest.sh @@ -1,47 +1,104 @@ #!/bin/bash -# -# nohup lcurun -s today -c '/opt/stationtest/doStationTest.sh start=20130624_04:00:00 stop=20130624_06:00:00 &' & -# + + + # default values +START="" +STOP="" +LEVEL=2 +UPDATE="no" +SERVICE="no" +HELP="no" + +# get command line options +while getopts s:e:tTurh option +do + case "${option}" + in + s) START=${OPTARG};; + e) STOP=${OPTARG};; + t) LEVEL=1;; + T) LEVEL=2;; + u) UPDATE="yes";; + r) SERVICE="yes";; + h) HELP="yes";; + esac +done + +if [ $HELP == "yes" ] +then + echo "Usage:" + echo " doStationTest.sh -s 20130624_04:00:00 -e 20130624_06:00:00 -u" + echo " -s : start time" + echo " -e : end time" + echo " -u : update pvss" + echo " -t : do short test L1" + echo " -T : do long test L2 (default)" + echo " -r : do service test and show results" + echo " -h : show this screen" + exit +fi + host=`hostname -s` +# set filenames and dirs locallogdir="/opt/stationtest/data/" globallogdir="/globalhome/log/" -filenameNow=$locallogdir$host"_StationTest.csv" -filenameHistory=$locallogdir$host"_L2_StationTestHistory.csv" +filenameNow=$host"_StationTest.csv" +if [ $SERVICE == "yes" ] +then + filenameLocal=$host"_S_StationTest.csv" + filenameLocalHistory=$host"_S_StationTestHistory.csv" +else + filenameLocal=$host"_L"$LEVEL"_StationTest.csv" + filenameLocalHistory=$host"_L"$LEVEL"_StationTestHistory.csv" +fi -# Check hardware in CheckLevel 2, do all tests +# set test level +level="-l="$LEVEL + +# set start and stop time if given start="" stop="" -if [ $# -eq "2" ] -then - start="-$1" - stop="-$2" -fi -if [ $# -eq "1" ] +if [ -n "$STOP" ] then - stop="-$1" + echo "STOP not empty" + if [ -n "$START" ] + then + echo "START not empty" + start="-start="$START + fi + stop="-stop="$STOP fi -checkHardware.py -l=2 $start $stop +# Check hardware +checkHardware.py $level $start $stop err=$? echo $err if [ $err -eq 0 ] then + # Copy to Lx file in local dir + cp $locallogdir$filenameNow $locallogdir$filenameLocal + # Add to history - cat $filenameNow >> $filenameHistory - - # Copy to L2 file in local dir - cp $filenameNow $locallogdir$host"_L2_StationTest.csv" + cat $locallogdir$filenameNow >> $locallogdir$filenameLocalHistory # Copy from local to global dir - cp $filenameNow $globallogdir$host"_L2_StationTest.csv" - cp $filenameHistory $globallogdir + cp $locallogdir$filenameLocal $globallogdir + cp $locallogdir$filenameLocalHistory $globallogdir # Add test results too PVSS and make bad_rcu_file + #updatePVSS.py -N=5,50,1 -J=5,50,2 -S=20 -E #new settings by Wilfred, 9-7-2013 - # add lbl and lbh settings aug-2013 - updatePVSS.py S=10 -N=5,50,3 -J=5,50,3 -E -S=10 -LBLN=5,50,3 -LBLJ=5,50,3 -LBS=10 -LBHN=5,50,3 -LBHJ=5,50,3 -LBHS=10 - + if [ $UPDATE == "yes" ] + then + updatePVSS.py S=10 -N=5,50,3 -J=5,50,3 -E -S=10 -LBLN=5,50,3 -LBLJ=5,50,3 -LBS=10 -LBHN=5,50,3 -LBHJ=5,50,3 -LBHS=10 + fi fi + +if [ $SERVICE == "yes" ] +then + # Show last results on screen + showTestResult.py -f=$locallogdir$filenameNow +fi \ No newline at end of file diff --git a/LCU/checkhardware/makeStationLogFile.py b/LCU/checkhardware/makeStationLogFile.py deleted file mode 100755 index 6a6e8dd862c16495da12f193c231588040647ee3..0000000000000000000000000000000000000000 --- a/LCU/checkhardware/makeStationLogFile.py +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/python -# format converter -# from csv file to log file -# -# P.Donker - -import sys -import os -from time import gmtime - -libPath = libPath = '/opt/stationtest/lib' -sys.path.insert(0, libPath) - -from general_lib import * - -f = open("/opt/stationtest/checkHardware.conf", 'r') -data = f.readlines() -f.close() -logdir = '' -for line in data: - if line.find('log-dir-global') != -1: - key, logdir = line.strip().split('=') - if os.path.exists(logdir): - break - if line.find('log-dir-local') != -1: - key, logdir = line.strip().split('=') - if not os.path.exists(logdir): - print "No log dir found" - sys.exit(-1) - - -testfilename = '%s_StationTest.csv' %(getHostName()) - -fullFilename = os.path.join(logdir, testfilename) - -try: - f = open(fullFilename, 'r') - testdata = f.readlines() - f.close() -except: - print "Can not open/read %s" %(fullFilename) - sys.exit(-1) - -fileinfo = os.stat(fullFilename) -log = cStationLogger(logdir, gmtime(fileinfo[-1])) - -last_c_summator = -1 -for line in testdata: - if line[0] == '#': - continue - keyinfo = dict() - info = line.split(',') - #print info - date = info[0] - part = info[1] - partNr = '---' - if info[2] != '---': - partNr = int(info[2]) - msgType = info[3].strip() - for i in range(4,len(info)): - if info[i].find('=') != -1: - key, valstr = info[i].split('=') - vallist = valstr.split() - if len(vallist) == 1: - keyinfo[key] = vallist[0] - elif len(vallist) > 1: - keyinfo[key] = vallist - else: - keyinfo[info[i]] = '-' - - if part == 'TBB': - if msgType == 'VERSION': - if partNr == '---': - log.addLine('TBBver>: Sv=normal Pr=normal , Version Error TBBdriver=%s tbbctl=%s' %\ - (keyinfo['TBBDRIVER'], keyinfo['TBBCTL'])) - else: - log.addLine('TBBver>: Sv=normal Pr=normal , Board=%d Version Error TP=%s MP=%s' %\ - (partNr, keyinfo['TP'], keyinfo['MP'])) - elif msgType == 'MEMORY': - log.addLine('TBBmem>: Sv=normal Pr=normal , Board=%d Memory Error' %\ - (partNr)) - - if part == 'RSP': - if msgType == 'VERSION': - log.addLine('TBBver>: Sv=normal Pr=normal , Board=%d, Version Error BP=%s AP=%s' %\ - (partNr, keyinfo['BP'], keyinfo['AP'])) - - if part == 'LBL': - rcu = partNr * 2 - if msgType == 'LOW_NOISE': - log.addLine('LBAmd1>: Sv=normal Pr=normal , LBA Outer (LBL) low noise: RCU: (%d,%d)' %\ - (partNr*2, partNr*2+1)) - elif msgType == 'HIGH_NOISE': - log.addLine('LBAmd1>: Sv=normal Pr=normal , LBA Outer (LBL) high noise: RCU: (%d,%d)' %\ - (partNr*2, partNr*2+1)) - elif msgType == 'OSCILLATION': - log.addLine('LBAosc1>: Sv=normal Pr=normal , LBA Outer (LBL) large oscillation: RCU: (%d,%d)' %\ - (partNr*2, partNr*2+1)) - elif msgType == 'FAIL': - if keyinfo.has_key('X'): - log.addLine('LBAmd1>: Sv=normal Pr=normal , LBA Outer (LBL) defect: RCU: %d factor: %3.1f' %\ - (partNr*2, float(keyinfo['X']))) - if keyinfo.has_key('Y'): - log.addLine('LBAmd1>: Sv=normal Pr=normal , LBA Outer (LBL) defect: RCU: %d factor: %3.1f' %\ - (partNr*2+1, float(keyinfo['Y']))) - - elif msgType == 'DOWN': - log.addLine('LBAdn1>: Sv=normal Pr=normal , LBA Outer (LBL) down: RCU: %d factor: %3.1f offset: %d' %\ - (partNr*2, float(keyinfo['X']), int(keyinfo['Xoff']))) - log.addLine('LBAdn1>: Sv=normal Pr=normal , LBA Outer (LBL) down: RCU: %d factor: %3.1f offset: %d' %\ - (partNr*2+1, float(keyinfo['Y']), int(keyinfo['Yoff']))) - - elif msgType == 'TOOLOW': - log.addLine('LBAmd1>: Sv=normal Pr=normal , LBA levels to low!!!' ) - - if part == 'LBH': - if msgType == 'LOW_NOISE': - log.addLine('LBAmd3>: Sv=normal Pr=normal , LBA Inner (LBH) low noise: RCU: (%d,%d)' %\ - (partNr*2, partNr*2+1)) - elif msgType == 'HIGH_NOISE': - log.addLine('LBAmd3>: Sv=normal Pr=normal , LBA Inner (LBH) high noise: RCU: (%d,%d)' %\ - (partNr*2, partNr*2+1)) - elif msgType == 'OSCILLATION': - log.addLine('LBAosc3>: Sv=normal Pr=normal , LBA Inner (LBH) large oscillation: RCU: (%d,%d)' %\ - (partNr*2, partNr*2+1)) - elif msgType == 'FAIL': - if keyinfo.has_key('X'): - log.addLine('LBAmd3>: Sv=normal Pr=normal , LBA Inner (LBH) defect: RCU: %s factor: %3.1f' %\ - (partNr*2, float(keyinfo['X']))) - if keyinfo.has_key('Y'): - log.addLine('LBAmd3>: Sv=normal Pr=normal , LBA Inner (LBH) defect: RCU: %s factor: %3.1f' %\ - (partNr*2+1, float(keyinfo['Y']))) - - elif msgType == 'DOWN': - log.addLine('LBAdn3>: Sv=normal Pr=normal , LBA Inner (LBH) down: RCU: %d factor: %3.1f offset: %d' %\ - (partNr*2, float(keyinfo['X']), int(keyinfo['Xoff']))) - log.addLine('LBAdn3>: Sv=normal Pr=normal , LBA Inner (LBH) down: RCU: %d factor: %3.1f offset: %d' %\ - (partNr*2+1, float(keyinfo['Y']), int(keyinfo['Yoff']))) - - elif msgType == 'TOOLOW': - log.addLine('LBAmd3>: Sv=normal Pr=normal , LBA levels to low!!!' ) - - if part == 'HBA': - if msgType == 'LOW_NOISE': - log.addLine('HBAmd5>: Sv=normal Pr=normal , Tile %d - RCU (%d,%d); low noise' %\ - (partNr, partNr*2, partNr*2+1)) - - elif msgType == 'HIGH_NOISE': - log.addLine('HBAmd5>: Sv=normal Pr=normal , Tile %d - RCU (%d,%d); high noise' %\ - (partNr, partNr*2, partNr*2+1)) - - elif msgType == 'OSCILLATION': - log.addLine('HBAosc>: Sv=normal Pr=normal , Tile %d - RCU (%d,%d); Large oscillation' %\ - (partNr, partNr*2, partNr*2+1)) - - elif msgType == 'C_SUMMATOR': - last_c_summator = partNr - log.addLine('HBAmdt>: Sv=normal Pr=normal , Tile %d - RCU %d; Broken. No modem communication' %\ - (partNr, partNr*2+1)) - elif last_c_summator != partNr and msgType == 'FAIL': - for elem_nr in range(1,17,1): - - if keyinfo.has_key('M%d' %(elem_nr)): - val = keyinfo.get('M%d' %(elem_nr)) - log.addLine('HBAmdt>: Sv=normal Pr=normal , Tile %d - RCU %d; Element %s Broken. No modem communication : (%s)' %\ - (partNr, partNr*2+1, elem_nr, val)) - - if keyinfo.has_key('X%d' %(elem_nr)): - val = keyinfo.get('X%d' %(elem_nr)) - - log.addLine('HBAmd5>: Sv=normal Pr=normal , Tile %d - RCU %d; Element %d Broken. RF-signal to low : (Factor = %s, CtrlWord = 128)' %\ - (partNr, partNr*2, elem_nr, val[0])) - log.addLine('HBAmd5>: Sv=normal Pr=normal , Tile %d - RCU %d; Element %d Broken. RF-signal to low : (Factor = %s, CtrlWord = 253)' %\ - (partNr, partNr*2, elem_nr, val[3])) - - if keyinfo.has_key('Y%d' %(elem_nr)): - val = keyinfo.get('Y%d' %(elem_nr)) - log.addLine('HBAmd5>: Sv=normal Pr=normal , Tile %d - RCU %d; Element %d Broken. RF-signal to low : (Factor = %s, CtrlWord = 128))' %\ - (partNr, partNr*2+1, elem_nr, val[0])) - log.addLine('HBAmd5>: Sv=normal Pr=normal , Tile %d - RCU %d; Element %d Broken. RF-signal to low : (Factor = %s, CtrlWord = 253))' %\ - (partNr, partNr*2+1, elem_nr, val[3])) diff --git a/LCU/checkhardware/showTestResult.py b/LCU/checkhardware/showTestResult.py index bfb290b1595fe26811d1c0862592932fba7995e5..2233b2f02d449c3aee71b0e5ad044e9143b72feb 100755 --- a/LCU/checkhardware/showTestResult.py +++ b/LCU/checkhardware/showTestResult.py @@ -76,16 +76,11 @@ def main(): RCUx = RCUy = 0 - banner = "\n" - banner += "------------------------------------------------------------------------------------------------------\n" - banner += " # # ### ##### ### # # #### ### # # #### #### ### # # # #####\n" - banner += " # # # # # # # # # # # # # # # # # # # # \n" - banner += " # # # ### # # #### ### # ## #### ### ### # # # # \n" - banner += " # ##### # # # # # # # # # # # # # # # # # \n" - banner += " #### # # ### # o ### # # #### ### # # o # # #### ### ### #### # \n" - banner += "------------------------------------------------------------------------------------------------------\n" - print banner + print "\n"+"-"*103 + print ">"*36+" LAST STATION-CHECK RESULT "+"<"*36 + print "-"*103 + _part = '' _part_nr = -1 _element_nr = -1 @@ -129,9 +124,10 @@ def main(): continue date = d[0] - if last_date != date: - print '\n'+'#'*103 - last_date = date + if args.has_key('D'): + if last_date != date: + print '\n'+'#'*103 + last_date = date if first_date != 0 and int(date) < int(first_date): continue @@ -161,17 +157,20 @@ def main(): # print " NEW TEST "*8 # print '-'*103 # + if msg == 'VERSIONS': + print "Used script versions: checkHardware=%s, test_db=%s, test_lib=%s, search_lib=%s\n" %(kv.get('CHECK'), kv.get('DB'), kv.get('TEST'), kv.get('SEARCH')) + if msg == 'STATION': - print ">> Station name : %s" %(kv.get('NAME')) + print "-- Station name : %s" %(kv.get('NAME')) if msg == 'RUNTIME': - print ">> Check runtime: %s .. %s" %(kv.get('START').replace('T',' '), kv.get('STOP').replace('T',' ')) + print "-- Check runtime : %s .. %s" %(kv.get('START').replace('T',' '), kv.get('STOP').replace('T',' ')) if msg == 'CHECKS': - print ">> Checks done : %s" %(string.join(d[4:],', ')) + print "-- Checks done : %s" %(string.join(d[4:],', ')) if msg == 'STATISTICS': - print ">> Bad antennas : LBL=%s, LBH=%s, HBA=%s" %\ + print "-- Bad antennas : LBL=%s, LBH=%s, HBA=%s" %\ (kv.get('BAD_LBL'), kv.get('BAD_LBH'), kv.get('BAD_HBA')) if part == 'RSP': @@ -226,8 +225,8 @@ def main(): print hdr + "="*(104-len(hdr)) lbaNumber = partnumber - if part == 'LBL': - lbaNumber += 48 + #if part == 'LBL': + # lbaNumber += 48 if msg == 'NOSIGNAL': print " NO test signal found" diff --git a/LCU/checkhardware/updatePVSS.py b/LCU/checkhardware/updatePVSS.py index 27bb83be02600ec72d6e3ff0727cdfce7c69a87e..c4e5bc3ab1ebb5d81574d20ce32e9b4656dbc425 100755 --- a/LCU/checkhardware/updatePVSS.py +++ b/LCU/checkhardware/updatePVSS.py @@ -37,6 +37,7 @@ def main(): if args.has_key('RESET'): resetPVSS(state=0) + addManualDataToPVSS() if args.has_key('NO_UPDATE'): print "PVSS Update skipped" @@ -59,8 +60,8 @@ def main(): testdata = f.readlines() f.close() - bad_lbl, bad_lbh, bad_hba = addDataToPVSS(testdata) - addDataToBadRcuFile(bad_lbl, bad_lbh, bad_hba) + bad_lba, bad_hba = addDataToPVSS(testdata) + addDataToBadRcuFile(bad_lba, bad_hba) # print help screen def printHelp(): @@ -188,6 +189,7 @@ def resetPVSS(state=0): if not args.has_key('TEST'): sendCmd("setObjectState", "stationtes:reset %s" %(full_filename)) sleep(2.0) + # add manual filled list with bad antennas to pvss @@ -220,13 +222,13 @@ def addManualDataToPVSS(): def addDataToPVSS(data): global args global State - bad_lbl = dict() - bad_lbh = dict() + bad_lba = dict() bad_hba = dict() RFrefX = 0.0 RFrefY = 0.0 + for line in data: if line[0] == '#': continue @@ -249,106 +251,62 @@ def addDataToPVSS(data): keyinfo[key] = vallist else: keyinfo[info[i]] = '-' - + + if part == 'LBL': + lban_limits = args.get('LBLN','0.0') + lbaj_limits = args.get('LBLJ','0.0') + lbas_limit = args.get('LBLS','0.0') + elif part == 'LBH': + lban_limits = args.get('LBHN','0.0') + lbaj_limits = args.get('LBHJ','0.0') + lbas_limit = args.get('LBHS','0.0') + + if part in ('LBL', 'LBH'): if msgType == 'TESTSIGNAL': RFrefX = float(keyinfo.get('SIGNALX','0.0')) RFrefY = float(keyinfo.get('SIGNALY','0.0')) if msgType == 'LOW_NOISE': if float(keyinfo.get('Xproc','0.0')) >= 100.0 or float(keyinfo.get('Yproc','0.0')) >= 100.0: - sendToPVSS("low-noise", "LOFAR_PIC_LBA%03d" %(partNr+48), State['BROKEN']) - bad_lbl[partNr] = 1 + sendToPVSS("low-noise", "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) + bad_lba[partNr] = 1 elif msgType == 'HIGH_NOISE': - limits = args.get('LBLN','0.0') proc_limit_2 = 0.0 diff_limit = 0.0 - if len(limits) > 1: - proc_limit_1 = float(limits[0]) - proc_limit_2 = float(limits[1]) - diff_limit = float(limits[2]) + if len(lban_limits) > 1: + proc_limit_1 = float(lban_limits[0]) + proc_limit_2 = float(lban_limits[1]) + diff_limit = float(lban_limits[2]) else: - proc_limit_1 = float(limits) + proc_limit_1 = float(lban_limits) if float(keyinfo.get('Xproc','0.0')) >= proc_limit_1 or float(keyinfo.get('Yproc','0.0')) >= proc_limit_1: if (float(keyinfo.get('Xproc','0.0')) < proc_limit_2 and float(keyinfo.get('Xdiff','0.0')) < diff_limit) and\ (float(keyinfo.get('Yproc','0.0')) < proc_limit_2 and float(keyinfo.get('Ydiff','0.0')) < diff_limit): pass else: - sendToPVSS("noise", "LOFAR_PIC_LBA%03d" %(partNr+48), State['BROKEN']) - bad_lbl[partNr] = 1 + sendToPVSS("noise", "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) + bad_lba[partNr] = 1 elif msgType == 'JITTER': - limits = args.get('LBLJ','0.0') proc_limit_2 = 0.0 diff_limit = 0.0 - if len(limits) > 1: - proc_limit_1 = float(limits[0]) - proc_limit_2 = float(limits[1]) - diff_limit = float(limits[2]) + if len(lbaj_limits) > 1: + proc_limit_1 = float(lbaj_limits[0]) + proc_limit_2 = float(lbaj_limits[1]) + diff_limit = float(lbla_limits[2]) else: - proc_limit_1 = float(limits) - - if float(keyinfo.get('Xproc','0.0')) >= proc_limit_1 or float(keyinfo.get('Yproc','0.0')) >= proc_limit_1: - if (float(keyinfo.get('Xproc','0.0')) < proc_limit_2 and float(keyinfo.get('Xdiff','0.0')) < diff_limit) and\ - (float(keyinfo.get('Yproc','0.0')) < proc_limit_2 and float(keyinfo.get('Ydiff','0.0')) < diff_limit): - pass - else: - sendToPVSS("jitter", "LOFAR_PIC_LBA%03d" %(partNr+48), State['BROKEN']) - bad_lbl[partNr] = 1 - - elif msgType == 'OSCILLATION': - sendToPVSS("oscillating", "LOFAR_PIC_LBA%03d" %(partNr+48), State['BROKEN']) - bad_lbl[partNr] = 1 - - elif msgType == 'RF_FAIL': - comment = "rf-fail-" - flag = False - limit = float(args.get('LBLS','0.0')) - X = float(keyinfo.get('X','0.0')) - Y = float(keyinfo.get('Y','0.0')) - if X > 0.0: - if abs(X - RFrefX) > limit: - comment += "X" - flag = True - if Y > 0.0: - if abs(Y - RFrefY) > limit: - comment += "Y" - flag = True - if flag: - print 'LBL %3.1f (%3.1f) %3.1f (%3.1f)' %(X, RFrefX, Y, RFrefY) - sendToPVSS(comment, "LOFAR_PIC_LBA%03d" %(partNr+48), State['BROKEN']) - bad_lbl[partNr] = 1 - - elif msgType == 'DOWN': - sendToPVSS("down", "LOFAR_PIC_LBA%03d" %(partNr+48), State['BROKEN']) - bad_lbl[partNr] = 1 + proc_limit_1 = float(lbla_limits) - if part == 'LBH': - if msgType == 'LOW_NOISE': - if float(keyinfo.get('Xproc','0.0')) >= 100.0 or float(keyinfo.get('Yproc','0.0')) >= 100.0: - sendToPVSS("low-noise", "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) - bad_lbh[partNr] = 1 - - elif msgType == 'HIGH_NOISE': - limits = args.get('LBHN','0.0') - proc_limit_2 = 0.0 - diff_limit = 0.0 - if len(limits) > 1: - proc_limit_1 = float(limits[0]) - proc_limit_2 = float(limits[1]) - diff_limit = float(limits[2]) - else: - proc_limit_1 = float(limits) - if float(keyinfo.get('Xproc','0.0')) >= proc_limit_1 or float(keyinfo.get('Yproc','0.0')) >= proc_limit_1: if (float(keyinfo.get('Xproc','0.0')) < proc_limit_2 and float(keyinfo.get('Xdiff','0.0')) < diff_limit) and\ (float(keyinfo.get('Yproc','0.0')) < proc_limit_2 and float(keyinfo.get('Ydiff','0.0')) < diff_limit): pass else: - sendToPVSS("noise", "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) - bad_lbh[partNr] = 1 + sendToPVSS("jitter", "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) + bad_lba[partNr] = 1 elif msgType == 'JITTER': limits = args.get('LBHJ','0.0') @@ -371,30 +329,29 @@ def addDataToPVSS(data): elif msgType == 'OSCILLATION': sendToPVSS("oscillating", "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) - bad_lbh[partNr] = 1 - + bad_lba[partNr] = 1 + elif msgType == 'RF_FAIL': comment = "rf-fail-" flag = False - limit = float(args.get('LBHS','0.0')) X = float(keyinfo.get('X','0.0')) Y = float(keyinfo.get('Y','0.0')) if X > 0.0: - if abs(X - RFrefX) > limit: + if abs(X - RFrefX) > float(lbas_limit): comment += "X" flag = True if Y > 0.0: - if abs(Y - RFrefY) > limit: + if abs(Y - RFrefY) > float(lbas_limit): comment += "Y" flag = True if flag: - #print 'LBH %3.1f (%3.1f) %3.1f (%3.1f)' %(X, RFrefX, Y, RFrefY) + p#rint 'LBL %3.1f (%3.1f) %3.1f (%3.1f)' %(X, RFrefX, Y, RFrefY) sendToPVSS(comment, "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) - bad_lbh[partNr] = 1 - + bad_lba[partNr] = 1 + elif msgType == 'DOWN': sendToPVSS("down", "LOFAR_PIC_LBA%03d" %(partNr), State['BROKEN']) - bad_lbh[partNr] = 1 + bad_lba[partNr] = 1 if part == 'HBA': if msgType == 'LOW_NOISE': @@ -496,6 +453,7 @@ def addDataToPVSS(data): if keyinfo.has_key('Y%d' %(elem_nr)): RFY_errors += 1 + send_tile_errors = 0 for elem_nr in range(1,17,1): send_elem_errors = 0 @@ -542,10 +500,10 @@ def addDataToPVSS(data): sendToPVSS("", "LOFAR_PIC_HBA%02d" %(partNr), State['BROKEN']) bad_hba[partNr] = 1 - return (list(bad_lbl), list(bad_lbh), list(bad_hba)) + return (list(bad_lba), list(bad_hba)) # write bad rcu's to file in logdir -def addDataToBadRcuFile(bad_lbl, bad_lbh, bad_hba): +def addDataToBadRcuFile(bad_lba, bad_hba): global nLBL # add bad rcus to file @@ -553,23 +511,23 @@ def addDataToBadRcuFile(bad_lbl, bad_lbh, bad_hba): full_filename = os.path.join(logdir, filename) f = open(full_filename, 'w') - if nLBL: - bad = "" - for ant in sorted(bad_lbl): - bad += "%d," %(ant*2) - bad += "%d," %(ant*2+1) - if len(bad): - bad = bad[:-1] - bad = "LBL=[" + bad + "]\n" - f.write(bad) +# if nLBL: +# bad = "" +# for ant in sorted(bad_lbl): +# bad += "%d," %(ant*2) +# bad += "%d," %(ant*2+1) +# if len(bad): +# bad = bad[:-1] +# bad = "LBL=[" + bad + "]\n" +# f.write(bad) bad = "" - for ant in sorted(bad_lbh): + for ant in sorted(bad_lba): bad += "%d," %(ant*2) bad += "%d," %(ant*2+1) if len(bad): bad = bad[:-1] - bad = "LBH=[" + bad + "]\n" + bad = "LBA=[" + bad + "]\n" f.write(bad) bad = "" diff --git a/MAC/Deployment/data/OTDB/CMakeLists.txt b/MAC/Deployment/data/OTDB/CMakeLists.txt index e48c9aa1b8495df3931eb5e78be5decf0ac07188..7021041657b8a609268169d9c3e62cb6cfdcbee4 100644 --- a/MAC/Deployment/data/OTDB/CMakeLists.txt +++ b/MAC/Deployment/data/OTDB/CMakeLists.txt @@ -9,6 +9,8 @@ install(PROGRAMS loadPICtree DESTINATION sbin) +install(PROGRAMS Component_diff.sh DESTINATION sbin RENAME Component_diff) + file(GLOB otdb_comps *.comp *.list diff --git a/MAC/Deployment/data/StaticMetaData/createFiles b/MAC/Deployment/data/StaticMetaData/createFiles index 515962f3c8e97235da347b558007631f5816be7b..a9bdcc6318097d56235b2a627c8a29190a266a04 100755 --- a/MAC/Deployment/data/StaticMetaData/createFiles +++ b/MAC/Deployment/data/StaticMetaData/createFiles @@ -429,12 +429,26 @@ def createRSPDriverFile_Test(resultDir, stationName, dataDir, alias): os.write(outFile, RSPconfig) os.close(outFile) - # An ugly way to get rid of all lines in the template file that are not # filled yet. cmd = "grep -v '@' "+dataDir+"/RSPDriver.conf.tmp > "+resultDir+"/RSPDriver.conf"; os.system(cmd); + # Adapt RSPConnections.dat on bgfen1 (for routing of data to test IO nodes) + # First remove existing entries + print "Adapting /opt/lofar/etc/RSPConnections.dat on bgfen1" + cmd = "ssh 10.170.200.11 sed -i /^"+stationName.upper()+".*/d /opt/lofar/etc/RSPConnections.dat" + os.system(cmd); + ip_mac_alias = findIPandMAC_test(alias[0],dataDir) + cmd = "ssh 10.170.200.11 'echo "+stationName.upper()+" RSP_0 "+ip_mac_alias[0][2]+" >> /opt/lofar/etc/RSPConnections.dat'" + os.system(cmd); + + if (stationName[0:2].upper() == "CS"): + ip_mac_alias = findIPandMAC_test(alias[1],dataDir) + cmd = "ssh 10.170.200.11 'echo "+stationName.upper()+" RSP_1 "+ip_mac_alias[0][2]+" >> /opt/lofar/etc/RSPConnections.dat'" + os.system(cmd); + + def createTBBDriverFile(resultDir, stationName, dataDir): """ Fills in the markers in the TBBDriver.conf file to match the values for the given station. diff --git a/MAC/Navigator2/panels/Processes/BGPAppl.pnl b/MAC/Navigator2/panels/Processes/BGPAppl.pnl index cc2979f753b30a079657b595630bdef2304eb3c1..9fee42c29405e3990cee3e23f89188b5ee927baa 100644 --- a/MAC/Navigator2/panels/Processes/BGPAppl.pnl +++ b/MAC/Navigator2/panels/Processes/BGPAppl.pnl @@ -1,7 +1,7 @@ V 11 1 LANG:1 0 -PANEL,-1 -1 1013 750 N "_3DFace" 0 +PANEL,-1 -1 1013 764 N "_3DFace" 0 "main() { // Initialise the Panel @@ -213,24 +213,22 @@ LANG:1 0 0 1 52 0 "" 12 0 -1 53 0 "" 13 +1 53 0 "" 15 0 -1 54 0 "" 15 +1 54 0 "" 16 0 -1 55 0 "" 16 +1 55 0 "" 17 0 -1 56 0 "" 17 +1 56 0 "" 18 0 -1 57 0 "" 18 +1 57 0 "" 19 0 -1 58 0 "" 19 -0 -1 59 0 "" 20 +1 58 0 "" 20 0 25 42 "stationTable" "" -1 30 360 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 30 570 E E E 1 E 1 E N "_WindowText" E N "_Window" E E "main(int row, string column) { rClick(row); @@ -249,7 +247,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 28 358 422 712 +0 28 568 422 732 "main() { stationTable.tableMode(TABLE_SELECT_BROWSE); diff --git a/MAC/Navigator2/panels/Processes/BeamControl.pnl b/MAC/Navigator2/panels/Processes/BeamControl.pnl index ae86a92d59c747201bad8ca445ea1c9da44ba634..1fed9578631e4ca1c4a025aa576a9ac01a0a98cd 100644 --- a/MAC/Navigator2/panels/Processes/BeamControl.pnl +++ b/MAC/Navigator2/panels/Processes/BeamControl.pnl @@ -1,7 +1,7 @@ V 11 1 LANG:1 0 -PANEL,-1 -1 1013 750 N "_3DFace" 0 +PANEL,-1 -1 1013 765 N "_3DFace" 0 "main() { // Initialise the Panel @@ -173,24 +173,22 @@ LANG:1 0 0 1 93 0 "" 12 0 -1 94 0 "" 13 +1 94 0 "" 15 0 -1 95 0 "" 15 +1 95 0 "" 16 0 -1 96 0 "" 16 +1 96 0 "" 17 0 -1 97 0 "" 17 +1 97 0 "" 18 0 -1 98 0 "" 18 +1 98 0 "" 19 0 -1 99 0 "" 19 -0 -1 100 0 "" 20 +1 99 0 "" 20 0 2 50 "PRIMITIVE_TEXT8" "" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 30 580 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 25 0 0 0 0 0 E E E @@ -200,8 +198,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 95 333 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 +E E 0 1 1 2 1 E U 1 E 30 580 95 593 +0 2 2 "0s" 0 0 0 192 0 0 30 580 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -219,11 +217,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E 1 0 1 -50 -20 1 E 160 340 175 355 +E E 0 1 1 2 1 E 1 0 1 -60 237 1 E 160 340 175 355 2 65 "PRIMITIVE_TEXT9" "" -1 30 344 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 30 600 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 30 0 0 0 0 0 E E E @@ -233,8 +231,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 344 83 357 -0 2 2 "0s" 0 0 0 192 0 0 30 344 1 +E E 0 1 1 2 1 E U 1 E 30 600 83 613 +0 2 2 "0s" 0 0 0 192 0 0 30 600 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -242,7 +240,7 @@ LANG:1 9 subArray: 14 66 "subArrayText" "" -1 110 340 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 100 598 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 31 0 0 0 0 0 E E E @@ -253,12 +251,12 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 108 338 992 359 +0 98 596 982 617 2 "0s" 0 0 0 0 0 -1 E E E 25 82 "beamTable" "" -1 30 390 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 30 640 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 38 0 0 0 0 0 E E E @@ -269,7 +267,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 -0 28 388 992 577 +0 28 638 992 752 EE 1 0 1 6 8 "Name" 8 1 0 "s" 1 LANG:1 4 Name E @@ -294,13 +292,13 @@ E 1 LANG:1 0 -100 "subbands" 51 1 0 "s" 1 +100 "subbands" 25 1 0 "s" 1 LANG:1 8 subbands E 1 LANG:1 0 -285 "beamlets" 6 1 0 "s" 1 +285 "beamlets" 25 1 0 "s" 1 LANG:1 8 beamlets E 1 @@ -331,7 +329,7 @@ LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 2 83 "PRIMITIVE_TEXT10" "" -1 30 370 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 30 620 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 39 0 0 0 0 0 E E E @@ -341,8 +339,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 370 71 383 -0 2 2 "0s" 0 0 0 192 0 0 30 370 1 +E E 0 1 1 2 1 E U 1 E 30 620 71 633 +0 2 2 "0s" 0 0 0 192 0 0 30 620 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -377,7 +375,7 @@ LAYER, 7 LANG:1 0 0 3 0 "PANEL_REF1" -1 -"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 +"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1.00494233937397 1.4432899320127e-014 -40.24711696869851 1 "$ctrlName""BeamControl" 0 diff --git a/MAC/Navigator2/panels/Processes/BeamServer.pnl b/MAC/Navigator2/panels/Processes/BeamServer.pnl index 1067edc267176a22da7d5e0542b9279c64f8998c..a9e04f2a76bfaf5bfb35aa05f2a7ec3ebc55a6db 100644 --- a/MAC/Navigator2/panels/Processes/BeamServer.pnl +++ b/MAC/Navigator2/panels/Processes/BeamServer.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -97,40 +97,18 @@ LANG:1 0 0 1 57 0 "" 12 0 -1 58 0 "" 13 +1 58 0 "" 15 0 -1 59 0 "" 15 +1 59 0 "" 16 0 -1 60 0 "" 16 +1 60 0 "" 17 0 -1 61 0 "" 17 +1 61 0 "" 18 0 -1 62 0 "" 18 +1 62 0 "" 19 0 -1 63 0 "" 19 +1 63 0 "" 20 0 -1 64 0 "" 20 -0 -2 47 -"PRIMITIVE_TEXT7" -"" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E - E E -21 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 60 334 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 4 None 0 LAYER, 1 1 @@ -160,8 +138,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" +3 0 "PANEL_REF1" -1 "objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 1 "$ctrlName""BeamServer" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/CEPHardwareMonitor.pnl b/MAC/Navigator2/panels/Processes/CEPHardwareMonitor.pnl index 828d0f45eba183e8bb2efba707290646b5fb6055..70da2e119d327630288263befaa42a204b725c3c 100644 --- a/MAC/Navigator2/panels/Processes/CEPHardwareMonitor.pnl +++ b/MAC/Navigator2/panels/Processes/CEPHardwareMonitor.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -155,9 +155,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 29 170 993 281 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 29 170 993 564 EE 1 0 1 5 1 "time" 12 1 0 "s" 1 LANG:1 4 time E @@ -193,9 +192,8 @@ LANG:1 0 LANG:1 2 #1 10 30 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -0 1 2 1 7 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 0 1 2 1 7 1 0 1 75 4 "" 1 0 @@ -212,9 +210,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 137 50 990 71 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 137 50 990 71 2 "0s" 0 0 0 0 0 -1 E E E 2 61 "TopLabel" @@ -229,12 +226,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 479 12 684 33 +E E 0 1 1 2 1 E U 1 E 479 12 684 32 0 2 2 "0s" 0 0 0 192 0 0 479 12 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-16-*-100-100-*-*-iso8859-1|-16,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,16,5,75,0,0,0,0,0 +0 1 LANG:1 24 Station: HardwareMonitor 2 62 "PRIMITIVE_TEXT2" @@ -249,12 +245,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 86 114 100 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 86 114 99 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 86 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 14 Current Action 2 63 "PRIMITIVE_TEXT3" @@ -269,12 +264,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 53 127 67 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 53 127 66 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 53 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 15 Status Message: 14 64 "processAction" @@ -289,9 +283,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 137 80 431 101 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 137 80 431 101 2 "0s" 0 0 0 0 0 -1 E E E 2 65 "PRIMITIVE_TEXT4" @@ -306,12 +299,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 116 105 130 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 116 105 129 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 116 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 13 Current Error 14 66 "processError" @@ -326,9 +318,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 137 110 431 131 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 137 110 431 131 2 "0s" 0 0 0 0 0 -1 E E E 2 67 "PRIMITIVE_TEXT5" @@ -343,33 +334,12 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 152 118 166 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 152 118 165 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 152 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 13 Log Messages: -2 68 -"PRIMITIVE_TEXT6" -"" -1 33.00000000000001 292 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E - E E -60 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 292 133 306 -0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 292 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 18 Controller Values: 2 69 "PRIMITIVE_TEXT7" "" @@ -383,12 +353,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 459 86 513 100 +E E 0 1 1 2 1 E U 1 E 459 86 513 99 0 2 2 "0s" 0 0 0 192 0 0 459 86 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 9 StartTime 2 70 "PRIMITIVE_TEXT8" @@ -403,12 +372,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 459 116 512 130 +E E 0 1 1 2 1 E U 1 E 459 116 512 129 0 2 2 "0s" 0 0 0 192 0 0 459 116 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 8 StopTime 14 71 "processStartTime" @@ -423,9 +391,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 527 80 821 101 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 527 80 821 101 2 "0s" 0 0 0 0 0 -1 E E E 14 72 "processStopTime" @@ -440,9 +407,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 527 110 821 131 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 527 110 821 131 2 "0s" 0 0 0 0 0 -1 E E E 2 73 "PRIMITIVE_TEXT9" @@ -457,12 +423,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 849 86 866 100 +E E 0 1 1 2 1 E U 1 E 849 86 866 99 0 2 2 "0s" 0 0 0 192 0 0 849 86 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 3 ID: 14 74 "processID" @@ -477,9 +442,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 867 80 991 101 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 867 80 991 101 2 "0s" 0 0 0 0 0 -1 E E E 0 LAYER, 1 @@ -510,7 +474,7 @@ LAYER, 7 1 LANG:1 0 0 -3 4 "selfState" +3 4 "selfState" -1 "objects\\lofar_self_state.pnl" 9.500000000000011 10.5 T 42 1 0 1 -0.4999999999999928 4.5 0 -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/CalServer.pnl b/MAC/Navigator2/panels/Processes/CalServer.pnl index ed1824be48e77c11bbfaeced57b5133d4b3952cf..e92e88244d81c68591774b29315abaf1b06b288e 100644 --- a/MAC/Navigator2/panels/Processes/CalServer.pnl +++ b/MAC/Navigator2/panels/Processes/CalServer.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -96,40 +96,18 @@ LANG:1 0 0 1 57 0 "" 12 0 -1 58 0 "" 13 +1 58 0 "" 15 0 -1 59 0 "" 15 +1 59 0 "" 16 0 -1 60 0 "" 16 +1 60 0 "" 17 0 -1 61 0 "" 17 +1 61 0 "" 18 0 -1 62 0 "" 18 +1 62 0 "" 19 0 -1 63 0 "" 19 +1 63 0 "" 20 0 -1 64 0 "" 20 -0 -2 47 -"PRIMITIVE_TEXT7" -"" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E - E E -21 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 60 334 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 4 None 0 LAYER, 1 1 @@ -159,8 +137,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" +3 0 "PANEL_REF1" -1 "objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 1 "$ctrlName""CalServer" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/CalibrationControl.pnl b/MAC/Navigator2/panels/Processes/CalibrationControl.pnl index 750fe35f03282ee2f989ffbf92ebc0d97d13d572..7b2a7d22b6ee4a22f7516b25ee31b8c88a9ed04a 100644 --- a/MAC/Navigator2/panels/Processes/CalibrationControl.pnl +++ b/MAC/Navigator2/panels/Processes/CalibrationControl.pnl @@ -175,24 +175,22 @@ LANG:1 0 0 1 99 0 "" 12 0 -1 100 0 "" 13 +1 100 0 "" 15 0 -1 101 0 "" 15 +1 101 0 "" 16 0 -1 102 0 "" 16 +1 102 0 "" 17 0 -1 103 0 "" 17 +1 103 0 "" 18 0 -1 104 0 "" 18 +1 104 0 "" 19 0 -1 105 0 "" 19 -0 -1 106 0 "" 20 +1 105 0 "" 20 0 2 50 "PRIMITIVE_TEXT8" "" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 10 610 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 25 0 0 0 0 0 E E E @@ -202,8 +200,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 95 333 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 +E E 0 1 1 2 1 E U 1 E 10 610 75 623 +0 2 2 "0s" 0 0 0 192 0 0 10 610 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -221,11 +219,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E 1 0 1 -45 -20 1 E 160 340 175 355 +E E 0 1 1 2 1 E 1 0 1 -70 267 1 E 160 340 175 355 2 65 "PRIMITIVE_TEXT9" "" -1 30 344 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 10 580 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 30 0 0 0 0 0 E E E @@ -235,16 +233,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 344 109 357 -0 2 2 "0s" 0 0 0 192 0 0 30 344 1 +E E 0 1 1 2 1 E U 1 E 10 580 90 593 +0 2 2 "0s" 0 0 0 192 0 0 10 580 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 -LANG:1 13 antennaArray: +LANG:1 13 AntennaArray: 14 66 "antennaArrayText" "" -1 110 340 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 86.40000000000001 578 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 31 0 0 0 0 0 E E E @@ -255,12 +253,12 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 113 338 992 359 +0 88 576 722 597 2 "0s" 0 0 0 0 0 -1 E E E 25 82 "beamTable" "" -1 115 374 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 740 536.140350877193 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 38 0 0 0 0 0 E E E @@ -271,9 +269,9 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 -0 113 422 367 597 +0 738 578 992 732 EE 1 0 1 1 8 "Name" 22 1 0 "s" 1 -LANG:1 4 Name +LANG:1 9 BeamNames E 1 LANG:1 0 @@ -300,29 +298,10 @@ LANG:1 2 #1 LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 0 0 1 0 1 7 1 0 -2 83 -"PRIMITIVE_TEXT10" -"" -1 30 428 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E - E E -39 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 428 103 441 -0 2 2 "0s" 0 0 0 192 0 0 30 428 1 -1 -LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 -0 1 -LANG:1 10 BeamNames: 2 84 "PRIMITIVE_TEXT11" "" -1 30 365 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 10 640 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 41 0 0 0 0 0 E E E @@ -332,16 +311,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 365 61 378 -0 2 2 "0s" 0 0 0 192 0 0 30 365 1 +E E 0 1 1 2 1 E U 1 E 10 640 49 653 +0 2 2 "0s" 0 0 0 192 0 0 10 640 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 -LANG:1 6 rcu's: +LANG:1 6 RCU's: 14 85 "rcusText" "" -1 110 361 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 86.40000000000001 633 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 43 0 0 0 0 0 E E E @@ -352,12 +331,12 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 113 359 992 380 +0 88 631 722 652 2 "0s" 0 0 0 0 0 -1 E E E 2 86 "PRIMITIVE_TEXT12" "" -1 30 386 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 170 610 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 45 0 0 0 0 0 E E E @@ -367,16 +346,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 386 59 399 -0 2 2 "0s" 0 0 0 192 0 0 30 386 1 +E E 0 1 1 2 1 E U 1 E 170 610 202 623 +0 2 2 "0s" 0 0 0 192 0 0 170 610 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 -LANG:1 7 filter: +LANG:1 7 Filter: 14 87 "filterText" "" -1 113.771428571429 382 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 208.771428571429 607 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 47 0 0 0 0 0 E E E @@ -387,12 +366,12 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 113 380 332 401 +0 208 605 427 626 2 "0s" 0 0 0 0 0 -1 E E E 2 88 "PRIMITIVE_TEXT13" "" -1 30 407 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 460 610 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 49 0 0 0 0 0 E E E @@ -402,16 +381,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 407 101 420 -0 2 2 "0s" 0 0 0 192 0 0 30 407 1 +E E 0 1 1 2 1 E U 1 E 460 610 533 623 +0 2 2 "0s" 0 0 0 192 0 0 460 610 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 -LANG:1 12 nyquistzone: +LANG:1 12 Nyquistzone: 14 89 "nyquistzoneText" "" -1 114.742857142857 403 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 539.742857142857 607 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 51 0 0 0 0 0 E E E @@ -422,7 +401,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 113 401 162 422 +0 538 605 587 626 2 "0s" 0 0 0 0 0 -1 E E E 0 LAYER, 1 diff --git a/MAC/Navigator2/panels/Processes/ClockControl.pnl b/MAC/Navigator2/panels/Processes/ClockControl.pnl index 8c8ea7162c813beff8a6ce0f3adc7e7e22553a28..9c9648ad18e60b716e8cff92f6139d2a0ba1b4b3 100644 --- a/MAC/Navigator2/panels/Processes/ClockControl.pnl +++ b/MAC/Navigator2/panels/Processes/ClockControl.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 754 N "_3DFace" 0 @@ -138,24 +138,22 @@ LANG:1 0 0 1 82 0 "" 12 0 -1 83 0 "" 13 +1 83 0 "" 15 0 -1 84 0 "" 15 +1 84 0 "" 16 0 -1 85 0 "" 16 +1 85 0 "" 17 0 -1 86 0 "" 17 +1 86 0 "" 18 0 -1 87 0 "" 18 +1 87 0 "" 19 0 -1 88 0 "" 19 -0 -1 89 0 "" 20 +1 88 0 "" 20 0 2 50 "PRIMITIVE_TEXT8" "" -1 30 340 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 30 590 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 25 0 0 0 0 0 E E E @@ -165,12 +163,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 340 95 354 -0 2 2 "0s" 0 0 0 192 0 0 30 340 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 30 590 95 603 +0 2 2 "0s" 0 0 0 192 0 0 30 590 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 10 Connected: 6 51 "connectedText" @@ -185,11 +182,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E 1 0 1 0 -5 1 E 160 340 175 355 +E E 0 1 1 2 1 E 1 0 1 0 247 1 E 160 340 175 355 2 52 "PRIMITIVE_TEXT9" "" -1 30 374 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 30 620 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 27 0 0 0 0 0 E E E @@ -199,17 +196,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 374 106 388 -0 2 2 "0s" 0 0 0 192 0 0 30 374 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 30 620 106 633 +0 2 2 "0s" 0 0 0 192 0 0 30 620 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 13 Actual Clock: 14 53 "actualClockText" "" -1 160 370 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 160 617 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 28 0 0 0 0 0 E E E @@ -219,14 +215,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 158 368 282 389 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 158 615 282 636 2 "0s" 0 0 0 0 0 -1 E E E 2 71 "PRIMITIVE_TEXT10" "" -1 30 404 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 30 650 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 30 0 0 0 0 0 E E E @@ -236,17 +231,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 404 131 418 -0 2 2 "0s" 0 0 0 192 0 0 30 404 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 30 650 131 663 +0 2 2 "0s" 0 0 0 192 0 0 30 650 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 16 Requested Clock: 14 72 "requestedClockText" "" -1 160 400 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 160 647 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 32 0 0 0 0 0 E E E @@ -256,9 +250,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 158 398 282 419 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 158 645 282 666 2 "0s" 0 0 0 0 0 -1 E E E 0 LAYER, 1 @@ -289,8 +282,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" +3 0 "PANEL_REF1" -1 "objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 1 "$ctrlName""ClockControl" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/HardwareMonitor.pnl b/MAC/Navigator2/panels/Processes/HardwareMonitor.pnl index 7c70a7e0daa0e1d1f98c105a31e7dbb079f94b3d..b247a2a8ad0e8742a28c9cc5ab7e62931e97668e 100644 --- a/MAC/Navigator2/panels/Processes/HardwareMonitor.pnl +++ b/MAC/Navigator2/panels/Processes/HardwareMonitor.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -361,7 +361,7 @@ LANG:1 0 25 50 "RSPTable" "" -1 30 350 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 30 520 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 25 0 0 0 0 0 E E E @@ -371,9 +371,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 28 348 992 431 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 28 518 992 601 EE 1 0 1 5 1 "time" 12 1 0 "s" 1 LANG:1 4 time E @@ -409,14 +408,13 @@ LANG:1 0 LANG:1 2 #1 10 30 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -0 1 2 1 7 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 0 1 2 1 7 1 0 2 51 "PRIMITIVE_TEXT10" "" -1 33 333 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E +1 33 503 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E E E 27 0 0 0 0 0 E E E @@ -426,17 +424,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33 333 147 347 -0 2 2 "0s" 0 0 0 192 0 0 33 333 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 33 503 147 516 +0 2 2 "0s" 0 0 0 192 0 0 33 503 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 17 RSP Log Messages: 2 52 "PRIMITIVE_TEXT11" "" -1 33 313 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 33 483 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 29 0 0 0 0 0 E E E @@ -446,12 +443,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33 313 127 327 -0 2 2 "0s" 0 0 0 192 0 0 33 313 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 33 483 127 496 +0 2 2 "0s" 0 0 0 192 0 0 33 483 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 14 RSP Connected: 6 53 "RSPConnectedText" @@ -466,11 +462,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E 1 0 1 2 300 1 E 140 10 155 25 +E E 0 1 1 2 1 E 1 0 1 2 470 1 E 140 10 155 25 25 54 "TBBTable" "" -1 30 490 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 30 660 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 33 0 0 0 0 0 E E E @@ -480,9 +476,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 28 488 992 571 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 28 658 992 741 EE 1 0 1 5 1 "time" 12 1 0 "s" 1 LANG:1 4 time E @@ -518,14 +513,13 @@ LANG:1 0 LANG:1 2 #1 10 30 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -0 1 2 1 7 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 0 1 2 1 7 1 0 2 55 "PRIMITIVE_TEXT12" "" -1 33 463 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E +1 33 633 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E E E 35 0 0 0 0 0 E E E @@ -535,17 +529,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33 463 146 477 -0 2 2 "0s" 0 0 0 192 0 0 33 463 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 33 633 146 646 +0 2 2 "0s" 0 0 0 192 0 0 33 633 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 17 TBB Log Messages: 2 56 "PRIMITIVE_TEXT13" "" -1 33 443 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 33 613 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 37 0 0 0 0 0 E E E @@ -555,12 +548,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33 443 126 457 -0 2 2 "0s" 0 0 0 192 0 0 33 443 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 33 613 126 626 +0 2 2 "0s" 0 0 0 192 0 0 33 613 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 14 TBB Connected: 6 57 "TBBConnectedText" @@ -575,7 +567,7 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E 1 0 1 2 430 1 E 140 10 155 25 +E E 0 1 1 2 1 E 1 0 1 2 600 1 E 140 10 155 25 25 58 "myLogTable" "" @@ -589,9 +581,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 29 170 993 281 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 29 170 993 472 EE 1 0 1 5 1 "time" 12 1 0 "s" 1 LANG:1 4 time E @@ -627,9 +618,8 @@ LANG:1 0 LANG:1 2 #1 10 30 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -0 1 2 1 7 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 0 1 2 1 7 1 0 1 75 4 "" 1 0 @@ -646,9 +636,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 137 50 990 71 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 137 50 990 71 2 "0s" 0 0 0 0 0 -1 E E E 2 61 "TopLabel" @@ -663,12 +652,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 479 12 684 33 +E E 0 1 1 2 1 E U 1 E 479 12 684 32 0 2 2 "0s" 0 0 0 192 0 0 479 12 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-16-*-100-100-*-*-iso8859-1|-16,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,16,5,75,0,0,0,0,0 +0 1 LANG:1 24 Station: HardwareMonitor 2 62 "PRIMITIVE_TEXT2" @@ -683,12 +671,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 86 114 100 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 86 114 99 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 86 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 14 Current Action 2 63 "PRIMITIVE_TEXT3" @@ -703,12 +690,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 53 127 67 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 53 127 66 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 53 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 15 Status Message: 14 64 "processAction" @@ -723,9 +709,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 137 80 431 101 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 137 80 431 101 2 "0s" 0 0 0 0 0 -1 E E E 2 65 "PRIMITIVE_TEXT4" @@ -740,12 +725,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 116 105 130 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 116 105 129 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 116 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 13 Current Error 14 66 "processError" @@ -760,9 +744,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 137 110 431 131 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 137 110 431 131 2 "0s" 0 0 0 0 0 -1 E E E 2 67 "PRIMITIVE_TEXT5" @@ -777,33 +760,12 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 152 118 166 +E E 0 1 1 2 1 E U 1 E 33.00000000000001 152 118 165 0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 152 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 13 Log Messages: -2 68 -"PRIMITIVE_TEXT6" -"" -1 33.00000000000001 292 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E - E E -60 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 33.00000000000001 292 133 306 -0 2 2 "0s" 0 0 0 192 0 0 33.00000000000001 292 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 18 Controller Values: 2 69 "PRIMITIVE_TEXT7" "" @@ -817,12 +779,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 459 86 513 100 +E E 0 1 1 2 1 E U 1 E 459 86 513 99 0 2 2 "0s" 0 0 0 192 0 0 459 86 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 9 StartTime 2 70 "PRIMITIVE_TEXT8" @@ -837,12 +798,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 459 116 512 130 +E E 0 1 1 2 1 E U 1 E 459 116 512 129 0 2 2 "0s" 0 0 0 192 0 0 459 116 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 8 StopTime 14 71 "processStartTime" @@ -857,9 +817,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 527 80 821 101 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 527 80 821 101 2 "0s" 0 0 0 0 0 -1 E E E 14 72 "processStopTime" @@ -874,9 +833,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 527 110 821 131 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 527 110 821 131 2 "0s" 0 0 0 0 0 -1 E E E 2 73 "PRIMITIVE_TEXT9" @@ -891,12 +849,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 849 86 866 100 +E E 0 1 1 2 1 E U 1 E 849 86 866 99 0 2 2 "0s" 0 0 0 192 0 0 849 86 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 3 ID: 14 74 "processID" @@ -911,9 +868,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 867 80 991 101 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 867 80 991 101 2 "0s" 0 0 0 0 0 -1 E E E 0 LAYER, 1 @@ -944,7 +900,7 @@ LAYER, 7 1 LANG:1 0 0 -3 4 "selfState" +3 4 "selfState" -1 "objects\\lofar_self_state.pnl" 9.500000000000011 10.5 T 42 1 0 1 -0.4999999999999928 4.5 0 -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/MACScheduler.pnl b/MAC/Navigator2/panels/Processes/MACScheduler.pnl index 700135b1626990037ca1df51e4c2e9b36b5917f6..ee5562e3574ba053b841a04aeaf7c46fc32280f5 100644 --- a/MAC/Navigator2/panels/Processes/MACScheduler.pnl +++ b/MAC/Navigator2/panels/Processes/MACScheduler.pnl @@ -239,19 +239,17 @@ LANG:1 0 0 1 45 0 "" 12 0 -1 46 0 "" 13 +1 46 0 "" 15 0 -1 47 0 "" 15 +1 47 0 "" 16 0 -1 48 0 "" 16 +1 48 0 "" 17 0 -1 49 0 "" 17 +1 49 0 "" 18 0 -1 50 0 "" 18 +1 50 0 "" 19 0 -1 51 0 "" 19 -0 -1 52 0 "" 20 +1 51 0 "" 20 0 30 12 "FRAME1" @@ -266,7 +264,7 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 0 1 0 1 E 2.28571428571429 0 0.487179487179487 -38.5714285714286 172.384615384615 0 E 30 303 451 421 +E E 0 0 1 0 1 E 2.28571428571429 0 0.2564102564102563 -38.5714285714287 492.3076923076924 0 E 30 303 451 421 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 0 1 @@ -274,7 +272,7 @@ LANG:1 4 OTDB 2 13 "PRIMITIVE_TEXT7" "" -1 40 344 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E +1 40 585 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E E E 1 0 0 0 0 0 E E E @@ -284,8 +282,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 40 344 105 357 -0 2 2 "0s" 0 0 0 192 0 0 40 344 1 +E E 0 1 1 2 1 E U 1 E 40 585 105 598 +0 2 2 "0s" 0 0 0 192 0 0 40 585 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -293,7 +291,7 @@ LANG:1 10 Connected: 2 14 "PRIMITIVE_TEXT8" "" -1 349 344 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E +1 310 585 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E E E 3 0 0 0 0 0 E E E @@ -303,8 +301,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 349 344 421 357 -0 2 2 "0s" 0 0 0 192 0 0 349 344 1 +E E 0 1 1 2 1 E U 1 E 310 585 382 598 +0 2 2 "0s" 0 0 0 192 0 0 310 585 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -312,7 +310,7 @@ LANG:1 14 Poll Interval: 2 15 "PRIMITIVE_TEXT9" "" -1 665 344 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E +1 690 585 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E E E 5 0 0 0 0 0 E E E @@ -322,8 +320,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 665 344 718 357 -0 2 2 "0s" 0 0 0 192 0 0 665 344 1 +E E 0 1 1 2 1 E U 1 E 690 585 743 598 +0 2 2 "0s" 0 0 0 192 0 0 690 585 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -331,7 +329,7 @@ LANG:1 10 Last Poll: 14 16 "txt_OTDBconnected" "" -1 117 343 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 120 579 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 6 0 0 0 0 0 E E E @@ -342,12 +340,12 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 115 341 339 362 +0 118 577 302 598 2 "0s" 0 0 0 0 0 -1 E E E 14 17 "txt_OTDBpollinterval" "" -1 430 340 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 393 579 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 8 0 0 0 0 0 E E E @@ -358,12 +356,12 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 428 338 652 359 +0 391 577 615 598 2 "0s" 0 0 0 0 0 -1 E E E 14 18 "txt_OTDBlastPoll" "" -1 730 343 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 760 579 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 10 0 0 0 0 0 E E E @@ -374,12 +372,12 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 728 341 952 362 +0 758 577 982 598 2 "0s" 0 0 0 0 0 -1 E E E 17 19 "PlannedObservationList" "" -1 30 420 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 30 620 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 11 0 0 0 0 0 E E E @@ -390,7 +388,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 28 418 322 722 +0 28 618 322 722 0 E @@ -401,7 +399,7 @@ E 2 31 "PRIMITIVE_TEXT10" "" -1 100 390 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 90 600 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 12 0 0 0 0 0 E E E @@ -411,8 +409,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 100 390 228 403 -0 2 2 "0s" 0 0 0 192 0 0 100 390 1 +E E 0 1 1 2 1 E U 1 E 90 600 218 613 +0 2 2 "0s" 0 0 0 192 0 0 90 600 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -420,7 +418,7 @@ LANG:1 21 Planned Observations: 17 32 "ActiveObservationList" "" -1 360 420 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 360 620 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 14 0 0 0 0 0 E E E @@ -431,7 +429,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 358 418 652 722 +0 358 618 652 722 0 E @@ -442,7 +440,7 @@ E 2 33 "PRIMITIVE_TEXT11" "" -1 430 392 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 440 600 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 16 0 0 0 0 0 E E E @@ -452,8 +450,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 430 392 548 405 -0 2 2 "0s" 0 0 0 192 0 0 430 392 1 +E E 0 1 1 2 1 E U 1 E 440 600 558 613 +0 2 2 "0s" 0 0 0 192 0 0 440 600 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -461,7 +459,7 @@ LANG:1 20 Active Observations: 17 34 "FinishedObservationList" "" -1 690 422 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 690 620.8336134453781 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 18 0 0 0 0 0 E E E @@ -472,7 +470,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 688 420 982 722 +0 688 619 982 722 0 E @@ -483,7 +481,7 @@ E 2 35 "PRIMITIVE_TEXT12" "" -1 760 392 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 760 600 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 20 0 0 0 0 0 E E E @@ -493,8 +491,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 760 392 889 405 -0 2 2 "0s" 0 0 0 192 0 0 760 392 1 +E E 0 1 1 2 1 E U 1 E 760 600 889 613 +0 2 2 "0s" 0 0 0 192 0 0 760 600 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -529,7 +527,7 @@ LAYER, 7 LANG:1 0 0 3 0 "PANEL_REF1" -1 -"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 +"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4210854715202e-014 -40 1 "$ctrlName""MACScheduler" 0 diff --git a/MAC/Navigator2/panels/Processes/PythonControl.pnl b/MAC/Navigator2/panels/Processes/PythonControl.pnl index 936a31a6404c6392cff74bfe9a1c7f61d5e894cd..8165ee096e586c5c9a554708f453f0b151ef30e9 100644 --- a/MAC/Navigator2/panels/Processes/PythonControl.pnl +++ b/MAC/Navigator2/panels/Processes/PythonControl.pnl @@ -96,39 +96,18 @@ LANG:1 0 0 1 57 0 "" 12 0 -1 58 0 "" 13 +1 58 0 "" 15 0 -1 59 0 "" 15 +1 59 0 "" 16 0 -1 60 0 "" 16 +1 60 0 "" 17 0 -1 61 0 "" 17 +1 61 0 "" 18 0 -1 62 0 "" 18 +1 62 0 "" 19 0 -1 63 0 "" 19 +1 63 0 "" 20 0 -1 64 0 "" 20 -0 -2 47 -"PRIMITIVE_TEXT7" -"" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E - E E -21 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 60 333 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 -1 -LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 -0 1 -LANG:1 4 None 0 LAYER, 1 1 diff --git a/MAC/Navigator2/panels/Processes/RSPDriver.pnl b/MAC/Navigator2/panels/Processes/RSPDriver.pnl index 2009c70e1166edb6927dc886bd3f40a1430f28ff..7a96d8dc3426c9121e0b491894e08b997573692a 100644 --- a/MAC/Navigator2/panels/Processes/RSPDriver.pnl +++ b/MAC/Navigator2/panels/Processes/RSPDriver.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -98,40 +98,18 @@ LANG:1 0 0 1 57 0 "" 12 0 -1 58 0 "" 13 +1 58 0 "" 15 0 -1 59 0 "" 15 +1 59 0 "" 16 0 -1 60 0 "" 16 +1 60 0 "" 17 0 -1 61 0 "" 17 +1 61 0 "" 18 0 -1 62 0 "" 18 +1 62 0 "" 19 0 -1 63 0 "" 19 +1 63 0 "" 20 0 -1 64 0 "" 20 -0 -2 47 -"PRIMITIVE_TEXT7" -"" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E - E E -21 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 60 334 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 4 None 0 LAYER, 1 1 @@ -161,8 +139,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" -"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 +3 0 "PANEL_REF1" -1 +"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4210854715202e-014 -40 1 "$ctrlName""RSPDriver" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/SHMInfoServer.pnl b/MAC/Navigator2/panels/Processes/SHMInfoServer.pnl index c3f5cf277303e758c283a7ac980e3589132bc3b5..21e564d133fd76ef4e8554ee0867859a05a1a53f 100644 --- a/MAC/Navigator2/panels/Processes/SHMInfoServer.pnl +++ b/MAC/Navigator2/panels/Processes/SHMInfoServer.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -96,40 +96,18 @@ LANG:1 0 0 1 57 0 "" 12 0 -1 58 0 "" 13 +1 58 0 "" 15 0 -1 59 0 "" 15 +1 59 0 "" 16 0 -1 60 0 "" 16 +1 60 0 "" 17 0 -1 61 0 "" 17 +1 61 0 "" 18 0 -1 62 0 "" 18 +1 62 0 "" 19 0 -1 63 0 "" 19 +1 63 0 "" 20 0 -1 64 0 "" 20 -0 -2 47 -"PRIMITIVE_TEXT7" -"" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E - E E -21 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 60 334 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 4 None 0 LAYER, 1 1 @@ -159,8 +137,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" +3 0 "PANEL_REF1" -1 "objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 1 "$ctrlName""SHMInfoServer" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/SoftwareMonitor.pnl b/MAC/Navigator2/panels/Processes/SoftwareMonitor.pnl index 6d593b7fc8f59e5af67a10ed0c9ee31d5c90382c..227491fcf1379c90e746f3626c40e1d2205efe2d 100644 --- a/MAC/Navigator2/panels/Processes/SoftwareMonitor.pnl +++ b/MAC/Navigator2/panels/Processes/SoftwareMonitor.pnl @@ -106,44 +106,42 @@ DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 LAYER, 0 1 LANG:1 0 -1 48 0 "" 0 +1 69 0 "" 0 0 -1 49 0 "0" 1 +1 70 0 "0" 1 0 -1 50 0 "" 2 +1 71 0 "" 2 0 -1 51 0 "" 3 +1 72 0 "" 3 0 -1 52 0 "" 7 +1 73 0 "" 7 0 -1 53 0 "" 8 +1 74 0 "" 8 0 -1 54 0 "" 9 +1 75 0 "" 9 0 -1 55 0 "" 10 +1 76 0 "" 10 0 -1 56 0 "" 11 +1 77 0 "" 11 0 -1 57 0 "" 12 +1 78 0 "" 12 0 -1 58 0 "" 13 +1 79 0 "" 15 0 -1 59 0 "" 15 +1 80 0 "" 16 0 -1 60 0 "" 16 +1 81 0 "" 17 0 -1 61 0 "" 17 +1 82 0 "" 18 0 -1 62 0 "" 18 +1 83 0 "" 19 0 -1 63 0 "" 19 -0 -1 64 0 "" 20 +1 84 0 "" 20 0 2 67 "PRIMITIVE_TEXT11" "" -1 32 334 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 30 580 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 24 0 0 0 0 0 E E E @@ -153,8 +151,8 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 334 87 347 -0 2 2 "0s" 0 0 0 192 0 0 32 334 1 +E E 0 1 1 2 1 E U 1 E 30 580 85 593 +0 2 2 "0s" 0 0 0 192 0 0 30 580 1 1 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 @@ -162,7 +160,7 @@ LANG:1 8 SWLevel: 14 68 "SWLevelText" "" -1 162 330 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 100 580 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 25 0 0 0 0 0 E E E @@ -173,7 +171,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 -0 160 328 284 349 +0 98 578 222 599 2 "0s" 0 0 0 0 0 -1 E E E 0 LAYER, 1 diff --git a/MAC/Navigator2/panels/Processes/StationControl.pnl b/MAC/Navigator2/panels/Processes/StationControl.pnl index 2c35a6d0c6f0e479f872d968f211cf009b5ea800..7a423dd43f6b0647c2cbed9429f0cc55bf49eb86 100644 --- a/MAC/Navigator2/panels/Processes/StationControl.pnl +++ b/MAC/Navigator2/panels/Processes/StationControl.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -128,24 +128,22 @@ LANG:1 0 0 1 75 0 "" 12 0 -1 76 0 "" 13 +1 76 0 "" 15 0 -1 77 0 "" 15 +1 77 0 "" 16 0 -1 78 0 "" 16 +1 78 0 "" 17 0 -1 79 0 "" 17 +1 79 0 "" 18 0 -1 80 0 "" 18 +1 80 0 "" 19 0 -1 81 0 "" 19 -0 -1 82 0 "" 20 +1 81 0 "" 20 0 25 65 "observationTable" "" -1 30 280 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 30 520 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 23 0 0 0 0 0 E E E @@ -155,9 +153,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 28 328 282 503 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 28 568 282 743 EE 1 0 1 1 8 "Obs" 22 1 0 "s" 1 LANG:1 19 Active Observations E @@ -183,9 +180,8 @@ LANG:1 2 #2 LANG:1 2 #1 10 8 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -0 1 0 1 7 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 0 1 0 1 7 1 0 0 LAYER, 1 @@ -216,8 +212,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" +3 0 "PANEL_REF1" -1 "objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 1 "$ctrlName""StationControl" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/TBBControl.pnl b/MAC/Navigator2/panels/Processes/TBBControl.pnl index 0f9a869cb2756f3d3972e01ce8df7aadabd455b2..b95fc95819b1359408cc827c551a826c09c7c8d3 100644 --- a/MAC/Navigator2/panels/Processes/TBBControl.pnl +++ b/MAC/Navigator2/panels/Processes/TBBControl.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -198,24 +198,22 @@ LANG:1 0 0 1 129 0 "" 12 0 -1 130 0 "" 13 +1 130 0 "" 15 0 -1 131 0 "" 15 +1 131 0 "" 16 0 -1 132 0 "" 16 +1 132 0 "" 17 0 -1 133 0 "" 17 +1 133 0 "" 18 0 -1 134 0 "" 18 +1 134 0 "" 19 0 -1 135 0 "" 19 -0 -1 136 0 "" 20 +1 135 0 "" 20 0 2 50 "PRIMITIVE_TEXT8" "" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 142 602 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 25 0 0 0 0 0 E E E @@ -225,12 +223,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 95 334 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 142 602 207 615 +0 2 2 "0s" 0 0 0 192 0 0 142 602 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 10 Connected: 6 51 "connectedText" @@ -245,11 +242,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E 1 0 1 -45 -20 1 E 160 340 175 355 +E E 0 1 1 2 1 E 1 0 1 67 262 1 E 160 340 175 355 2 65 "PRIMITIVE_TEXT9" "" -1 32 404 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 42 634 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 30 0 0 0 0 0 E E E @@ -259,17 +256,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 404 67 418 -0 2 2 "0s" 0 0 0 192 0 0 32 404 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 42 634 77 647 +0 2 2 "0s" 0 0 0 192 0 0 42 634 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 6 rcuNr: 14 66 "rcuNrText" "" -1 112 400 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 117 632 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 31 0 0 0 0 0 E E E @@ -279,14 +275,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 398 334 419 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 120 630 339 651 2 "0s" 0 0 0 0 0 -1 E E E 2 84 "PRIMITIVE_TEXT11" "" -1 32 425 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 42 654 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 41 0 0 0 0 0 E E E @@ -296,17 +291,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 425 104 439 -0 2 2 "0s" 0 0 0 192 0 0 32 425 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 42 654 114 667 +0 2 2 "0s" 0 0 0 192 0 0 42 654 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 11 sequenceNr: 14 85 "sequenceNrText" "" -1 107 401 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 112 632 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 43 0 0 0 0 0 E E E @@ -316,14 +310,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 419 334 440 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 120 650 339 671 2 "0s" 0 0 0 0 0 -1 E E E 2 86 "PRIMITIVE_TEXT12" "" -1 32 446 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 42 674 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 45 0 0 0 0 0 E E E @@ -333,17 +326,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 446 59 460 -0 2 2 "0s" 0 0 0 192 0 0 32 446 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 42 674 69 687 +0 2 2 "0s" 0 0 0 192 0 0 42 674 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 5 time: 14 87 "timeText" "" -1 115.771428571429 442 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 120.771428571429 674 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 47 0 0 0 0 0 E E E @@ -353,14 +345,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 440 334 461 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 120 672 339 693 2 "0s" 0 0 0 0 0 -1 E E E 2 88 "PRIMITIVE_TEXT13" "" -1 32 467 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 42 694 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 49 0 0 0 0 0 E E E @@ -370,17 +361,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 467 88 481 -0 2 2 "0s" 0 0 0 192 0 0 32 467 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 42 694 98 707 +0 2 2 "0s" 0 0 0 192 0 0 42 694 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 9 sampleNr: 14 89 "sampleNrText" "" -1 112 400 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 117 632 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 51 0 0 0 0 0 E E E @@ -390,14 +380,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 461 334 482 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 120 693 339 714 2 "0s" 0 0 0 0 0 -1 E E E 2 90 "PRIMITIVE_TEXT14" "" -1 32 488 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 42 714 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 53 0 0 0 0 0 E E E @@ -407,17 +396,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 488 58 502 -0 2 2 "0s" 0 0 0 192 0 0 32 488 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 42 714 68 727 +0 2 2 "0s" 0 0 0 192 0 0 42 714 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 4 sum: 14 91 "sumText" "" -1 110 394 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 115 625 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 55 0 0 0 0 0 E E E @@ -427,14 +415,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 482 334 503 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 120 713 339 734 2 "0s" 0 0 0 0 0 -1 E E E 2 92 "PRIMITIVE_TEXT15" "" -1 32 509 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 602 634 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 57 0 0 0 0 0 E E E @@ -444,17 +431,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 509 94 523 -0 2 2 "0s" 0 0 0 192 0 0 32 509 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 602 634 664 647 +0 2 2 "0s" 0 0 0 192 0 0 602 634 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 10 nrSamples: 14 93 "nrSamplesText" "" -1 110 385 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 685 512 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 59 0 0 0 0 0 E E E @@ -464,14 +450,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 503 334 524 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 690 630 909 651 2 "0s" 0 0 0 0 0 -1 E E E 2 94 "PRIMITIVE_TEXT16" "" -1 32 530 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 604 654 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 61 0 0 0 0 0 E E E @@ -481,17 +466,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 530 96 544 -0 2 2 "0s" 0 0 0 192 0 0 32 530 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 604 654 668 667 +0 2 2 "0s" 0 0 0 192 0 0 604 654 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 10 peakValue: 14 95 "peakValueText" "" -1 110 376 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 685 502 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 63 0 0 0 0 0 E E E @@ -501,14 +485,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 524 334 545 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 690 650 909 671 2 "0s" 0 0 0 0 0 -1 E E E 2 96 "PRIMITIVE_TEXT17" "" -1 32 551 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 604 674 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 65 0 0 0 0 0 E E E @@ -518,17 +501,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 551 63 565 -0 2 2 "0s" 0 0 0 192 0 0 32 551 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 604 674 635 687 +0 2 2 "0s" 0 0 0 192 0 0 604 674 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 6 flags: 14 97 "flagsText" "" -1 110 367 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 685 494 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 67 0 0 0 0 0 E E E @@ -538,14 +520,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 545 334 566 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 690 672 909 693 2 "0s" 0 0 0 0 0 -1 E E E 2 98 "PRIMITIVE_TEXT18" "" -1 32 572 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 606 694 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 69 0 0 0 0 0 E E E @@ -555,17 +536,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 572 64 586 -0 2 2 "0s" 0 0 0 192 0 0 32 572 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 606 694 638 707 +0 2 2 "0s" 0 0 0 192 0 0 606 694 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 6 table: 14 99 "tableText" "" -1 110 358 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 685 484 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 71 0 0 0 0 0 E E E @@ -575,14 +555,13 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 566 334 587 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 690 692 909 713 2 "0s" 0 0 0 0 0 -1 E E E 2 100 "PRIMITIVE_TEXT19" "" -1 30 370 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 42 602 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 72 0 0 0 0 0 E E E @@ -592,17 +571,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 370 74 384 -0 2 2 "0s" 0 0 0 192 0 0 30 370 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 42 602 86 615 +0 2 2 "0s" 0 0 0 192 0 0 42 602 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 8 Trigger: 2 118 "PRIMITIVE_TEXT20" "" -1 32 593 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E +1 606 714 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E E E 74 0 0 0 0 0 E E E @@ -612,17 +590,16 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 593 74 607 -0 2 2 "0s" 0 0 0 192 0 0 32 593 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" +E E 0 1 1 2 1 E U 1 E 606 714 648 727 +0 2 2 "0s" 0 0 0 192 0 0 606 714 1 1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 7 missed: 14 119 "missedText" "" -1 110 379 E E E 1 E 1 E N "_WindowText" E N "_Window" E E +1 685 505 E E E 1 E 1 E N "_WindowText" E N "_Window" E E E E 76 0 0 0 0 0 E E E @@ -632,9 +609,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 115 587 334 608 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 690 713 909 734 2 "0s" 0 0 0 0 0 -1 E E E 0 LAYER, 1 @@ -665,8 +641,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" -"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 +3 0 "PANEL_REF1" -1 +"objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 0 -40 1 "$ctrlName""TBBControl" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/Processes/TBBDriver.pnl b/MAC/Navigator2/panels/Processes/TBBDriver.pnl index f6379d4a19852631ceba9af6d70773b34c23cebd..55a3a402459aa2e4987f5620324d695864cace4c 100644 --- a/MAC/Navigator2/panels/Processes/TBBDriver.pnl +++ b/MAC/Navigator2/panels/Processes/TBBDriver.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 0 @@ -96,40 +96,18 @@ LANG:1 0 0 1 57 0 "" 12 0 -1 58 0 "" 13 +1 58 0 "" 15 0 -1 59 0 "" 15 +1 59 0 "" 16 0 -1 60 0 "" 16 +1 60 0 "" 17 0 -1 61 0 "" 17 +1 61 0 "" 18 0 -1 62 0 "" 18 +1 62 0 "" 19 0 -1 63 0 "" 19 +1 63 0 "" 20 0 -1 64 0 "" 20 -0 -2 47 -"PRIMITIVE_TEXT7" -"" -1 30 320 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E - E E -21 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 320 60 334 -0 2 2 "0s" 0 0 0 192 0 0 30 320 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 4 None 0 LAYER, 1 1 @@ -159,8 +137,8 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "PANEL_REF1" +3 0 "PANEL_REF1" -1 "objects\\Processes\\controller_top.pnl" 49 92 T 0 1 0 1 1.4432899320127e-014 -40 1 "$ctrlName""TBBDriver" -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl b/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl index 4126a7e0b8a05e31b5f74faf84f2ed2d2bb6cbfb..ecd60e06cc315f28d797b9e82b49658ed2d4ef8a 100644 --- a/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl +++ b/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl @@ -43,15 +43,15 @@ void levelChanged(string dp1, int swlvl, if (observationChangedConnected) { if (dpDisconnect(\"observationChanged\", MainDBName+\"LOFAR_PermSW_MACScheduler.activeObservations:_online.._value\", MainDBName+\"LOFAR_PermSW_MACScheduler.activeObservations:_online.._invalid\") == -1) { - LOG_ERROR(\"SWController_small.pnl:main|Couldn't disconnect to: \"+MainDBName+\":LOFAR_PermSW_MACScheduler.activeObservations\"); - observationChangedConnected = false; + LOG_ERROR(\"SWController_small.pnl:main|Couldn't disconnect to: \"+MainDBName+\":LOFAR_PermSW_MACScheduler.activeObservations: \"+getLastError); } } + observationChangedConnected = false; if (navFunct_dpReachable(MainDBName+\"LOFAR_PermSW_MACScheduler.activeObservations\")) { if (dpConnect(\"observationChanged\", MainDBName+\"LOFAR_PermSW_MACScheduler.activeObservations:_online.._value\", MainDBName+\"LOFAR_PermSW_MACScheduler.activeObservations:_online.._invalid\") == -1) { - LOG_ERROR(\"SWController_small.pnl:main|Couldn't connect to: \"+MainDBName+\":LOFAR_PermSW_MACScheduler.activeObservations\"); + LOG_ERROR(\"SWController_small.pnl:main|Couldn't connect to: \"+MainDBName+\":LOFAR_PermSW_MACScheduler.activeObservations: \"+getLastError()); } else { observationChangedConnected = true; } @@ -95,24 +95,23 @@ private void observationChanged(string dp1, dyn_string observations, setValue(\"process\", \"backCol\", \"Lofar_off\"); return; } else if ($name == \"PythonControl\") { - firstObservation=firstPipeline; +// firstObservation=firstPipeline; } } + } + if (firstObservation == \"\") { + updateSWController(baseDP,0,baseDP,invalid); + } else { // get real name from claimmanager obsDP=claimManager_nameToRealName(\"LOFAR_ObsSW_\"+firstObservation); baseDP = station+obsDP+\"_\"+$name; reload(); } } + private void reload() { - if (updateConnected) { - if (dpDisconnect(\"updateSWController\", baseDP +\".status.state:_online.._value\", - baseDP +\".status.state:_online.._invalid\") == -1) { - updateConnected = false; - } - } // check if the required datapoint for this view are enabled and accessible if (navFunct_dpReachable(baseDP+\".status.state\")) { @@ -120,6 +119,8 @@ private void reload() { if (dpConnect(\"updateSWController\", baseDP +\".status.state:_online.._value\", baseDP +\".status.state:_online.._invalid\") == -1) { setValue(\"process\", \"backCol\", \"Lofar_dpdoesnotexist\"); + LOG_ERROR(\"SWController_small.pnl:reload|Couldn't connect updateSWController: \"+getLastError()); + } else { updateConnected = true; } @@ -138,6 +139,13 @@ updateSWController(string dp1, int status, int lvl = 0; dpGet(\"LOFAR_PermSW_Daemons_SoftwareMonitor.SWLevel:_online.._value\",lvl); + if (invalid) { + setValue(\"process\", \"backCol\", \"Lofar_invalid\"); + return; + } else { + setValue(\"process\", \"backCol\", getStateColor(status)); + } + if (lvl < 6 && ($name == \"ObservationControl\" || // MCU $name == \"OnlineControl\" || // CCU $name == \"PythonControl\" || // CCU @@ -145,14 +153,8 @@ updateSWController(string dp1, int status, $name == \"BeamControl\" || // Station $name == \"TBBControl\")) { // Station setValue(\"process\", \"backCol\", \"Lofar_off\"); - return; - } - - if (invalid) { - setValue(\"process\", \"backCol\", \"Lofar_invalid\"); - } else { - setValue(\"process\", \"backCol\", getStateColor(status)); } + return; } " 0 diff --git a/MAC/Navigator2/panels/objects/Processes/controller_top.pnl b/MAC/Navigator2/panels/objects/Processes/controller_top.pnl index 873a0e511ba541f7eb6e4ad6286c9507d7d5771a..76c4050584c4611be3c79b05cae1b929f8eea126 100644 --- a/MAC/Navigator2/panels/objects/Processes/controller_top.pnl +++ b/MAC/Navigator2/panels/objects/Processes/controller_top.pnl @@ -1,4 +1,4 @@ -V 10 +V 11 1 LANG:1 0 PANEL,-1 -1 1013 750 N "_3DFace" 1 @@ -113,9 +113,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 28 168 992 279 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 28 168 992 562 EE 1 0 1 5 1 "time" 12 1 0 "s" 1 LANG:1 4 time E @@ -151,9 +150,8 @@ LANG:1 0 LANG:1 2 #1 10 30 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -0 1 2 1 7 +LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 +0 0 1 2 1 7 1 0 1 21 0 "" 1 0 @@ -170,9 +168,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 138 48 991 69 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 138 48 991 69 2 "0s" 0 0 0 0 0 -1 E E E 2 3 "TopLabel" @@ -187,12 +184,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 480 10 626 31 +E E 0 1 1 2 1 E U 1 E 480 10 626 30 0 2 2 "0s" 0 0 0 192 0 0 480 10 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-16-*-100-100-*-*-iso8859-1|-16,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,16,5,75,0,0,0,0,0 +0 1 LANG:1 19 Station: Controller 2 7 "PRIMITIVE_TEXT2" @@ -207,12 +203,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 34 84 115 98 +E E 0 1 1 2 1 E U 1 E 34 84 115 97 0 2 2 "0s" 0 0 0 192 0 0 34 84 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 14 Current Action 2 8 "PRIMITIVE_TEXT3" @@ -227,12 +222,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 34 51 128 65 +E E 0 1 1 2 1 E U 1 E 34 51 128 64 0 2 2 "0s" 0 0 0 192 0 0 34 51 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 15 Status Message: 14 9 "processAction" @@ -247,9 +241,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 138 78 432 99 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 138 78 432 99 2 "0s" 0 0 0 0 0 -1 E E E 2 10 "PRIMITIVE_TEXT4" @@ -264,12 +257,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 34 114 106 128 +E E 0 1 1 2 1 E U 1 E 34 114 106 127 0 2 2 "0s" 0 0 0 192 0 0 34 114 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 13 Current Error 14 11 "processError" @@ -284,9 +276,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 138 108 432 129 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 138 108 432 129 2 "0s" 0 0 0 0 0 -1 E E E 2 12 "PRIMITIVE_TEXT5" @@ -301,33 +292,12 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 34 150 119 164 +E E 0 1 1 2 1 E U 1 E 34 150 119 163 0 2 2 "0s" 0 0 0 192 0 0 34 150 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 13 Log Messages: -2 13 -"PRIMITIVE_TEXT6" -"" -1 30 290 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E - E E -19 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 30 290 130 304 -0 2 2 "0s" 0 0 0 192 0 0 30 290 1 -1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 -LANG:1 18 Controller Values: 2 15 "PRIMITIVE_TEXT7" "" @@ -341,12 +311,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 460 84 514 98 +E E 0 1 1 2 1 E U 1 E 460 84 514 97 0 2 2 "0s" 0 0 0 192 0 0 460 84 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 9 StartTime 2 16 "PRIMITIVE_TEXT8" @@ -361,12 +330,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 460 114 513 128 +E E 0 1 1 2 1 E U 1 E 460 114 513 127 0 2 2 "0s" 0 0 0 192 0 0 460 114 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 8 StopTime 14 17 "processStartTime" @@ -381,9 +349,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 528 78 822 99 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 528 78 822 99 2 "0s" 0 0 0 0 0 -1 E E E 14 18 "processStopTime" @@ -398,9 +365,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 528 108 822 129 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 528 108 822 129 2 "0s" 0 0 0 0 0 -1 E E E 2 19 "PRIMITIVE_TEXT9" @@ -415,12 +381,11 @@ LANG:1 0 1 "dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 850 84 867 98 +E E 0 1 1 2 1 E U 1 E 850 84 867 97 0 2 2 "0s" 0 0 0 192 0 0 850 84 1 1 -LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" -1 +LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 +0 1 LANG:1 3 ID: 14 20 "processID" @@ -435,9 +400,8 @@ LANG:1 0 0 1 -LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg -0 "" - 868 78 992 99 +LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0 +0 868 78 992 99 2 "0s" 0 0 0 0 0 -1 E E E 0 LAYER, 1 @@ -468,7 +432,7 @@ LAYER, 7 1 LANG:1 0 0 -3 0 "selfState" +3 0 "selfState" -1 "objects\\lofar_self_state.pnl" 9.500000000000011 10.5 T 1 1 0 1 0.499999999999993 2.5 0 -0 \ No newline at end of file +0 diff --git a/MAC/Navigator2/panels/objects/Processes/daemon_big.pnl b/MAC/Navigator2/panels/objects/Processes/daemon_big.pnl index d4063b6d79062e84624c59414ec0bf0a5468e731..b468708f2fbe22fda6a834d17f6fe396f2d2976a 100644 --- a/MAC/Navigator2/panels/objects/Processes/daemon_big.pnl +++ b/MAC/Navigator2/panels/objects/Processes/daemon_big.pnl @@ -153,7 +153,7 @@ LANG:1 0 0 1 LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0 -0 28 168 992 462 +0 28 168 992 562 EE 1 0 1 5 1 "time" 12 1 0 "s" 1 LANG:1 4 time E @@ -337,25 +337,6 @@ E E 0 1 1 2 1 E U 1 E 34 150 119 163 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 0 1 LANG:1 13 Log Messages: -2 13 -"PRIMITIVE_TEXT6" -"" -1 32 472 E E E 1 E 1 E N "_3DText" E N "_Transparent" E E - E E -19 0 0 0 0 0 -E E E -0 -1 -LANG:1 0 - -1 -"dashclr"N "_Transparent" -E E 0 1 1 2 1 E U 1 E 32 472 124 485 -0 2 2 "0s" 0 0 0 192 0 0 32 472 1 -1 -LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0 -0 1 -LANG:1 14 Daemon Values: 2 15 "PRIMITIVE_TEXT7" "" diff --git a/RTCP/Cobalt/CoInterface/src/BlockID.cc b/RTCP/Cobalt/CoInterface/src/BlockID.cc index 6cc681cd171e623c68a604fb2f1483cc23063450..1363d31146261bf811c703a585ebdbb08e9ea621 100644 --- a/RTCP/Cobalt/CoInterface/src/BlockID.cc +++ b/RTCP/Cobalt/CoInterface/src/BlockID.cc @@ -22,6 +22,8 @@ #include "BlockID.h" +#include <iostream> + namespace LOFAR { namespace Cobalt diff --git a/RTCP/Cobalt/CoInterface/src/BlockID.h b/RTCP/Cobalt/CoInterface/src/BlockID.h index e1f2e91d37d1e17a45838c943ecc4048668f5895..9b324f732a09bcc9a3af9dc79cfefb6f8b3e2458 100644 --- a/RTCP/Cobalt/CoInterface/src/BlockID.h +++ b/RTCP/Cobalt/CoInterface/src/BlockID.h @@ -21,7 +21,8 @@ #ifndef LOFAR_GPUPROC_BLOCKID_H #define LOFAR_GPUPROC_BLOCKID_H -#include <iostream> +#include <sys/types.h> // ssize_t +#include <iosfwd> namespace LOFAR { diff --git a/RTCP/Cobalt/CoInterface/src/Parset.cc b/RTCP/Cobalt/CoInterface/src/Parset.cc index 98a91e0b859c5dbaa4651c52fa752ff9cad5596c..ef8d6adaccd12df4b93c5f589b2a993520ea070d 100644 --- a/RTCP/Cobalt/CoInterface/src/Parset.cc +++ b/RTCP/Cobalt/CoInterface/src/Parset.cc @@ -189,7 +189,20 @@ namespace LOFAR // Observation.VirtualInstrument.stationList can contain full // antennafield names such as CS001LBA. LOG_WARN_STR("Warning: old (preparsed) station name: " << station); - result.push_back(AntennaFieldName(station.substr(0,5), station.substr(5))); + + // Do not assume the standard station name format (sily "S9"). + string stName; + string antFieldName; + if (station.length() <= 1) + stName = station; // if stName or antFieldName is empty, writing an MS table will fail + else if (station.length() <= 5) { + stName = station.substr(0, station.length()-1); + antFieldName = station.substr(station.length()-1); + } else { + stName = station.substr(0, 5); + antFieldName = station.substr(5); + } + result.push_back(AntennaFieldName(stName, antFieldName)); continue; } diff --git a/RTCP/Cobalt/GPUProc/doc/DAS4-fs5-jenkins-install-instructions.txt b/RTCP/Cobalt/GPUProc/doc/DAS4-fs5-jenkins-install-instructions.txt index 19bdd64e1b98ca99c1e4ccf09ef64cd358a82404..42c87c3d7665e3dc5d2d8b68a829d25e1fdccbef 100644 --- a/RTCP/Cobalt/GPUProc/doc/DAS4-fs5-jenkins-install-instructions.txt +++ b/RTCP/Cobalt/GPUProc/doc/DAS4-fs5-jenkins-install-instructions.txt @@ -15,20 +15,21 @@ Environment module load cuda55/toolkit module load cuda55/fft module load hwloc -* We assume PATH contains ~/root/bin - and LD_LIBRARY_PATH contains ~/root/lib +* We assume PATH contains $HOME/root/bin + and LD_LIBRARY_PATH contains $HOME/root/lib + and PYTHONPATH contains $HOME/root/lib64/python2.6/site-packages -* Always pass at least -DCMAKE_INSTALL_PREFIX=~/root to cmake, or --prefix=/home/jenkins/root to ./configure. +* Always pass at least -DCMAKE_INSTALL_PREFIX=$HOME/root to cmake, or --prefix=$HOME/root to ./configure. * Make sure everything is linked using the same library versions (esp. for libhdf5). Relevant files and directories ------------------------------ -~/root/ installation root -~/root/src/ source and build directories -~/root/share/aips++/data/ CASA measures table location -~/jenkins/ location of the jenkins continuous build and integration system +$HOME/root/ installation root +$HOME/root/src/ source and build directories +$HOME/root/share/aips++/data/ CASA measures table location +$HOME/jenkins/ location of the jenkins continuous build and integration system Data Access Library (DAL) @@ -36,13 +37,14 @@ Data Access Library (DAL) Dependency for: LOFAR/RTCP/Cobalt/OutputProc - cd ~/root/src + cd $HOME/root/src git clone https://github.com/nextgen-astrodata/DAL.git DAL - mkdir build - cd build - cmake -DCMAKE_INSTALL_PREFIX=~/root .. + mkdir DAL/build + cd DAL/build + cmake -DCMAKE_INSTALL_PREFIX=$HOME/root .. make -j 8 install ctest # optional + python -c 'import dal' # optional (test), should print nothing and exit 0 cfitsio @@ -50,11 +52,11 @@ cfitsio Dependency for: casacore, wcslib - cd ~/root/src + cd $HOME/root/src wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio_latest.tar.gz tar zxf cfitsio_latest.tar.gz cd cfitsio - ./configure --prefix=/home/jenkins/root --enable-reentrant --enable-sse2 --enable-ssse3 + ./configure --prefix=$HOME/root --enable-reentrant --enable-sse2 --enable-ssse3 make -j 8 shared make install @@ -64,11 +66,11 @@ wcslib Dependency for: casacore - cd ~/root/src + cd $HOME/root/src wget ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib.tar.bz2 tar jxf wcslib.tar.bz2 cd wcslib-4.18 # or whatever version you have - ./configure --prefix=/home/jenkins/root --with-cfitsiolib=/home/jenkins/root/lib --with-cfitsioinc=/home/jenkins/root/include + ./configure --prefix=$HOME/root --with-cfitsiolib=$HOME/root/lib --with-cfitsioinc=$HOME/root/include make -j 8 install @@ -77,7 +79,7 @@ CASA measures tables Dependency for: casacore (keep the measure tables up to date, automatically!) - cd ~/root/share # or wherever + cd $HOME/root/share # or wherever mkdir aips++ cd aips++ wget ftp://ftp.atnf.csiro.au/pub/software/measures_data/measures_data.tar.bz2 ftp://ftp.atnf.csiro.au/pub/software/measures_data/measures_data.tar.bz2.md5sum @@ -95,30 +97,67 @@ Dependency for: LOFAR/RTCP/Cobalt Since we keep the measure data up to date (and since this install is the testing env standard), we use -DDATA_DIR=..., such that others can use our install AND measures tables. - cd ~/root/src + cd $HOME/root/src svn co http://casacore.googlecode.com/svn/trunk/ casacore - mkdir build - cd build - cmake -DCMAKE_INSTALL_PREFIX=~/root -DUSE_HDF5=ON -DUSE_FFTW3=ON -DUSE_THREADS=ON -DUSE_OPENMP=ON -DDATA_DIR=~/root/share/aips++/data .. + mkdir casacore/build + cd casacore/build + cmake -DCMAKE_INSTALL_PREFIX=$HOME/root -DUSE_HDF5=ON -DUSE_FFTW3=ON -DUSE_THREADS=ON -DUSE_OPENMP=ON -DDATA_DIR=$HOME/root/share/aips++/data .. make -j 8 install ctest # optional - findmeastable # verify that casacore can find the measures tables + findmeastable # optional; verify that casacore can find the measures tables + + +pyrap (optional for LOFAR Cobalt) +----- + +Dependency for: various LOFAR/CEP packages +Depends on: python boost-python casacore numpy scons + + cd $HOME/root/src + svn co http://pyrap.googlecode.com/svn/trunk pyrap + cd pyrap + ./batchbuild-trunk.py --casacore-root=$HOME/root --enable-hdf5 --cfitsio-root=$HOME/root --wcs-root=$HOME/root --prefix=$HOME/root --python-prefix=$HOME/root/lib64/python2.6/site-packages + python -c 'import pyrap' # optional (test), should print nothing and exit 0 + + +log4cplus +--------- + + cd $HOME/root/src + wget http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/1.1.1/log4cplus-1.1.1.tar.gz # or whatever recent version you like + tar zxf log4cplus-1.1.1.tar.gz + cd log4cplus-1.1.1 + ./configure --prefix=$HOME/root + make -j 8 install + make check # optional + + +libssh2 +------- + + cd $HOME/root/src + wget http://www.libssh2.org/download/libssh2-1.4.3.tar.gz # or whatever recent version you like + tar zxf libssh2-1.4.3.tar.gz + cd libssh2-1.4.3 + ./configure --prefix=$HOME/root + make -j 8 install + make check # optional LOFAR (Cobalt only) ------------------- - cd ~/root/src + cd $HOME/root/src svn co --username USERNAME -N https://svn.astron.nl/LOFAR/trunk LOFAR cd LOFAR svn up RTCP CMake LCS - svn up # Guarantee the same version in case somebody commits while 'svn up'-ing multiple subdirs. + svn up # Guarantee the same version for all paths in case somebody commits while 'svn up'-ing multiple subdirs. cd .. mkdir -p LOFAR-build/gnu_opt cd LOFAR-build/gnu_opt - cmake -DCMAKE_INSTALL_PREFIX=~/root -DBUILD_PACKAGES=Cobalt ../../LOFAR # assumes you have all deps installed and a LOFAR/CMake/variants/variants.<hostname> file is in place + cmake -DCMAKE_INSTALL_PREFIX=$HOME/root -DBUILD_PACKAGES=Cobalt -DUSE_CUDA=ON ../../LOFAR # assumes you have all deps installed and a LOFAR/CMake/variants/variants.<hostname> file is in place make -j 8 install - ctest # optional - . ~/root/lofarinit.sh # often needed, but we will do this through jenkins + ctest -j 8 # optional + . $HOME/root/lofarinit.sh # required to use some of the LOFAR tools, but we will do this through jenkins diff --git a/RTCP/Cobalt/GPUProc/share/gpu/kernels/gpu_math.cuh b/RTCP/Cobalt/GPUProc/share/gpu/kernels/gpu_math.cuh index 77366adc5f9da05f8070fc51e69740aa0bc2faa4..1952832101ebcbe05f42104a956c4f87ecdfdf54 100644 --- a/RTCP/Cobalt/GPUProc/share/gpu/kernels/gpu_math.cuh +++ b/RTCP/Cobalt/GPUProc/share/gpu/kernels/gpu_math.cuh @@ -122,11 +122,10 @@ inline __device__ dcomplex dphaseShift(double frequency, double delay) // This needs to be done in double precision, because phi may become // large after we multiply a small delay and a very large freq, // Then we need to compute a good sin(phi) and cos(phi). - const double pi2 = -6.28318530717958647688; // -2.0 * M_PI - double phi = pi2 * delay * frequency; + double phi = -2.0 * delay * frequency; // -2.0 * M_PI: M_PI below in sincospi() dcomplex rv; - sincos(phi, &rv.y, &rv.x); // store (cos(), sin()) + sincospi(phi, &rv.y, &rv.x); // store (cos(), sin()) return rv; } diff --git a/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.cc b/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.cc index f89999173e8735921fda6847b74e6816406e984c..7a8b4eca7fa37e4c44461c7320a3dce08c36b230 100644 --- a/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.cc +++ b/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.cc @@ -86,7 +86,7 @@ namespace LOFAR } - void DelayAndBandPassKernel::enqueue(PerformanceCounter &counter, float subbandFrequency, size_t SAP) + void DelayAndBandPassKernel::enqueue(PerformanceCounter &counter, double subbandFrequency, size_t SAP) { setArg(2, subbandFrequency); setArg(3, SAP); diff --git a/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.h b/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.h index adbcfbed231e3efab226d3a1b643206e22902180..76c33a96246a126a351bad40ca922190debea003 100644 --- a/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.h +++ b/RTCP/Cobalt/GPUProc/src/cuda/Kernels/DelayAndBandPassKernel.h @@ -88,7 +88,7 @@ namespace LOFAR void enqueue(PerformanceCounter &counter, - float subbandFrequency, size_t SAP); + double subbandFrequency, size_t SAP); }; // Specialization of the KernelFactory for diff --git a/RTCP/Cobalt/GPUProc/src/rtcp.cc b/RTCP/Cobalt/GPUProc/src/rtcp.cc index 35ce302073f3c2ce8a81e61d58e3c5e93e3d73ad..fafe598d83f4bdf7f4a176ec0f6c9d6474fdb188 100644 --- a/RTCP/Cobalt/GPUProc/src/rtcp.cc +++ b/RTCP/Cobalt/GPUProc/src/rtcp.cc @@ -177,11 +177,19 @@ int main(int argc, char **argv) // mess. // umask(S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IWOTH | S_IXOTH); + // Create a parameters set object based on the inputs + LOG_INFO("----- Reading Parset"); + Parset ps(argv[optind]); + // Remove limits on pinned (locked) memory struct rlimit unlimited = { RLIM_INFINITY, RLIM_INFINITY }; - if (setrlimit(RLIMIT_MEMLOCK, &unlimited) < 0) - THROW_SYSCALL("setrlimit(RLIMIT_MEMLOCK, unlimited)"); + { + if (ps.settings.realTime) + THROW_SYSCALL("setrlimit(RLIMIT_MEMLOCK, unlimited)"); + else + LOG_WARN("Cannot setrlimit(RLIMIT_MEMLOCK, unlimited)"); + } /* * Initialise OpenMP @@ -199,11 +207,6 @@ int main(int argc, char **argv) * INIT stage */ - LOG_INFO("----- Reading Parset"); - - // Create a parameters set object based on the inputs - Parset ps(argv[optind]); - if (rank == 0) { LOG_INFO_STR("nr stations = " << ps.nrStations()); LOG_INFO_STR("nr subbands = " << ps.nrSubbands()); @@ -255,10 +258,10 @@ int main(int argc, char **argv) LOG_DEBUG_STR("Bound to memory on nodes " << nodestrs); } else { - LOG_WARN_STR("Cannot bind memory (libnuma says there is no numa available)"); + LOG_WARN("Cannot bind memory (libnuma says there is no numa available)"); } #else - LOG_WARN_STR("Cannot bind memory (no libnuma support)"); + LOG_WARN("Cannot bind memory (no libnuma support)"); #endif // derive the set of gpus we're allowed to use @@ -291,9 +294,14 @@ int main(int argc, char **argv) // Bindings are done -- Lock everything in memory if (mlockall(MCL_CURRENT | MCL_FUTURE) < 0) - THROW_SYSCALL("mlockall"); - - LOG_DEBUG("All memory is now pinned."); + { + if (ps.settings.realTime) + THROW_SYSCALL("mlockall"); + else + LOG_WARN("Cannot mlockall(MCL_CURRENT | MCL_FUTURE)"); + } else { + LOG_DEBUG("All memory is now pinned."); + } // Allow usage of nested omp calls omp_set_nested(true); diff --git a/RTCP/Cobalt/GPUProc/src/scripts/get_casacore_measures_data.sh b/RTCP/Cobalt/GPUProc/src/scripts/get_casacore_measures_data.sh new file mode 100755 index 0000000000000000000000000000000000000000..8e0a40290c031e7d85a08b2425b492749cea8a91 --- /dev/null +++ b/RTCP/Cobalt/GPUProc/src/scripts/get_casacore_measures_data.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# get_casacore_measures_tables.sh +# Retrieve new casacore measures tables and install it atomically. + +# $Id$ + +measures_ftp_path=ftp://ftp.atnf.csiro.au/pub/software/measures_data +measures_data_filename=measures_data.tar.bz2 +measures_md5sum_filename=$measures_data_filename.md5sum +measures_md5sum_filename2=$measures_md5sum_filename.1 # wget does this if exists +update_id=`date +%FT%T.%N` # e.g. 2013-09-26T01:58:30.098006623 + + +cd $HOME/root/share +mkdir -p aips++ +cd aips++ + +# Generate date timestamp for a directory to store the table update. +# Mangle in nanosecs to survive concurrent update (don't do it!) +mkdir $update_id +cd $update_id + +# Get the data from CSIRO's (slow from NL) FTP server. About 1 MB may take a minute. +# Get the md5sum twice, so we safe ourselves another download of the archive when they update the files in between. +# By default, when wget downloads a file, the timestamp is set to match the timestamp from the remote file. +wget --tries=4 \ + $measures_ftp_path/$measures_md5sum_filename \ + $measures_ftp_path/$measures_data_filename \ + $measures_ftp_path/$measures_md5sum_filename + +# Verify that md5 hash is equal to hash in $measures_md5sum_filename +# No need to compare the filename. (And note that the .md5sum from CSIRO contains a CSIRO path.) +md5sum_pre=`cut -f 1 -d ' ' $measures_md5sum_filename` +data_md5=`md5sum $measures_data_filename | cut -f 1 -d ' '` +md5sum_post=`cut -f 1 -d ' ' $measures_md5sum_filename2` +if [md5sum_pre -ne data_md5 && md5sum_post -ne data_md5]; then + echo "MD5 checksums failed to match. Deleting downloaded files. Retrying retrieval once." + + retrieve() + #check/loop +fi +echo "MD5 checksum matches the archive." + +# Unpack. This will create data/ephemeris/ and data/geodetic/ +tar jxf measures_data.tar.bz2 + +# Everything cool. Switch data/ symlink to the new data/ _atomically_ with a rename. +# No race with a reader possible. (As long as we don't delete the old data files too early.) +cd .. # out of $update_id/ +ln -s $update_id/data data_tmp && mv -Tf data_tmp data +sync + diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS index a19bd9a254441d75474fc956894de75097c87e5d..69ea12d133d0dcb42871ce3791dba1e19c9e9e20 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS index dfc7e806adb30898ba6a51051adbe9b8b2160949..acb52546d9a7ad14af02629ddade2391cd835cf8 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS index 7b0bb67c1c26c7578079150aa636f3d338a0000e..85af9128e3b18aa7881cd63e65433c003c97c09e 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS index 5947d64e1bca9eaed2c3ef659752359915b356da..f93f2871f8b7a227bb051567246c728ee74d5d41 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS index 7d397448dd1fb49977c0fc0aed92d6a3a77746ae..e931298b672d0c4f6cc6a8eeafe8b7127e67f18d 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS index 78f1404613c7f25175c0fd61214265aa2c37f531..a3d21c556b595a1825cf79634671980de3230481 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS index 043d0246477067412515c6602b43b4c5e545956d..6eaf212d92d0fc0caabde0a571b6349a72205869 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS index ce0701e1ba6c7894a2a89d1594e9f63bd513dacb..91d90a7608999d6574e21b1969133a7e38c7d68c 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS index cdafd2d71b9c74a951c03a41f970ce869c0b4d90..82d14a40b620dff29035717d1a2b0defde496e35 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS index 8f12893faa32a553adc40b44c7787794741fff3f..6554de89e259f7a62464462aced2a2913b3d122e 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS index 66cfef6bf8716df0242991825a518d5889c03007..c6842820f2a6c987927643e6d62e4c001b5599a6 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS index 19dbf1b210ffbfd07c03a3d09b05a30b5e1b7884..4191998a0dd8ddb6f3a081817627364d492fa448 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS index cb8fefe6fd932dc000463ec903ee732c903fd5a0..3c2cf6383d5410ecd1decb7fe4bbab5735cae622 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS index db9d92ad8816be37024a73da5551d13c43013380..3bd6fb6c67ee235c0b993717d80b732443acd802 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS index 5b3898ba161a330a3662e826e86228aaa9263d18..230e783c1f7129567874c3774bd6de34e6e38c20 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/testParset.sh b/RTCP/Cobalt/GPUProc/test/testParset.sh index 842bed459952519926c97bf3d530002ca2be2e8b..e90b0dc5894e43830b1be51c5c9b76c186b43e20 100755 --- a/RTCP/Cobalt/GPUProc/test/testParset.sh +++ b/RTCP/Cobalt/GPUProc/test/testParset.sh @@ -110,7 +110,7 @@ function parse_logs # Taking 32*..., we still get a few dozen miscomparisons, so resort to 64.0 # # Try bigger epsilons as well to see how big the error actually is. - for eps_factor in 1024.0 512.0 256.0 128.0 + for eps_factor in 1024.0 512.0 256.0 128.0 64.0 32.0 16.0 8.0 do EPSILON=$(echo $eps_factor \* $numfp32eps | bc -l) diff --git a/RTCP/Cobalt/OutputProc/test/tMSWriterCorrelated.run b/RTCP/Cobalt/OutputProc/test/tMSWriterCorrelated.run index c36e8d9d8790833a66d02b59f9fceb000c0876f1..9f9bedc9e8547a2e6432faf5ee4888fd05ab163c 100755 --- a/RTCP/Cobalt/OutputProc/test/tMSWriterCorrelated.run +++ b/RTCP/Cobalt/OutputProc/test/tMSWriterCorrelated.run @@ -1,6 +1,11 @@ #!/bin/bash ./tMSWriterCorrelated +status=$? +if [ $status -ne 0 ]; then + echo "./tMSWriterCorrelated failed with exit status $status" + exit $status +fi # add path to casacore for lhn001, but don't fail if this does not work (