51 "::storeEpochs4Obs(): size mismatch: " +
52 QString(
"").sprintf(
"%d vs %d",
numOfObs_, epochs.size()));
61 "::storeEpochs4Obs(): format description failed");
68 int nYear, nMonth, nDay, nHour, nMin;
74 epochs.at(i).toYMDHMS_tr(nYear, nMonth, nDay, nHour, nMin, dSec);
75 pD[5*i + 0] = nYear%100;
87 "::storeEpochs4Obs(): cannot put data into " + ncdf.
getFileName());
92 "::storeEpochs4Obs(): the data were successfully stored in " + ncdf.
getFileName());
100 const SgMatrix* ionCals,
const SgMatrix* ionSigmas,
const QVector<int> &ionDataFlag)
105 "::storeObsCalIonGroup(): the band \"" + band +
"\" is not registered");
116 "::storeObsCalIonGroup(): format description failed");
125 for (
int i=0; i<ionDataFlag.size(); i++)
131 pI[i] = ionDataFlag[i];
138 "::storeObsCalIonGroup(): cannot put data into " + ncdf.
getFileName());
143 "::storeObsCalIonGroup(): the data were successfully stored in " + ncdf.
getFileName());
161 "::storeIonBits(): format description failed");
168 for (
int i=0; i<ionoBits.size(); i++)
175 "::storeIonoBits(): cannot put data into " + ncdf.
getFileName());
180 "::storeIonoBits(): the data were successfully stored in " + ncdf.
getFileName());
188 const QVector<int>& ratUFlag,
const QVector<int>& uAcSup)
198 "::storeObsEditData(): format description failed");
208 for (
int i=0; i<delUFlag.size(); i++)
220 "::storeObsEditData(): cannot put data into " + ncdf.
getFileName());
228 "::storeObsEditData(): the data were successfully stored in " + ncdf.
getFileName());
245 "::storeObsUserSup(): format description failed");
252 for (
int i=0; i<uAcSup.size(); i++)
259 "::storeObsUserSup(): cannot put data into " + ncdf.
getFileName());
264 "::storeObsUserSup(): the data were successfully stored in " + ncdf.
getFileName());
273 const QVector<int> &numSubAmbigs)
278 "::storeObsNumGroupAmbigs(): the band \"" + band +
"\" is not registered");
286 if (numSubAmbigs.size() == numAmbigs.size())
291 "::storeObsNumGroupAmbigs(): format description (E) failed");
298 for (
int i=0; i<numAmbigs.size(); i++)
300 pN[i] = numAmbigs[i];
301 pS[i] = numSubAmbigs[i];
308 "::storeObsNumGroupAmbigs(): cannot put data (E) into " + ncdf.
getFileName());
313 "::storeObsNumGroupAmbigs(): the data (E) were successfully stored in " + ncdf.
getFileName());
321 "::storeObsNumGroupAmbigs(): format description failed");
327 for (
int i=0; i<numAmbigs.size(); i++)
328 pI[i] = numAmbigs[i];
334 "::storeObsNumGroupAmbigs(): cannot put data into " + ncdf.
getFileName());
339 "::storeObsNumGroupAmbigs(): the data were successfully stored in " + ncdf.
getFileName());
353 "::storeObsNumPhaseAmbigs(): the band \"" + band +
"\" is not registered");
364 "::storeObsNumPhaseAmbigs(): format description failed");
370 for (
int i=0; i<numAmbigs.size(); i++)
371 pI[i] = numAmbigs[i];
377 "::storeObsNumPhaseAmbigs(): cannot put data into " + ncdf.
getFileName());
382 "::storeObsNumPhaseAmbigs(): the data were successfully stored in " + ncdf.
getFileName());
400 "::storeObsObjectNames(): format description of baselines failed");
409 "::storeObsObjectNames(): format description of sources failed");
412 ncdfB.
setServiceVars(varB.
getStub(),
"Data are extracted from correlator files",
"Obs",
"TimeUTC.nc");
413 ncdfS.
setServiceVars(varS.
getStub(),
"Data are extracted from correlator files",
"Obs",
"TimeUTC.nc");
421 strncpy(pSb + lenB* 2*i , qPrintable(stations_1.at(i)), lenB);
422 strncpy(pSb + lenB*(2*i+1), qPrintable(stations_2.at(i)), lenB);
423 strncpy(pSs + lenS*i , qPrintable(sources.at(i)), lenS);
430 "::storeObsObjectNames(): cannot put baselines data into " + ncdfB.
getFileName());
437 "::storeObsObjectNames(): cannot put sources data into " + ncdfS.
getFileName());
443 "::storeObsObjectNames(): the data were successfully stored in " + ncdfB.
getFileName());
445 "::storeObsObjectNames(): the data were successfully stored in " + ncdfS.
getFileName());
464 "::storeObsCrossRefs(): format description failed");
474 pI[ i ] = obs2scan.at(i);
475 pB[2*i ] = obs2stn_1.at(i);
476 pB[2*i + 1] = obs2stn_2.at(i);
483 "::storeObsCrossRefs(): cannot put data into " + ncdf.
getFileName());
488 "::storeObsCrossRefs(): the data were successfully stored in " + ncdf.
getFileName());
506 "::storeSourceCrossRefs(): src list size mismatch: " +
507 QString(
"").sprintf(
"%d vs %d",
numOfSrc_, sources.size()));
513 "::storeSourceCrossRefs(): scan map size mismatch: " +
514 QString(
"").sprintf(
"%d vs %d",
numOfScans_, scan2src.size()));
521 "::storeSourceCrossRefs(): format description failed");
531 strncpy(pS + len*i, qPrintable(sources.at(i)), len);
533 pI[i] = scan2src.at(i);
539 "::storeSourceCrossRefs(): cannot put data into " + ncdf.
getFileName());
544 "::storeSourceCrossRefs(): the data were successfully stored in " + ncdf.
getFileName());
553 const QMap<QString,
QList<int> >& stations2scan,
554 const QMap<QString,
QList<int> >& scans2station)
562 if (
numOfStn_ != numScansPerStation.size())
565 "::storeStationCrossRefs(): numScansPerStation list size mismatch: " +
566 QString(
"").sprintf(
"%d vs %d",
numOfStn_, numScansPerStation.size()));
572 "::storeStationCrossRefs(): stn list size mismatch: " +
573 QString(
"").sprintf(
"%d vs %d",
numOfStn_, stations.size()));
579 "::storeStationCrossRefs(): stations2scan map size mismatch: " +
580 QString(
"").sprintf(
"%d vs %d",
numOfStn_, stations2scan.size()));
586 "::storeStationCrossRefs(): scans2station map size mismatch: " +
587 QString(
"").sprintf(
"%d vs %d",
numOfStn_, scans2station.size()));
590 if (
numOfScans_ != scans2station.begin().value().size())
593 "::storeStationCrossRefs(): scans2station map's content size mismatch: " +
594 QString(
"").sprintf(
"%d vs %d",
numOfScans_, scans2station.begin().value().size()));
598 int numOfEpochs=stations2scan.begin().value().size();
600 for (QMap<QString,
QList<int> >::const_iterator it=stations2scan.begin(); it!=stations2scan.end();
602 if (it.value().size() != numOfEpochs)
605 "::storeStationCrossRefs(): stations2scan map content size mismatch for the station " +
606 it.key() +
": " + QString(
"").sprintf(
"%d vs %d", numOfEpochs, it.value().size()));
609 for (QMap<QString,
QList<int> >::const_iterator it=scans2station.begin(); it!=scans2station.end();
614 "::storeStationCrossRefs(): scans2station map content size mismatch for the station " +
615 it.key() +
": " + QString(
"").sprintf(
"%d vs %d",
numOfScans_, it.value().size()));
623 "::storeStationCrossRefs(): format description failed");
637 const QString &stn=stations.at(i);
638 strncpy(pS + len*i, qPrintable(stn), len);
639 pN[i] = numScansPerStation.at(i);
641 if (stations2scan.contains(stn))
643 for (
int j=0; j<numOfEpochs; j++)
644 p2Scn[i + j*
numOfStn_] = stations2scan[stn].at(j);
649 "::storeStationCrossRefs(): cannot find station " + stn +
" in the stations2scan map");
653 if (scans2station.contains(stn))
656 p2Stn[i + j*
numOfStn_] = scans2station[stn].at(j);
661 "::storeStationCrossRefs(): cannot find station " + stn +
" in the scans2station map");
670 "::storeStationCrossRefs(): cannot put data into " + ncdf.
getFileName());
675 "::storeStationCrossRefs(): the data were successfully stored in " + ncdf.
getFileName());
687 "::storeObsSingleBandDelays(): the band \"" + band +
"\" is not registered");
698 "::storeObsSingleBandDelays(): matrix size mismatch: " +
699 QString(
"").sprintf(
"%d vs %d",
numOfObs_, singleBandDelays->
nRow()));
702 if (2 != singleBandDelays->
nCol())
705 "::storeObsSingleBandDelays(): matrix size mismatch: " +
706 QString(
"").sprintf(
"%d vs %d", 2, singleBandDelays->
nCol()));
713 "::storeObsSingleBandDelays(): format description failed");
716 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
730 "::storeObsSingleBandDelays(): cannot put data into " + ncdf.
getFileName());
735 "::storeObsSingleBandDelays(): the data were successfully stored in " + ncdf.
getFileName());
747 "::storeObsGroupDelays(): the band \"" + band +
"\" is not registered");
761 "::storeObsGroupDelays(): matrix size mismatch: " +
762 QString(
"").sprintf(
"%d vs %d",
numOfObs_, groupDelays->
nRow()));
765 if (2 != groupDelays->
nCol())
768 "::storeObsGroupDelays(): matrix size mismatch: " +
769 QString(
"").sprintf(
"%d vs %d", 2, groupDelays->
nCol()));
776 "::storeObsGroupDelays(): format description failed");
779 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
793 "::storeObsGroupDelays(): cannot put data into " + ncdf.
getFileName());
798 "::storeObsGroupDelays(): the data were successfully stored in " + ncdf.
getFileName());
810 "::storeObsGroupDelaysFull(): the band \"" + band +
"\" is not registered");
821 "::storeObsGroupDelaysFull(): vector size mismatch: " +
822 QString(
"").sprintf(
"%d vs %d",
numOfObs_, groupDelays->
n()));
829 "::storeObsGroupDelaysFull(): format description failed");
842 "::storeObsGroupDelaysFull(): cannot put data into " + ncdf.
getFileName());
847 "::storeObsGroupDelaysFull(): the data were successfully stored in " + ncdf.
getFileName());
860 "::storeObsPhaseDelaysFull(): the band \"" + band +
"\" is not registered");
871 "::storeObsPhaseDelaysFull(): vector size mismatch: " +
872 QString(
"").sprintf(
"%d vs (%d or %d)",
numOfObs_, phaseDelays->
n(), phaseDelaySigs->
n()));
879 "::storeObsPhaseDelaysFull(): format description failed");
896 "::storeObsPhaseDelaysFull(): cannot put data into " + ncdf.
getFileName());
901 "::storeObsPhaseDelaysFull(): the data were successfully stored in " + ncdf.
getFileName());
912 "::storeObsRates(): the band \"" + band +
"\" is not registered");
925 "::storeObsRates(): matrix size mismatch: " +
929 if (2 != rates->
nCol())
932 "::storeObsRates(): matrix size mismatch: " +
933 QString(
"").sprintf(
"%d vs %d", 2, rates->
nCol()));
940 "::storeObsRates(): format description failed");
943 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
957 "::storeObsRates(): cannot put data into " + ncdf.
getFileName());
962 "::storeObsRates(): the data were successfully stored in " + ncdf.
getFileName());
974 "::storeObsPhase(): the band \"" + band +
"\" is not registered");
985 "::storeObsPhase(): matrix size mismatch: " +
989 if (2 != phases->
nCol())
992 "::storeObsPhase(): matrix size mismatch: " +
993 QString(
"").sprintf(
"%d vs %d", 2, phases->
nCol()));
1000 "::storeObsPhase(): format description failed");
1003 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1017 "::storeObsPhase(): cannot put data into " + ncdf.
getFileName());
1022 "::storeObsPhase(): the data were successfully stored in " + ncdf.
getFileName());
1034 "::storeObsRefFreqs(): the band \"" + band +
"\" is not registered");
1045 "::storeObsRefFreqs(): vector size mismatch: " +
1046 QString(
"").sprintf(
"%d vs %d",
numOfObs_, rf->
n()));
1053 "::storeObsRefFreqs(): format description failed");
1056 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1066 "::storeObsRefFreqs(): cannot put data into " + ncdf.
getFileName());
1071 "::storeObsRefFreqs(): the data were successfully stored in " + ncdf.
getFileName());
1083 "::storeObsEffFreqs(): the band \"" + band +
"\" is not registered");
1095 "::storeObsEffFreqs(): matrix size mismatch: " +
1099 if (3 != freqs->
nCol())
1102 "::storeObsEffFreqs(): matrix size mismatch: " +
1103 QString(
"").sprintf(
"%d vs %d", 2, freqs->
nCol()));
1111 "::storeObsEffFreqs(): format description failed");
1116 double *pG, *pP, *pR;
1140 "::storeObsEffFreqs(): cannot put data into " + ncdf.
getFileName() +
1141 " using " + (areEqWgts?
"equal weights":
"weighted") +
" mode");
1146 "::storeObsEffFreqs(): the data were successfully stored in " + ncdf.
getFileName() +
1147 " using " + (areEqWgts?
"equal weights":
"weighted") +
" mode");
1159 "::storeObsAmbigSpacing(): the band \"" + band +
"\" is not registered");
1170 "::storeObsAmbigSpacing(): vector size mismatch: " +
1171 QString(
"").sprintf(
"%d vs %d",
numOfObs_, ambigs->
n()));
1178 "::storeObsAmbigSpacing(): format description failed");
1181 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1191 "::storeObsAmbigSpacing(): cannot put data into " + ncdf.
getFileName());
1196 "::storeObsAmbigSpacing(): the data were successfully stored in " + ncdf.
getFileName());
1208 "::storeObsQualityCodes(): the band \"" + band +
"\" is not registered");
1219 "::storeObsQualityCodes(): vector size mismatch: " +
1220 QString(
"").sprintf(
"%d vs %d",
numOfObs_, qualityCodes.size()));
1227 "::storeObsQualityCodes(): format description failed");
1230 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1234 p[i] = qualityCodes.at(i);
1240 "::storeObsQualityCodes(): cannot put data into " + ncdf.
getFileName());
1245 "::storeObsAmbigSpacing(): the data were successfully stored in " + ncdf.
getFileName());
1257 "::storeObsCorrelation(): the band \"" + band +
"\" is not registered");
1268 "::storeObsCorrelation(): vector size mismatch: " +
1269 QString(
"").sprintf(
"%d vs %d",
numOfObs_, correlations->
n()));
1276 "::storeObsCorrelation(): format description failed");
1279 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1289 "::storeObsCorrelation(): cannot put data into " + ncdf.
getFileName());
1294 "::storeObsCorrelation(): the data were successfully stored in " + ncdf.
getFileName());
1306 "::storeObsUVFperAsec(): the band \"" + band +
"\" is not registered");
1317 "::storeObsUVFperAsec(): matrix size mismatch: " +
1318 QString(
"").sprintf(
"%d vs %d",
numOfObs_, uvfPerAsec->
nRow()));
1325 "::storeObsUVFperAsec(): format description failed");
1328 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1341 "::storeObsUVFperAsec(): cannot put data into " + ncdf.
getFileName());
1346 "::storeObsUVFperAsec(): the data were successfully stored in " + ncdf.
getFileName());
1358 "::storeObsCalFeedCorr(): the band \"" + band +
"\" is not registered");
1369 "::storeObsCalFeedCorr(): matrix size mismatch: " +
1370 QString(
"").sprintf(
"%d vs %d",
numOfObs_, contrib->
nRow()));
1377 "::storeObsCalFeedCorr(): format description failed");
1381 "Obs",
"TimeUTC.nc");
1394 "::storeObsCalFeedCorr(): cannot put data into " + ncdf.
getFileName());
1399 "::storeObsCalFeedCorr(): the data were successfully stored in " + ncdf.
getFileName());
1411 "::storeObsSNR(): the band \"" + band +
"\" is not registered");
1422 "::storeObsSNR(): vector size mismatch: " +
1423 QString(
"").sprintf(
"%d vs %d",
numOfObs_, snrs->
n()));
1430 "::storeObsSNR(): format description failed");
1433 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1443 "::storeObsSNR(): cannot put data into " + ncdf.
getFileName());
1448 "::storeObsSNR(): the data were successfully stored in " + ncdf.
getFileName());
1465 "::storeObsDtec(): vector dTec size mismatch: " +
1466 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dTec->
n()));
1472 "::storeObsDtec(): vector dTecStdDev size mismatch: " +
1473 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dTecStdDev->
n()));
1480 "::storeObsDtec(): format description failed");
1483 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1497 "::storeObsDtec(): cannot put data into " + ncdf.
getFileName());
1502 "::storeObsDtec(): the data were successfully stored in " + ncdf.
getFileName());
1514 "::storeObsDataFlag(): the band \"" + band +
"\" is not registered");
1525 "::storeObsDataFlag(): vector size mismatch: " +
1526 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dataFlags.size()));
1533 "::storeObsDataFlag(): format description failed");
1540 p[i] = dataFlags.at(i);
1546 "::storeObsDataFlag(): cannot put data into " + ncdf.
getFileName());
1551 "::storeObsDataFlag(): the data were successfully stored in " + ncdf.
getFileName());
1560 const QVector<QString>& channelIds,
1561 const QVector<QString>& polarizations,
1562 const QVector<int>& numOfChannels,
1563 const QVector<int>& bitsPerSamples,
1564 const QVector< QVector<int> >& errorRates_1,
1565 const QVector< QVector<int> >& errorRates_2,
1566 const QVector< QVector<int> >& bbcIdxs_1,
1567 const QVector< QVector<int> >& bbcIdxs_2,
1568 const QVector< QVector<int> >& corelIdxNumbersUsb,
1569 const QVector< QVector<int> >& corelIdxNumbersLsb,
1571 const SgMatrix* residFringeAmplByChan,
1572 const SgMatrix* residFringePhseByChan,
1574 const SgMatrix* numOfSamplesByChan_USB,
1575 const SgMatrix* numOfSamplesByChan_LSB,
1576 const SgMatrix* numOfAccPeriodsByChan_USB,
1577 const SgMatrix* numOfAccPeriodsByChan_LSB,
1585 "::storeObsChannelInfo(): the band \"" + band +
"\" is not registered");
1596 "::storeObsChannelInfo(): numOfChannels vector size mismatch: " +
1597 QString(
"").sprintf(
"%d vs %d",
numOfObs_, numOfChannels.size()));
1608 "::storeObsChannelInfo(): format description failed");
1613 bool isNewMode=
false;
1620 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1622 char *pChannelID=NULL;
1623 char *pPolarization=NULL;
1625 short *pBITSAMPL=NULL;
1626 short *pERRORATE=NULL;
1627 short *pBBCIndex=NULL;
1628 short *pINDEXNUM=NULL;
1632 double *pNumSamples=NULL;
1633 double *pLOFreq=NULL;
1661 pNumChannels[i] = numOfChannels[i];
1695 pERRORATE[4*
numOfChan_*i + 4*j ] = errorRates_1.at(i).at(j);
1696 pERRORATE[4*
numOfChan_*i + 4*j + 1] = errorRates_2.at(i).at(j);
1697 pERRORATE[4*
numOfChan_*i + 4*j + 2] = errorRates_1.at(i).at(j);
1698 pERRORATE[4*
numOfChan_*i + 4*j + 3] = errorRates_2.at(i).at(j);
1707 pBITSAMPL[i] = bitsPerSamples.at(i);
1711 pBBCIndex[2*
numOfChan_*i + 2*j ] = bbcIdxs_1.at(i).at(j);
1712 pBBCIndex[2*
numOfChan_*i + 2*j + 1] = bbcIdxs_2.at(i).at(j);
1715 if (corelIdxNumbersUsb.at(i).size()==
numOfChan_ && corelIdxNumbersLsb.at(i).size()==
numOfChan_)
1717 pINDEXNUM[2*
numOfChan_*i + 2*j ] = corelIdxNumbersUsb.at(i).at(j);
1718 pINDEXNUM[2*
numOfChan_*i + 2*j + 1] = corelIdxNumbersLsb.at(i).at(j);
1734 "::storeObsChannelInfo(): cannot put data into " + ncdf.
getFileName());
1739 "::storeObsChannelInfo(): the data were successfully stored in " + ncdf.
getFileName());
1763 "::storeObsPhaseCalInfo(): the band \"" + band +
"\" is not registered");
1777 "::storeObsPhaseCalInfo(): phCalFrqs_1ByChan matrix size mismatch: " +
1778 QString(
"").sprintf(
"%d vs %d",
numOfObs_, phCalFrqs_1ByChan->
nRow()));
1785 "::storeObsPhaseCalInfo(): format description failed");
1788 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1794 short *pPhaseCalOffset=NULL;
1801 pPhaseCalRate[2*i ] = phCalRates_1->
getElement(i);
1802 pPhaseCalRate[2*i + 1 ] = phCalRates_2->
getElement(i);
1807 pPhaseCalFreq[2*
numOfChan_*i + 2*j ] = round(phCalFrqs_1ByChan-> getElement(i,j));
1808 pPhaseCalFreq[2*
numOfChan_*i + 2*j + 1] = round(phCalFrqs_2ByChan-> getElement(i,j));
1810 pPhaseCalAmp[2*
numOfChan_*i + 2*j ] = round(phCalAmps_1ByChan-> getElement(i,j));
1811 pPhaseCalAmp[2*
numOfChan_*i + 2*j + 1] = round(phCalAmps_2ByChan-> getElement(i,j));
1813 pPhaseCalPhase[2*
numOfChan_*i + 2*j ] = round(phCalPhss_1ByChan-> getElement(i,j));
1814 pPhaseCalPhase[2*
numOfChan_*i + 2*j + 1] = round(phCalPhss_2ByChan-> getElement(i,j));
1819 pPhaseCalOffset[2*
numOfChan_*i + 2*j ] = round(phCalOffs_1ByChan-> getElement(i,j));
1820 pPhaseCalOffset[2*
numOfChan_*i + 2*j + 1] = round(phCalOffs_2ByChan-> getElement(i,j));
1829 "::storeObsPhaseCalInfo(): cannot put data into " + ncdf.
getFileName());
1834 "::storeObsPhaseCalInfo(): the data were successfully stored in " + ncdf.
getFileName());
1842 const QVector<QString>& fourfitOutputFName,
1843 const QVector<QString>& fourfitErrorCodes,
1844 const QVector<QString>& frqGrpCodes,
1845 const QVector<int>& corelVersions,
1846 const QVector<int>& startOffsets,
1847 const QVector< QVector<int> >& fourfitVersions,
1848 const QVector< QVector<int> >& dbeditVersion,
1855 const QVector<QString>& baselineCodes,
1856 const QVector<QString>& tapeQualityCodes,
1857 const QVector<int>& stopOffsets,
1858 const QVector<int>& hopsRevisionNumbers,
1867 const SgVector* geocenterPhaseResids,
1868 const SgVector* geocenterPhaseTotals,
1871 const SgVector* geocenterDelayRates,
1879 const QVector<QString>& vlb1FileNames,
1880 const QVector<QString>& tapeIds_1,
1881 const QVector<QString>& tapeIds_2,
1882 const QVector< QVector<int> >& epochsOfCorrelations,
1883 const QVector< QVector<int> >& epochsOfCentrals,
1884 const QVector< QVector<int> >& epochsOfFourfitings,
1885 const QVector< QVector<int> >& epochsOfNominalScanTime,
1895 "::storeObsCorrelatorInfo(): the band \"" + band +
"\" is not registered");
1901 "::storeObsCorrelatorInfo(): the data origin type is unknown");
1917 if (
numOfObs_ != fourfitOutputFName.size())
1920 "::storeObsCorrelatorInfo(): fourfitOutputFName vector size mismatch: " +
1921 QString(
"").sprintf(
"%d vs %d",
numOfObs_, fourfitOutputFName.size()));
1928 if (ffStrLength < fourfitOutputFName.at(i).size())
1929 ffStrLength = fourfitOutputFName.at(i).size();
1944 "::storeObsCorrelatorInfo(): format description failed");
1948 ncdf.
setServiceVars(var.
getStub(),
"Data are extracted from correlator output",
"Obs",
"TimeUTC.nc");
1961 double *pEffectiveDuration=
1968 double *pProbFalseDetection=
1980 char *pFRNGERR=NULL;
1981 short *pCORELVER=NULL;
1982 short *pStartOffset=NULL;
1983 short *pFOURFVER=NULL;
1985 double *pIDELAY=NULL;
1986 double *pSTARELEV=NULL;
1987 double *pZDELAY=NULL;
1988 short *pStopOffset=NULL;
1989 short *pHopsRevNum=NULL;
1990 double *pQBFACTOR=NULL;
1991 double *pGeocSBD=NULL;
1992 double *pGeocRate=NULL;
1993 double *pGeocMBD=NULL;
1994 short *pFOURFUTC=NULL;
1995 short *pUTCScan=NULL;
1997 double *pCORCLOCK=NULL;
1999 short *pFRNGERR4S2=NULL;
2000 char *pVLB1FILE=NULL;
2001 short *pRECSETUP=NULL;
2002 double *pDLYEPOp1=NULL;
2003 double *pDLYEPOCH=NULL;
2004 double *pDLYEPOm1=NULL;
2005 double *pAPCLOFST=NULL;
2006 double *pTOTPCENT=NULL;
2007 double *pRATOBSVM=NULL;
2008 double *pDELOBSVM=NULL;
2053 strncpy(pFOURFFIL + ffStrLength*i, qPrintable(fourfitOutputFName.at(i)), ffStrLength);
2055 if (dbeditVersion.at(i).size()==3)
2057 pDBEDITVE [3*i ] = dbeditVersion.at(i).at(0);
2058 pDBEDITVE [3*i+1] = dbeditVersion.at(i).at(1);
2059 pDBEDITVE [3*i+2] = dbeditVersion.at(i).at(2);
2064 pEffectiveDuration [i] = effDurations->
getElement(i);
2067 pDISCARD [i] = percentOfDiscards->
getElement(i);
2068 pGeocResidPhase [i] = geocenterPhaseResids->
getElement(i);
2069 pGeocPhase [i] = geocenterPhaseTotals->
getElement(i);
2070 pProbFalseDetection [i] = probOfFalses->
getElement(i);
2071 pABASRATE [i] = corrAprioriRates->
getElement(i);
2072 pABASDEL [i] = corrAprioriDelays->
getElement(i);
2073 pABASACCE [i] = corrAprioriAccs->
getElement(i);
2080 for (
int j=0; j<6; j++)
2081 pSRCHPAR [6*i + j] = searchParams->
getElement(i,j);
2083 if (epochsOfCorrelations.at(i).size()==6 &&
2084 epochsOfCentrals.at(i).size()==6 &&
2085 epochsOfFourfitings.at(i).size()==6 )
2086 for (
int j=0; j<6; j++)
2088 pUTCCorr [6*i + j] = epochsOfCorrelations.at(i).at(j);
2089 pUTCMidObs[6*i + j] = epochsOfCentrals.at(i).at(j);
2090 pFOURFUTC [6*i + j] = epochsOfFourfitings.at(i).at(j);
2094 "::storeObsCorrelatorInfo(): Warning: one of epochs (Correlations, Centrals or Fourfitings} "
2095 "has wrong dimensions");
2097 strncpy(pFRQGROUP + 2*i, qPrintable(frqGrpCodes.at(i)), 2);
2098 strncpy(pCORBASCD + 2*i, qPrintable(baselineCodes.at(i)), 2);
2099 strncpy(pTapeCode + 6*i, qPrintable(tapeQualityCodes.at(i)), 6);
2104 strncpy(pFRNGERR + i, qPrintable(fourfitErrorCodes.at(i)), 1);
2106 pCORELVER[i] = corelVersions.at(i);
2108 if (fourfitVersions.at(i).size()==2)
2110 pFOURFVER[2*i ] = fourfitVersions.at(i).at(0);
2111 pFOURFVER[2*i+1] = fourfitVersions.at(i).at(1);
2114 pStartOffset[i] = startOffsets.at(i);
2116 pStopOffset [i] = stopOffsets[i];
2117 pHopsRevNum [i] = hopsRevisionNumbers[i];
2119 pGeocSBD [i] = geocenterSbDelays->
getElement(i);
2122 pGeocMBD [i] = geocenterGrDelays->
getElement(i);
2125 pGeocRate [i] = geocenterDelayRates->
getElement(i);
2127 pQBFACTOR [i] = uniformityFactors->
getElement(i);
2129 pZDELAY [2*i ] = zenithDelays->
getElement(i,0);
2130 pZDELAY [2*i+1] = zenithDelays->
getElement(i,1);
2132 pIDELAY [2*i ] = instrDelays->
getElement(i,0);
2133 pIDELAY [2*i+1] = instrDelays->
getElement(i,1);
2138 pSTARELEV [2*i ] = starElev->
getElement(i,0);
2139 pSTARELEV [2*i+1] = starElev->
getElement(i,1);
2141 pCORCLOCK[4*i ] = corrClocks->
getElement(i, 0);
2142 pCORCLOCK[4*i + 1 ] = corrClocks->
getElement(i, 1);
2143 pCORCLOCK[4*i + 2 ] = corrClocks->
getElement(i, 2);
2144 pCORCLOCK[4*i + 3 ] = corrClocks->
getElement(i, 3);
2146 if (epochsOfNominalScanTime.at(i).size() == 6)
2147 for (
int j=0; j<6; j++)
2148 pUTCScan [6*i + j] = epochsOfNominalScanTime.at(i).at(j);
2151 "::storeObsCorrelatorInfo(): Warning: epochsOfNominalScanTime has wrong dimensions");
2153 strncpy(pTAPEID + 2*8*i, qPrintable(tapeIds_1.at(i)), 8);
2154 strncpy(pTAPEID + 2*8*i + 8, qPrintable(tapeIds_2.at(i)), 8);
2158 if (fourfitErrorCodes.at(i) ==
"" || fourfitErrorCodes.at(i).simplified() ==
"")
2163 pRECSETUP[3*i+0] = round(sampleRate->
getElement(i)*1.0e-3);
2164 pRECSETUP[3*i+1] = 1;
2165 pRECSETUP[3*i+2] = 1;
2173 pDELOBSVM[2*i + 1] = modf(mAux->
getElement(i, 3)*1.0e6, &pDELOBSVM[2*i]);
2175 strncpy(pVLB1FILE + 6*i, qPrintable(vlb1FileNames.at(i)), 6);
2183 "::storeObsCorrelatorInfo(): cannot put data into " + ncdf.
getFileName());
2188 "::storeObsCorrelatorInfo(): the data were successfully stored in " + ncdf.
getFileName());
2205 "::storeObsDelayTheoretical(): vector v size mismatch: " +
2206 QString(
"").sprintf(
"%d vs %d",
numOfObs_, v->
n()));
2213 "::storeObsDelayTheoretical(): format description failed");
2217 "Obs",
"TimeUTC.nc");
2227 "::storeObsDelayTheoretical(): cannot put data into " + ncdf.
getFileName());
2232 "::storeObsDelayTheoretical(): the data were successfully stored in " + ncdf.
getFileName());
2249 "::storeObsRateTheoretical(): vector v size mismatch: " +
2250 QString(
"").sprintf(
"%d vs %d",
numOfObs_, v->
n()));
2257 "::storeObsRateTheoretical(): format description failed");
2261 "Obs",
"TimeUTC.nc");
2271 "::storeObsRateTheoretical(): cannot put data into " + ncdf.
getFileName());
2276 "::storeObsRateTheoretical(): the data were successfully stored in " + ncdf.
getFileName());
2293 "::storeObsStd1Contribution(): " + varName +
": matrix contrib size mismatch: " +
2294 QString(
"").sprintf(
"%d vs %d",
numOfObs_, contrib->
nRow()));
2297 if (2 != (
int)contrib->
nCol())
2300 "::storeObsStd1Contribution(): " + varName +
": matrix contrib size is unexpected: " +
2301 QString(
"").setNum(contrib->
nCol()) +
", should be 2");
2304 if (fcf.size() != 1)
2307 "::storeObsStd1Contribution(): " + varName +
": FCF list size is unexpected: " +
2308 QString(
"").setNum(fcf.size()) +
", should be 1");
2316 "::storeObsStd1Contribution(): " + varName +
": format description failed");
2320 "Obs",
"TimeUTC.nc");
2333 "::storeObsStd1Contribution(): " + varName +
": cannot put data into " + ncdf.
getFileName());
2338 "::storeObsStd1Contribution(): " + varName +
": the data were successfully stored in " +
2357 if ((numEl=contribs.size()) != fcf.size())
2360 "::storeObsStd2Contribution(): " + varName +
": sizes of the lists mismatch: " +
2361 QString(
"").sprintf(
"%d vs %d", numEl, fcf.size()));
2365 for (
int i=0; i<contribs.size(); i++)
2372 "::storeObsStd2Contribution(): " + varName +
": matrix contribs[" + QString(
"").setNum(i) +
2373 "] size mismatch: " + QString(
"").sprintf(
"%d vs %d",
numOfObs_, m->
nRow()));
2376 if (2 != (
int)m->
nCol())
2379 "::storeObsStd2Contribution(): " + varName +
": matrix contribs[" + QString(
"").setNum(i) +
2380 "] size is unexpected: " + QString(
"").setNum(m->
nCol()) +
", should be 2");
2386 "::storeObsStd2Contribution(): " + varName +
": FC[" + QString(
"").setNum(i) +
2387 "] sizes are unexpected: " + QString(
"").sprintf(
"%d:%d", fc->
dims().at(0), fc->
dims().at(1)) +
2388 ", should be " + QString(
"").setNum(
numOfObs_) +
":2");
2396 "::storeObsStd2Contribution(): " + varName +
": format description failed");
2400 "Obs",
"TimeUTC.nc");
2402 for (
int i=0; i<numEl; i++)
2418 "::storeObsStd2Contribution(): " + varName +
": cannot put data into " + ncdf.
getFileName());
2423 "::storeObsStd2Contribution(): " + varName +
": the data were successfully stored in " +
2571 "::storeObsCalUnphase(): vector size mismatch: " +
2572 QString(
"").sprintf(
"%d vs %d",
numOfObs_, v->
n()));
2578 "::storeObsFractC(): format description failed");
2582 "Obs",
"TimeUTC.nc");
2592 "::storeObsFractC(): cannot put data into " + ncdf.
getFileName());
2597 "::storeObsFractC(): the data were successfully stored in " + ncdf.
getFileName());
2610 "::storeObsCalUnphase(): the band \"" + band +
"\" is not registered");
2621 "::storeObsCalUnphase(): matrix size mismatch: " +
2622 QString(
"").sprintf(
"%d vs %d",
numOfObs_, phaseCal_1->
nRow()));
2629 "::storeObsCalUnphase(): format description failed");
2632 ncdf.
setServiceVars(var.
getStub(),
"Data are calculated from correlator output",
"Obs",
"TimeUTC.nc");
2647 "::storeObsCalUnphase(): cannot put data into " + ncdf.
getFileName());
2652 "::storeObsCalUnphase(): the data were successfully stored in " + ncdf.
getFileName());
2670 "::storeObsPartBend(): matrix partBend size mismatch: " +
2671 QString(
"").sprintf(
"%d vs %d",
numOfObs_, partBend->
nRow()));
2678 "::storeObsPartBend(): format description failed");
2682 "Obs",
"TimeUTC.nc");
2695 "::storeObsPartBend(): cannot put data into " + ncdf.
getFileName());
2700 "::storeObsPartBend(): the data were successfully stored in " + ncdf.
getFileName());
2717 "::storeObsPartEOP(): matrix dV_dPx size mismatch: " +
2718 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dPx->
nRow()));
2724 "::storeObsPartEOP(): matrix dV_dPy size mismatch: " +
2725 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dPy->
nRow()));
2731 "::storeObsPartEOP(): matrix dV_dUT1 size mismatch: " +
2732 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dUT1->
nRow()));
2739 "::storeObsPartEOP(): format description failed");
2743 "Obs",
"TimeUTC.nc");
2764 "::storeObsPartEOP(): cannot put data into " + ncdf.
getFileName());
2769 "::storeObsPartEOP(): the data were successfully stored in " + ncdf.
getFileName());
2777 const QString& kind)
2790 "::storeObsPartNut2KXY(): matrix dV_dCipX size mismatch: " +
2791 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dCipX->
nRow()));
2797 "::storeObsPartNut2KXY(): matrix dV_dCipY size mismatch: " +
2798 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dCipY->
nRow()));
2805 "::storeObsPartNut2KXY(): format description failed");
2809 "Obs",
"TimeUTC.nc");
2824 "::storeObsPartNut2KXY(): cannot put data into " + ncdf.
getFileName());
2829 "::storeObsPartNut2KXY(): the data were successfully stored in " + ncdf.
getFileName());
2846 "::storeObsPartRaDec(): matrix dV_dRA size mismatch: " +
2847 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dRA->
nRow()));
2853 "::storeObsPartRaDec(): matrix dV_dDN size mismatch: " +
2854 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dDN->
nRow()));
2861 "::storeObsPartRaDec(): format description failed");
2865 "Obs",
"TimeUTC.nc");
2880 "::storeObsPartRaDec(): cannot put data into " + ncdf.
getFileName());
2885 "::storeObsPartRaDec(): the data were successfully stored in " + ncdf.
getFileName());
2902 "::storeObsPartXYZ(): matrix dDel_dR_1 size mismatch: " +
2903 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dDel_dR_1->
nRow()));
2909 "::storeObsPartXYZ(): matrix dRat_dR_1 size mismatch: " +
2910 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dRat_dR_1->
nRow()));
2917 "::storeObsPartXYZ(): format description failed");
2921 "Obs",
"TimeUTC.nc");
2938 "::storeObsPartXYZ(): cannot put data into " + ncdf.
getFileName());
2943 "::storeObsPartXYZ(): the data were successfully stored in " + ncdf.
getFileName());
2960 "::storeObsPartGamma(): matrix part size mismatch: " +
2968 "::storeObsPartGamma(): format description failed");
2972 "Obs",
"TimeUTC.nc");
2985 "::storeObsPartGamma(): cannot put data into " + ncdf.
getFileName());
2990 "::storeObsPartGamma(): the data were successfully stored in " + ncdf.
getFileName());
3007 "::storeObsPartParallax(): matrix part size mismatch: " +
3015 "::storeObsPartParallax(): format description failed");
3019 "Obs",
"TimeUTC.nc");
3032 "::storeObsPartParallax(): cannot put data into " + ncdf.
getFileName());
3037 "::storeObsPartParallax(): the data were successfully stored in " + ncdf.
getFileName());
3045 const QString& kind)
3058 "::storeObsPartPoleTides(): matrix dV_dPtdX size mismatch: " +
3059 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dPtdX->
nRow()));
3065 "::storeObsPartPoleTides(): matrix dV_dPtdY size mismatch: " +
3066 QString(
"").sprintf(
"%d vs %d",
numOfObs_, dV_dPtdY->
nRow()));
3073 "::storeObsPartPoleTides(): format description failed");
3077 "Obs",
"TimeUTC.nc");
3092 "::storeObsPartPoleTides(): cannot put data into " + ncdf.
getFileName());
3097 "::storeObsPartPoleTides(): the data were successfully stored in " + ncdf.
getFileName());
QList< SgVgosDb::FmtChkVar * > fcfEdit_v1002
SgVgosDb::FmtChkVar fcPhaseFlag("PhaseFlag", NC_SHORT, false, QList< int >()<< SD_NumObs, "PHSUFLAG", "")
QList< SgVgosDb::FmtChkVar * > fcfNumGroupAmbig
QList< SgVgosDb::FmtChkVar * > fcfCalSlantPathIonoGroup
QList< SgVgosDb::FmtChkVar * > fcfIonoBits
SgVgosDb::FmtChkVar fcSecond("Second", NC_DOUBLE, true, QList< int >()<< SD_Any, "SEC TAG ", "Seconds part of UTC TAG.........", "second")
SgVgosDb::FmtChkVar fcYmdhm("YMDHM", NC_SHORT, true, QList< int >()<< SD_Any<< 5, "UTC TAG ", "Epoch UTC YMDHM.................")
QList< SgVgosDb::FmtChkVar * > fcfNumPhaseAmbig
QList< SgVgosDb::FmtChkVar * > fcfNumGroupAmbigE
SgVgosDb::FmtChkVar fcRateFlag("RateFlag", NC_SHORT, true, QList< int >()<< SD_NumObs, "RATUFLAG", "Delay rate unweight flag........")
SgVgosDb::FmtChkVar fcNumGroupAmbig("NumGroupAmbig", NC_SHORT, true, QList< int >()<< SD_NumObs, "# AMBIG ", "Number of group delay ambiguities", "", "?")
SgVgosDb::FmtChkVar fcCalIonoGroupSigma("Cal-SlantPathIonoGroupSigma", NC_DOUBLE, true, QList< int >()<< SD_NumObs<< 2, "IONRMS ", "Ion correction to sigma. sec", "second", "?")
QList< SgVgosDb::FmtChkVar * > fcfTimeUTC
QList< SgVgosDb::FmtChkVar * > fcfUserSup
SgVgosDb::FmtChkVar fcNumPhaseAmbig("NumPhaseAmbig", NC_INT, true, QList< int >()<< SD_NumObs, "#PAMBIG ", "Number of phase delay ambiguities", "", "?")
SgVgosDb::FmtChkVar fcIonoBits("IonoBits", NC_SHORT, true, QList< int >()<< SD_NumObs, "ION_BITS", "ICORR for full ion tracking.")
SgVgosDb::FmtChkVar fcDelayFlag("DelayFlag", NC_SHORT, true, QList< int >()<< SD_NumObs, "DELUFLAG", "Delay unweight flag")
SgVgosDb::FmtChkVar fcCalIonoGroupDataFlag("Cal-SlantPathIonoGroupDataFlag", NC_SHORT, false, QList< int >()<< SD_NumObs, "", "0=OK, -1=Missing, -2=bad", "", "?")
SgVgosDb::FmtChkVar fcNumGroupSubAmbig("NumGroupSubAmbig", NC_SHORT, false, QList< int >()<< SD_NumObs, "N/A ", "Number of group delay subambiguities (test purposes)", "", "?")
SgVgosDb::FmtChkVar fcCalIonoGroup("Cal-SlantPathIonoGroup", NC_DOUBLE, true, QList< int >()<< SD_NumObs<< 2, "ION CORR", "Ion correction. Add to theo. sec", "second", "?")
SgVgosDb::FmtChkVar fcUserSup("UserSup", NC_SHORT, false, QList< int >()<< SD_NumObs, "UACSUP ", "User action for suppression")
QList< SgVgosDb::FmtChkVar * > fcfGroupRate
SgVgosDb::FmtChkVar fcAPCLOFST
QList< SgVgosDb::FmtChkVar * > fcfPhaseCalInfoMk3
QList< SgVgosDb::FmtChkVar * > fcfCalHiFreqLibration
SgVgosDb::FmtChkVar fcDELRESID
SgVgosDb::FmtChkVar fcPartBend
SgVgosDb::FmtChkVar fcPolarization
SgVgosDb::FmtChkVar fcPartXyz
SgVgosDb::FmtChkVar fcObs2Scan
SgVgosDb::FmtChkVar fcStation2Scan
SgVgosDb::FmtChkVar fcSampleRate
SgVgosDb::FmtChkVar fcBITSAMPL
SgVgosDb::FmtChkVar fcVLB1FILE
SgVgosDb::FmtChkVar fcCalFeedCorrection
SgVgosDb::FmtChkVar fcABASDEL
SgVgosDb::FmtChkVar fcFRQGROUP
SgVgosDb::FmtChkVar fcScan2Source
QList< SgVgosDb::FmtChkVar * > fcfCalFeedCorrection
SgVgosDb::FmtChkVar fcFractC
QList< SgVgosDb::FmtChkVar * > fcfObsCrossRef
QList< SgVgosDb::FmtChkVar * > fcfPart_Parallax
SgVgosDb::FmtChkVar fcUTCCorr
SgVgosDb::FmtChkVar fcPhaseCalRate
SgVgosDb::FmtChkVar fcFreqPhaseIonEqWgts
QList< SgVgosDb::FmtChkVar * > fcfPart_Erp
QList< SgVgosDb::FmtChkVar * > fcfCalOceanLoadOld
QList< SgVgosDb::FmtChkVar * > fcfBaseline
SgVgosDb::FmtChkVar fcChannelID
SgVgosDb::FmtChkVar fcScan2Station
SgVgosDb::FmtChkVar fcFreqGroupIonEqWgts
SgVgosDb::FmtChkVar fcUTCScan
SgVgosDb::FmtChkVar fcFreqGroupIon
SgVgosDb::FmtChkVar fcQBFACTOR
SgVgosDb::FmtChkVar fcHopsRevNum
SgVgosDb::FmtChkVar fcGroupRateSig
SgVgosDb::FmtChkVar fcGeocRate
QList< SgVgosDb::FmtChkVar * > fcfSNR
SgVgosDb::FmtChkVar fcURVR
SgVgosDb::FmtChkVar fcDBEDITVE
QList< SgVgosDb::FmtChkVar * > fcfUVFperAsec
SgVgosDb::FmtChkVar fcFOURFVER
QList< SgVgosDb::FmtChkVar * > fcfAmbigSize
SgVgosDb::FmtChkVar fcGroupDelayFull
SgVgosDb::FmtChkVar fcDELTAEPO
QList< SgVgosDb::FmtChkVar * > fcfPart_RaDec
SgVgosDb::FmtChkVar fcPhaseCalFreq
QList< SgVgosDb::FmtChkVar * > fcfFractC
SgVgosDb::FmtChkVar fcPhase
SgVgosDb::FmtChkVar fcTOTPCENT
SgVgosDb::FmtChkVar fcPartRaDec
QList< SgVgosDb::FmtChkVar * > fcfPart_Gamma
SgVgosDb::FmtChkVar fcPartPolarTide
SgVgosDb::FmtChkVar fcSTARELEV
QList< SgVgosDb::FmtChkVar * > fcfCalParallax
SgVgosDb::FmtChkVar fcBaseline
SgVgosDb::FmtChkVar fcDLYEPOp1
SgVgosDb::FmtChkVar fcIDELAY
SgVgosDb::FmtChkVar fcUTCMidObs
SgVgosDb::FmtChkVar fcSBDelaySig
QList< SgVgosDb::FmtChkVar * > fcfCorrInfoKomb
SgVgosDb::FmtChkVar fcSNR
SgVgosDb::FmtChkVar fcPartWobble
SgVgosDb::FmtChkVar fcPartGamma
SgVgosDb::FmtChkVar fcPhaseDelayFull
SgVgosDb::FmtChkVar fcPhaseCalOffset
SgVgosDb::FmtChkVar fcNumAp
SgVgosDb::FmtChkVar fcERRORATE
QList< SgVgosDb::FmtChkVar * > fcfCalBendSun
SgVgosDb::FmtChkVar fcUVFperAsec
SgVgosDb::FmtChkVar fcRefFreq
SgVgosDb::FmtChkVar fcAmbigSize
QList< SgVgosDb::FmtChkVar * > fcfRateTheoretical
SgVgosDb::FmtChkVar fcCORCLOCK
SgVgosDb::FmtChkVar fcNumScansPerStation
SgVgosDb::FmtChkVar fcGeocSBD
QList< SgVgosDb::FmtChkVar * > fcfPhaseCalInfoMk4
SgVgosDb::FmtChkVar fcSRCHPAR
SgVgosDb::FmtChkVar fcCORELVER
QList< SgVgosDb::FmtChkVar * > fcfCalBendSunHigher
SgVgosDb::FmtChkVar fcPartUt1
SgVgosDb::FmtChkVar fcStopOffset
SgVgosDb::FmtChkVar fcCalUnPhase
QList< SgVgosDb::FmtChkVar * > fcfCalOceanLoad
SgVgosDb::FmtChkVar fcSBDelay
SgVgosDb::FmtChkVar fcZDELAY
QList< SgVgosDb::FmtChkVar * > fcfGroupDelay
SgVgosDb::FmtChkVar fcINCOHAMP
QList< SgVgosDb::FmtChkVar * > fcfRefFreq
SgVgosDb::FmtChkVar fcRATRESID
SgVgosDb::FmtChkVar fcFRNGERR
SgVgosDb::FmtChkVar fcStartOffset
SgVgosDb::FmtChkVar fcFRNGERR4S2
QList< SgVgosDb::FmtChkVar * > fcfCalBend
QList< SgVgosDb::FmtChkVar * > fcfPhase
QList< SgVgosDb::FmtChkVar * > fcfCalHiFyErp
SgVgosDb::FmtChkVar fcBBCIndex
QList< SgVgosDb::FmtChkVar * > fcfCorrInfoMk4
SgVgosDb::FmtChkVar fcProbFalseDetection
SgVgosDb::FmtChkVar fcObs2Baseline
SgVgosDb::FmtChkVar fcCorrelation
QList< SgVgosDb::FmtChkVar * > fcfPart_PolarTide
SgVgosDb::FmtChkVar fcPhaseCalAmp
SgVgosDb::FmtChkVar fcEffectiveDuration
SgVgosDb::FmtChkVar fcPartNutationNro
SgVgosDb::FmtChkVar fcFreqRateIonEqWgts
SgVgosDb::FmtChkVar fcDelayTheoretical
QList< SgVgosDb::FmtChkVar * > fcfPhaseDelayFull
SgVgosDb::FmtChkVar fcDISCARD
SgVgosDb::FmtChkVar fcNumChannels
SgVgosDb::FmtChkVar fcGroupDelay
SgVgosDb::FmtChkVar fcStopSec
SgVgosDb::FmtChkVar fcNumSamples
SgVgosDb::FmtChkVar fcTAPEID
SgVgosDb::FmtChkVar fcChanAmpPhase
SgVgosDb::FmtChkVar fcGroupDelaySig
SgVgosDb::FmtChkVar fcDELOBSVM
SgVgosDb::FmtChkVar fcDLYEPOm1
SgVgosDb::FmtChkVar fcSource
SgVgosDb::FmtChkVar fcCrossRefSourceList
SgVgosDb::FmtChkVar fcABASRATE
SgVgosDb::FmtChkVar fcPhaseCalPhase
QList< SgVgosDb::FmtChkVar * > fcfQualityCode
SgVgosDb::FmtChkVar fcChannelFreq
QList< SgVgosDb::FmtChkVar * > fcfGroupDelayFull
SgVgosDb::FmtChkVar fcDataFlag
QList< SgVgosDb::FmtChkVar * > fcfCalPoleTide
SgVgosDb::FmtChkVar fcGeocPhase
QList< SgVgosDb::FmtChkVar * > fcfSBDelay
QList< SgVgosDb::FmtChkVar * > fcfChannelInfoMk4
SgVgosDb::FmtChkVar fcGroupRate
QList< SgVgosDb::FmtChkVar * > fcfCalTiltRemover
SgVgosDb::FmtChkVar fcRECSETUP
SgVgosDb::FmtChkVar fcINDEXNUM
QList< SgVgosDb::FmtChkVar * > fcfEffFreq
SgVgosDb::FmtChkVar fcDLYEPOCH
SgVgosDb::FmtChkVar fcFreqRateIon
QList< SgVgosDb::FmtChkVar * > fcfDelayTheoretical
QList< SgVgosDb::FmtChkVar * > fcfStationCrossRef
SgVgosDb::FmtChkVar fcFreqPhaseIon
SgVgosDb::FmtChkVar fcGeocMBD
QList< SgVgosDb::FmtChkVar * > fcfPhaseCalInfo
QList< SgVgosDb::FmtChkVar * > fcfChannelInfoKomb
SgVgosDb::FmtChkVar fcGeocResidPhase
SgVgosDb::FmtChkVar fcFOURFUTC
SgVgosDb::FmtChkVar fcCrossRefStationList
SgVgosDb::FmtChkVar fcDtecStdErr
SgVgosDb::FmtChkVar fcLOFreq
SgVgosDb::FmtChkVar fcABASACCE
QList< SgVgosDb::FmtChkVar * > fcfPart_NutationNro
SgVgosDb::FmtChkVar fcTapeCode
QList< SgVgosDb::FmtChkVar * > fcfCalEarthTide
SgVgosDb::FmtChkVar fcPartParallax
SgVgosDb::FmtChkVar fcUTCVLB2
QList< SgVgosDb::FmtChkVar * > fcfCalOceanPoleTideLoad
SgVgosDb::FmtChkVar fcINCOH2
QList< SgVgosDb::FmtChkVar * > fcfSource
QList< SgVgosDb::FmtChkVar * > fcfCalUnphase
SgVgosDb::FmtChkVar fcFOURFFIL
QList< SgVgosDb::FmtChkVar * > fcfSourceCrossRef
SgVgosDb::FmtChkVar fcPhaseSig
QList< SgVgosDb::FmtChkVar * > fcfPart_Bend
SgVgosDb::FmtChkVar fcRateTheoretical
QList< SgVgosDb::FmtChkVar * > fcfCalPoleTideOldRestore
QList< SgVgosDb::FmtChkVar * > fcfDataFlag
SgVgosDb::FmtChkVar fcStartSec
QList< SgVgosDb::FmtChkVar * > fcfDTec
SgVgosDb::FmtChkVar fcDtec
QList< SgVgosDb::FmtChkVar * > fcfEffFreqEqWgts
SgVgosDb::FmtChkVar fcPhaseDelaySigFull
QList< SgVgosDb::FmtChkVar * > fcfCorrelation
SgVgosDb::FmtChkVar fcCORBASCD
SgVgosDb::FmtChkVar fcSBRESID
SgVgosDb::FmtChkVar fcQualityCode
SgVgosDb::FmtChkVar fcRATOBSVM
QList< SgVgosDb::FmtChkVar * > fcfCalWobble
QList< SgVgosDb::FmtChkVar * > fcfPart_Xyz
const SgIdentities * currentIdentities_
virtual void write(LogLevel, quint32, const QString &, bool=false)
unsigned int nRow() const
double getElement(unsigned int i, unsigned int j) const
unsigned int nCol() const
const char * data2char() const
const int * data2int() const
const short * data2short() const
const double * data2double() const
SgNcdfVariable * lookupVar(const QString &name) const
void setServiceVars(const QString &stub, const QString &dataOrigin, const QString &timeTag, const QString &timeTagFile)
const QString & getFileName() const
void setOperationMode(OperationMode om)
QString name4export(const QString &rootDir, SgNetCdf::OperationMode om, const QString &aBand="")
void setKind(const QString &str)
const QString & getStub() const
void setStub(const QString &str)
double getElement(unsigned int i) const
const QList< int > & dims() const
const QString & name() const
void alternateDimension(int i, int num)
bool storeObsCalOcean(const SgMatrix *)
SgVdbVariable vCal_EarthTide_
SgVdbVariable vSourceCrossRef_
bool storeEpochs4Obs(const QList< SgMJD > &)
bool storeObsGroupDelaysFull(const QString &band, const SgVector *groupDelays)
bool storeObsObjectNames(const QList< QString > &stations_1, const QList< QString > &stations_2, const QList< QString > &sources)
bool storeObsCalPoleTideOldRestore(const SgMatrix *cals)
bool storeObsCrossRefs(const QList< int > &obs2scan, const QList< int > &obs2stn_1, const QList< int > &obs2stn_2)
bool storeObsEffFreqs(const QString &band, const SgMatrix *freqs, bool areEqWgts=false)
static const QString className()
SgVdbVariable vCal_Wobble_
bool setupFormat(const QList< FmtChkVar * > &, SgNetCdf &, const QString &stationKey=QString(""), const QString &bandKey=QString(""))
bool storeObsQualityCodes(const QString &band, const QVector< char > &qualityCodes)
bool storeObsSingleBandDelays(const QString &band, const SgMatrix *singleBandDelays)
bool storeSourceCrossRefs(const QList< QString > &sources, const QList< int > &scan2src)
bool storeObsPartRaDec(const SgMatrix *dV_dRA, const SgMatrix *dV_dDN)
bool storeObsPartParallax(const SgMatrix *part)
bool storeObsGroupDelays(const QString &band, const SgMatrix *groupDelays, const QString &kind)
bool storeObsRefFreqs(const QString &band, const SgVector *rf)
SgVdbVariable vPart_NutationNro_
bool storeObsCalBendSun(const SgMatrix *cals)
bool storeObsCalPoleTide(const SgMatrix *, const QString &kind)
SgVdbVariable vCal_PoleTideOldRestore_
SgNetCdf::OperationMode operationMode_
SgVdbVariable vCal_BendSun_
SgVdbVariable vPart_Parallax_
bool storeObsCalBendSunHigher(const SgMatrix *cals)
bool storeObsPhaseCalInfo(const QString &band, SgVlbiSessionInfo::OriginType originType, const SgMatrix *phCalFrqs_1ByChan, const SgMatrix *phCalAmps_1ByChan, const SgMatrix *phCalPhss_1ByChan, const SgMatrix *phCalOffs_1ByChan, const SgVector *phCalRates_1, const SgMatrix *phCalFrqs_2ByChan, const SgMatrix *phCalAmps_2ByChan, const SgMatrix *phCalPhss_2ByChan, const SgMatrix *phCalOffs_2ByChan, const SgVector *phCalRates_2)
bool storeObsCalUnphase(const QString &band, const SgMatrix *phaseCal_1, const SgMatrix *phaseCal_2)
bool storeObsStd1Contribution(const QString &varName, const SgMatrix *contrib, SgVdbVariable &var, const QList< SgVgosDb::FmtChkVar * > &fcf)
CorrelatorType correlatorType_
bool storeObsCalEarthTide(const SgMatrix *, const QString &kind)
SgVdbVariable vPart_PoleTide_
SgVdbVariable vCal_BendSunHigher_
bool storeObsStd2Contribution(const QString &varName, const QList< const SgMatrix * > &contribs, SgVdbVariable &var, const QList< SgVgosDb::FmtChkVar * > &fcf)
bool storeObsCorrelation(const QString &band, const SgVector *correlations)
bool storeObsCalIonGroup(const QString &band, const SgMatrix *ionCals, const SgMatrix *ionSigmas, const QVector< int > &ionDataFlag)
bool storeObsCalParallax(const SgMatrix *cals)
bool storeObsCalWobble(const SgMatrix *, const SgMatrix *)
bool storeObsNumGroupAmbigs(const QString &band, const QVector< int > &numAmbigs, const QVector< int > &numSubAmbigs)
bool storeObsSNR(const QString &band, const SgVector *snrs)
bool storeObsUVFperAsec(const QString &band, const SgMatrix *uvfPerAsec)
SgVdbVariable vCal_HiFreqLibration_
SgVdbVariable vObsCrossRef_
bool storeObsCalBend(const SgMatrix *cals)
bool storeObsPartBend(const SgMatrix *partBend)
SgVdbVariable vCal_OceanLoad_
SgVdbVariable vPart_Bend_
SgVdbVariable vStationCrossRef_
SgVdbVariable vCal_HfErp_
SgVdbVariable vCal_PoleTide_
bool storeObsAmbigSpacing(const QString &band, const SgVector *ambigs)
bool storeObsRates(const QString &band, const SgMatrix *rates, const QString &kind)
bool storeObsCalHiFyErp(const SgMatrix *, const SgMatrix *, const QString &kind)
SgVdbVariable vCal_OceanPoleTideLoad_
QMap< QString, BandData > bandDataByName_
SgVdbVariable vCal_FeedCorrection_
bool storeObsPartXYZ(const SgMatrix *dDel_dR_1, const SgMatrix *dRat_dR_1)
bool storeIonoBits(const QVector< int > &ionoBits)
bool storeObsCalHiFyLibration(const SgMatrix *, const SgMatrix *, const QString &kind)
SgVdbVariable vPart_Gamma_
bool storeObsDelayTheoretical(const SgVector *v)
bool storeObsDtec(const SgVector *dTec, const SgVector *dTecStdDev)
bool storeObsCalOceanOld(const SgMatrix *)
ProgramSolveDescriptor progSolveDescriptor_
bool storeObsEditData(const QVector< int > &delUFlag, const QVector< int > &phsUFlag, const QVector< int > &ratUFlag, const QVector< int > &uAcSup)
SgVdbVariable vRateTheoretical_
bool storeObsPhaseDelaysFull(const QString &band, const SgVector *groupDelays, const SgVector *phaseDelaySigs)
SgVdbVariable vCal_OceanLoadOld_
bool storeObsRateTheoretical(const SgVector *v)
SgVdbVariable vObservationTimeUTC_
bool storeObsCalOceanPoleTideLoad(const SgMatrix *)
bool storeObsPartNut2KXY(const SgMatrix *dV_dCipX, const SgMatrix *dV_dCipY, const QString &kind)
bool storeObsCorrelatorInfo(const QString &band, SgVlbiSessionInfo::OriginType originType, const QVector< QString > &fourfitOutputFName, const QVector< QString > &fourfitErrorCodes, const QVector< QString > &frqGrpCodes, const QVector< int > &corelVersions, const QVector< int > &startOffsets, const QVector< QVector< int > > &fourfitVersions, const QVector< QVector< int > > &dbeditVersion, const SgVector *deltaEpochs, const SgMatrix *urvrs, const SgMatrix *instrDelays, const SgMatrix *starElev, const SgMatrix *zenithDelays, const SgMatrix *searchParams, const QVector< QString > &baselineCodes, const QVector< QString > &tapeQualityCodes, const QVector< int > &stopOffsets, const QVector< int > &hopsRevisionNumbers, const SgVector *sampleRate, const SgVector *sbdResids, const SgVector *rateResids, const SgVector *effDurations, const SgVector *startSeconds, const SgVector *stopSeconds, const SgVector *percentOfDiscards, const SgVector *uniformityFactors, const SgVector *geocenterPhaseResids, const SgVector *geocenterPhaseTotals, const SgVector *geocenterSbDelays, const SgVector *geocenterGrDelays, const SgVector *geocenterDelayRates, const SgVector *probOfFalses, const SgVector *corrAprioriDelays, const SgVector *corrAprioriRates, const SgVector *corrAprioriAccs, const SgVector *incohAmps, const SgVector *incohAmps2, const SgVector *delayResids, const QVector< QString > &vlb1FileNames, const QVector< QString > &tapeIds_1, const QVector< QString > &tapeIds_2, const QVector< QVector< int > > &epochsOfCorrelations, const QVector< QVector< int > > &epochsOfCentrals, const QVector< QVector< int > > &epochsOfFourfitings, const QVector< QVector< int > > &epochsOfNominalScanTime, const SgMatrix *corrClocks, const SgMatrix *mDlys, const SgMatrix *mAux)
SgVdbVariable vPart_RaDec_
bool storeObsPartEOP(const SgMatrix *dV_dPx, const SgMatrix *dV_dPy, const SgMatrix *dV_dUT1)
bool storeObsUserSup(const QVector< int > &uAcSup)
bool storeObsFractC(const SgVector *v)
bool storeObsDataFlag(const QString &band, const QVector< int > &dataFlags)
bool storeObsPhase(const QString &band, const SgMatrix *phases)
bool storeObsNumPhaseAmbigs(const QString &band, const QVector< int > &numAmbigs)
bool storeObsPartPoleTides(const SgMatrix *dV_dPtdX, const SgMatrix *dV_dPtdY, const QString &kind)
bool storeObsPartGamma(const SgMatrix *part)
bool storeObsCalFeedCorr(const SgMatrix *)
SgVdbVariable vCal_TiltRemover_
bool storeStationCrossRefs(const QList< int > &numScansPerStation, const QList< QString > &stations, const QMap< QString, QList< int > > &station2scan, const QMap< QString, QList< int > > &scan2station)
SgVdbVariable vCal_Parallax_
bool storeObsCalTiltRmvr(const SgMatrix *cals)
bool storeObsChannelInfo(const QString &band, SgVlbiSessionInfo::OriginType originType, const QVector< QString > &channelIds, const QVector< QString > &polarizations, const QVector< int > &numOfChannels, const QVector< int > &bitsPerSamples, const QVector< QVector< int > > &errorRates_1, const QVector< QVector< int > > &errorRates_2, const QVector< QVector< int > > &bbcIdxs_1, const QVector< QVector< int > > &bbcIdxs_2, const QVector< QVector< int > > &corelIdxNumbersUsb, const QVector< QVector< int > > &corelIdxNumbersLsb, const SgVector *sampleRate, const SgMatrix *residFringeAmplByChan, const SgMatrix *residFringePhseByChan, const SgMatrix *refFreqByChan, const SgMatrix *numOfSamplesByChan_USB, const SgMatrix *numOfSamplesByChan_LSB, const SgMatrix *numOfAccPeriodsByChan_USB, const SgMatrix *numOfAccPeriodsByChan_LSB, const SgMatrix *loFreqs_1, const SgMatrix *loFreqs_2)
SgVdbVariable vDelayTheoretical_
@ OT_MK4
observations are from Mk4-compatible correlator output;
@ OT_AGV
observations are in AGV format;
@ OT_KOMB
observations are from KOMB output (generated by NICT, Japan);
@ OT_UNKNOWN
unknown (=all others) source of import;