54 "::storeStationEpochs(): unknown station " + stnName);
66 "::storeStationEpochs(): size mismatch: " +
67 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, epochs.size()));
78 "::storeStationEpochs(): format description failed");
87 int nYear, nMonth, nDay, nHour, nMin;
93 epochs.at(i).toYMDHMS_tr(nYear, nMonth, nDay, nHour, nMin, dSec);
114 "::storeStationEpochs(): cannot put data into " + ncdf.
getFileName());
119 "::storeStationEpochs(): the data were successfully stored in " + ncdf.
getFileName());
127 const QString& origin,
const QString& kind)
132 "::storeStationCalCable(): unknown station " + stnName);
148 "::storeStationCalCable(): cable cal size mismatch: " +
149 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, cal->
nRow()));
156 "::storeStationCalCable(): format description failed for " + stnName);
169 "::storeStationCalCable(): cannot put data into " + ncdf.
getFileName());
174 "::storeStationCalCable(): the data were successfully stored in " + ncdf.
getFileName());
183 const QString& origin,
const QString& kind)
188 "::storeStationMet(): unknown station " + stnName);
204 "::storeStationMet(): atm.pressure size mismatch: " +
205 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, metAtmPres->
n()));
211 "::storeStationMet(): atm.rel.humidity size mismatch: " +
212 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, metAtmRH->
n()));
218 "::storeStationMet(): atm.temperature size mismatch: " +
219 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, metAtmTemp->
n()));
226 "::storeStationMet(): format description failed for " + stnName);
245 "::storeStationMet(): cannot put data into " + ncdf.
getFileName());
250 "::storeStationMet(): the data were successfully stored in " + ncdf.
getFileName());
262 "::storeStationAzEl(): unknown station " + stnName);
277 "::storeStationAzEl(): azimuth size mismatch: " +
278 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, azTheo->
nRow()));
284 "::storeStationAzEl(): elevation size mismatch: " +
285 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, elTheo->
nRow()));
292 "::storeStationAzEl(): format description failed");
296 "StationScan",
"TimeUTC.nc");
312 "::storeStationAzEl(): cannot put data into " + ncdf.
getFileName());
317 "::storeStationAzEl(): the data were successfully stored in " + ncdf.
getFileName());
329 "::storeStationPartAxisOffset(): unknown station " + stnName);
344 "::storeStationPartAxisOffset(): the size mismatch: " +
345 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, partAxisOffset->
nRow()));
352 "::storeStationPartAxisOffset(): format description failed");
356 "StationScan",
"TimeUTC.nc");
362 p[2*i + 1] = partAxisOffset->
getElement(i, 1);
369 "::storeStationPartAxisOffset(): cannot put data into " + ncdf.
getFileName());
374 "::storeStationPartAxisOffset(): the data were successfully stored in " + ncdf.
getFileName());
386 "::storeStationParAngle(): unknown station [" + stnName +
"]");
401 "::storeStationParAngle(): the size mismatch: " +
402 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, parAngle->
n()));
409 "::storeStationParAngle(): format description failed");
413 "StationScan",
"TimeUTC.nc");
423 "::storeStationParAngle(): cannot put data into " + ncdf.
getFileName());
428 "::storeStationParAngle(): the data were successfully stored in " + ncdf.
getFileName());
440 "::storeStationCalAxisOffset(): unknown station " + stnName);
455 "::storeStationCalAxisOffset(): the size mismatch: " +
456 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, cal->
nRow()));
463 "::storeStationCalAxisOffset(): format description failed");
467 "StationScan",
"TimeUTC.nc");
480 "::storeStationCalAxisOffset(): cannot put data into " + ncdf.
getFileName());
485 "::storeStationCalAxisOffset(): the data were successfully stored in " + ncdf.
getFileName());
498 "::storeStationCalSlantPathTropDry(): unknown station " + stnName);
514 "::storeStationCalSlantPathTropDry(): the size mismatch: " +
515 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, cal->
nRow()));
522 "::storeStationCalSlantPathTropDry(): format description failed");
526 "StationScan",
"TimeUTC.nc");
539 "::storeStationCalSlantPathTropDry(): cannot put data into " + ncdf.
getFileName());
544 "::storeStationCalSlantPathTropDry(): the data were successfully stored in " + ncdf.
getFileName());
557 "::storeStationCalSlantPathTropWet(): unknown station " + stnName);
573 "::storeStationCalSlantPathTropWet(): the size mismatch: " +
574 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, cal->
nRow()));
581 "::storeStationCalSlantPathTropWet(): format description failed");
585 "StationScan",
"TimeUTC.nc");
598 "::storeStationCalSlantPathTropWet(): cannot put data into " + ncdf.
getFileName());
603 "::storeStationCalSlantPathTropWet(): the data were successfully stored in " + ncdf.
getFileName());
616 "::storeStationCalOceanLoad(): unknown station " + stnName);
631 "::storeStationCalOceanLoad(): the matrix HorzOLoad size mismatch: " +
632 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, calHorzOLoad->
nRow()));
639 "::storeStationCalOceanLoad(): the matrix VertOLoad size mismatch: " +
640 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, calVertOLoad->
nRow()));
647 "::storeStationCalOceanLoad(): format description failed");
651 "StationScan",
"TimeUTC.nc");
667 "::storeStationCalOceanLoad(): cannot put data into " + ncdf.
getFileName());
672 "::storeStationCalOceanLoad(): the data were successfully stored in " + ncdf.
getFileName());
684 "::storeStationOceanLdDisp(): unknown station " + stnName);
699 "::storeStationOceanLdDisp(): the matrix dis size mismatch: " +
700 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, dis->
nRow()));
707 "::storeStationOceanLdDisp(): the matrix vel size mismatch: " +
708 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, vel->
nRow()));
715 "::storeStationOceanLdDisp(): format description failed");
719 "StationScan",
"TimeUTC.nc");
736 "::storeStationOceanLdDisp(): cannot put data into " + ncdf.
getFileName());
741 "::storeStationOceanLdDisp(): the data were successfully stored in " + ncdf.
getFileName());
754 "::storeStationPartZenithDelayDry(): unknown station " + stnName);
770 "::storeStationPartZenithDelayDry(): the size mismatch: " +
771 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, part->
nRow()));
778 "::storeStationPartZenithDelayDry(): format description failed");
782 "StationScan",
"TimeUTC.nc");
795 "::storeStationPartZenithDelayDry(): cannot put data into " + ncdf.
getFileName());
800 "::storeStationPartZenithDelayDry(): the data successfully stored in " + ncdf.
getFileName());
813 "::storeStationPartZenithDelayWet(): unknown station " + stnName);
829 "::storeStationPartZenithDelayWet(): the size mismatch: " +
830 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, part->
nRow()));
837 "::storeStationPartZenithDelayWet(): format description failed");
841 "StationScan",
"TimeUTC.nc");
854 "::storeStationPartZenithDelayWet(): cannot put data into " + ncdf.
getFileName());
859 "::storeStationPartZenithDelayWet(): the data successfully stored in " + ncdf.
getFileName());
872 "::storeStationPartHorizonGrad(): unknown station " + stnName);
888 "::storeStationPartHorizonGrad(): the size mismatch: " +
889 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, part->
nRow()));
896 "::storeStationPartHorizonGrad(): format description failed");
900 "StationScan",
"TimeUTC.nc");
915 "::storeStationPartHorizonGrad(): cannot put data into " + ncdf.
getFileName());
920 "::storeStationPartHorizonGrad(): the data successfully stored in " + ncdf.
getFileName());
932 "::storeStationRefClockOffset(): unknown station " + stnName);
947 "::storeStationRefClockOffset(): vector v size mismatch: " +
948 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, v->
n()));
955 "::storeStationRefClockOffset(): format description failed");
959 "StationScan",
"TimeUTC.nc");
969 "::storeStationRefClockOffset(): cannot put data into " + ncdf.
getFileName());
974 "::storeStationRefClockOffset(): the data were successfully stored in " + ncdf.
getFileName());
982 const QVector<double>& frqs,
const QVector<QString>& ids,
const QVector<QString>& sbs,
983 const QVector<QString>& polzs)
988 "::storeStationTsys(): unknown station " + stnName);
1003 "::storeStationTsys(): matrix tsyses size mismatch: " +
1004 QString(
"").sprintf(
"%d vs %d", dscr->
numOfPts_, tsyses->
nRow()));
1010 numChans = tsyses->
nCol();
1011 if (numChans != frqs.size())
1014 "::storeStationTsys(): array of frqs size mismatch: " +
1015 QString(
"").sprintf(
"%d vs %d", numChans, frqs.size()));
1018 if (numChans != ids.size())
1021 "::storeStationTsys(): array of ids size mismatch: " +
1022 QString(
"").sprintf(
"%d vs %d", numChans, ids.size()));
1026 int lIds, lSbs, lPzs;
1027 lIds = lSbs = lPzs = 0;
1028 for (
int i=0; i<numChans; i++)
1030 if (lIds < ids[i].size())
1031 lIds = ids[i].size();
1032 if (lSbs < sbs[i].size())
1033 lSbs = sbs[i].size();
1034 if (lPzs < polzs[i].size())
1035 lPzs = polzs[i].size();
1050 "::storeStationTsys(): format description failed");
1054 "StationScan",
"TimeUTC.nc");
1072 for (
int j=0; j<numChans; j++)
1073 pTsys[i*numChans + j] = tsyses->
getElement(i, j);
1074 for (
int j=0; j<numChans; j++)
1076 pFreqs[j] = frqs[j];
1077 strncpy(pIds + lIds*j, qPrintable(ids[j]), lIds);
1078 strncpy(pSbs + lSbs*j, qPrintable(sbs[j]), lSbs);
1079 strncpy(pPzs + lPzs*j, qPrintable(polzs[j]), lPzs);
1087 "::storeStationTsys(): cannot put data into " + ncdf.
getFileName());
1092 "::storeStationTsys(): the data were successfully stored in " + ncdf.
getFileName());
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 * > fcfTimeUTC
QList< SgVgosDb::FmtChkVar * > fcfCalSlantPathTropDry
QList< SgVgosDb::FmtChkVar * > fcfCalAxisOffset
SgVgosDb::FmtChkVar fcPartZenithPathTropDry
SgVgosDb::FmtChkVar fcRefClockOffset
SgVgosDb::FmtChkVar fcTsysIfSideBand
QList< SgVgosDb::FmtChkVar * > fcfMet
SgVgosDb::FmtChkVar fcCalStationOceanLoadHoriz
SgVgosDb::FmtChkVar fcElTheo
SgVgosDb::FmtChkVar fcTempC
QList< SgVgosDb::FmtChkVar * > fcfPartZenithPathTropDry
QList< SgVgosDb::FmtChkVar * > fcfPartZenithPathTropWet
QList< SgVgosDb::FmtChkVar * > fcfRefClockOffset
QList< SgVgosDb::FmtChkVar * > fcfTsys
SgVgosDb::FmtChkVar fcTsysData
SgVgosDb::FmtChkVar fcCalSlantPathTropWet
QList< SgVgosDb::FmtChkVar * > fcfCalStationOceanLoad
SgVgosDb::FmtChkVar fcCalStationOceanLoadVert
QList< SgVgosDb::FmtChkVar * > fcfDisOceanLoad
SgVgosDb::FmtChkVar fcTsysIfPolarization
SgVgosDb::FmtChkVar fcPartZenithPathTropWet
QList< SgVgosDb::FmtChkVar * > fcfPartHorizonGrad
SgVgosDb::FmtChkVar fcCalCable
QList< SgVgosDb::FmtChkVar * > fcfCalCable
QList< SgVgosDb::FmtChkVar * > fcfCalSlantPathTropWet
SgVgosDb::FmtChkVar fcFeedRotation
SgVgosDb::FmtChkVar fcPartHorizonGrad
SgVgosDb::FmtChkVar fcCalSlantPathTropDry
SgVgosDb::FmtChkVar fcAzTheo
SgVgosDb::FmtChkVar fcRelHum
SgVgosDb::FmtChkVar fcDisOceanLoad
SgVgosDb::FmtChkVar fcTsysIfId
QList< SgVgosDb::FmtChkVar * > fcfPartAxisOffset
SgVgosDb::FmtChkVar fcTsysIfFreq
SgVgosDb::FmtChkVar fcAtmPres
QList< SgVgosDb::FmtChkVar * > fcfFeedRotation
SgVgosDb::FmtChkVar fcPartAxisOffset
SgVgosDb::FmtChkVar fcCalAxisOffset
QList< SgVgosDb::FmtChkVar * > fcfAzEl
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 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
double getElement(unsigned int i) const
void setHave2hideLCode(bool have2)
const QString & name() const
void alternateDimension(int i, int num)
bool storeStationCalCable(const QString &stnName, const SgMatrix *cal, const QString &origin, const QString &kind)
static const QString className()
bool setupFormat(const QList< FmtChkVar * > &, SgNetCdf &, const QString &stationKey=QString(""), const QString &bandKey=QString(""))
bool storeStationCalOceanLoad(const QString &stnName, const SgMatrix *calHorzOLoad, const SgMatrix *calVertOLoad)
bool storeStationCalSlantPathTropWet(const QString &stnName, const SgMatrix *cal, const QString &kind)
SgNetCdf::OperationMode operationMode_
bool storeStationRefClockOffset(const QString &stnName, const SgVector *v)
bool storeStationTsys(const QString &stnName, const SgMatrix *tsyses, const QVector< double > &frqs, const QVector< QString > &ids, const QVector< QString > &sbs, const QVector< QString > &polzs)
bool storeStationPartAxisOffset(const QString &stnName, const SgMatrix *partAxisOffset)
bool storeStationCalAxisOffset(const QString &stnName, const SgMatrix *cal)
bool storeStationEpochs(const QString &stnName, const QList< SgMJD > &epochs)
bool storeStationPartZenithDelayDry(const QString &stnName, const SgMatrix *part, const QString &kind)
bool storeStationParAngle(const QString &stnName, const SgVector *parAngle)
bool storeStationOceanLdDisp(const QString &stnName, const SgMatrix *dis, const SgMatrix *vel)
bool storeStationPartHorizonGrad(const QString &stnName, const SgMatrix *part, const QString &kind)
QMap< QString, StationDescriptor * > stnDescriptorByName_
bool storeStationAzEl(const QString &stnName, SgMatrix *const azTheo, SgMatrix *const elTheo)
bool storeStationCalSlantPathTropDry(const QString &stnName, const SgMatrix *cal, const QString &kind)
bool storeStationPartZenithDelayWet(const QString &stnName, const SgMatrix *part, const QString &kind)
bool storeStationMet(const QString &stnName, SgVector *const metAtmPres, SgVector *const metAtmRH, SgVector *const metAtmTemp, const QString &origin, const QString &kind)
SgVdbVariable vRefClockOffset_
SgVdbVariable vCal_SlantPathTropWet_
SgVdbVariable vCal_SlantPathTropDry_
SgVdbVariable vPart_HorizonGrad_
SgVdbVariable vPart_ZenithPathTropDry_
SgVdbVariable vCal_Cable_
SgVdbVariable vFeedRotation_
SgVdbVariable vCal_AxisOffset_
SgVdbVariable vPart_AxisOffset_
SgVdbVariable vDis_OceanLoad_
SgVdbVariable vCal_OceanLoad_
SgVdbVariable vPart_ZenithPathTropWet_