Sample scripts and datasets for CSSRlib. The scripts require an installation of the CSSRlib package.
Pre-installation of CSSRlib is required. Install the officially released package with pip using
pip install cssrlibIt is recommended to use a virtual environment to avoid version conflicts of required modules with the system-wide python installation.
Create a virtual environment cssrlib-venv in the current directory with
python3 -m venv cssrlib-venv
Activate the environment with
source cssrlib-venv/bin/activateTo make the base CSSRlib module available in the virtual environment, there are several options:
1. Install the official package
Install the officially released package with pip
pip install cssrlibThis will be sufficient for most cases, but typically the version from the github repository is more up-to-date.
2. Install from github repository
Install cssrlib from the main branch of the github repository with this command
pip install -U git+https://github.com/hirokawa/cssrlib.git@mainIf you like to use the development branch with the most recent changes, substitute @mainwith @devel.
IMPORTANT: make sure to always use consistent branches for cssrlib and cssrlib-data!
3. Install a local copy of the github repository
For this installation guide, it is assumed that the CSSRlib base repository has been cloned to a folder cssrlib in the same directory as the samples repository cssrlib-data. The command ls | grep cssrlib should then return
cssrlib
cssrlib-data
cssrlib-venvInstall the local module in editing mode using the -e flag:
pip install -e ./cssrlib4. Make a local copy available without installation
NOTE: this is not necessary if the cssrlib package has been installed with pip through one of the steps above!
Make sure the path to the src folder of the cssrlib base repository appears in the python path.
echo $PYTHONPATHIf not, add it with the following export command, where <path-to-cssrlib> must be replaced with the full path to CSSRlib base repository.
export PYTHONPATH="$PYTHONPATH:<path-to-cssrlib>/src"Check if the package inclusion works with
python -c "import cssrlib; print(cssrlib.__version__); print(cssrlib.__file__)"If the cssrlib package was installed with pip, you can display the installation details with
pip show cssrlibInstall the dependencies from the requirements.txt file of cssrlib-data:
pip install -r cssrlib-data/requirements.txtMost sample scripts require IGS data for processing. The data can be downloaded with a script, which must be called before the scripts can be executed:
cd ./cssrlib-data/samples
python3 igs_download.pyThe module pysolid is used for the computation of solid Earth tides. It contains a hard-coded leap second table with an expiration date, which is set to the next possible injection date of a leap second at the time of the last update. The table is frequently updated by the package maintainers. The following warning is issued when the expiration date is exceeded:
Mild Warning -- time crossed leap second table boundaries. Boundary edge value used instead
If you encounter this warning when executing CSSRlib scripts, it can most likely be removed by updating pysolid to the most recent version using
pip install --upgrade pysolidIf the warnings persist, installing the latest version from the repository can help
pip install -U git+https://github.com/insarlab/PySolid.git@main- test_eph.py reading/plotting ephemeris from RINEX 3
- test_tlesim.py reading/plotting TLE orbit
- test_trop.py tropospheric delay model
- cacode.py GPS/QZSS C/A code simulation
- test_pntpos.py Standalone positioning
- test_rtk.py RTK positioning
- test_ppprtk.py PPP-RTK positioning
- test_pntpos2.py Standalone positioning
- test_rtk2.py RTK positioning
- test_ppprtk2.py PPP-RTK positioning
- Implement pole tide displacements
- Check and improve observation noise settings
- Add residual output
- Add check for observations, first two observations must be on different frequencies
- Number of frequencies
nav.nfshould be set automatically depending on specified signals