JPL GNSS Products
Loading...
Searching...
No Matches
Piecewise Constant Model Parameter Format
Piecewise Constant Model Parameter (PCM) File Format
----------------------------------------------------

The PCM file is meant to hold information related to ground or satellite 
platforms that varies in time in a piecewise constant fashion. Specific 
examples for each allowable parameter type are provided below.

The PCM file is whitespace delimited, with one record per line.  

The # character and any characters following it are ignored.

The columns are as follows:

Column 1:     Platform name (case sensitive, no white space allowed)
Column 2:     Parameter name (case sensitive, no white space allowed)
Column 3:     Integer seconds
Column 4:     Float seconds; usually between 0 and 1 but can be any float.
Columns 5-N:  One or more key/value pairs separated by whitespace, where the 
              key is read as a string (case sensitive, no white space allowed) 
              and the value as a double. Any value is assumed to be constant 
              from the time in columns 3+4 until the next entry. A value of NaN 
              means the parameter is no longer known.

Time is specified in continuous GPS seconds past 2000-01-01 11:59:47 UTC = Col3 + Col4

For example:

----
GPS23  NominalYawRate  1000000  0.0  RateDegPerSec  0.11 # comment
GPS23  NominalYawRate  2000000  0.0  RateDegPerSec  0.13
GPS23  NominalYawRate  3000000  0.5  RateDegPerSec  NaN
----

For time < 1000000 the GPS23 nominal yaw rate is unknown.  For time >= 1000000 
and time < 2000000 the nominal yaw rate is 0.11.  For time > 2000000 and time
<= 3000000 the nominal yaw rate is 0.13 deg/sec.  For time >= 3000000.5 the
GPS23 nominal yaw rate is unknown.


Implementations of the PCM File Format
---------------------------------------

1) Nominal yaw rate file

Parameter name field: 
  "NominalYawRate"
Key/value fields: 
  "RateDegPerSec" with a rate >= 0.0 deg/sec.

For example:

----
GPS23  NominalYawRate  1000000  0.0  RateDegPerSec  0.11
GPS23  NominalYawRate  2000000  0.0  RateDegPerSec  0.13
# Nominal rate not defined after "3000000 + 0.5"
GPS23  NominalYawRate  3000000  0.5  RateDegPerSec  NaN  
----

2) Yaw bias file

Parameter name field: 
  "YawBias"
Key/value fields (both are required): 
  "BiasDeg" with the yaw bias in deg. 
  "BetaIndependent" with either 0 (sign of yaw bias is beta-dependent) or 
                                1 (sign of yaw bias is beta-independent).
                                
If "BiasDeg" is positive *and* "BetaIndependent" is 0, then the bias will have 
a sign opposite that of beta:
    bias = -sign( BiasDeg, beta )
    
If "BiasDeg" is negative *and* "BetaIndependent" is 0, then the bias will have
a sign the same as beta:
    bias = sign( BiasDeg, beta )

If "BiasDeg" is positive or negative *and* "BetaIndependent" is 1, then the 
following will hold:
    bias = BiasDeg


For example:

----
GPS23  YawBias  1000000  0.0  BiasDeg  +0.5  BetaIndependent  0
GPS23  YawBias  3560000  0.0  BiasDeg  -0.5  BetaIndependent  1
GPS23  YawBias  3750000  0.0  BiasDeg  -0.5  BetaIndependent  0
----

3) Transmitter power file

Parameter name field: 
  "TransmitPower.N" (where N = 1, 2, ...) where N, the integer antenna number, 
  is considered to be represented by the digits following the final period. 
  
  At run-time, the user requests a set of antenna power values by specifying a 
  platform and antenna number. These are turned into a unique string having
  the following form:
  
      platform + ".TransmitPower." + antenna#
    
      For example: 
        "GPS59.TransmitPower.1"
      
  This string must match:
   
      <platform> + "." + <parameter> 
    
  from the input file for a matching set of values to be successfully recovered.

