>>> What is sidb/ <<<
-- SatInfo DataBase
-- This is a database supporting the GSI runtime "satinfo" table.
-- There are 3 tables total in this database:

1. "available_channels.tbl" - all available sensor-channels in different time period.

> #       from             to       
> # sat  yyyymmdd hhmmss  yyyymmdd hhmmss sensor count channels
>   n06  19790630 000000  19830417 240000  hirs2  19   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
>   n06  19790630 000000  19830417 240000  msu     4   1 2 3 4
>   n06  19790630 000000  19830417 240000  ssu     3   1 2 3
> [...]

2. "active_channels.tbl" - active sensor-channels in different time period.

> #       from             to       
> # sat  yyyymmdd hhmmss  yyyymmdd hhmmss sensor count channels
>   n06  19790713 000000  19790906 060000  hirs2  14   2 3 4 5 6 7 8 9 10 11 12 13 14 15
>   n06  19790713 000000  19790906 060000  msu     4   1 2 3 4
>   n06  19790713 000000  19790906 060000  ssu     3   1 2 3
> [...]

3. "monitor_channels.tbl" - monitor sensor-channels, if any, in different time period.

> #       from             to       
> # sat  yyyymmdd hhmmss  yyyymmdd hhmmss sensor count channels
>   n06  19790713 000000  19790906 060000  hirs2   1   2
>   n06  19790713 000000  19790906 060000  msu     1   0
>   n06  19790713 000000  19790906 060000  ssu     1   0
> [...]


>>> Editing tables <<<
-- Take "active_channels.tbl" as an example, it can be changed to exclude or
-- include specific sensor-channels for a given time period.

If you want to remove certain AIRS channels, you may follow steps
described below.

1. Bring sidb/active_channels.tbl to your editor.

2. Locate the "airs" block somewhat looks like following entries

> # airs active channels                                   m   01   02   03   04   05   06   07   08   09   10
> aqua  20021012 000000  21001231 240000  airs281    4              7             15             20   21 #     0
> aqua  20021012 000000  21001231 240000  airs281    4   22        27   28                  40           #    10
> aqua  20021012 000000  21001231 240000  airs281    2   52                                      69      #    20
> aqua  20021012 000000  21001231 240000  airs281    1   72                                              #    30
> aqua  20021012 000000  21001231 240000  airs281    6                  92   93   98   99       104  105 #    40
> aqua  20021012 000000  21001231 240000  airs281    7       110  111       116  117  123       128  129 #    50
> aqua  20021012 000000  21001231 240000  airs281    9  138  139  144  145  150  151  156  157       162 #    60
> aqua  20021012 000000  21001231 240000  airs281    7       168  169       172  173  174  175       179 #    70
> aqua  20021012 000000  21001231 240000  airs281    9  180       185  186  190  192  198  201  204  207 #    80
> [...]

3. Locate the channel(s) you want to remove, e.g. "15" in the first
"aqua" line (in the column labeled "06").  Then change the channel to
blank.

> # airs active channels                                   m   01   02   03   04   05   06   07   08   09   10
> aqua  20021012 000000  21001231 240000  airs281    4              7                            20   21 #     0

4. Renumber the count labeled by "m" to 3.

> # airs active channels                                   m   01   02   03   04   05   06   07   08   09   10
> aqua  20021012 000000  21001231 240000  airs281    3              7                            20   21 #     0

This will remove channel 15 of airs for the whole period from
20021012:000000 to 21001231:240000.

5. If you need to remove this channel only for a specific period, say
from 20060101:000000 to 20060131:235959, you then have to add two
more lines for channel 15 for its two discontinued "active" period:

> # airs active channels                                   m   01   02   03   04   05   06   07   08   09   10
> aqua  20021012 000000  21001231 240000  airs281    3              7                            20   21 #     0
> aqua  20021012 000000  20051231 235959  airs281    1                            15
> aqua  20060201 000000  21001231 240000  airs281    1                            15

Note there is no need to line up channel numbers vertically.  The 
vertical line up is there for visual purposes only.  But one has to
make sure channel count ("m") is made right.

6. Save the changes then rerun make_satinfo.x.


>>> Notes <<<
-- Other small things worth or not worth to mension.

o sort.mk contains simple make() targets for maintenance purposes.

o Tables in this database are all used as "green" lists, not
  "black" lists.

o There is no algorithm implemented to verify the data uniqueness for
  any given period.

o Invalid date-time tags are allowed, as long as they are given as valid
  integers.

o Pairs of data-time tags are used in mksi to mark "closed" domain
  boundaries.  That is, "==" are used in the relational expressions.
  For example, "time t is within a given period t1 to t2", is expressed
  as "t1<=t.and.t<=t2", which is equivalent to "t{-[t1,t2]".

o "A given time t" in current algorihm is specified in form of a single
  pair of "<yyyymmdd> <hhmmss>", to represent a single moment of
  synoptic time.  This may not be sufficient if this database is used
  to provide information for an extended time period, such as 12 or 24
  hours.  For applications of extended time periods, an extention to the
  *_select() of each module is required.


>>> History for release tags <<<

jg-mksi-1_0p1:	- Jul 05, 2007 by J. Guo 
  		- merged jg-mksi-1_0 with eliu-mksi-asis-01 in sidb/,
		  for active_channels.tbl and satinst.tbl.

jg-mksi-1_0:	- Jul 02, 2007 by J. Guo
		- initial release for comments.
