pclkMapClk() appears to linearly interpolate the variance of the precise clock biases between epochs without regard for the expected drift of these biases between the epochs. For 5 or 30 second data this is probably negligible, a few mm rms, but for a 5 minute product it might be significant.
clkVar = (SQR(point1.clkStd * t[0]) + SQR(point0.clkStd * t[1])) / SQR(dt);
Sorry, not following how this is used either, it seems to be an input in updateAprioriRecClk() but perhaps not to the satClkVar in pppSatClocks(), so please just disregard this issue it not relevant.
The code appears to parallel RTKLIB which current uses a linear standard deviation drift, and Ginan still includes the constant EXTERR_CLK but does not use it.
RTKLIB: std = nav->pclk[index+i].std[sat-1][0] * CLIGHT + EXTERR_CLK * fabs(t[i]);
Admittedly this is a poor fit to the expected RMS at mid points and the RMS likely drifts quickly from the epochs and slows at the midpoint, but at least it ramps to a midpoint.
pclkMapClk() appears to linearly interpolate the variance of the precise clock biases between epochs without regard for the expected drift of these biases between the epochs. For 5 or 30 second data this is probably negligible, a few mm rms, but for a 5 minute product it might be significant.
clkVar = (SQR(point1.clkStd * t[0]) + SQR(point0.clkStd * t[1])) / SQR(dt);Sorry, not following how this is used either, it seems to be an input in updateAprioriRecClk() but perhaps not to the satClkVar in pppSatClocks(), so please just disregard this issue it not relevant.
The code appears to parallel RTKLIB which current uses a linear standard deviation drift, and Ginan still includes the constant EXTERR_CLK but does not use it.
RTKLIB:
std = nav->pclk[index+i].std[sat-1][0] * CLIGHT + EXTERR_CLK * fabs(t[i]);Admittedly this is a poor fit to the expected RMS at mid points and the RMS likely drifts quickly from the epochs and slows at the midpoint, but at least it ramps to a midpoint.