dbekaert / RAiDER

Raytracing Atmospheric Delay Estimation for RADAR
Apache License 2.0
70 stars 39 forks source link

Stats Plots commands #202

Open dbekaert opened 3 years ago

dbekaert commented 3 years ago

@sssangha let us track here all the command to generate the following:

function details of the help:

``` raiderStats.py [-h] -f FNAME [-c COL_NAME] [-u UNIT] [-w WORKDIR] [--cpus CPUS] [-verbose] [-b BOUNDING_BOX] [-sp SPACING] [-ti TIMEINTERVAL] [-si SEASONALINTERVAL] [-fmt PLOT_FMT] [-cb CBOUNDS] [-cp COLORPERCENTILE COLORPERCENTILE] [-dt DENSITYTHRESHOLD] [-sg] [-dg] [-plotall] [-station_distribution] [-station_delay_mean] [-station_delay_stdev] [-grid_heatmap] [-grid_delay_mean] [-grid_delay_stdev] [-grid_to_raster] [-variogramplot] [-binnedvariogram] [-variogram_per_timeslice] Perform basic statistical analyses concerning the spatiotemporal distribution of zenith delays. Specifically, make any of the following specified plot(s): scatterplot of station locations, total empirical and experimental variogram fits for data in each grid cell (and for each valid time-slice if -variogram_per_timeslice specified), and gridded heatmaps of data, station distribution, range and sill values associated with experimental variogram fits. The default is to generate all of these. Example call to plot gridded station mean delay in a specific time interval : raiderStats.py -f -grid_delay_mean -ti '2016-01-01 2018-01-01' Example call to plot gridded station mean delay in a specific time interval with superimposed gridlines and station scatterplots : raiderStats.py -f -grid_delay_mean -ti '2016-01-01 2018-01-01' --drawgridlines --stationsongrids Example call to plot gridded station variogram in a specific time interval and through explicitly the summer seasons: raiderStats.py -f -grid_delay_mean -ti '2016-01-01 2018-01-01' --seasonalinterval '06-21 09-21' -variogramplot optional arguments: -h, --help show this help message and exit User inputs/options for which especially careful review is recommended: -f FNAME, --file FNAME Final output file generated from downloadGNSSDelays.py which contains GPS zenith delays for a specified time period and spatial footprint. -c COL_NAME, --column_name COL_NAME Name of the input column to plot. Input assumed to be in units of meters -u UNIT, --unit UNIT Specified output unit, by default m. Input unit interpreted from input filename following convention in downloadGNSSDelays.py (i.e. mm if UNR, cm if MEASURES). -w WORKDIR, --workdir WORKDIR Specify directory to deposit all outputs. Default is local directory where script is launched. --cpus CPUS The number of cpus to be used for multiprocessing or "all" for all available cpus. -verbose, --verbose Run in verbose (debug) mode. Default False Controls for spatiotemporal subsetting.: -b BOUNDING_BOX, --bounding_box BOUNDING_BOX Provide either valid shapefile or Lat/Lon Bounding SNWE. -- Example : '19 20 -99.5 -98.5' -sp SPACING, --spacing SPACING Specify spacing of grid-cells for statistical analyses. By default 1 deg. -ti TIMEINTERVAL, --timeinterval TIMEINTERVAL Subset in time by specifying earliest YYYY-MM-DD date followed by latest date YYYY-MM-DD. -- Example : '2016-01-01 2019-01-01'. -si SEASONALINTERVAL, --seasonalinterval SEASONALINTERVAL Subset in by an specific interval for each year by specifying earliest MM-DD time followed by latest MM- DD time. -- Example : '03-21 06-21'. Optional controls for plot formatting/options.: -fmt PLOT_FMT, --plot_format PLOT_FMT Plot format to use for saving figures -cb CBOUNDS, --color_bounds CBOUNDS List of two floats to use as color axis bounds -cp COLORPERCENTILE COLORPERCENTILE, --colorpercentile COLORPERCENTILE COLORPERCENTILE Set low and upper percentile for plot colorbars. By default 25% and 95%, respectively. -dt DENSITYTHRESHOLD, --densitythreshold DENSITYTHRESHOLD For variogram plots, given grid-cell is only valid if it contains this specified threshold of stations. By default 10 stations. -sg, --stationsongrids In gridded plots, superimpose your gridded array with a scatterplot of station locations. -dg, --drawgridlines Draw gridlines on gridded plots. -plotall, --plotall Generate all supported plots, including variogram plots. Supported types of individual station scatter-plots.: -station_distribution, --station_distribution Plot station distribution. -station_delay_mean, --station_delay_mean Plot station mean delay. -station_delay_stdev, --station_delay_stdev Plot station delay stdev. Supported types of gridded plots.: -grid_heatmap, --grid_heatmap Plot gridded station heatmap. -grid_delay_mean, --grid_delay_mean Plot gridded station mean delay. -grid_delay_stdev, --grid_delay_stdev Plot gridded station delay stdev. -grid_to_raster, --grid_to_raster Save gridded array as raster. May directly load/plot in successive script call. Supported types of variogram plots.: -variogramplot, --variogramplot Plot gridded station variogram. -binnedvariogram, --binnedvariogram Apply experimental variogram fit to total binned empirical variograms for each time slice. Default is to pass total unbinned empiricial variogram. -variogram_per_timeslice, --variogram_per_timeslice Generate variogram plots per gridded station AND time- slice. ```

Change to be implemented:

@sssangha semantics of the plots to be changed:

Stats class commands

Stats class plotting options to adjust

GNSS location plot

GNSS locations union of 10 years

Command:

Command to update:

GNSS location for each each

Command:

Command to update:

Seasonal Analysis:

Command:

