FD or HR focus filtergrams SOI-TN-96-133: DPC Rules

Rules for Assignment of MDI Data Product Codes

SOI TN 96-133

R. I. Bush

Revision of 8 May 1996


The Image Processor of the Michelson Doppler Imager instrument is capable
of producing a large variety of different types of data.  In order to keep
track of the MDI data on the ground, the concept of a Data Product Code
(DPC) a has been developed.

The DPC is a 4 byte parameter that identifies the type of data produced by
the MDI instrument. Detailed below are rules for constructing these Data
Product Codes.

The DPC is split into the following fields:
    bits 28-31	   indicate primary identification
    bits 16-27	   indicate details of the type of acquisition
    bits 00-15	   indicate data format and parameters or identifier

The Data Product Code described as bit fields:

	 byte 1   byte 2   byte 3   byte 4
	XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX

	XXXX					= Primary Data Type
	    XXXX XXXXXXXX			= Type Description
	                  XXXXXXXX XXXXXXXX	= Data Format or Descriptor

The Data Product Code described as hex characters:

	7654 3210
	xxxx xxxx

	x		= Primary Data Type
	 x  		= Type Identifier
	  xx 		= Type Parameters
	     x		= Format Identifier
	      xxx	= Format Parameters

An example of how the DPC is decoded for a typical 5k and 160k data product:

hex char 76543210   |---x7----| |-----x6-----| |--x54--| |-x3-| |-x210-|

    dpc  03004000   Flight 5k   bp dopplergram fd/ob 60s vwbin  Medium-l

    dpc	 42000000   Flight 160k dopplergram    fd/ob 60s crop    #1

PRIMARY DATA TYPE

Bits 28-31 indicate the primary data type with the following assignments:

	XXXX	  bits 28-31

	X	= Flight or Ground (bit 31)
	0	  indicates flight data product
	1	  indicates ground data product

	 X	= 5 kbps or 160 kbps (bit 30)
	 0	  indicates 5 kbps science telemetry data product
	 1	  indicates 160 kbps science telemetry data product

	  XX	= Type of data product (bits 28 & 29)
	  00	  indicates standard science data products
	  01	  indicates limb figure science data products
	  10	  indicates Image Processor data products
	  11	  indicates miscellaneous data products 

* IP Register, List, Table, Memory Dump, ISS Products *

The data types can be split into the following classes or groups:

   Flight 5k standard science DPC's		-  0xxxxxxx
   Flight 5k limb figure science DPC's		-  1xxxxxxx
   Flight 5k IP dump & status DPC's		-  2xxxxxxx
   Flight 160k standard science DPC's		-  4xxxxxxx
   Flight 160k reg, list & tables DPC's		-  6xxxxxxx
   Ground test 5k standard science DPC's	-  8xxxxxxx
   Ground test 5k limb figure science DPC's	-  9xxxxxxx
   Ground test 5k IP dump & status DPC's      	-  Axxxxxxx
   Ground test 5k development DPC's		-  Bxxxxxxx
   Ground test 160k standard science DPC's	-  Cxxxxxxx
   Ground test 160k reg, list & table DPC's	-  Exxxxxxx
   Ground test 160k development DPC's		-  Fxxxxxxx

TYPE DESCRIPTION - SCIENCE OBSERVABLES & LIMB FIGURE

For standard science and limb figure data products, bits 16-27 identify 
the science observable calculated by the Image Processor. The science 
observables include image resolution (full disk - 1x and high resolution 
- 3.2x), and observation or calibration mode, and observing interval.

Bits 24-27 indicate the observable type with the following assignments:

	0	- filtergram
	1	- summed filtergrams
	2	- full disk dopplergram
	3	- full disk dopplergram with bad pixel zeroing
	4	- high resolution line depth
	5	- full disk line depth with flat fielding
	6	- full disk continuum intensity
	7	- full disk continuum intensity with flat fielding
	8	- full disk magnetogram
	9	- full disk summed magnetograms
	A	- high resolution dopplergram
	B	- high resolution magnetogram
	C	- full disk line depth
	D	- high resolution continuum
   E to F	- future use


