University of Alaska Fairbanks
Department of Geosciences

GEOS F493 / F693 - Geodetic Methods

Lab 5: gd2e.py: kinematic position estimation

"I like my crust deformed."
UNAVCO bumper sticker

Note that you DO have to work on the Linux cluster today today! THIS WILL NOT WORK ON badger!

Introduction

Today we shift our focus from static positioning to kinematic, i.e. subdaily, processing. You will process 5 Hz data recorded at 2 GPS stations near the 06-July-2019 Mw 7.1 Ridgecrest earthquake in California.

Basic Setup (repeat from Lab 04 to get started)

You're now in a directory for this lab. Stay there. The last command sets up the environment for GipsyX. You could add this command as it is to your ~/.bashrc file if you desired. Otherwise, just run this every time you open a new terminal in which you'd want to run GipsyX.

You should now have two new environment variables set. Make sure you get these results:

	$> echo $GIPSYX
	/usr/local/gipsyx/GipsyX_current
	$> echo $GOA_VAR
	/gps/goa-var
	$>$ which gd2e.py
	/usr/local/gipsyx/GipsyX_current/bin/gd2e.py
 	
If you're getting any errors, let me know (send me the error messages if you're doing the lab by yourself.)!

Setup

First, you'll need to get rinex files for the 2 stations we will process: P595 and CCCC. You can get the data from UNAVCO's high-rate archive. The data are organized by YEAR and DAY OF YEAR directories. First, get the day of year value for the day of the earthquake (search for it, if you don't know it). We have a program that does just that conversion:

    $> date2doy YYYY-MM-DD 
	

The argument should be the 4-digit year, 2-digit month, 2-digit day of month. Separated by dashes, all in one string.

Armed with the correct day of year (doy) you can now ahead and download the data for the 2 stations (make sure to replace DOY with the value you've just calculated):

    $> wget ftp://data-out.unavco.org/pub/highrate/1-Hz/rinex/2019/DOY/p595/p595\*.19o.Z
    $> wget ftp://data-out.unavco.org/pub/highrate/1-Hz/rinex/2019/DOY/cccc/cccc\*.19o.Z
	

Feel free to explore the ftp-sever in a browser! There's lots of good stuff available and it's good to know how the data are organized once you need them.

You should now have 2 files in your directory (the stars indicate the DOY - I am not quite giving this away :) ... unzip them.

    $> gunzip *.Z
    

You should now have 2 files in your directory (the stars indicate the DOY - I am not quite giving this away :) ...

    $> ls
    p595***0.19o  cccc***0.19o
    

Pre-Process

Since we'll be doing more advanced processing today, we'll need to include a few extra steps before we can go from the observables to position time series. First, we'll create one station database with the meta information from the rinex files:

    $> rinex2StaDb.py p595***0.19o cccc***0.19o -outFile RidgecrestDb
	

Next, we'll get the orbit products. We didn't do this last time, because we only processed one station per day. Since we're processing more than one now, we should download these only once:

    $> mkdir orbits
    $> mkdir orbits/2019
    $> cd orbits/2019
    $> wget ftp://sideshow.jpl.nasa.gov/pub/JPL_GNSS_Products/Final/2019/2019-07-06*.gz
    $> cd ../../
 	

Note that we made this directory that includes a subdirectory for the year, because GIPSYx expects it like that. Also note that we changed into the directory, downloaded and changed back out of the directory.

Listing the orbit directory contents should give you the list below. Important is that we have the _hr products, which are high-rate products needed for our processing.

    $> ls orbits/2019/
    2019-07-06.eo.gz         2019-07-06_nf.wlpb.gz     2019-07-06.pcm.gz
	2019-07-06_hr.tdp.gz     2019-07-06_nnr.eo.gz      2019-07-06.pos.gz
	2019-07-06.meta.gz       2019-07-06_nnr_hr.tdp.gz  2019-07-06.quat.gz
	2019-07-06_nf.eo.gz      2019-07-06_nnr.pos.gz     2019-07-06.shadhist.gz
	2019-07-06_nf_hr.tdp.gz  2019-07-06_nnr.quat.gz    2019-07-06.stacov.gz
	2019-07-06_nf.pos.gz     2019-07-06_nnr.stacov.gz  2019-07-06.tdp.gz
	2019-07-06_nf.quat.gz    2019-07-06_nnr.tdp.gz     2019-07-06.wlpb.gz
	2019-07-06_nf.stacov.gz  2019-07-06_nnr.wlpb.gz    2019-07-06.x.gz
	2019-07-06_nf.tdp.gz     2019-07-06_nnr.x.gz
 	

Process

We're now ready to run this. Note that in the command below I am referencing a configuration file that is setup for this processing. It does a lot of smoothing, so we can get at the static offsets during the earthquake fairly directly. Anyway, it's similar to the tree file that we've seen last time, there are a lot of knobs to turn and I will not go into the details here (you can download this run script here, make sure you make it executable if you use it: $> chmod u+rwx run_rc.sh):

	#let's wrap this in a loop 
	for s in p595 cccc; do
		echo running $s
   		
   		#actual command
   		gd2e.py \
	      -rnxFile ${s}1870.19o\
	      -runType PPP \
	      -recList `echo $s | tr '[a-z]' '[A-Z]'` \
	      -staDb RidgecrestDb \
	      -treeSequenceDir /gps/Trees_kinematic/ \
	      -GNSSproducts ./orbits \
	      -prodTypeGNSS nf \
	      -HighRateProducts \
	      -gdCov  \
	      >gd2e.log 2>gd2e.err

		#convert to local coordinate system
		echo tdp2envDiff.py < smoothFinal.tdp > ${s}.env 
   		tdp2envDiff.py < smoothFinal.tdp > ${s}.env
   	done
	

This will take a while! (It's processing an entire day at 1 Hz for 2 stations) It'll be a good idea to use the processing time to set yourself up to prepare the work below so you're ready once the processing is done.

Once the processing is done, plot the p595.env and cccc.env files (very similar to last week's assignment). Do you see the step due to the earthquake? Measure the offset in the horizontals. Make a map showing the epicenter, the station locations, and the motions of the stations in the form of vectors originating at the station location. Similar to the plots here. I am not particular about what tools you use for plotting, or how you plot the vectors as long as the values are correct and you give me a scale vector that shows how long a vector needs to be for 10 cm of motion.

Deliverables: (submit via blackboard!)

rgrapenthin <at> alaska <dot> edu | Last modified: October 14 2019 23:26.