Command to update:

Variogram Analysis:

Colorbar:

10 year variogram over the 10 years

Command:

raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_10years -ti '2009-01-01 2019-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

Command to update:

##range
raiderStats.py --file maps_10years/ZTD_range_heatmap.tif -w maps_10years --cpus all -verbose
##sill
raiderStats.py --file maps_10years/ZTD_sill_heatmap.tif -w maps_10years --cpus all -verbose

1 year variograms over 10 years

Command:

##2009
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2009 -ti '2009-01-01 2009-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2010
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2010 -ti '2010-01-01 2010-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2011
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2011 -ti '2011-01-01 2011-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2012
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2012 -ti '2012-01-01 2012-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2013
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2013 -ti '2013-01-01 2013-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2014
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2014 -ti '2014-01-01 2014-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2015
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2015 -ti '2015-01-01 2015-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2016
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2016 -ti '2016-01-01 2016-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2017
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2017 -ti '2017-01-01 2017-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2018
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2018 -ti '2018-01-01 2018-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

##2019
raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_2019 -ti '2019-01-01 2019-12-31' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

Command to update:

###2009
##range
raiderStats.py --file maps_2009/ZTD_range_heatmap.tif -w maps_2009 --cpus all -verbose
##sill
raiderStats.py --file maps_2009/ZTD_sill_heatmap.tif -w maps_2009 --cpus all -verbose

###2010
##range
raiderStats.py --file maps_2010/ZTD_range_heatmap.tif -w maps_2010 --cpus all -verbose
##sill
raiderStats.py --file maps_2010/ZTD_sill_heatmap.tif -w maps_2010 --cpus all -verbose

###2011
##range
raiderStats.py --file maps_2011/ZTD_range_heatmap.tif -w maps_2011 --cpus all -verbose
##sill
raiderStats.py --file maps_2011/ZTD_sill_heatmap.tif -w maps_2011 --cpus all -verbose

###2012
##range
raiderStats.py --file maps_2012/ZTD_range_heatmap.tif -w maps_2012 --cpus all -verbose
##sill
raiderStats.py --file maps_2012/ZTD_sill_heatmap.tif -w maps_2012 --cpus all -verbose

###2013
##range
raiderStats.py --file maps_2013/ZTD_range_heatmap.tif -w maps_2013 --cpus all -verbose
##sill
raiderStats.py --file maps_2013/ZTD_sill_heatmap.tif -w maps_2013 --cpus all -verbose

###2014
##range
raiderStats.py --file maps_2014/ZTD_range_heatmap.tif -w maps_2014 --cpus all -verbose
##sill
raiderStats.py --file maps_2014/ZTD_sill_heatmap.tif -w maps_2014 --cpus all -verbose

###2015
##range
raiderStats.py --file maps_2015/ZTD_range_heatmap.tif -w maps_2015 --cpus all -verbose
##sill
raiderStats.py --file maps_2015/ZTD_sill_heatmap.tif -w maps_2015 --cpus all -verbose

###2016
##range
raiderStats.py --file maps_2016/ZTD_range_heatmap.tif -w maps_2016 --cpus all -verbose
##sill
raiderStats.py --file maps_2016/ZTD_sill_heatmap.tif -w maps_2016 --cpus all -verbose

###2017
##range
raiderStats.py --file maps_2017/ZTD_range_heatmap.tif -w maps_2017 --cpus all -verbose
##sill
raiderStats.py --file maps_2017/ZTD_sill_heatmap.tif -w maps_2017 --cpus all -verbose

###2018
##range
raiderStats.py --file maps_2018/ZTD_range_heatmap.tif -w maps_2018 --cpus all -verbose
##sill
raiderStats.py --file maps_2018/ZTD_sill_heatmap.tif -w maps_2018 --cpus all -verbose

###2019
##range
raiderStats.py --file maps_2019/ZTD_range_heatmap.tif -w maps_2019 --cpus all -verbose
##sill
raiderStats.py --file maps_2019/ZTD_sill_heatmap.tif -w maps_2019 --cpus all -verbose

Winter variograms over 10 years

Command:

Command to update:

Spring variograms over 10 years

Command:

raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_spring -ti '2009-01-01 2019-12-31' --seasonalinterval '03-21 06-21' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

Command to update:

##range
raiderStats.py --file maps_spring/ZTD_range_heatmap.tif -w maps_spring --cpus all -verbose
##sill
raiderStats.py --file maps_spring/ZTD_sill_heatmap.tif -w maps_spring --cpus all -verbose

Summer variograms over 10 years

Command:

raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_summer -ti '2009-01-01 2019-12-31' --seasonalinterval '06-21 09-21' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

Command to update:

##range
raiderStats.py --file maps_summer/ZTD_range_heatmap.tif -w maps_summer --cpus all -verbose
##sill
raiderStats.py --file maps_summer/ZTD_sill_heatmap.tif -w maps_summer --cpus all -verbose

Autumn variograms over 10 years

Command:

raiderStats.py --file global_products_06/UNRcombinedGPS_ztd.csv -w maps_autumn -ti '2009-01-01 2019-12-31' --seasonalinterval '09-21 12-21' -variogramplot --cpus all -verbose -grid_to_raster -b '-90 90 -180 180' -sp 5

Command to update:

##range
raiderStats.py --file maps_autumn/ZTD_range_heatmap.tif -w maps_autumn --cpus all --cb '0 250' --cp '0 100'  -verbose 
##sill
raiderStats.py --file maps_autumn/ZTD_sill_heatmap.tif -w maps_autumn --cpus all --cb '0 250' --cp '0 100'  -verbose
dbekaert commented 3 years ago

@sssangha we can use the edit mode above to fill in details as we go along to track.