-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
README improvements for first time users #65
base: develop-weekly
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,6 +35,58 @@ The software consists of three main components: | |
* Precise Orbit Determination (POD), and | ||
* Various scripts for combination and analysis of solutions | ||
|
||
|
||
## Getting started | ||
|
||
You can quickly download a ready-to-run Ginan environment using docker by running: | ||
|
||
mkdir ginan-data | ||
docker run -it -v ginan-data:/data gnssanalysis/ginan:v3.0.0 bash | ||
|
||
This command connects the `ginan-data` directory on the host (your pc), with the `/data` directory in the container, to allow file access between the two systems, and opens a command line (`bash`) for executing commands. | ||
|
||
You will need to have [docker](https://docs.docker.com/get-docker/) installed to use this method. | ||
|
||
To verify you have the Ginan executables available once at the Ginan command line, run: | ||
|
||
pea --help | ||
|
||
|
||
### Download example dependencies | ||
|
||
Download all of the example data using the scripts and filelists provided. From `/ginan`: | ||
|
||
```bash | ||
cd inputData/data | ||
./getData.sh | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These scripts will download into the This may be ok for the inputs if that's what we want, but the output directory also points at locations within |
||
cd ../products | ||
./getProducts.sh | ||
``` | ||
|
||
### Ready! | ||
|
||
Congratulations! You are now ready to trial the examples from the `exampleConfigs` directory. See Ginan's manual for detailed explanation of each example. Note that examples have relative paths to files in them and rely on the presence of `products` and `data` directories inside the `inputData` directory. | ||
|
||
The paths are relative to the `exampleConfigs` directory and hence all the examples must be run from the `exampleConfigs` directory. | ||
|
||
To run the first example of the PEA: | ||
|
||
```bash | ||
cd /ginan/exampleConfigs | ||
pea --config ppp_example.yaml | ||
``` | ||
|
||
This should create `outputs/ppp_example` directory with various `*.trace` files, which contain details about stations processing, a `Network*.trace` file, which contains the results of Kalman filtering, and other auxiliary output files as configured in the yamls. | ||
|
||
|
||
### Python tools | ||
|
||
We use Python for automated process (download), postprocessing and visualisation. To use the developed tools, we recommrnd to use a virtual environment (or Anaconda equivalent). A requirements file is available in the `scripts/` directory and can be run via | ||
|
||
```python | ||
pip3 install -r requirements.txt | ||
``` | ||
|
||
## Using Ginan with an AppImage | ||
|
||
You can quickly download a precompiled binary of Ginan's pea from the `develop-weekly-appimage` branch of github. | ||
|
@@ -51,22 +103,8 @@ or on windows: | |
ginan/Ginan-x86_64.AppImage | ||
|
||
|
||
## Using Ginan with Docker | ||
|
||
You can quickly download a ready-to-run Ginan environment using docker by running: | ||
|
||
docker run -it -v ${host_data_folder}:/data gnssanalysis/ginan:v3.0.0 bash | ||
|
||
This command connects the `${host_data_folder}` directory on the host (your pc), with the `/data` directory in the container, to allow file access between the two systems, and opens a command line (`bash`) for executing commands. | ||
|
||
You will need to have [docker](https://docs.docker.com/get-docker/) installed to use this method. | ||
|
||
To verify you have the Ginan executables available once at the Ginan command line, run: | ||
|
||
pea --help | ||
|
||
## Installing from source | ||
|
||
## Installation from source | ||
### Supported Platforms | ||
|
||
Ginan is supported and tested on the following platforms | ||
|
@@ -97,14 +135,8 @@ If using gcc verion 11 or about, the minimum version of libraries are: | |
|
||
Scripts to install dependencies for Ubuntu 18.04/20.04, 22.04, Fedora 38 are available on the `scripts/installation` directory. Users on other system might need to have a look at the `scripts/installation/generic.md` file, which contains the major steps. | ||
|
||
### Python | ||
|
||
We use Python for automated process (download), postprocessing and visualisation. To use the developed tools, we recommand to use a virtual-environement (or Anaconda equivalent). A requirements file is available in the `scripts/` directory and can be run via | ||
```python | ||
pip3 install -r requirements.txt | ||
``` | ||
|
||
### Build | ||
|
||
Prepare a directory to build in - it's better practice to keep this separated from the source code. | ||
From the Ginan git root directory: | ||
|
||
|
@@ -225,33 +257,8 @@ The documentation can then be found at `Docs/codeDocs/index.html`. | |
Note that documentation is also generated automatically if `make` is called without arguments and `doxygen` and `graphviz` dependencies are satisfied. | ||
|
||
|
||
## Ready! | ||
Congratulations! You are now ready to trial the examples from the `exampleConfigs` directory. See Ginan's manual for detailed explanation of each example. Note that examples have relative paths to files in them and rely on the presence of `products` and `data` directories inside the `inputData` directory. Make sure you've run `s3_filehandler.py` from the Build step of these instructions. | ||
|
||
The paths are relative to the `exampleConfigs` directory and hence all the examples must be run from the `exampleConfigs` directory. | ||
|
||
NB: Examples may be configured to use mongoDB. If you have not installed it, please set `mongo: enable` to false in the pea config files. | ||
|
||
To run the first example of the PEA: | ||
|
||
```bash | ||
cd ../exampleConfigs | ||
|
||
../bin/pea --config ppp_example.yaml | ||
``` | ||
|
||
This should create `outputs/ppp_example` directory with various `*.trace` files, which contain details about stations processing, a `Network*.trace` file, which contains the results of Kalman filtering, and other auxiliary output files as configured in the yamls. | ||
|
||
You can remove the need for path specification to the executable by using the symlink within `exampleConfigs`, or by adding Ginan's bin directory to `~/.bashrc` file: | ||
``` | ||
PATH="path_to_ginan_bin:$PATH" | ||
``` | ||
|
||
## Scripts | ||
In addition to the Ginan binaries, [scripts](scripts.index) are available to assist with downloading input files, and viewing and comparing generated outputs. | ||
|
||
### Acknowledgements | ||
|
||
### Acknowledgements: | ||
We have used routines obtained from RTKLIB, released under a BSD-2 license, these routines have been preserved with modifications in the folder `cpp/src/rtklib`. The original source code from RTKLib can be obtained from https://github.com/tomojitakasu/RTKLIB. | ||
|
||
We have used routines obtained from Better Enums, released under the BSD-2 license, these routines have been preserved in the folder `cpp/src/3rdparty` The original source code from Better Enums can be obtained from http://github.com/aantron/better-enums. | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -181,7 +181,7 @@ estimation_parameters: | |
|
||
|
||
mongo: | ||
enable: primary | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same as the pod example below, not sure if Mongo is needed on this. If not, happy to not have mongo enabled |
||
enable: none | ||
primary_database: <CONFIG> | ||
output_measurements: primary | ||
output_states: primary | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -473,7 +473,7 @@ estimation_parameters: | |
|
||
|
||
mongo: | ||
enable: primary | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I haven't run this example, but may need mongo to do precise orbit determination (I'll let others comment on this) |
||
enable: none | ||
#enable: none | ||
output_components: primary | ||
output_states: primary | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -43,7 +43,7 @@ processing_options: | |
process: true | ||
|
||
mongo: | ||
enable: primary | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. SNR recording goes into the Mongo database, so this will need to stay as is |
||
enable: none | ||
output_trace: primary | ||
output_config: primary | ||
primary_uri: "mongodb://localhost:27017" | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -185,7 +185,7 @@ estimation_parameters: | |
|
||
mongo: # Mongo is a database used to store results and intermediate values for later analysis and inter-process communication | ||
|
||
enable: primary # Enable and connect to mongo database {none,primary,secondary,both} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Mongo is required for running Ginan in real-time so this will need to stay as is |
||
enable: none # Enable and connect to mongo database {none,primary,secondary,both} | ||
primary_uri: mongodb://localhost:27017 # Location and port of the mongo database to connect to | ||
primary_database: <CONFIG> | ||
output_components: primary # Output components of measurements {none,primary,secondary,both} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This works locally for me when I have
sudo
out the front. An additional line on that below would be good to inform users that may have trouble getting it started