The st_filter package is designed as the second generation of the QOCA analysis. The original QOCA works very successfully in many geophysical and geodetic applications. As the scientists persue more robust and efficient GPS solution analysis, however, the original QOCA design shows its limitations.
First, original QOCA is not convenient to combine the daily GPS cluster solutions into a combined daily solution. In particular, the satellite orbit parameters are not included in original QOCA analysis package. Second, when the solutions come from different software or analysis centers, original QOCA can not handle the systematic differences between differenct solutions. For example, JPL's GISPY solutions have systematic scale difference comparing with the GAMIT solutions due to different satellite antenna phase center models. The original QOCA does not allow to estimate two scale parameters, one is for GIPSY solutions and the other one is for GAMIT solutions. Third, original QOCA does not have the option to perform offset correction and other corrections only to a subset of the data. Fourth, the original QOCA accepts only QOCA qob file format, so that all data must be transfered to qob format by running mk_qob, which waste space and time. Fifth, the original QOCA can only estimate limited parameter types, not general enough to meet the demands of scientists.
To meet the new challenge and demands from scientists, we decided to design and develop the second generation of QOCA analysis software in 2002. Our initial consideration was to perform spatio-temporal filtering directly in this package, so that the second generation package was named as st_filter (spatio-temporal filtering). Later, we decided to distribute the spatio-temporal filtering task into several utility packages, such as analyze_tseri, ssm (scaled sensitivity matrix analysis), and netwk_inv (network inversion program). But the st_filter name is kept as the historical benchmark. The first protocol of the st_filter parckage was finished in September, 2005. The developments of the st_filter continue and currently we are still improving the st_filter software.
The st_filter still inherits the input/output style and the basic structure of QOCA. Thus the QOCA users can easily handle the st_filter operation. Here we assume that the readers already have the advanced experiences with QOCA analysis. So that we start the st_filter class from the advanced level. The major new developments of the st_filter are as followings:
1. Read various date file formats directly. Thus we do not need to run mk_qob to transfer the various data to qob format first. Currently, we only finish a part of data formats. The current recognized data types are GAMIT output ascii h-file (type 45), GIPSY output stacov file (type 41), binary glx file for GLOBK (type 48), SINEX file (type 49), and QOCA qob file (type 33). We are still working on other data format. In the input data list file, st_filter accepts mixed data format. After each data file name, there is a data type index. The st_filter will read the data based on their data type index. 2. Set up data sub-group index. The estimated parameters, offset corrections, rename list, and unuse list all have their corresponding sub-group. Such an option give users great flexibility. Users can estimate some parameters only for the corresponding sub-group. For example, estimate one scale parameter for GIPSY solutions and another scale parameter for GAMIT solutions. For the same station, user can correct one offset for GAMIT solutions, another offset value for GIPSY solutions. 3. Besides the sub-group, each estimated parameter also has the attribution of valid interval (start epoch and end epoch). For example, one station can have multiple velocities, each is related to different interval. Another example is the network parameters. When analyzing multi-year data, user can estimate weekly network parameters (rotation, translation and scale) based on their effective intervals. 4. Can perform daily cluster solution combination to get daily combined solution. 5. Accept high-rate solution analysis. 6. Accept orbit parameters and can combine orbit paramters. 7. Besides QOCA style output file, can also output SINEX format file. 8. Can also output strain(rate), gamma(rate) results simultaneously. 9. Output residual file for quality checking of the individual loosely constrained data file. 10. User defined outlier checking of the raw data.
To run the st_filter, just typing:
st_filter st_filter.drv
All the commands are stored in the st_filter.drv file. The st_filter.drv file has the same structure and convention as other QOCA driver file. The st_filter.drv file has the following structure:
apriori value file: (site position and velocity apriori value file) the same format as other QOCA package used. site_list: (site list file name) In the site_list file, the first line is the site number, the rest lines are site names. sate_list: (satellite orbit list file name) The st_filter accepts SOPAC used svs file format as the sate_list file, in which each line is a long record for a satellite in a specified day with all 23 orbital parameters. If the svs file contains multi-day orbit ephemeris, st_filter will pick the records in the right day. in_list: (input file list name) In the in_list file, the first line is data file number. The rest lines are the file name (including path) and file type. For example: ../hfiles/higs1a.07300.Z 45 0 1.0 1 The first field is file name, second field is the file format type, the third field is the option index, the fourth field is the uncertainty enlarge factor, the fifth field is the sub-group index. type = 33: QOCA qob file format type = 45: SOPAC ascii h-file file format. type = 47: GIPSY stacov format type = 48: binary GLX for GLOBK type = 49: SINEX format The option index is in integer bit-map format. Most bits are for specific use. When the option index = 4 (bit 3 = 1), that means to start a new solution (output previous solution and re-initiate all working arrays). Note: st_filter recognizes both compressed (.Z, .gz) and un-compressed data format. If the data files originally are compressed, we recommend users to uncompress the data files first. After the st_filter analysis, users compress the data files to restore original compressed format. The st_filter runs 3 times slower with the compressed data file than the uncompressed data file. est_parameter list file: estimated parameter list file There is no parameter number line in the list file. Each line represents a parameter setup command. The typical format of the parameter line is: all_site 1 1980.000 2015.000 0.00 10.0 0 The first column of the line is the comment index. If the first column is not an empty (any non-empty character), this line is considered as a comment line. The first field is parameter name. The second field is the parameter index. The third and fourth fields are effective start and end epochs for this parameter. The fifth and sixth fields are apriori value and constraint (sigma) for tis parameter. The seventh field is the sub-group index for this parameter. If the sub-group index is zero, that means this parameter is estimated for all sub-groups. Note: the parameter name is a fixed name, which should be spelled correctly. For details of the parameter file, please look at the example (above frame). utpm table file: UT1, polar motion table file, the same as QOCA used. leap second file: leap second table file, the same as QOCA used. rename_file: station name change list file. The first line is the rename number. The rest lines are rename list. The typical format of the rename list is: VALE_GPS VAL1_GPS 2 1990.0000 2100.0000 The first field is the old station name, the second field is the new station name, the third field is the sub-group index, the fourth and fifth fields are start and end epochs for the rename of this station. If the sub-group index is zero, that means this station rename is valid for all sub-groups. Note: (1) Both the old and new station names should be listed in site_list file and apriori file. (2) Both the old and new station names should be 8-characters. We strongly recommend to rename the station in the first 4 characters. For example, change VALE_GPS to VAL1_GPS. If you set to change VALE_GPS to VALE_NEW, it still works. The problem is for SINEX output. Current SINEX file has 4 characters for each station name, so that st_filter just cut out the first 4 characters for station name to the SINEX output file. As a result, both VALE_GPS and VALE_NEW become VALE. abandoned site list: unused site list. The first line is the abandoned site list number, the rest lines are the list. The structure of the list is: COSO_GPS 1998.0781 1998.0781 1 (higs2a.98027 has problem) The first 4 fields represent station name, effective start and end epochs, the sub-group index. After the fourth field, user can put his comment for the unuse reason. If the sub-group index is zero, this station will be removed for all sub-groups. offset correction file: the non-tectonic coordinate offset correction file. The first line is the offset correction list number, the rest lines are the lists. The structure of the list is: 1999.6671 2100.0000 -0.003328 -0.003535 -0.002729 0 AMC2_GPS equipment change The fields are defined as: start epoch, end epoch, east, north, vertical correction, sub-group index, station name. After station name is the note for the correction. The unit of offset correction is meter. If the sub-group index is zero, this correction will be for all sub-groups. Note: the listed offset correction values will be SUBTRACTED from the data file. co_seismic list file: The coordinate jump list file. Note: the jumps are related to tectonic or other geophysical processes. These jumps be removed from the begining (modify the apriori coordinate values, but not touch the data records) so that the adjustments will be small (the jumps have been considers), but the final solutions still include the jump values. The first line is the jump number. The rest lines are jump list. The structure of the jump list is: 1999.7904 -0.003836 0.002511 0.002124 AZU1_GPS co-seismic Hector Mine EQ The fields are defined as: epoch, east, north, vertical jump values, station name, notes. The unit of jump values is meter. Note: (1) The listed jump values will be ADDED to the apriori coordinate values. (2) The jump values will remain in the solutions, while the offset correction values will disappear in the solutions (offset being corrected). param_influence list: estimated parameter influence area list file. This option is not activated yet. param_perturbation list: estimated parameter perturbation range list file. This option is not activated yet. internal constraint file: function is similar to QOCA. But the format is different. Its format is defined as: The first line is the constraint component specification. There are 14 component options: xyzuvwsXYZUVWS. x: polar motion x y: polar motion y z: UT1 u: translation x v: translation y w: translation z s: scale X: polar motion x rate Y: polar motion y rate Z: UT1 rate U: translation x rate V: translation y rate W: translation z rate S: scale rate The second line has 3 fields, like 4 0.90 4.0. The 3 fields are defined as iteration number, relative weighting factor, sigma factor for quality checking. The third line is the constraint station number. The rest lines are constrained station specifications. Each line has 15 fields, which are defined as: station name, annual east (sin and cos), north (sin and cos), vertical (sin and cos), semiannual east (sin,cos), north (sin,cos), vertical (sin,cos), weighting factor for xyzuvws, weighting factor for XYZUVWS. The unit for annual and semi-annual terms is mm. The seasonal term is defined as A*sin(omega*t+phase). output file: output file name This file structure is similar to QOCA output file. New features: (1) Each estimated parameter has effective interval (start and end epochs). (2) There are site_xyz and site_neu outputs for analyze_tseri use. (3) Estimated orbit parameters. (4) Abnormal large adjustment reminder. (5) Report removed outliers. map file (output): similar to QOCA map file strain_file (output): similar to QOCA. strain_list (input): similar to QOCA. gamma_file (output): similar to QOCA. sinex file: output solution in SINEX format This command requires two file names. The first is the output SINEX file name. The second is the input SINEX header information. screenig file: not activated yet. If specified, the screen file is an empty file. residual file: output residuals of each loosely constrained data file. There are two fields in the command line. First field is the residual file name, the second field is the method to estimate the residual. We recommend users to use "constraint" as the method. local sta_id file: for REASoN project only sopac antenna file: for REASoN project only warning_file file: for REASoN project only cmb_only writing option: for REASoN project only otl_nodata: first outlier criterion indicating this station actuary has no data the 3 specified fields are sigmas for east, north and vertical respectively. The unit is meter. otl_sigma: second outlier criterion indicating this station has large sigma the 3 specified fields are sigmas for east, north and vertical respectively. The unit is meter. Note: the sigmas in otl_nodata are from original loosely constrained solutions. the sigmas in otl_sigma are the formal sigmas after the rotational effects being removed. otl_residual: third outlier criterion indicating this station has large residual the 3 specified fields are sigmas for east, north and vertical respectively. The unit is meter. reference frame: terrestrial reference datum name Recommend: WGS84. reference coordinate, rtime: The first field should be "geodetic". The second field specifies the reference epoch of the coordinate solutions. resolution: not activated yet. filtering mode: only "forward" is activated.