sphinx.addnodesdocument)}( rawsourcechildren](docutils.nodessubstitution_definition)}(h.. |rel| replace:: 10.71h]h Text10.71}parenth sba attributes}(ids]classes]names]reladupnames]backrefs]utagnameh source lineKhh _documenthubh )}(h.. |date| replace:: |today| h]h2024 136}(hh)h(hh%Nh'Nubah}(h]h]h]dateah ]h"]uh$h h%h&h'Khhh(hubh target)}(h.. _intro_proc_example:h]h}(h]h]h]h ]h"]refidintro-proc-exampleuh$h8h'Khhh(hh%F/chandler/home/floyd/public_html/gg/docs/source/intro/proc/example.rstubh section)}(hhh](h title)}(h1Using :program:`sh_gamit` and :program:`sh_glred`h](hUsing }(hhNh(hh%Nh'Nubhliteral_strong)}(h:program:`sh_gamit`h]hsh_gamit}(hhXh(hh%Nh'Nubah}(h]h]programah]h ]h"]uh$hVhhNubh and }(hhNh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hhkh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhhNubeh}(h]h]h]h ]h"]uh$hLhhIh(hh%hFh'Kubh paragraph)}(hXaNow that we've described the program flow and control files, we'll take you through a simple application of :program:`sh_gamit` and :program:`sh_glred` using the small network in Southern California previously provided (prior to 10.7) in :file:`~/gg/example/`. The command for :program:`sh_gamit` issued at the project-directory level (:file:`2000/`) ish](hpNow that we’ve described the program flow and control files, we’ll take you through a simple application of }(hhh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hhh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhhubh and }(hhh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hhh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhhubhW using the small network in Southern California previously provided (prior to 10.7) in }(hhh(hh%Nh'Nubh literal)}(h:file:`~/gg/example/`h]h ~/gg/example/}(hhh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhhubh. The command for }(hhh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hhh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhhubh( issued at the project-directory level (}(hhh(hh%Nh'Nubh)}(h :file:`2000/`h]h2000/}(hhh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhhubh) is}(hhh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KhhIh(hubh literal_block)}(hb$ sh_gamit -expt scal -d 2000 034 035 036 -noftp -pres ELEV -copt x k p -dopt c ao >& sh_gamit.logh]hb$ sh_gamit -expt scal -d 2000 034 035 036 -noftp -pres ELEV -copt x k p -dopt c ao >& sh_gamit.log}hhsbah}(h]h]h]h ]h"] xml:spacepreserveforcelanguageconsolehighlight_args}uh$hh%hFh'K hhIh(hubh)}(hXDIn this example, we start with all of the data to be processed already present in the :file:`rinex/` directory. If you wanted to add additional data available from a global or regional archive, you would specify the site names in :file:`sites.defaults`, enter the URL information (if not already present) into :file:`~/gg/tables/ftp_info`, and remove the :option:`-noftp` option from the call to :program:`sh_gamit`. As a result of the command shown, :program:`sh_gamit` will execute for each day the following steps, noted in the screen output redirected to :file:`sh_gamit.log`:h](hVIn this example, we start with all of the data to be processed already present in the }(hjh(hh%Nh'Nubh)}(h:file:`rinex/`h]hrinex/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh directory. If you wanted to add additional data available from a global or regional archive, you would specify the site names in }(hjh(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hj%h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh:, enter the URL information (if not already present) into }(hjh(hh%Nh'Nubh)}(h:file:`~/gg/tables/ftp_info`h]h~/gg/tables/ftp_info}(hj:h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh, and remove the }(hjh(hh%Nh'Nubh pending_xref)}(h:option:`-noftp`h]h)}(hjSh]h-noftp}(hjUh(hh%Nh'Nubah}(h]h](xrefstd std-optioneh]h ]h"]uh$hhjQubah}(h]h]h]h ]h"]refdocintro/proc/example refdomainj`reftypeoption refexplicitrefwarn std:programN reftarget-noftpuh$jOh%hFh'K hjubh option from the call to }(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjyh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh$. As a result of the command shown, }(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhY will execute for each day the following steps, noted in the screen output redirected to }(hjh(hh%Nh'Nubh)}(h:file:`sh_gamit.log`h]h sh_gamit.log}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh:}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'K hhIh(hubh enumerated_list)}(hhh](h list_item)}(hXAssign parameters for program flow, giving precedence first to the command-line arguments, then to the parameters set in :file:`process.defaults` and :file:`sites.defaults`, and then to default assignments within :program:`sh_gamit` itself. In this case, the command-line entry :option:`-noftp` overrides the default to search archives for requested or updated observation, navigation, and EOP files; and the command-line entries for which files to compress or delete at the end of the run override those set in :file:`process.defaults`.h]h)}(hXAssign parameters for program flow, giving precedence first to the command-line arguments, then to the parameters set in :file:`process.defaults` and :file:`sites.defaults`, and then to default assignments within :program:`sh_gamit` itself. In this case, the command-line entry :option:`-noftp` overrides the default to search archives for requested or updated observation, navigation, and EOP files; and the command-line entries for which files to compress or delete at the end of the run override those set in :file:`process.defaults`.h](hyAssign parameters for program flow, giving precedence first to the command-line arguments, then to the parameters set in }(hjh(hh%Nh'Nubh)}(h:file:`process.defaults`h]hprocess.defaults}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh and }(hjh(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh), and then to default assignments within }(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh. itself. In this case, the command-line entry }(hjh(hh%Nh'NubjP)}(h:option:`-noftp`h]h)}(hj h]h-noftp}(hj h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjs-noftpuh$jOh%hFh'Khjubh overrides the default to search archives for requested or updated observation, navigation, and EOP files; and the command-line entries for which files to compress or delete at the end of the run override those set in }(hjh(hh%Nh'Nubh)}(h:file:`process.defaults`h]hprocess.defaults}(hj+h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hCreate the day-directory and/or standard directories which do not yet exist (all of these are already present in the :file:`~/gg/example/` directory).h]h)}(hjNh](huCreate the day-directory and/or standard directories which do not yet exist (all of these are already present in the }(hjPh(hh%Nh'Nubh)}(h:file:`~/gg/example/`h]h ~/gg/example/}(hjWh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjPubh directory).}(hjPh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KhjLubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hLink into the day directory (:file:`034/`) the standard tables (see script :program:`links.day`) and the RINEX files that contain data for the specified interval (00:00–24:00 as set in :file:`process.defaults`).h]h)}(hjzh](hLink into the day directory (}(hj|h(hh%Nh'Nubh)}(h :file:`034/`h]h034/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj|ubh") the standard tables (see script }(hj|h(hh%Nh'NubhW)}(h:program:`links.day`h]h links.day}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj|ubh\) and the RINEX files that contain data for the specified interval (00:00–24:00 as set in }(hj|h(hh%Nh'Nubh)}(h:file:`process.defaults`h]hprocess.defaults}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj|ubh).}(hj|h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khjxubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(htDownload orbital SP3 files from a global data center and create GAMIT g-files using script :program:`sh_get_orbits`.h]h)}(hjh](h[Download orbital SP3 files from a global data center and create GAMIT g-files using script }(hjh(hh%Nh'NubhW)}(h:program:`sh_get_orbits`h]h sh_get_orbits}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hRun :program:`sh_upd_stnfo`, which invokes program :program:`mstinf` to update :file:`station.info` from the RINEX headers. (It is recommended that this step be skipped by setting :content:`xstinfo {} all` in :file:`sites.defaults`.)h]h)}(hRun :program:`sh_upd_stnfo`, which invokes program :program:`mstinf` to update :file:`station.info` from the RINEX headers. (It is recommended that this step be skipped by setting :content:`xstinfo {} all` in :file:`sites.defaults`.)h](hRun }(hjh(hh%Nh'NubhW)}(h:program:`sh_upd_stnfo`h]h sh_upd_stnfo}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, which invokes program }(hjh(hh%Nh'NubhW)}(h:program:`mstinf`h]hmstinf}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh to update }(hjh(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hj$h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubhQ from the RINEX headers. (It is recommended that this step be skipped by setting }(hjh(hh%Nh'Nubh)}(h:content:`xstinfo {} all`h]hxstinfo {} all}(hj9h(hh%Nh'Nubah}(h]h](code highlightcontenttexteh]h ]h"]languagejGuh$hhjubh in }(hjh(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hjPh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh.)}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hRun :program:`makexp` to create the input files for :program:`makex` (:file:`scal.makex.batch`) and :program:`fixdrv` (:file:`dscal0.034`).h]h)}(hjsh](hRun }(hjuh(hh%Nh'NubhW)}(h:program:`makexp`h]hmakexp}(hj|h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjuubh to create the input files for }(hjuh(hh%Nh'NubhW)}(h:program:`makex`h]hmakex}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjuubh (}(hjuh(hh%Nh'Nubh)}(h:file:`scal.makex.batch`h]hscal.makex.batch}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjuubh) and }(hjuh(hh%Nh'NubhW)}(h:program:`fixdrv`h]hfixdrv}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjuubh (}hjusbh)}(h:file:`dscal0.034`h]h dscal0.034}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjuubh).}(hjuh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khjqubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hX!Run :program:`sh_check_sess` to make sure that all of the satellites included in the RINEX observation files are present in the navigation file (:file:`brdc/brdc0340.00n`, previously downloaded at MIT from an IGS archive) and in the g-file (created previously at MIT from an IGS SP3 file).h]h)}(hjh](hRun }(hjh(hh%Nh'NubhW)}(h:program:`sh_check_sess`h]h sh_check_sess}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhu to make sure that all of the satellites included in the RINEX observation files are present in the navigation file (}(hjh(hh%Nh'Nubh)}(h:file:`brdc/brdc0340.00n`h]hbrdc/brdc0340.00n}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubhw, previously downloaded at MIT from an IGS archive) and in the g-file (created previously at MIT from an IGS SP3 file).}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hwRun :program:`sh_makej` to create a j-file of satellite clock estimates from the SP3 file (default) or navigation file.h]h)}(hj(h](hRun }(hj*h(hh%Nh'NubhW)}(h:program:`sh_makej`h]hsh_makej}(hj1h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj*ubh` to create a j-file of satellite clock estimates from the SP3 file (default) or navigation file.}(hj*h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khj&ubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hXuRun :program:`makex` to create x-files (observations) and k-files (receiver clock estimates) using phase and pseudorange data from the RINEX observation files, broadcast ephemeris from the navigation file, and satellite clocks from the j-file. A record of :program:`makex`, showing the data found and any problematic data encountered is written to :file:`scal.makex.infor`.h]h)}(hXuRun :program:`makex` to create x-files (observations) and k-files (receiver clock estimates) using phase and pseudorange data from the RINEX observation files, broadcast ephemeris from the navigation file, and satellite clocks from the j-file. A record of :program:`makex`, showing the data found and any problematic data encountered is written to :file:`scal.makex.infor`.h](hRun }(hjSh(hh%Nh'NubhW)}(h:program:`makex`h]hmakex}(hj[h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjSubh to create x-files (observations) and k-files (receiver clock estimates) using phase and pseudorange data from the RINEX observation files, broadcast ephemeris from the navigation file, and satellite clocks from the j-file. A record of }(hjSh(hh%Nh'NubhW)}(h:program:`makex`h]hmakex}(hjmh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjSubhL, showing the data found and any problematic data encountered is written to }(hjSh(hh%Nh'Nubh)}(h:file:`scal.makex.infor`h]hscal.makex.infor}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjSubh.}(hjSh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KhjOubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hX!Run :program:`fixdrv` to create the batch file for GAMIT processing. Though not used directly, :program:`fixdrv` also reads the k-file of episodic clock values and fits a first-order polynomial to them as a crude check for jumps and rapid drifts in the receiver clock (:file:`fixdrv.out`).h]h)}(hX!Run :program:`fixdrv` to create the batch file for GAMIT processing. Though not used directly, :program:`fixdrv` also reads the k-file of episodic clock values and fits a first-order polynomial to them as a crude check for jumps and rapid drifts in the receiver clock (:file:`fixdrv.out`).h](hRun }(hjh(hh%Nh'NubhW)}(h:program:`fixdrv`h]hfixdrv}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhJ to create the batch file for GAMIT processing. Though not used directly, }(hjh(hh%Nh'NubhW)}(h:program:`fixdrv`h]hfixdrv}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh also reads the k-file of episodic clock values and fits a first-order polynomial to them as a crude check for jumps and rapid drifts in the receiver clock (}(hjh(hh%Nh'Nubh)}(h:file:`fixdrv.out`h]h fixdrv.out}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh).}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Khjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hX5Execute the batch run to generate a tabular orbital ephemeris (:program:`arc`), model the phase observations (:program:`model`), edit the data (:program:`autcln`), and estimate parameters (:program:`solve`), a sequence completed twice in order that :program:`autcln` may operate on flat residuals and that the final adjustments in :program:`solve` are well within a linear range. A record of this run is not written to :file:`sh_gamit.log` (to save space) but is recorded in :file:`GAMIT.status`, :file:`GAMIT.warning`, and :file:`GAMIT.fatal` in the day directory.h]h)}(hX5Execute the batch run to generate a tabular orbital ephemeris (:program:`arc`), model the phase observations (:program:`model`), edit the data (:program:`autcln`), and estimate parameters (:program:`solve`), a sequence completed twice in order that :program:`autcln` may operate on flat residuals and that the final adjustments in :program:`solve` are well within a linear range. A record of this run is not written to :file:`sh_gamit.log` (to save space) but is recorded in :file:`GAMIT.status`, :file:`GAMIT.warning`, and :file:`GAMIT.fatal` in the day directory.h](h?Execute the batch run to generate a tabular orbital ephemeris (}(hjh(hh%Nh'NubhW)}(h:program:`arc`h]harc}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh!), model the phase observations (}(hjh(hh%Nh'NubhW)}(h:program:`model`h]hmodel}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh), edit the data (}(hjh(hh%Nh'NubhW)}(h:program:`autcln`h]hautcln}(hj!h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh), and estimate parameters (}(hjh(hh%Nh'NubhW)}(h:program:`solve`h]hsolve}(hj3h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh,), a sequence completed twice in order that }(hjh(hh%Nh'NubhW)}(h:program:`autcln`h]hautcln}(hjEh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhA may operate on flat residuals and that the final adjustments in }(hjh(hh%Nh'NubhW)}(h:program:`solve`h]hsolve}(hjWh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhH are well within a linear range. A record of this run is not written to }(hjh(hh%Nh'Nubh)}(h:file:`sh_gamit.log`h]h sh_gamit.log}(hjih(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh$ (to save space) but is recorded in }(hjh(hh%Nh'Nubh)}(h:file:`GAMIT.status`h]h GAMIT.status}(hj~h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh, }(hjh(hh%Nh'Nubh)}(h:file:`GAMIT.warning`h]h GAMIT.warning}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh, and }(hjh(hh%Nh'Nubh)}(h:file:`GAMIT.fatal`h]h GAMIT.fatal}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh in the day directory.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'K hjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hXSave the cleaning summary (:file:`autcln.post.sum`) to :file:`autcln.post.sum.scal` (potentially for archiving, though that's not done for this example) and write key information from :program:`model` and :program:`solve` to the :file:`HISTORY` file, which, unlike all other files in the day directory, is appended rather than overwritten in reruns so that a record of previous runs is maintained.h]h)}(hjh](hSave the cleaning summary (}(hjh(hh%Nh'Nubh)}(h:file:`autcln.post.sum`h]hautcln.post.sum}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh) to }(hjh(hh%Nh'Nubh)}(h:file:`autcln.post.sum.scal`h]hautcln.post.sum.scal}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubhg (potentially for archiving, though that’s not done for this example) and write key information from }(hjh(hh%Nh'NubhW)}(h:program:`model`h]hmodel}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh and }(hjh(hh%Nh'NubhW)}(h:program:`solve`h]hsolve}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh to the }(hjh(hh%Nh'Nubh)}(h:file:`HISTORY`h]hHISTORY}(hj"h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh file, which, unlike all other files in the day directory, is appended rather than overwritten in reruns so that a record of previous runs is maintained.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'K"hjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hCreate sky plots of phase residuals and plots of phase vs elevation angle using the DPH files written by :program:`autcln`; if the Ghostscript program is available, translate the plots from PostScript to PNG and move them into :file:`figs/`.h]h)}(hCreate sky plots of phase residuals and plots of phase vs elevation angle using the DPH files written by :program:`autcln`; if the Ghostscript program is available, translate the plots from PostScript to PNG and move them into :file:`figs/`.h](hiCreate sky plots of phase residuals and plots of phase vs elevation angle using the DPH files written by }(hjGh(hh%Nh'NubhW)}(h:program:`autcln`h]hautcln}(hjOh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjGubhi; if the Ghostscript program is available, translate the plots from PostScript to PNG and move them into }(hjGh(hh%Nh'Nubh)}(h :file:`figs/`h]hfigs/}(hjah(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjGubh.}(hjGh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'K#hjCubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hnInvoke :program:`sh_cleanup` to delete or compress files as specified by :option:`-dopt` and :option:`-copt`. h]h)}(hmInvoke :program:`sh_cleanup` to delete or compress files as specified by :option:`-dopt` and :option:`-copt`.h](hInvoke }(hjh(hh%Nh'NubhW)}(h:program:`sh_cleanup`h]h sh_cleanup}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh- to delete or compress files as specified by }(hjh(hh%Nh'NubjP)}(h:option:`-dopt`h]h)}(hjh]h-dopt}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjs-doptuh$jOh%hFh'K%hjubh and }(hjh(hh%Nh'NubjP)}(h:option:`-copt`h]h)}(hjh]h-copt}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjs-coptuh$jOh%hFh'K%hjubh.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'K%hjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubeh}(h]h]h]h ]h"]enumtypearabicprefixhsuffix.uh$jhhIh(hh%hFh'Kubh)}(h**The most common problems with** :program:`sh_gamit` **are missing or incorrect receiver and antenna information ("metadata") in** :file:`station.info` **and the loss of data due to bad tracking or bad coordinates.**h](h strong)}(h!**The most common problems with**h]hThe most common problems with}(hjh(hh%Nh'Nubah}(h]h]h]h ]h"]uh$jhjubh }(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh }hjsbj)}(hM**are missing or incorrect receiver and antenna information ("metadata") in**h]hMare missing or incorrect receiver and antenna information (“metadata”) in}(hj)h(hh%Nh'Nubah}(h]h]h]h ]h"]uh$jhjubh }hjsbh)}(h:file:`station.info`h]h station.info}(hj;h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh }hjsbj)}(h@**and the loss of data due to bad tracking or bad coordinates.**h]h}` option of :program:`sh_upd_stnfo` to extract only the stations you need, either from an existing list or one created automatically by :program:`sh_upd_stnfo` from the sites with :content:`ftprnx` in :file:`sites.defaults` and/or the file names in your experiment :file:`rinex/` directory. Hence, if you have a current copy of the MIT or SOPAC station.info in :file:`~/gg/tables/`, have run run :program:`sh_setup` to copy it into your experiment :file:`tables/` directory, and have edited :file:`sites.defaults` to specify the RINEX files you want from a remote archive (using :content:`ftprnx`), you can run (in :file:`tables/`):h](h If you have }(hjh(hh%Nh'Nubh emphasis)}(h*any*h]hany}(hjh(hh%Nh'Nubah}(h]h]h]h ]h"]uh$jhjubhU doubts about the validity of the RINEX headers, it is better to create (and check!) }(hjh(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubhq before you start the GAMIT processing. You can create a file with all of the entries for your survey by running }(hjh(hh%Nh'NubhW)}(h:program:`sh_upd_stnfo`h]h sh_upd_stnfo}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh manually with your RINEX files, then edit the file as appropriate. In creating this file, it is best to start with a template from the current MIT or SOPAC global }(hjh(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh file (available in }(hjh(hh%Nh'Nubh)}(h#:file:`incremental_updates/tables/`h]hincremental_updates/tables/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh) so that you can conveniently add entries for continuous stations from the global file. This template can be header-only, but the preferred approach is to start with the full global }(hjh(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh file and use the }(hjh(hh%Nh'NubjP)}(h:option:`-l {}`h]h)}(hj/ h]h-l {}}(hj1 h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj- ubah}(h]h]h]h ]h"]refdocjl refdomainj; reftypeoption refexplicitrefwarnjrNjs-l {}uh$jOh%hFh'K3hjubh option of }(hjh(hh%Nh'NubhW)}(h:program:`sh_upd_stnfo`h]h sh_upd_stnfo}(hjQ h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhe to extract only the stations you need, either from an existing list or one created automatically by }(hjh(hh%Nh'NubhW)}(h:program:`sh_upd_stnfo`h]h sh_upd_stnfo}(hjc h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh from the sites with }(hjh(hh%Nh'Nubh)}(h:content:`ftprnx`h]hftprnx}(hju h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhjubh in }(hjh(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh* and/or the file names in your experiment }(hjh(hh%Nh'Nubh)}(h:file:`rinex/`h]hrinex/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubhR directory. Hence, if you have a current copy of the MIT or SOPAC station.info in }(hjh(hh%Nh'Nubh)}(h:file:`~/gg/tables/`h]h ~/gg/tables/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh, have run run }(hjh(hh%Nh'NubhW)}(h:program:`sh_setup`h]hsh_setup}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh! to copy it into your experiment }(hjh(hh%Nh'Nubh)}(h:file:`tables/`h]htables/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh directory, and have edited }(hjh(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubhB to specify the RINEX files you want from a remote archive (using }(hjh(hh%Nh'Nubh)}(h:content:`ftprnx`h]hftprnx}(hj h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhjubh), you can run (in }(hjh(hh%Nh'Nubh)}(h:file:`tables/`h]htables/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh):}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'K3hhIh(hubh)}(h&$ sh_upd_stnfo -ref station.info -l sdh]h&$ sh_upd_stnfo -ref station.info -l sd}hj1 sbah}(h]h]h]h ]h"]jjjjconsolej}uh$hh%hFh'K9hhIh(hubh)}(hX%which will produce :file:`station.info.new` with the global entries for only the :content:`ftprnx` sites. (If the sites you need from the global :file:`station.info` file are not in :file:`sites.defaults` with :content:`ftprnx`, but are present in the :file:`rinex/` directory, you can use :option:`-l sdrnx` or :option:`-l rnx` in the :program:`sh_upd_stnfo` command.) Then make sure the RINEX files in the experiment :file:`rinex/` directory are not compressed, rename :file:`station.info.new` to :file:`station.info` and run (in :file:`tables/`):h](hwhich will produce }(hjA h(hh%Nh'Nubh)}(h:file:`station.info.new`h]hstation.info.new}(hjI h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh& with the global entries for only the }(hjA h(hh%Nh'Nubh)}(h:content:`ftprnx`h]hftprnx}(hj^ h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhjA ubh/ sites. (If the sites you need from the global }(hjA h(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hjq h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh file are not in }(hjA h(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh with }(hjA h(hh%Nh'Nubh)}(h:content:`ftprnx`h]hftprnx}(hj h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhjA ubh, but are present in the }(hjA h(hh%Nh'Nubh)}(h:file:`rinex/`h]hrinex/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh directory, you can use }(hjA h(hh%Nh'NubjP)}(h:option:`-l sdrnx`h]h)}(hj h]h-l sdrnx}(hj h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj ubah}(h]h]h]h ]h"]refdocjl refdomainj reftypeoption refexplicitrefwarnjrNjs-l sdrnxuh$jOh%hFh'K=hjA ubh or }(hjA h(hh%Nh'NubjP)}(h:option:`-l rnx`h]h)}(hj h]h-l rnx}(hj h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj ubah}(h]h]h]h ]h"]refdocjl refdomainj reftypeoption refexplicitrefwarnjrNjs-l rnxuh$jOh%hFh'K=hjA ubh in the }(hjA h(hh%Nh'NubhW)}(h:program:`sh_upd_stnfo`h]h sh_upd_stnfo}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjA ubh< command.) Then make sure the RINEX files in the experiment }(hjA h(hh%Nh'Nubh)}(h:file:`rinex/`h]hrinex/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh& directory are not compressed, rename }(hjA h(hh%Nh'Nubh)}(h:file:`station.info.new`h]hstation.info.new}(hj2 h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh to }(hjA h(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hjG h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh and run (in }(hjA h(hh%Nh'Nubh)}(h:file:`tables/`h]htables/}(hj\ h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjA ubh):}(hjA h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'K=hhIh(hubh)}(h!$ sh_upd_stnfo -files ../rinex/*oh]h!$ sh_upd_stnfo -files ../rinex/*o}hjw sbah}(h]h]h]h ]h"]jjjjconsolej}uh$hh%hFh'KAhhIh(hubh)}(hXK:program:`sh_upd_stnfo` also allows entries for :file:`station.info` to be created from IGS log files or SINEX files. If you construct :file:`station.info` in advance of your processing, set :content:`xstinfo {} all` in :file:`sites.defaults` to block any attempt by :program:`sh_gamit` to update the file from RINEX headers.h](hW)}(h:program:`sh_upd_stnfo`h]h sh_upd_stnfo}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh also allows entries for }(hj h(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubhC to be created from IGS log files or SINEX files. If you construct }(hj h(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh$ in advance of your processing, set }(hj h(hh%Nh'Nubh)}(h:content:`xstinfo {} all`h]hxstinfo {} all}(hj h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhj ubh in }(hj h(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh to block any attempt by }(hj h(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh' to update the file from RINEX headers.}(hj h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KEhhIh(hubh)}(hX Bad *a priori* coordinates will result in :program:`autcln` detecting too many cycle slips and deleting all of the data. A clear indication that this has happened is :content:`Range rms` values greater than about 20 m at the top of the :file:`autcln.prefit.sum` file together with 0 for :content:`DATA AMOUNTS` in the same file. When this happens, you should check the experiment :file:`tables/lfile.` for the source of the coordinates used. If *a priori* coordinates for a station are not available in the L-file (or :file:`.apr` file) from previous processing, :program:`sh_gamit` will by default invoke the :program:`sh_rx2apr` script to perform a pseudorange solution. Coordinates good to 10–20 m can usually be obtained from the data at the station of interest (better if selective availability is off), but the preferred approach is to perform the solution differentially, using also a RINEX file from an IGS station with known coordinates. To make sure this happens, you should specify :content:`ftprnx` in :file:`sites.defaults` and have present in the :file:`rinex/` directory or available via download from an IGS data archive the RINEX files for each day from one or more IGS stations. (You can use this setting to get a differential pseudorange solution even if you have :option:`-noftp` specified for :program:`sh_gamit` provided you copy the IGS data into the :file:`rinex/` directory in advance of the run.) If a differential pseudorange solution was used and you still have bad coordinates, try executing :program:`sh_rx2apr` manually with data from each of several days and compare the coordinates to see if the day you used originally was an anomaly because it was short or had bad pseudorange data. To by-pass :program:`sh_rx2apr` and use the coordinates from the RINEX header, set :content:`use_rxc = Y` in :file:`process.defaults`. This option should be used only if you know that the header values are always present and accurate or if you have RINEX 3 files, which the programs :program:`svpos` and :program:`svdiff` invoked by :program:`sh_rx2apr` will not yet support. Note that a large adjustment of coordinates, due to bad data or a short session, on one day can cause problems with the next day since :file:`lfile.` in the experiment :file:`tables/` directory will be updated. You can avoid this update by copying into the :content:`aprf` file specified in :file:`process.defaults` any site coordinates that you know to be good; the L-file will be initialized with these values as processing begins for each day.h](hBad }(hj h(hh%Nh'Nubj)}(h *a priori*h]ha priori}(hj h(hh%Nh'Nubah}(h]h]h]h ]h"]uh$jhj ubh coordinates will result in }(hj h(hh%Nh'NubhW)}(h:program:`autcln`h]hautcln}(hj! h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubhk detecting too many cycle slips and deleting all of the data. A clear indication that this has happened is }(hj h(hh%Nh'Nubh)}(h:content:`Range rms`h]h Range rms}(hj3 h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhj ubh2 values greater than about 20 m at the top of the }(hj h(hh%Nh'Nubh)}(h:file:`autcln.prefit.sum`h]hautcln.prefit.sum}(hjF h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh file together with 0 for }(hj h(hh%Nh'Nubh)}(h:content:`DATA AMOUNTS`h]h DATA AMOUNTS}(hj[ h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhj ubhF in the same file. When this happens, you should check the experiment }(hj h(hh%Nh'Nubh)}(h:file:`tables/lfile.`h]h tables/lfile.}(hjn h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh, for the source of the coordinates used. If }(hj h(hh%Nh'Nubj)}(h *a priori*h]ha priori}(hj h(hh%Nh'Nubah}(h]h]h]h ]h"]uh$jhj ubh? coordinates for a station are not available in the L-file (or }(hj h(hh%Nh'Nubh)}(h :file:`.apr`h]h.apr}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh! file) from previous processing, }(hj h(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh will by default invoke the }(hj h(hh%Nh'NubhW)}(h:program:`sh_rx2apr`h]h sh_rx2apr}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubhXm script to perform a pseudorange solution. Coordinates good to 10–20 m can usually be obtained from the data at the station of interest (better if selective availability is off), but the preferred approach is to perform the solution differentially, using also a RINEX file from an IGS station with known coordinates. To make sure this happens, you should specify }(hj h(hh%Nh'Nubh)}(h:content:`ftprnx`h]hftprnx}(hj h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhj ubh in }(hj h(hh%Nh'Nubh)}(h:file:`sites.defaults`h]hsites.defaults}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh and have present in the }(hj h(hh%Nh'Nubh)}(h:file:`rinex/`h]hrinex/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh directory or available via download from an IGS data archive the RINEX files for each day from one or more IGS stations. (You can use this setting to get a differential pseudorange solution even if you have }(hj h(hh%Nh'NubjP)}(h:option:`-noftp`h]h)}(hj h]h-noftp}(hj h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj ubah}(h]h]h]h ]h"]refdocjl refdomainj reftypeoption refexplicitrefwarnjrNjs-noftpuh$jOh%hFh'KHhj ubh specified for }(hj h(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hj/ h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh) provided you copy the IGS data into the }(hj h(hh%Nh'Nubh)}(h:file:`rinex/`h]hrinex/}(hjA h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh directory in advance of the run.) If a differential pseudorange solution was used and you still have bad coordinates, try executing }(hj h(hh%Nh'NubhW)}(h:program:`sh_rx2apr`h]h sh_rx2apr}(hjV h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh manually with data from each of several days and compare the coordinates to see if the day you used originally was an anomaly because it was short or had bad pseudorange data. To by-pass }(hj h(hh%Nh'NubhW)}(h:program:`sh_rx2apr`h]h sh_rx2apr}(hjh h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh4 and use the coordinates from the RINEX header, set }(hj h(hh%Nh'Nubh)}(h:content:`use_rxc = Y`h]h use_rxc = Y}(hjz h(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhj ubh in }hj sbh)}(h:file:`process.defaults`h]hprocess.defaults}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh. This option should be used only if you know that the header values are always present and accurate or if you have RINEX 3 files, which the programs }(hj h(hh%Nh'NubhW)}(h:program:`svpos`h]hsvpos}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh and }(hj h(hh%Nh'NubhW)}(h:program:`svdiff`h]hsvdiff}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh invoked by }(hj h(hh%Nh'NubhW)}(h:program:`sh_rx2apr`h]h sh_rx2apr}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh will not yet support. Note that a large adjustment of coordinates, due to bad data or a short session, on one day can cause problems with the next day since }(hj h(hh%Nh'Nubh)}(h:file:`lfile.`h]hlfile.}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh in the experiment }(hj h(hh%Nh'Nubh)}(h:file:`tables/`h]htables/}(hj h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubhJ directory will be updated. You can avoid this update by copying into the }(hj h(hh%Nh'Nubh)}(h:content:`aprf`h]haprf}(hjh(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhj ubh file specified in }(hj h(hh%Nh'Nubh)}(h:file:`process.defaults`h]hprocess.defaults}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj ubh any site coordinates that you know to be good; the L-file will be initialized with these values as processing begins for each day.}(hj h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KHhhIh(hubh)}(hXV:program:`sh_gamit` can also fail if it is unable to download required global RINEX files or orbital information from an IGS archive (CDDIS or SOPAC if not otherwise specified). The :file:`GAMIT.fatal` message will usually make clear what file is missing. In this case, check the connection to the archive manually and restart the processing.h](hW)}(h:program:`sh_gamit`h]hsh_gamit}(hj4h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj0ubh can also fail if it is unable to download required global RINEX files or orbital information from an IGS archive (CDDIS or SOPAC if not otherwise specified). The }(hj0h(hh%Nh'Nubh)}(h:file:`GAMIT.fatal`h]h GAMIT.fatal}(hjFh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj0ubh message will usually make clear what file is missing. In this case, check the connection to the archive manually and restart the processing.}(hj0h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KVhhIh(hubh)}(hXFor the most part, you can rerun a day after a failure with simply a remedy of the detected problem (e.g., a bad :file:`station.info` entry). However, in some circumstances old corrupted files will be used: (a) Unless you specify :option:`-remakex Y` in the command line, any existing x-file in a directory will be used again and the script assumes that there is a valid :file:`station.info` entry for this file (if not, the process will fail). (b) Any existing RINEX file linked in the day directory will be assumed to exist. If the link is now empty because you have renamed or removed the file in the remote directory, this may not be detected correctly on all systems. (c) A previously added :file:`station.info` entry will be used (and not replaced) if it applies to the day being processed. (d) Coordinates in the L-file will be used if they exist (so if the entry has been corrupted it should be removed and/or correct coordinates put in to the :file:`.apr` file).h](hqFor the most part, you can rerun a day after a failure with simply a remedy of the detected problem (e.g., a bad }(hjah(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hjih(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjaubha entry). However, in some circumstances old corrupted files will be used: (a) Unless you specify }(hjah(hh%Nh'NubjP)}(h:option:`-remakex Y`h]h)}(hjh]h -remakex Y}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj~ubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjs -remakex Yuh$jOh%hFh'KZhjaubhy in the command line, any existing x-file in a directory will be used again and the script assumes that there is a valid }(hjah(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjaubhX1 entry for this file (if not, the process will fail). (b) Any existing RINEX file linked in the day directory will be assumed to exist. If the link is now empty because you have renamed or removed the file in the remote directory, this may not be detected correctly on all systems. (c) A previously added }(hjah(hh%Nh'Nubh)}(h:file:`station.info`h]h station.info}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjaubh entry will be used (and not replaced) if it applies to the day being processed. (d) Coordinates in the L-file will be used if they exist (so if the entry has been corrupted it should be removed and/or correct coordinates put in to the }(hjah(hh%Nh'Nubh)}(h :file:`.apr`h]h.apr}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjaubh file).}(hjah(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KZhhIh(hubh)}(hDescriptions of how to run :program:`sh_gamit` with sessions crossing day boundaries can be found in Section 6.3 of the `GAMIT Reference Manual `_.h](hDescriptions of how to run }(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhJ with sessions crossing day boundaries can be found in Section 6.3 of the }(hjh(hh%Nh'Nubh reference)}(hG`GAMIT Reference Manual `_h]hGAMIT Reference Manual}(hjh(hh%Nh'Nubah}(h]h]h]h ]h"]nameGAMIT Reference Manualrefuri+http://geoweb.mit.edu/gg/docs/GAMIT_Ref.pdfuh$jhjubh9)}(h. h]h}(h]gamit-reference-manualah]h]gamit reference manualah ]h"]refurijuh$h8 referencedKhjubh.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KbhhIh(hubh)}(hTo generate time series from the GAMIT runs for the three days in the example, type at the project-directory level (:file:`2000/`)h](htTo generate time series from the GAMIT runs for the three days in the example, type at the project-directory level (}(hj-h(hh%Nh'Nubh)}(h :file:`2000/`h]h2000/}(hj5h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj-ubh)}(hj-h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KdhhIh(hubh)}(hF$ sh_glred -expt scal -s 2000 034 2000 036 -opt H G T >&! sh_glred.logh]hF$ sh_glred -expt scal -s 2000 034 2000 036 -opt H G T >&! sh_glred.log}hjPsbah}(h]h]h]h ]h"]jjjjconsolej}uh$hh%hFh'KfhhIh(hubh)}(hkThe script will execute the following steps, noted in the screen output redirected to :file:`sh_glred.log`:h](hVThe script will execute the following steps, noted in the screen output redirected to }(hj`h(hh%Nh'Nubh)}(h:file:`sh_glred.log`h]h sh_glred.log}(hjhh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj`ubh:}(hj`h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KjhhIh(hubj)}(hhh](j)}(hXSearch all day directories between :file:`034/` and :file:`036/` for GAMIT h-files containing the substring :content:`scal` and run :program:`htoglb` to convert these to binary h-files for :program:`glred`. Since each GAMIT h-file contains two solutions, one with ambiguities estimated as real numbers ("biases free") and one with ambiguities resolved ("biases fixed"), :program:`htoglb` will create two binary h-files, with extents :file:`.glr` (GAMIT loose free) and :file:`.glx` (GAMIT loose fixed), respectively. They are stored in the :file:`glbf/` directory and named with the year/month/day/hr/min, e.g :file:`h0002031200_scal.glx` for day 034.h]h)}(hXSearch all day directories between :file:`034/` and :file:`036/` for GAMIT h-files containing the substring :content:`scal` and run :program:`htoglb` to convert these to binary h-files for :program:`glred`. Since each GAMIT h-file contains two solutions, one with ambiguities estimated as real numbers ("biases free") and one with ambiguities resolved ("biases fixed"), :program:`htoglb` will create two binary h-files, with extents :file:`.glr` (GAMIT loose free) and :file:`.glx` (GAMIT loose fixed), respectively. They are stored in the :file:`glbf/` directory and named with the year/month/day/hr/min, e.g :file:`h0002031200_scal.glx` for day 034.h](h#Search all day directories between }(hjh(hh%Nh'Nubh)}(h :file:`034/`h]h034/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh and }(hjh(hh%Nh'Nubh)}(h :file:`036/`h]h036/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh, for GAMIT h-files containing the substring }(hjh(hh%Nh'Nubh)}(h:content:`scal`h]hscal}(hjh(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhjubh and run }(hjh(hh%Nh'NubhW)}(h:program:`htoglb`h]hhtoglb}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh( to convert these to binary h-files for }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh. Since each GAMIT h-file contains two solutions, one with ambiguities estimated as real numbers (“biases free”) and one with ambiguities resolved (“biases fixed”), }(hjh(hh%Nh'NubhW)}(h:program:`htoglb`h]hhtoglb}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh. will create two binary h-files, with extents }(hjh(hh%Nh'Nubh)}(h :file:`.glr`h]h.glr}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh (GAMIT loose free) and }(hjh(hh%Nh'Nubh)}(h :file:`.glx`h]h.glx}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh; (GAMIT loose fixed), respectively. They are stored in the }(hjh(hh%Nh'Nubh)}(h :file:`glbf/`h]hglbf/}(hj/h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh9 directory and named with the year/month/day/hr/min, e.g }(hjh(hh%Nh'Nubh)}(h:file:`h0002031200_scal.glx`h]hh0002031200_scal.glx}(hjDh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh for day 034.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Klhjubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hrGenerate in the :file:`gsoln/` directory a :file:`.gdl` file (h-file list) for each day (:file:`.glx` is default).h]h)}(hjgh](hGenerate in the }(hjih(hh%Nh'Nubh)}(h:file:`gsoln/`h]hgsoln/}(hjph(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjiubh directory a }(hjih(hh%Nh'Nubh)}(h :file:`.gdl`h]h.gdl}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjiubh" file (h-file list) for each day (}(hjih(hh%Nh'Nubh)}(h :file:`.glx`h]h.glx}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjiubh is default).}(hjih(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Kohjeubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hRun :program:`glred` for each day, using commands of the form .. code:: console $ glred 6 globk_scat_00034.prt globk_scal_00034.log globk_scal_00034.gdl globk.cmd The :file:`.log` and :file:`.org` files provide a record of the output.h](h)}(h=Run :program:`glred` for each day, using commands of the formh](hRun }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh) for each day, using commands of the form}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Kphjubh)}(hR$ glred 6 globk_scat_00034.prt globk_scal_00034.log globk_scal_00034.gdl globk.cmdh]hR$ glred 6 globk_scat_00034.prt globk_scal_00034.log globk_scal_00034.gdl globk.cmd}hjsbah}(h]h]h]h ]h"]forcehighlight_args}jjjconsoleuh$hh%hFh'Krhjubh)}(hGThe :file:`.log` and :file:`.org` files provide a record of the output.h](hThe }(hjh(hh%Nh'Nubh)}(h :file:`.log`h]h.log}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh and }(hjh(hh%Nh'Nubh)}(h :file:`.org`h]h.org}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh& files provide a record of the output.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Kvhjubeh}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubj)}(hXRun :program:`sh_plot_pos` to invoke program :program:`tssum` to create PBO-format :file:`.pos` files from the coordinates of each site on each day in the :file:`.org` files and invoke GMT to plot the time series. (Specifying :option:`E` instead of :option:`T` on the command line will use the older program :program:`ensum` to generate :file:`mb_` files for plotting with :program:`sh_plotcrd`.) ah]h)}(hXRun :program:`sh_plot_pos` to invoke program :program:`tssum` to create PBO-format :file:`.pos` files from the coordinates of each site on each day in the :file:`.org` files and invoke GMT to plot the time series. (Specifying :option:`E` instead of :option:`T` on the command line will use the older program :program:`ensum` to generate :file:`mb_` files for plotting with :program:`sh_plotcrd`.)h](hRun }(hj3h(hh%Nh'NubhW)}(h:program:`sh_plot_pos`h]h sh_plot_pos}(hj;h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj3ubh to invoke program }(hj3h(hh%Nh'NubhW)}(h:program:`tssum`h]htssum}(hjMh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj3ubh to create PBO-format }(hj3h(hh%Nh'Nubh)}(h :file:`.pos`h]h.pos}(hj_h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj3ubh< files from the coordinates of each site on each day in the }(hj3h(hh%Nh'Nubh)}(h :file:`.org`h]h.org}(hjth(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj3ubh; files and invoke GMT to plot the time series. (Specifying }(hj3h(hh%Nh'NubjP)}(h :option:`E`h]h)}(hjh]hE}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsEuh$jOh%hFh'Kwhj3ubh instead of }(hj3h(hh%Nh'NubjP)}(h :option:`T`h]h)}(hjh]hT}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsTuh$jOh%hFh'Kwhj3ubh0 on the command line will use the older program }(hj3h(hh%Nh'NubhW)}(h:program:`ensum`h]hensum}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj3ubh to generate }(hj3h(hh%Nh'Nubh)}(h :file:`mb_`h]hmb_}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhj3ubh files for plotting with }(hj3h(hh%Nh'NubhW)}(h:program:`sh_plotcrd`h]h sh_plotcrd}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj3ubh.)}(hj3h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'Kwhj/ubah}(h]h]h]h ]h"]uh$jhjh(hh%hFh'Nubeh}(h]h]h]h ]h"]jjjhjjuh$jhhIh(hh%hFh'Klubh)}(hXThis task could be accomplished in individual steps by running :program:`htoglb` directly with wild cards specifying the day directories, creating a :file:`.gdl` file in :file:`gsoln/` using :console:`ls ../glbf/h*glx`, running the program :program:`glred` (rather than the script :program:`sh_glred`) with this :file:`.gdl` file, and running :program:`sh_plot_pos`. In fact, for velocity solutions and time series using combined files, you will need to use this approach (see Chapter 4). The advantages of the script are threefold: 1) fewer commands, 2) it allows easy daily combination of local h-files with those from an external processing center (e.g. MIT or SOPAC), using the :option:`LA`, :option:`LB` and :option:`LC` options (see :numref:`intro_prod_combine`); and 3) it allows easy aggregation of days into weekly or monthly combined h-files, using the :option:`-ncomb` option (see the :program:`sh_glred` help by typing the command without arguments). You can mix using :program:`sh_glred` with running :program:`glred` directly as long as you keep in mind two differences: 1) :program:`sh_glred`, like :program:`sh_gamit`, is launched from the project directory but executes :program:`glred` within the :file:`gsoln/` directory whereas :program:`glred` is launched directly from within the :file:`gsoln/` directory itself; and 2) :program:`sh_glred` creates a :file:`.gdl` file for each day whereas running :program:`glred` itself efficiently requires creating a single :file:`.gdl` file containing the h-files for all of the days. In a :file:`.gdl` file, the :content:`+` symbol is used to indicate to :program:`glred` that h-files are to be combined before performing the solution. For example, using the fileh](h?This task could be accomplished in individual steps by running }(hjh(hh%Nh'NubhW)}(h:program:`htoglb`h]hhtoglb}(hj$h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhE directly with wild cards specifying the day directories, creating a }(hjh(hh%Nh'Nubh)}(h :file:`.gdl`h]h.gdl}(hj6h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh file in }(hjh(hh%Nh'Nubh)}(h:file:`gsoln/`h]hgsoln/}(hjKh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh using }(hjh(hh%Nh'Nubh)}(h:console:`ls ../glbf/h*glx`h]hls ../glbf/h*glx}(hj`h(hh%Nh'Nubah}(h]h](jDjEconsoleeh]h ]h"]languageconsoleuh$hhjubh, running the program }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjuh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh (rather than the script }(hjh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh ) with this }(hjh(hh%Nh'Nubh)}(h :file:`.gdl`h]h.gdl}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh file, and running }(hjh(hh%Nh'NubhW)}(h:program:`sh_plot_pos`h]h sh_plot_pos}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhX=. In fact, for velocity solutions and time series using combined files, you will need to use this approach (see Chapter 4). The advantages of the script are threefold: 1) fewer commands, 2) it allows easy daily combination of local h-files with those from an external processing center (e.g. MIT or SOPAC), using the }(hjh(hh%Nh'NubjP)}(h :option:`LA`h]h)}(hjh]hLA}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsLAuh$jOh%hFh'Kzhjubh, }(hjh(hh%Nh'NubjP)}(h :option:`LB`h]h)}(hjh]hLB}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsLBuh$jOh%hFh'Kzhjubh and }(hjh(hh%Nh'NubjP)}(h :option:`LC`h]h)}(hj h]hLC}(hj h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsLCuh$jOh%hFh'Kzhjubh options (see }(hjh(hh%Nh'NubjP)}(h:numref:`intro_prod_combine`h]h)}(hj.h]hintro_prod_combine}(hj0h(hh%Nh'Nubah}(h]h](j_std std-numrefeh]h ]h"]uh$hhj,ubah}(h]h]h]h ]h"]refdocjl refdomainj:reftypenumref refexplicitrefwarnjsintro_prod_combineuh$jOh%hFh'Kzhjubh`); and 3) it allows easy aggregation of days into weekly or monthly combined h-files, using the }(hjh(hh%Nh'NubjP)}(h:option:`-ncomb`h]h)}(hjRh]h-ncomb}(hjTh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjPubah}(h]h]h]h ]h"]refdocjl refdomainj^reftypeoption refexplicitrefwarnjrNjs-ncombuh$jOh%hFh'Kzhjubh option (see the }(hjh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hjth(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhB help by typing the command without arguments). You can mix using }(hjh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh with running }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh: directly as long as you keep in mind two differences: 1) }(hjh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, like }(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh6, is launched from the project directory but executes }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh within the }(hjh(hh%Nh'Nubh)}(h:file:`gsoln/`h]hgsoln/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh directory whereas }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh& is launched directly from within the }(hjh(hh%Nh'Nubh)}(h:file:`gsoln/`h]hgsoln/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh directory itself; and 2) }(hjh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh creates a }(hjh(hh%Nh'Nubh)}(h :file:`.gdl`h]h.gdl}(hj.h(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh# file for each day whereas running }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjCh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh/ itself efficiently requires creating a single }(hjh(hh%Nh'Nubh)}(h :file:`.gdl`h]h.gdl}(hjUh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh7 file containing the h-files for all of the days. In a }(hjh(hh%Nh'Nubh)}(h :file:`.gdl`h]h.gdl}(hjjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh file, the }(hjh(hh%Nh'Nubh)}(h :content:`+`h]h+}(hjh(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhjubh symbol is used to indicate to }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh\ that h-files are to be combined before performing the solution. For example, using the file}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KzhhIh(hubh)}(hX../glbf/h1211021200_pan1.glx 1.0 + ../glf/h1211021200_pan2.glx 1.0 + ../glbf/h1211021200_pcnw.glx 1.0 + ../glbf/nmt17125.e.glb 1.0 ../glbf/h1211031200_pan1.glx 1.0 + ../glbf/h1211031200_pan2.glx 1.0 + ../glbf/h1211031200_pcnw.glx 1.0 + ../glbf/nmt17126.e.glb 1.0h]hX../glbf/h1211021200_pan1.glx 1.0 + ../glf/h1211021200_pan2.glx 1.0 + ../glbf/h1211021200_pcnw.glx 1.0 + ../glbf/nmt17125.e.glb 1.0 ../glbf/h1211031200_pan1.glx 1.0 + ../glbf/h1211031200_pan2.glx 1.0 + ../glbf/h1211031200_pcnw.glx 1.0 + ../glbf/nmt17126.e.glb 1.0}hjsbah}(h]h]h]h ]h"]jjjjtextj}uh$hh%hFh'KhhIh(hubh)}(hXF:program:`glred` would combine all four h-files for day 2012-11-02 before performing a solution, and then do the same thing for the four files for day 2012-11-03. (Running :program:`globk`, rather than :program:`glred`, would combine all of the files listed into a single solution whether or not the :content:`+` are present).h](hW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh would combine all four h-files for day 2012-11-02 before performing a solution, and then do the same thing for the four files for day 2012-11-03. (Running }(hjh(hh%Nh'NubhW)}(h:program:`globk`h]hglobk}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, rather than }(hjh(hh%Nh'NubhW)}(h:program:`glred`h]hglred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhR, would combine all of the files listed into a single solution whether or not the }(hjh(hh%Nh'Nubh)}(h :content:`+`h]h+}(hjh(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhjubh are present).}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KhhIh(hubh)}(hX4Other options of :program:`sh_glred` specify the downloading of data from a remote archive (:option:`F`), removal of old h-files from the :content:`glfpth` directory (:option:`R`), and compressing the h-files at the end of the run (:option:`C`). Type :program:`sh_glred` without arguments to see all options.h](hOther options of }(hj h(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh8 specify the downloading of data from a remote archive (}(hj h(hh%Nh'NubjP)}(h :option:`F`h]h)}(hj)h]hF}(hj+h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj'ubah}(h]h]h]h ]h"]refdocjl refdomainj5reftypeoption refexplicitrefwarnjrNjsFuh$jOh%hFh'Khj ubh#), removal of old h-files from the }(hj h(hh%Nh'Nubh)}(h:content:`glfpth`h]hglfpth}(hjKh(hh%Nh'Nubah}(h]h](jDjEjFjGeh]h ]h"]languagejGuh$hhj ubh directory (}(hj h(hh%Nh'NubjP)}(h :option:`R`h]h)}(hj`h]hR}(hjbh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj^ubah}(h]h]h]h ]h"]refdocjl refdomainjlreftypeoption refexplicitrefwarnjrNjsRuh$jOh%hFh'Khj ubh6), and compressing the h-files at the end of the run (}(hj h(hh%Nh'NubjP)}(h :option:`C`h]h)}(hjh]hC}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsCuh$jOh%hFh'Khj ubh). Type }(hj h(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhj ubh& without arguments to see all options.}(hj h(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KhhIh(hubh)}(hXTo avoid overwriting useful h-files or using obsolete ones, it is important to keep in mind the precedence rules of the script. For local data (:program:`sh_gamit` day directories), specifying the :option:`H` option will force :program:`htoglb` to be rerun for all directories within the time span indicated, whether or not a binary file or link exists in the :file:`glbf/` directory. Omitting :option:`H` will cause no new binary files to be created, so it is not possible to retranslate only a selected group of ascii H-files. This is not an important limitation, however, because :program:`htoglb` runs quickly. For global ascii h-files downloaded from SOPAC, setting :option:`H` will also force :program:`htoglb` to be rerun on any ascii H-files present or linked (by :option:`LA`) in the H-file (:file:`glbf/`) directory, but you can safely set :option:`F` since the script will not re-download any remote (ascii) H-files that are present.h](hTo avoid overwriting useful h-files or using obsolete ones, it is important to keep in mind the precedence rules of the script. For local data (}(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh" day directories), specifying the }(hjh(hh%Nh'NubjP)}(h :option:`H`h]h)}(hjh]hH}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsHuh$jOh%hFh'Khjubh option will force }(hjh(hh%Nh'NubhW)}(h:program:`htoglb`h]hhtoglb}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubht to be rerun for all directories within the time span indicated, whether or not a binary file or link exists in the }(hjh(hh%Nh'Nubh)}(h :file:`glbf/`h]hglbf/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh directory. Omitting }(hjh(hh%Nh'NubjP)}(h :option:`H`h]h)}(hj%h]hH}(hj'h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhj#ubah}(h]h]h]h ]h"]refdocjl refdomainj1reftypeoption refexplicitrefwarnjrNjsjuh$jOh%hFh'Khjubh will cause no new binary files to be created, so it is not possible to retranslate only a selected group of ascii H-files. This is not an important limitation, however, because }(hjh(hh%Nh'NubhW)}(h:program:`htoglb`h]hhtoglb}(hjFh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhG runs quickly. For global ascii h-files downloaded from SOPAC, setting }(hjh(hh%Nh'NubjP)}(h :option:`H`h]h)}(hjZh]hH}(hj\h(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjXubah}(h]h]h]h ]h"]refdocjl refdomainjfreftypeoption refexplicitrefwarnjrNjsjuh$jOh%hFh'Khjubh will also force }(hjh(hh%Nh'NubhW)}(h:program:`htoglb`h]hhtoglb}(hj{h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh8 to be rerun on any ascii H-files present or linked (by }(hjh(hh%Nh'NubjP)}(h :option:`LA`h]h)}(hjh]hLA}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsLAuh$jOh%hFh'Khjubh) in the H-file (}(hjh(hh%Nh'Nubh)}(h :file:`glbf/`h]hglbf/}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh$) directory, but you can safely set }(hjh(hh%Nh'NubjP)}(h :option:`F`h]h)}(hjh]hF}(hjh(hh%Nh'Nubah}(h]h](j_std std-optioneh]h ]h"]uh$hhjubah}(h]h]h]h ]h"]refdocjl refdomainjreftypeoption refexplicitrefwarnjrNjsjFuh$jOh%hFh'KhjubhS since the script will not re-download any remote (ascii) H-files that are present.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KhhIh(hubh)}(hXDNote that most of the shell scripts called by :program:`sh_gamit` and :program:`sh_glred` can be run stand-alone for specific processing tasks. The most useful of these are :program:`sh_make_rinex` (templates for running :program:`teqc` to translate raw data files), :program:`sh_get_nav`, :program:`sh_get_rinex`, :program:`sh_get_orbits`, :program:`sh_sp3fit`, :program:`sh_update_eop`, :program:`sh_link_rinex`, :program:`sh_oneway` (to get sky plots from :file:`DPH` files), and :program:`sh_get_hfiles`. Type the name of the script without arguments to see the documentation.h](h.Note that most of the shell scripts called by }(hjh(hh%Nh'NubhW)}(h:program:`sh_gamit`h]hsh_gamit}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh and }(hjh(hh%Nh'NubhW)}(h:program:`sh_glred`h]hsh_glred}(hj h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhT can be run stand-alone for specific processing tasks. The most useful of these are }(hjh(hh%Nh'NubhW)}(h:program:`sh_make_rinex`h]h sh_make_rinex}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh (templates for running }(hjh(hh%Nh'NubhW)}(h:program:`teqc`h]hteqc}(hj-h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh to translate raw data files), }(hjh(hh%Nh'NubhW)}(h:program:`sh_get_nav`h]h sh_get_nav}(hj?h(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, }(hjh(hh%Nh'NubhW)}(h:program:`sh_get_rinex`h]h sh_get_rinex}(hjQh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, }hjsbhW)}(h:program:`sh_get_orbits`h]h sh_get_orbits}(hjch(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, }hjsbhW)}(h:program:`sh_sp3fit`h]h sh_sp3fit}(hjuh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, }hjsbhW)}(h:program:`sh_update_eop`h]h sh_update_eop}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, }hjsbhW)}(h:program:`sh_link_rinex`h]h sh_link_rinex}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh, }hjsbhW)}(h:program:`sh_oneway`h]h sh_oneway}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubh (to get sky plots from }(hjh(hh%Nh'Nubh)}(h :file:`DPH`h]hDPH}(hjh(hh%Nh'Nubah}(h]h]fileah]h ]h"]rolefileuh$hhjubh files), and }(hjh(hh%Nh'NubhW)}(h:program:`sh_get_hfiles`h]h sh_get_hfiles}(hjh(hh%Nh'Nubah}(h]h]hcah]h ]h"]uh$hVhjubhI. Type the name of the script without arguments to see the documentation.}(hjh(hh%Nh'Nubeh}(h]h]h]h ]h"]uh$hh%hFh'KhhIh(hubeh}(h](using-sh-gamit-and-sh-glredhEeh]h](using sh_gamit and sh_glredintro_proc_exampleeh ]h"]uh$hGhhh(hh%hFh'Kexpect_referenced_by_name}jh:sexpect_referenced_by_id}hEh:subeh}(h]h]h]h ]h"]sourcehFtranslation_progress}(totalK translatedKuuh$hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(outputNhLN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehF _destinationN _config_files]file_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}(hh h5h)usubstitution_names}(relhdateh5urefnames}refids}hE]h:asnameids}(jhEjjjju nametypes}(jjjuh}(hEhIjhIjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages]h system_message)}(hhh]h)}(hhh]h8Hyperlink target "intro-proc-example" is not referenced.}hjsbah}(h]h]h]h ]h"]uh$hhjubah}(h]h]h]h ]h"]levelKtypeINFOsourcehFlineKuh$juba transformerN include_log] decorationNh(hub.