diff --git a/docs/_static/qc5.png b/docs/_static/qc5.png deleted file mode 100644 index 5c54c6970a..0000000000 Binary files a/docs/_static/qc5.png and /dev/null differ diff --git a/docs/_static/vlis-better-choices.jpg b/docs/_static/vlis-better-choices.jpg new file mode 100644 index 0000000000..d47b3becfb Binary files /dev/null and b/docs/_static/vlis-better-choices.jpg differ diff --git a/docs/_static/vlis-better-choices.png b/docs/_static/vlis-better-choices.png deleted file mode 100644 index 22df0fefea..0000000000 Binary files a/docs/_static/vlis-better-choices.png and /dev/null differ diff --git a/docs/_static/vlis-default.jpg b/docs/_static/vlis-default.jpg new file mode 100644 index 0000000000..b8237849a2 Binary files /dev/null and b/docs/_static/vlis-default.jpg differ diff --git a/docs/_static/vlis-default.png b/docs/_static/vlis-default.png deleted file mode 100644 index d13d5057a6..0000000000 Binary files a/docs/_static/vlis-default.png and /dev/null differ diff --git a/docs/pages/file_structure.md b/docs/pages/file_structure.md index 94bb30ab61..9558e08648 100644 --- a/docs/pages/file_structure.md +++ b/docs/pages/file_structure.md @@ -22,6 +22,24 @@ we strongly encourage you to use them. And never use an elevation mask on your r completely unncessary for positioning (which allows masking to be done at the software level) and are extremely harmful to GNSS-IR. +## Where should I store station coordinates? (as of version 3.6.4) + +The software comes with a long list (almost 20,000) of station coordinates taken from the University +of Nevada Reno. If you are analyzing any of those stations, you should not have to enter +any coordinates (use **query_unr** to see if your station is included). + +If you are analyzing your own data, eventually you will need to tell the software +where your stations are. This location does not have to be super precise, within a few meters +is perfectly acceptable, as it is primarily used for the refraction correction. The better your +site coordinates, the better your reflection zone maps would be, however. Previously you +input this information (latitude, longitude, and ellipsoidal +height) at the **gnssir_input** station). There is now another option. If you create a plain +txt file iwth the name llh_local.txt and store it in the $REFL_CODE/input directory, the code will +use this as your *a priori* station coordinates. The format of this file is station latitude longitude +and height, with units of degrees, degrees, and meters. You can add comment lines with a percent sign. +This file is read in the *query_coordinate_file* function in gps.py. The file is read by **nmea2snr**, so +that means you won't have to enter station coordinates on the command line when using **nmea2snr**. + ## How do I analyze my own GNSS data? To analyze your own GNSS data you must comply with the software expectations for how the diff --git a/docs/pages/snr_simulation.m b/docs/pages/snr_simulation.m index 8ecfd1a9c8..a1ccc79202 100644 --- a/docs/pages/snr_simulation.m +++ b/docs/pages/snr_simulation.m @@ -1,3 +1,4 @@ +exit clear all close all clc diff --git a/docs/use_cases/use_vlis.md b/docs/use_cases/use_vlis.md index d5de7504d6..b7b4ebd2d4 100644 --- a/docs/use_cases/use_vlis.md +++ b/docs/use_cases/use_vlis.md @@ -51,7 +51,7 @@ answer should pop up in about 10 seconds. The writing in magenta are comments I point out various things.
- +
So what's going on here? (If you have never used this site before, I recommend you give a @@ -76,7 +76,7 @@ right answer (10 meters) and the tidal range (plus/minus two meters). Make sure your RINEX file is loaded and hit submit.- +
Now you can see a broad swath of "successful" retrievals in the azimuth range you chose. The RH diff --git a/gnssrefl/gnssir_cl.py b/gnssrefl/gnssir_cl.py index 1458990da2..d42e4167ce 100644 --- a/gnssrefl/gnssir_cl.py +++ b/gnssrefl/gnssir_cl.py @@ -71,6 +71,7 @@ def gnssir(station: str, year: int, doy: int, snr: int = 66, plt: bool = False, beta version of parallel processing is now onine. If you set -par to an integer between 2 and 10, it should substantially speed up your processing. Big thank you to AaryanRampal for getting this up and running. + Examples -------- diff --git a/gnssrefl/gnssir_input.py b/gnssrefl/gnssir_input.py index acfe315ef4..e31473a8b2 100644 --- a/gnssrefl/gnssir_input.py +++ b/gnssrefl/gnssir_input.py @@ -88,17 +88,19 @@ def make_gnssir_input(station: str, lat: float=0, lon: float=0, height: float=0, Note: you can keep using your old json files - you just need to add this new -azlist2 setting manually. - Latitude, longitude, and height are assumed to be stored in the UNR database. If they are not, you should - set them manually. + Latitude, longitude, and height are assumed to be stored in either the UNR database we provide with + gnssrefl or in your local coordinate file. See the instructions in the file formats section of gnssrefl for + information about the format, name, and location of that local coordinate file. Originally we had refraction as a boolean, i.e. on or off. This was stored in the gnssir analysis description json. The code however, uses a 1 for a simple non-time-varying Bennett correction and 0 for no correction. From version 1.8.4 we begin to implement more refraction models. Model 1 (Bennett) will continue to be - the default. The model number is written (as an integer) to the LSP results file so that people can keep track easily of whether - they are inadvertently mixing files with different strategies. And that is why it is an integer, because - all results in the LSP results files are numbers. Going forward, we are adding a time-varying capability. + the default. The model number is written (as an integer) to the LSP results file so that people can + keep track easily of whether they are inadvertently mixing files with different strategies. And that + is why it is an integer, because all results in the LSP results files are numbers. Going forward, + we are adding a time-varying capability. Model 1: Bennett, non-time-varying @@ -132,7 +134,8 @@ def make_gnssir_input(station: str, lat: float=0, lon: float=0, height: float=0, gnssir_input p041 -lat 39.9494 -lon -105.19426 -height 1728.85 -l2c T -e1 5 -e2 15 uses only L2C GPS data between elevation angles of 5 and 15 degrees. - user input lat/long/height + user input lat/long/height. The lat/long/height can also be entered into a local + coordinate file. See documentation in the file formats section. gnssir_input p041 -h1 0.5 -h2 10 -e1 5 -e2 25 uses UNR database, only GPS data between elevation angles of 5-25 degrees and reflector heights of 0.5-10 meters diff --git a/gnssrefl/nmea2snr_cl.py b/gnssrefl/nmea2snr_cl.py index 74f98ea82a..3e7c5d29a1 100644 --- a/gnssrefl/nmea2snr_cl.py +++ b/gnssrefl/nmea2snr_cl.py @@ -79,6 +79,10 @@ def nmea2snr( station: str, year: int, doy: int, snr: int = 66, year_end: int=No As for March 16, 2024, this code has been changed to use gnssrefl standards for inputs and outputs. The code, in principle, now looks for final, rapid, and ultra rapid orbits from GFZ, in that order. + As of version 3.6.4 you no longer have to enter station coordinates on the command line. + You just need to follow the instructions in the file formats documentation to set up a list of the locations of + your local stations. + Parameters ---------- station : str diff --git a/gnssrefl/refl_zones_cl.py b/gnssrefl/refl_zones_cl.py index 780bcef4eb..98c9bf70f3 100644 --- a/gnssrefl/refl_zones_cl.py +++ b/gnssrefl/refl_zones_cl.py @@ -37,8 +37,10 @@ def reflzones(station: str, azim1: int=0, azim2: int=360, lat: float=None, lon: This module creates “stand-alone” Fresnel Zones maps for google Earth. At a minimum it requires a four station character name as input. The output is a KML file. - If the station is in the UNR database, those latitude, longitude, and ellipsoidal - height values are used. You may override those values with the optional inputs. + If the station is in either your local coordinate file or in the UNR database that comes with gnssrefl, + those latitude, longitude, and ellipsoidal height values are used. For information on the local + coordinate file see the file formats section of the documentation. + You may override those stored values with the optional lat lon height inputs. The output file will be stored in REFL_CODE/Files/kml unless you specify an output name. In that case it will go into your working directory