Difference between revisions of "Kinematic Processing"
From GeodesyLab
(→Temporal Resolution below 5 min) |
(→Temporal Resolution below 5 min) |
||
| Line 14: | Line 14: | ||
<li>create campaign directory: <code>newcamp /gps/data/CAMPAIGN_NAME-interval</code></li> | <li>create campaign directory: <code>newcamp /gps/data/CAMPAIGN_NAME-interval</code></li> | ||
<li>create qm files for all rinex files from sites that go into that campaign for respective time:<br/> | <li>create qm files for all rinex files from sites that go into that campaign for respective time:<br/> | ||
| − | <center> | + | <center> |
| − | <code> | + | <code> |
| − | rnx2qm.rndev RINEX-file -dir $procdir -interval 30 | + | rnx2qm.rndev RINEX-file -dir $procdir -interval 30 |
| − | </code> | + | </code> |
| − | </center> | + | </center> |
| + | where $procdir=/gps/data/CAMPAIGN_NAME-interval, i.e. the campaign directory you just created. | ||
</li> | </li> | ||
| + | <li>copy the orbits for the repective day(s) into /gps/data/CAMPAIGN_NAME-interval/orbits</li> | ||
| + | <li>make sure to update the $CAMP variable in the make-xxxxx file that you copy into your /gps/data/CAMPAIGN_NAME-interval/flt directory</li> | ||
</ul> | </ul> | ||
Revision as of 06:21, 24 February 2009
Workflow
- define subnet file (including clock site, a couple of non-kinematically estimated sites, at the ones you are really interested in)
- define namelist (nml) file (RANDOM-WALK!)
- adapt script that calls solve (check whether you need a rapid solution -- when orbits aren't in yet)
- run solution
- extract data from .trop files
- plot results.
Temporal Resolution below 5 min
The standard solutions run with a temporal solution of 5 minutes (6 minutes if older than 1995). This means the standard qm files do not contain enough information if you need a finer resolution. Here is what to do:
- create campaign directory:
newcamp /gps/data/CAMPAIGN_NAME-interval - create qm files for all rinex files from sites that go into that campaign for respective time:
rnx2qm.rndev RINEX-file -dir $procdir -interval 30where $procdir=/gps/data/CAMPAIGN_NAME-interval, i.e. the campaign directory you just created.
- copy the orbits for the repective day(s) into /gps/data/CAMPAIGN_NAME-interval/orbits
- make sure to update the $CAMP variable in the make-xxxxx file that you copy into your /gps/data/CAMPAIGN_NAME-interval/flt directory
Define the solution parameters
Use an NML file to define the solution parameters. Here is an example to start with.
$PREP !namelist input for preprefilter
! reference clock is REQUIRED. you need to use one of
! your sites, generally one with a stable clock. Mostly
! it means anything except a trimble. If an external
! oscillator is used, then it can be a reference clock.
REFCLOCK = 'THU1'
! just says whether the troposphere will be estimated stochastically.
! except for very short baselines, this is always true.
WETZTROP = .TRUE.
! don't recall what this is
yaddsg = 0.1
! this is the random walk constraint for the troposphere, in km/sqrt(sec)
TROPDRIFT = 1.70D-7
! if you want to estimate additional paraetmeters stochastically, you
! put them here. You don't have to put clocks here, because GIPSY
! assumes that all clocks will be estimated stochastically.
SSTCH = 'STA E SCOB','STA N SCOB', 'STA V SCOB'
! in this example they are the east, north, and vertical components
! for station SCOB. Generally station locations are not
! estimated stochastically
! This tells you how to constrain the parameters you named above.
SPSIG = 3*1.0D-6, ! random walk constraint
SMTAU = 3*'RANDOMWALK',
! how often do you want to estimate these stochastic parameters
SDELT = 3*'/00:05', ! compute a position every 5 minutes
$END
$INIT !namelist input for filter
YDEL(1) = 'STABIAS THU1' ! same for the reference clock
! STABIAS is the GIPSY name for a station clock. SATBIAS is
! for a satellite clock
! this is if you are estimating station positions stochastically.
! just do it.
grounddelete = 'SCOB',
STAINT = .FALSE.
IDIGIT = 9
! this is a list of all the parameters you DO NOT
! want GIPSY to estimate. look at the cartoon book
! for more info. X, Y, Z, DX, DY, DZare the satellite orbits.
! you don't want to estimate them if youare using someone
! else's orbits, which I would assume you are all going to do
YDEL(2) = 'UT1-UTC', 'UT1-UTC RATE', 'X POLE *', 'Y POLE *',
'GEOCENTER*', 'V LOVE', 'H LOVE', 'DRYZTROP*',
'LMPZTROP*', 'STA DRFT*', 'STA ACCL*', 'SAT DRFT*',
'SAT ACCL*', 'BIASPSR*', 'SOLARSCLTOP*','Y_BIAS TOP*',
'XPOLEMOTION','XPOLERATE','YPOLEMOTION','YPOLERATE',
'X*', 'Y*', 'Z*', 'DX*', 'DY*', 'DZ*','TRPAZ*',
'SOLSCL_X*', 'Y_BIAS*', 'SOLSCL_Z*', 'SOLARSCL*'
SOLPRT = .TRUE.
NOMEAS = .FALSE.
SOLVE = .TRUE.
DEBUG = 1
OUTNAME = 'OASIS'
$END
$APRIORI !namelist input for filter
APALL = .TRUE.
! The following are NOT currently estimated
!
! Parameters actually estimated start here
!
APNAMS( 1) = 'WETZTROP*', APSIGS( 1) = 10.0D-5 !10 cm
APNAMS( 2) = 'STABIAS*', APSIGS( 2) = 3.0D5 !1 sec
APNAMS( 3) = 'SATBIAS*', APSIGS( 3) = 3.0D5 !1 sec
APNAMS( 4) = 'PHASE*', APSIGS( 4) = 1.0D-1 !1 micr
! I am using ENV here, but you should set these for XYZ if you are doing
! it in the Cartesian frame
APNAMS( 5) = 'STAE*', APSIGS( 5) = 1. !1 km
APNAMS( 6) = 'STAN*', APSIGS( 6) = 1. !1 km
APNAMS( 7) = 'STAV*', APSIGS( 7) = 1. !1 km
APNAMS( 8) = 'STA E KOKB', APSIGS( 8) = 10.0D-3 !10 m
APNAMS( 9) = 'STA N KOKB', APSIGS( 9) = 10.0D-3 !10 m
APNAMS(10) = 'STA V KOKB', APSIGS(10) = 10.0D-3 !10 m
$END
$DATAWGHT !namelist input for filter, edtpnt2, and post
ELMINSTA = 15.0D0 ! elevation angle minimum
! 110 is pseudorange, 120 is phase
DATYPE = 110, 120,
DATSIG = 1.0D-3, 1.0D-5, ! these are in km
XRECNM(1) = 'HOLE' ! this is to delete a specific receiver
XXMTNM(1) = 'GPS04' ! this is to delete a specific satellite
$END
$SMINPUT !namelist input for smapper
SAVEUD = 'LAST'
SAVESIGMA = .TRUE.
IDIGIT = 9
MAPTYP = 'CARTESIAN'
OUTNAME = 'OASIS'
TDPFULLPRECISION = .TRUE.
! write out these parameters for stochastic parameters
! GIPSY only creates this file if asked for (it is a TDP
! - time-dependent-parameter file). If you want to know
! clock values, then you need to write their names here.
WRTTDP = 'STA E SCOB', 'STA N SCOB', 'STA V SCOB',
TDPTYP = 'TIMEVARY',
TDPTOL = 1.0d00,
STAINT = .FALSE.
$END
$APRIORINML !namelist input for smapper
$END
$LIMITS !namelist input for postfit
! outlier criterion, i.e. flag all phase data greater than 5 cm.
STAINT = .FALSE.
DATYPE = 120
WINDOW = 5.0D-5,
$END
$EDTINIT !namelist input for edtpnt2
STAINT = .FALSE.
DEBUG = .TRUE.
$END