Homework 0

goal: to make sure you have properly installed gnssrefl

You are strongly encouraged to read the documentation.

There are two versions of this homework: a Jupyter Notebook version and a command line version.
Pick the method that you prefer to do your analysis in the course, or experiment with both.

To access Earthscope data, an account is required.

Jupyter Notebook version:

run the HW0 notebook from the jupyter notebook repository, either via docker or to clone and run locally on your machine.

**Command line version options: **

GNSSREFL via GITHUB (local version)

Installation instructions.

GNSSREFL DOCKER (containerized version)

Docker command line instructions for Docker image

NB: if you use the quicklook function, the figures generated will not plot to the screen but will be available in the mounted refl_code/Files volume mounted locally.


Command line version homework:

1. Check environment variables are set:

echo $EXE
echo $ORBITS
echo $REFL_CODE

If you don’t get a response, these probably aren’t set correctly.

You should get something like:

echo $EXE
/path/to/directory/EXE

If you’re running the docker gnssrefl, you should get:

echo $EXE
/home/jovyan/gnssir/gnssrefl/EXE

2. Check that EXE executables are present:

(these executables are case sensitive!)

ls $EXE
CRX2RNX  gfzrnx  teqc

3. Check that subprocess dependencies are in path:

which gunzip
which unxz
which uncompress

If you don’t get a response, these dependencies are probably not installed in your path.
If you’re running the docker image, you should get:

which gunzip
/usr/bin/gunzip

4. Run a quick test of rinex2snr:

a. simple use case that requires Hatanaka decompression and broadcast orbits:

rinex2snr p042 2018 150

If you get:

SUCCESS: SNR file was created: …

you’ve successfully run the rinex2snr program that:

  • downloaded and uncompressed Hatanaka rinex for a single station (p042) for a single day (doy 150 in 2018)

  • downloaded GPS broadcast orbits

  • calculated azimuth and elevation for each satellite at each epoch given these orbits

  • wrote this az/el, signal, time and CN0 information to a formatted snr output file for future analysis. Reminder, the .66 file name suffix refers to the elevation masking options.

If the file is not created - check the logs directory for additional information.

b. simple use case that requires Hatanaka decompression and uses SP3 orbits:

rinex2snr p042 2018 150 -orb gnss

If you get: SNR file exists…
This is because the logic of gnssrefl checks for an snr file prior to processing. Remember this fact if you ever want to reprocess with different orbits! (we’ll try again in part 2)

b-2. simple use case that requires CRX2RNX and SP3 orbits: \

Now we will overwrite the previous SNR file to use the different orbits.

rinex2snr p042 2018 150 -orb gnss -overwrite True

If you get: SUCCESS: SNR file was created: …
you’ve successfully:

  • downloaded and uncompressed hatanaka rinex for a single station (p042) for a single day (doy 150 in 2018)

  • downloaded SP3 format GNSS orbits from the GFZ archive

  • calculated azimuth and elevation for each satellite at each epoch

  • wrote this az/el, signal, time and CN0 information to a formatted snr output file for future analysis.

If you get an error, we will need to address this. We will begin to compile a list of any additional common errors and solutions here.

c. (optional but encouraged) RINEX 3 simple use case that requires that you install gfzrnx

If you are interested in using RINEX version 3 data, please run this test:
rinex2snr onsa00swe 2020 1 -archive cddis -orb gnss

If you get: SUCCESS: SNR file was created: …
you’ve successfully:

  • downloaded and uncompressed rinex 3 for a single station (onsa) for a single day (doy 298 in 2020) from the cddis archive

  • converted rinex 3 to rinex 2 using gfzrnx executable

  • downloaded SP3 format GNSS orbits from the GFZ archive

  • calculated azimuth and elevation for each satellite at each epoch

  • wrote this az/el, signal, time and CN0 information to a formatted snr output file for future analysis.