Bits 22 and 23 indicate details of how the observable was generated:

	XX	= Observing Interval (bits 22 & 23)

	00	  indicates filtergrams observed over 60 seconds
	01	  indicates filtergrams observed over 30 seconds
	10	  indicates observations that are time weighted averaged
	11	  indicates other observing intervals


Bits 16-21 indicate a version number of the observable, or details of 
how the observable was generated:

Current Filtergram Version Assignments for Bits 16-19 (with Bits 25-27 = 0)

	1	- Simple filtergram buffered in memory		fltgram.ips
	2	- Take a picture (TAP) burst, filtergram	tap_burst.ips
	3	- Take a picture (TAP) continuous, filtergram	tap_cont.ips
	4	- Ice hunt dark frame				one_fltgram.ips
	5	- Ice hunt FD-CAL filtergram			one_fltgram.ips
	6	- Ice hunt HR-CAL filtergram			one_fltgram.ips
	7	- compression test filtergram			comp_test.ips
	8	- HR continuum filtergram			hrcont_flt.ips
	9	- Intermediate Sd Filtergram			mk_cont.ips
	A	- Intermediate Si Filtergram			mk_cont.ips
	B	- FD continuum filtergram			prog_mvc60.ips
	C	- high cadence high resolution filgergram	prog_high_cad1.ips
	D	- FD CAL mode detune filtergram			prog_detune.ips
	E	- FD OBS mode detune filtergram			prog_detune.ips
	F	- FD or HR focus filtergrams			prog_focus30.ips

TYPE DESCRIPTION - IP REGISTERS, LISTS, TABLES, MEMORY DUMPS & ISS MODE

For lists and tables bits, 16-27 indicate the type of list or table and 
bits 00-15 are an identifying index. Typical list/table types are 
velocity, reciprocal, and square root look up tables, and binning, crop 
list and flat field tables. The available index space is sufficient that 
a unique index identifier could be associated with each list or table 
and that they could be associated with the corresponding data format.

Bits 24-27 indicate the observable type with the following assignments:

	     0	- IP Register Dump
	     1	- IP Table Dump
	     2	- IP Bin List Dump
	     3	- IP Limb Figure List Dump
	     4	- IP Memory Dump
	5 to 9	- future use
	     A	- ISS High Rate Sampled Data
	B to D	- future use
     	     E	- IP Error Dump
	     F	- future use

For Table Dumps (Bits 24-27 = 1), Bits 12-15 are assigned as follows:

	1	- Reciprocal Table
	2	- Velocity Table
	3	- Square-Root Table

For Bin List Dumps (Bits 24-27 = 2), Bits 00-15 correspond to the Data Format
Bits for the Science Observables using the applicable Bin Lists.

For Memory Dumps (Bits 24-27 = 4), Bits 00-03 provide the page number of
memory being dumped.

TYPE DESCRIPTION - MISCELLANEOUS

For the miscellaneous data products, bits 16-27 indicates the type of
acquisition and bits 00-15 provide a data identifier.  The miscellaneous
data products include ground calibration data, and simulated test data.

The ground calibration data that has been collected over the past two
years has an acquisition type of xFFF with data identifiers from x0000
to xFFFF.

Bits 24-27 indicate the observable type with the following assignments:

	0 to 9	- Simulated Data 
	A to E	- future use
	     F	- Ground Calibration and Test Data

DATA FORMAT - SCIENCE OBSERVABLES

For standard science data products, bits 00-15 indicate the data format
and any parameters necessary to fully describe the image.  

