gnssrefl.vwc_cl module

gnssrefl.vwc_cl.vwc(station: str, year: int, year_end: int = None, fr: int = 20, plt: bool = True, screenstats: bool = False, min_req_pts_track: int = 150, polyorder: int = -99, minvalperday: int = 10, snow_filter: bool = False, subdir: str = None, tmin: float = None, tmax: float = None, warning_value: float = 5.5, auto_removal: bool = False, hires_figs: bool = False, advanced: bool = False)

The goal of this code is to compute volumetric water content (VWC) from GNSS-IR phase estimates. It concatenates previously computed phase results, makes plots for the four geographic quadrants, computes daily average phase files before converting to volumetric water content (VWC). It uses the simple vegetation model from Clara Chew’s dissertation. For the more advanced vegetation model, we will need a volumteer to convert it from Matlab. It is not a difficult port - but it will require care be taken that it is checked carefully.

Code now allows inputs (minvalperday, tmin, and tmax) to be stored in the gnssir analysis json file. To avoid confusion, in the json they are called vwc_minvalperday, vwc_min_soil_texture, and vwc_max_soil_texture. These values can also be overwritten on the command line …


vwc p038 2017

one year for station p038

vwc p038 2015 -year_end 2017

three years of analysis for station p038

vwc p038 2015 -year_end 2017 -warning_value 6

warns you about tracks with phase RMS greater than 6 degrees rms

vwc p038 2015 -year_end 2017 -warning_value 6 -auto_removal T

makes new list of tracks based on your new warning value

  • station (str) – 4 character ID of the station

  • year (int) – full Year

  • year_end (int, optional) – last year for analysis

  • fr (int, optional) – GNSS frequency. Currently only supports l2c. Default is 20 (l2c)

  • plt (bool, optional) – Whether to produce plots to the screen. Default is True

  • min_req_pts_track (int, optional) – how many points needed to keep a satellite track default is now set to 150 (was previously 50). This is an issue when a satellite has recently been launched. You don’t really have enough information to trust it for several months (and in some cases longer) this can now be set in the gnssir_input created analysis json (vwc_min_req_pts_track)

  • polyorder (int) – polynomial order used for leveling. Usually the code picks it but this allows to users to override. Default is -99 which means let the code decide

  • minvalperday (integer) – how many phase measurements are needed for each daily measurement default is 10

  • snow_filter (bool) – whether you want to attempt to remove points contaminated by snow default is False

  • subdir (str) – subdirectory in $REFL_CODE/Files for plots and text file outputs

  • tmin (float) – minimum soil texture value, default 0.05. This can now be set in the gnssir_input json (with vwc_ added)

  • tmax (float) – maximum soil texture value, default 0.5. This can now be set in the gnssir_input json (with vwc_ added)

  • warning_value (float) – screen warning about bad tracks (phase rms, in degrees). default is 5.5

  • auto_removal (bool, optional) – whether to automatically remove tracks that hit your bad track threshold default value is false

  • hires_figs (bool, optional) – whether to make eps instead of png files default value is false

  • advanced (bool, optional) – advanced veg model implmentation. Currently in testing


  • Daily phase results in a file at $REFL_CODE/Files/<station>/<station>_phase.txt – with columns: Year DOY Ph Phsig NormA MM DD

  • VWC results in a file at $$REFL_CODE/Files/<station>/<station>_vwc.txt – with columns: FracYr Year DOY VWC Month Day