Key/value fields:
  "X", "Y", "Z" with XYZ components of the orientation of antenna N as a unit 
      vector in the spacecraft body-fixed frame. Note: in GCORE, the body-fixed
      frame will currently be whatever system is provided to the 
      Satellite.NAME.Models.AttitudeModel input.
      
  "Watts" with the transmit power of antenna N in Watts

For example:

----
GPS59  TransmitPower.1  1000000  0.0  X  0   Y   0  Z  1  Watts  77.0
R1999  TransmitPower.1  1000000  0.0  X  0   Y   0  Z  1  Watts  77.0
R1999  TransmitPower.2  1000000  0.0  X  0.6 Y -0.8 Z  0  Watts  1250.32
R1999  TransmitPower.1  2000000  0.0  X  0   Y   0  Z  1  Watts  74.0
----

In this example GPS23 has one antenna transmitting at 77 watts in the +Z 
direction for time >= 1000000. Transmitter R1999 has two antennas, with antenna 
1 transmitting 77W in the +Z direction for time >= 1000000 and time < 2000000, 
and antenna 2 transmitting 1250.32W in the [0.6, -0.8, 0] direction for time
>= 1000000. Note that the vector describes the pointing of the antenna, with 
the acceleration due to antenna thrust acting in the opposite direction.

4) Antenna offsets file

Parameter name field: 
  This field may take one of two forms, where the second is simply an extension 
  of the first:

    a) "AntennaOffset.N" (where N = 1, 2, ...) where N, the integer antenna 
       number, is considered to be represented by the digits following the 
       final period. This form is used to denote general antenna offsets,
       that will apply to all data on a given antenna *unless* a more specific
       DataType name is provided; see (b) below.

    b) "AntennaOffset.N.<DataType>" where DataType is the name of the single
       or dual frequency observable type to which this offset applies.

For DataType naming conventions, see GipsyX DataTypes.

For more information contact the GipsyX team.

  At run-time, the user requests a set of antenna offset values by specifying a 
  platform and antenna number. These are turned into a unique string having the 
  following form:
  
      platform + ".AntennaOffset." + antenna#
    
      For example: 
        "GPS59.AntennaOffset.1"

  This string must match:
   
      <platform> + "." + <parameter> 
    
  from the input file for a matching set of values to be successfully recovered.

Key/value fields:
  "X", "Y", "Z" with XYZ components of the location of antenna N's phase center
   (neglecting phase-center-variations) in the spacecraft body-fixed frame. 
   Note: in GCORE, the body-fixed frame will currently be whatever system is 
   provided to the Satellite.NAME.Models.AttitudeModel input.
   Note: here, the origin of the body-fixed frame is always assumed to be the
   spacecraft center of mass.
      
For example:

----
GPS13 AntennaOffset.1                 -900000000 0.0 X         0.27900 Y         0.00000 Z         2.65840
GPS23 AntennaOffset.1                 -900000000 0.0 X         0.27900 Y         0.00000 Z         2.72080
GPS50 AntennaOffset.1                 -900000000 0.0 X         0.00330 Y         0.00030 Z         0.77800
GPS66 AntennaOffset.1                 -900000000 0.0 X         0.39400 Y         0.00000 Z         1.52230
C001M AntennaOffset.1                 -900000000 0.0 X         0.56056 Y         0.00000 Z         2.46986
C003G AntennaOffset.1                 -900000000 0.0 X         0.56056 Y        -0.01944 Z         4.91889
C004G AntennaOffset.1                 -900000000 0.0 X         0.56056 Y        -0.01944 Z         4.91889
C005I AntennaOffset.1                 -900000000 0.0 X         0.56056 Y        -0.01944 Z         4.91889
C001M AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X         0.58000 Y         0.00000 Z         2.12000
C003G AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X         0.58000 Y         0.00000 Z         3.50000
C004G AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X         0.58000 Y         0.00000 Z         3.50000
C005I AntennaOffset.1.IonoFreeL_2I_7I -900000000 0.0 X         0.58000 Y         0.00000 Z         3.50000
----