Hi Scott,
I'm very hopeful that some folks on our team who are smarter than me will chime in with some help, but here is my quick take...
I believe that the error you're seeing is based on a test of the covariance matrix being positive definite. A non positive definite covariance matrix is non-physical and can't be passed along to the least squares formulation. I suspect that either your GNSS processing software or your conversion script is running into some precision limits which are resulting in the invalid matrix. I won't speculate further but will show you what I see when I play with the first matrix from your attached file dxyz_blocks.txt:
That file includes:
DXYZ BRAE Drumbeg -30120.94200 43846.00620 20705.73880 m ...
1.000e-08 0.000e+00 1.000e-08 ...
1.000e-08 0.000e+00 ...
1.000e-08
We can check for positive eigenvalues in python/numpy:
>>> import numpy as np
>>> from numpy.linalg import eig
>>> a = np.array([[1.0e-8, 0.0, 1.0e-8],
[0.0, 1.0e-8, 0.0 ],
[1.0e-8, 0.0, 1.0e-8]])
>>> w,v=eig(a)
>>> print('E-value:', w)
E-value: [2.e-08 0.e+00 1.e-08]
Note the zero-value eigenvalue above; that seems to be the problem.
Noticing that the off-diagonal xz component is the same magnitude as the diagonal components, I thought to try dialing that down an order of magnitude:
>>> a = np.array([[1.0e-8, 0.0, 1.0e-9],
[0.0, 1.0e-8, 0.0 ],
[1.0e-8, 0.0, 1.0e-8]])
>>> w,v=eig(a)
>>> print('E-value:', w)
E-value: [1.31622777e-08 6.83772234e-09 1.00000000e-08]
Now we see that all the eigenvalues are positive, and this covariance matrix will probably pass SALSA's test.
Again, I'm wary of speculating about the upstream GNSS processing and your scripts, but I think the take-away is that the covariance information passed to SALSA has to be physical. Hopefully you find the above guidance useful; reach out with any further questions or needs.
Clark