Bits 12-15 specify the binning type with the following assignments:

	0 - cropped image                (crop)
	1 - cropped image with sqrt cmpr and scaling by 100.0 (crop+sqrt#1)
	2 - nxm extract                  (extract)
	3 - nxm extract with sqrt cmpr   (extract+sqrt)
	4 - nxm binning                  (rowbin and/or lrbin)
	5 - rectangular weighted binning (rwbin)
	6 - vector weighted binning      (vwbin)
	7 - irregular weighted binning   (iwbin)
	8 - arbitrary weighted binning   (awbin)
	9 - circular buffer
	A - cropped image with sqrt cmpr and scaling by 64.0 (crop+sqrt#2)
	B - full 1040x1033 image (not-extracted)
	C - multiple extract with sqrt cmpr and scaling by 100.0
    D - F - future use

Bits 00-14 indicate the specific instance of each of the binning types,
with the following identifiers for each type of binning.

	crop radius identifier 		- crop & crop+sqrt
	The crop radius is 1/8 pixel values

	extract parameter identifier	- extract & extract+sqrt
	Two 6 bit fields - first indicates total # of pixels;
	second indicates the shape

examples:
	xxxx2000	- Extract 2^20 pixels					1024x1024
	xxxx2201	- Extract 2^17 pixels	(0010)				1024x128
	xxxx2202	- Extract 2^17 pixels	(0010)				128x1024
	xxxx2400	- Extract 2^16 pixels	(0100)				256x256
	xxxx2c00	- Extract 2^14 pixels	(1100)				128x128
	xxxx2e00	- Extract 819,200 pixels(1110)				1024x800
	xxxx2100	- Extract  90,000 pixels(0001)				300x300
	xxxx2300	- Extract 122,500 pixles(0011)				350x350
	xxxx2500	- Extract 160,000 pixels(0101)				400x400
	xxxx2700	- Extract 202,500 pixels(0111)				450x450
	xxxx2900	- Extract 302,500 pixels(1001)				550x550
	xxxx3000	- Extract 2^20 pixels and square-root compress		1024x1024
	xxxx3xxx	- Extract N pixels and square-root compress		

	binning list identifier		- nxm binning
	Two 6 bit fields - first indicates total # of pixels;
	second indicates the shape and version #

examples:
	xxxx4400	- Bin 4x4						256x256
	xxxx4800	- Bin 2x2						512x512
	xxxx4c00	- Bin 8x8 						128x128

	rwbin list identifier		- rectangular weighted binning
	vwbin list identifier		- vector weighted binning
	irregular list identifier	- irregular weighted binning
	arbitrary bin list identifier	- arbitrary weighted binning


DATA FORMAT - LIMB FIGURE

For limb figure data products, bits 00-15 provide the limb figure radius
and thickness, with bits 12-15 indicating the crop radius thickness (or
delta radius) in 1/2 pixel values and bits 00-11 indicating the inner crop
radius in 1/8 pixels increments.

The formula for the outer radius is:
	outer_radius = inner_radius + (delta_radius)*4

Where both the inner and outer radii are in 1/8 pixel integer values and
the delta_radius is given in 1/2 pixels values.

Using this formula for a limb figure with an inner radius of 480 pixels
and an outer radius of 486 pixels results in a limb figure data format
parameters of CF00 (hex).  Bits 12-15 represent a 6 pixel limb figure
thickness (2*6 or C hex), and bits 00-11 represent a radius of 8*480 (3840
decimal or F00 hex). In the special case where the delta_radius = 0, the
bits 00-11 are an index for a look-up table of limb figure parameters.

The block telecommand to generate and load a new limb figure list is:
	mbiptbl 0xn04 ipaddrlow ipaddrhi ver# Router Rinner LRDparameters

The LRDparameters include the number of pixels expected in the data product,
compression parameters, and the data product code.

DATA FORMAT - IP REGISTERS, TABLES & LISTS

The IP register dump in the 5k telemetry is 94 words long, and consists of
a standard 52 word register dump followed by 42 words of a variable set of
registers. The fixed register dump consists of 20 words containing  the
CCD temperature information stripped off the CCD header, and 32 words
containing  the status of the purge list processing. The variable portion
of the register dump contains the starting register number followed by a
spare word and then the values of 40 registers. The low word of the 5k IP
register dump Data Product Code contains the beginning register number of
the variable portion of the register dump.

      aaaa = starting number of variable portion of 5k IP register dump

      iiii = IP identifier for 160k register dump
      tttt = IP identifier for 160k table dump
      bbbb = bin list identifier - same as id for observable
      llll = limb figure list identifier - same as id for observable
      mmmm = IP memory dump identifier

DATA FORMAT - MISCELLANEOUS

To be described.

SPECIAL CASES - NON-CONFORMING DPC'S

For historical reasons the following DPC's are used which do not conform to
these rules:

	20010000	IP register dump in 160 kbps telemetry (rather than 5 k)

SAMPLE DPC ASSIGNMENTS

 Example breakdown of a DPC

   |--x7---| |-----x6-----| |--x54--| |-x3-| |-x210-|     x76543210
   Flight 5k bp dopplergram 60s fd/ob vwbin (Medium-l)	-  03004001

 Flight 5k standard science DPC's			-  0xxxxxxx

   Flight 5k bp dopplergram fd/ob 60s vwbin (Medium-l)	-  03006001
   Flight 5k bp dopplergram fd/ob 30s vwbin (Medium-l)	-  03406001
   Flight 5k bp dopplergram fd/ob 60s irbin (LOI-V)	-  03007001
   Flight 5k bp dopplergram fd/ob 30s irbin (LOI-V)	-  03407001
   Flight 5k ff continuum   fd/ob 60s irbin (LOI-I)	-  07007001
   Flight 5k ff continuum   fd/ob 30s irbin (LOI-I)	-  07407001
   Flight 5k ff line depth  fd/ob TWA rwbin (GOLF Prxy)	-  05805001
   Flight 5k ff continuum   fd/ob TWA rwbin (Flux Bdgt)	-  07805001
   Flight 5k magnetogram    fd/ob 30s 5m avg crop 	-  09400FC0

 Flight 5k limb figure science DPC's			-  1xxxxxxx

   Flight 5k continuum      fd/ob TWA limb figure 	-  1680Crrr
      rrr = inner limb figure crop radius in 1/8 pixel increments

 Flight 5k IP dump & status DPC's			-  2xxxxxxx

   Flight 5k IP Register Dump				-  2000aaaa
   Flight 5k IP Error Dump				-  2E000000
      aaaa = start address of variable portion of IP register dump

 Flight 160k standard science DPC's			-  4xxxxxxx

   Flight 160k dopplergram  fd/ob 60s crop #1 		-  42000FC0
   Flight 160k line depth   fd/ob 60s crop #1		-  44000FC0
   Flight 160k continuum    fd/ob 60s crop #1		-  46000FC0
   Flight 160k continuum    fd/ob 60s sqrt crop #1	-  46001FC0
   Flight 160k dopplergram  fd/ob 30s crop #1 		-  42400FC0
   Flight 160k line depth   fd/ob 30s crop #1		-  44400FC0
   Flight 160k continuum    fd/ob 30s crop #1		-  46400FC0
   Flight 160k continuum    fd/ob 30s sqrt crop	#1	-  46401FC0
   Flight 160k magnetogram  fd/ob 30s crop #1		-  48400FC0
   Flight 160k magnetogram  fd/ob 30s 5m avg crop #1	-  49400FC0

   Flight 160k dopplergram  hr/ob 30s extract #1 	-  42402000
   Flight 160k line depth   hr/ob 30s extract #1	-  44402000
   Flight 160k continuum    hr/ob 30s extract #1	-  46402000
   Flight 160k continuum    hr/ob 30s sqrt extract #1	-  46403000
   Flight 160k magnetogram  hr/ob 30s extract #1	-  48402000

   Flight 160k bp dopplergm fd/ob cirbuf (LOI-V)	-  43009001
   Flight 160k ff continuum fd/ob cirbuf (LOI-I)	-  45009001

 Flight 160k list & tables DPC's          		-  6xxxxxxx

   Flight 160k IP Register Dump				-  6000iiii
   Flight 160k IP Table Dump				-  6100tttt
   Flight 160k IP Bin List Dump				-  6200bbbb
   Flight 160k IP Limb Figure List Dump			-  6300llll
   Flight 160k IP Memory Dump				-  6400mmmm
   Flight 160k IP ISS Mode Data 			-  6A000000
   Flight 160k IP Error Dump				-  6E000000
      iiii = IP register set identifier
      tttt = IP table identifier
      bbbb = bin list identifier - same as id for observable
      llll = limb figure list identifier - same as id for observable
      mmmm = IP memory dump identifier


This page last revised 8 May, 1996.

Please address comments and questions to the author(s).


Return SOI Technical Notes Index - Return SOI home page