Note that you DO have to work on the Linux cluster today today! THIS WILL NOT WORK ON badger!
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.
$> cd ~/geodesy
$> mkdir lab05
$> cd lab05
$> source /usr/local/gipsyx/rc_GipsyX.sh
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.pyIf you're getting any errors, let me know (send me the error messages if you're doing the lab by yourself.)!
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
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
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.
rgrapenthin <at> alaska <dot> edu | Last modified: October 14 2019 23:26.