0% found this document useful (0 votes)
104 views13 pages

CSPP Geo GRB Installation Guide v0.3

Uploaded by

Walter Spaltro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
104 views13 pages

CSPP Geo GRB Installation Guide v0.3

Uploaded by

Walter Spaltro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Installation

 Instructions  for  the


Community  Satellite  Processing  Package  for  Geostationary  Data  (CSPP  Geo)
GRB  Version  0.3  Prototype  Software  for  GOES  Rebroadcast  

University  of  Wisconsin-­‐Madison,  Space  Science  and  Engineering  Center  (SSEC)


Supported  by  the  NOAA  STAR  GOES-­‐R  Program  

October  6  2015

Section  1:  Introduction

1.1  Overview

This  document  contains  instructions  for  installation  and  operation  of  the  CSPP  Geo  
prototype  software  package  for  ingesting  baseband  GOES  Rebroadcast  (GRB)  data  
and  processing  to  NetCDF-­‐4  output  products.

The  software  in  this  release  is  capable  of  recovering  and  reconstructing  Advanced  
Baseline  Imager  (ABI)  Level  1b,  Geostationary  Lightning  Mapper  (GLM)  Level  2+,  
Space  Environment  In-­‐Situ  Suite  (SEISS)  Level  1b,  Magnetometer  (MAG)  Level  1b,  
Solar  Ultraviolet  Imager  (SUVI)  Level  1b,  and  Extreme  Ultraviolet  and  X-­‐ray  
Irradiance  Sensors  (EXIS)  Level  1b  products  from  the  GRB  data  stream.  

This  package  contains  a  mix  of  original  software  developed  at  the  University  of  
Wisconsin,  third-­‐party  software  libraries,  and  a  modified  version  of  RT-­‐STPS,  which  
is  developed  and  maintained  by  the  NASA  Direct  Readout  Laboratory.

The  CSPP  Geo  GRB  Prototype  package  is  distributed  through  the  CSPP  Geo  website  
at:

http://cimss.ssec.wisc.edu/csppgeo/

Software,  test  data,  and  documentation  may  be  downloaded  from  this  
website.    Please  use  the  ‘Contact  Us’  form  on  the  website  to  submit  any  questions  or  
comments  about  CSPP.

This  software  was  developed  according  to  the  GRB  specifications  described  in  the  
GOES-­‐R  Product  Definition  and  User’s  Guide  (PUG),  Vol.  4,  Rev  D.  The  PUG  is  
available  from  the  GOES-­‐R  project  website,  although  Rev  D  has  not  yet  been  posted  
at  the  time  of  this  release.

http://www.goes-­‐r.gov/resources/docs.html
1.2  What’s  New  in  CSPP  Geo  GRB  Version  0.3

Changes  for  CSPP  Geo  GRB  Version  0.3  include  the  following:  

• Added  support  for  the  EXIS  and  SUVI  instruments.  


• Added  more  configuration  options  for  output,  see  grb_env.sh  for  details.  
• Added  support  for  running  from  a  read-­‐only  location  if  properly  configured.  
• Selecting  Application  Identifiers  (APIDs)  to  capture  is  now  done  in  GRB.xml,  
APID_MASK  has  been  removed.  
• Various  tuning  and  performance  tweaks  to  ingestor  and  reconstructor    

1.3  System  requirements

Minimum  system  requirements  for  the  CSPP  GRB  software  are  as  follows:
·            12  core,  2.4  GHz  CPU  with  64-­‐bit  instruction  support,
·            32GB  RAM,
·            CentOS  6  64-­‐bit  Linux  (or  other  compatible  64-­‐bit  Linux  distribution),
·            100  GB  disk  space.

1.4    Test  data

The  test  data  is  provided  solely  for  purposes  of  testing  the  CSPP  Geo  GRB  software,  
and  is  not  intended  to  be  used  for  product  evaluation  or  verification.

The  test  dataset  was  derived  from  output  from  a  GOES-­‐R  Ground  System  Data  
Operations  Exercise  (DOE-­‐1/2).  The  contents  include  the  ABI  Triplet  dataset,  which  
was  produced  by  the  GOES-­‐R  Proxy  Team.  For  more  information  on  the  ABI  Triplet  
dataset,  see:  
 
http://cimss.ssec.wisc.edu/goes_r/awg/proxy/nwp/ncsa_fcm/index.html

 
1.5  Disclaimer

Original  source  code,  scripts  and  automation  included  as  part  of  this  package  are  
distributed  under  the  GNU  GENERAL  PUBLIC  LICENSE  agreement  version  3.    Binary  
executable  files  and  third-­‐party  source  code  included  as  part  of  this  software  
package  are  copyrighted  and  licensed  by  their  respective  organizations,  and  
distributed  consistent  with  their  licensing  terms.

The  University  of  Wisconsin-­‐Madison  Space  Science  and  Engineering  Center  (SSEC)  
makes  no  warranty  of  any  kind  with  regard  to  the  CSPP  software  or  any  
accompanying  documentation,  including  but  not  limited  to  the  implied  warranties  of  
merchantability  and  fitness  for  a  particular  purpose.    SSEC  does  not  indemnify  any  
infringement  of  copyright,  patent,  or  trademark  through  the  use  or  modification  of  
this  software.
There  is  no  expressed  or  implied  warranty  made  to  anyone  as  to  the  suitability  of  
this  software  for  any  purpose.    All  risk  of  use  is  assumed  by  the  user.    Users  agree  
not  to  hold  SSEC,  the  University  of  Wisconsin-­‐Madison,  or  any  of  its  employees  or  
assigns  liable  for  any  consequences  resulting  from  the  use  of  the  CSPP  software.

 
Section  2:  CSPP  Geo  GRB  Processing  Modes

2.1  Processing  Modes

The  GRB  software  can  be  run  in  either  of  two  processing  modes,  “streaming  mode”  
or  “command-­‐line  mode”.  The  following  sections  describe  these  two  modes,  
including  input  data  requirements.

In  both  modes,  output  is  written  to  NetCDF-­‐4  files  in  the  format  described  in  the  
PUG.

For  more  information  on  the  software  interface,  refer  to  the  “CSPP  Geo  GRB  
Software  Version  0.3  Interface  Control  Document,  20150917”  (ICD),  available  on  the  
CSPP  Geo  web  site.    

2.2  CSPP  Geo  GRB  in  Streaming  Mode

In  streaming  mode,  the  GRB  software  runs  as  a  daemon,  reading  a  GRB  data  stream  
over  a  single  socket  and  writing  output  to  NetCDF-­‐4.    Input  must  be  in  the  form  of  
UDP  datagrams  containing  Consultative  Committee  for  Space  Data  Systems  (CCSDS)  
Channel  Access  Data  Unit  (CADU)  frames,  each  exactly  2048  bytes  in  length.  For  
more  information,  see  Appendix  A:  Creating  input  data  for  streaming  mode.

Data  can  be  read  from  two  sockets  to  simultaneously  process  right-­‐hand  and  left-­‐
hand  polarization  streams,  as  described  in  the  ICD.

The  main  control  script  for  extracting  CCSDS  packets  from  the  GRB  data  stream  is  
cspp-­‐rt-­‐grb.sh.    This  script  uses  the  Java  Service  Wrapper  to  start  a  GRB  
ingestor.    The  service  wrapper  will  monitor  the  ingestor  and  restart  in  the  event  of  
any  failure.

The  GRB  ingestor  will  watch  for  UDP  traffic  simultaneously  on  two  network  ports.    It  
extracts  CADU  frames,  assembles  the  CADUs  into  CCSDS  packets,  filters  unwanted  
(e.g.  idle)  packets,  and  bundles  desired  packets  in  intermediate  output  files  by  
packet  count  or  elapsed  time  according  to  your  site  configuration  (see  Appendix  B:  
Streaming  Mode  Configuration  Settings),  with  a  default  bundling  of  one  file  written  
every  30  seconds.  These  bundles  will  be  written  to  the  location  specified  by  the  
environment  variable  CSPP_GEO_RTCSPP_OUT.    

The  packet  bundle  file  naming  convention  is  described  in  Appendix  C:  Intermediate  
CCSDS  file  naming  convention.
After  each  packet  bundle  is  written,  the  GRB  Reconstruction  software  (see  
“Command-­‐Line  Mode”)  is  automatically  executed  to  process  the  GRB  space  packets,  
assembling  the  data  payloads  into  NetCDF-­‐4  files.  These  files  will  be  written  to  the  
location  specified  by  the  environment  variable  CSPP_GEO_GRBR_OUT.    SUVI  
Flexible  Image  Transport  System  (FITS)  files  can  currently  be  created  manually.    See  
Appendix  D:  Creating  FITS  Files  for  more  information.    

2.3  CSPP  Geo  GRB  in  Command-­‐Line  Mode

In  command-­‐line  mode,  the  software  is  explicitly  called  by  the  user  at  the  command  
line,  and  processes  binary  files  containing  CCSDS  packets.  Refer  to  the  ICD  for  
details  on  input  requirements.

To  see  an  example  of  input  files,  run  the  GRB  software  in  streaming  mode,  and  have  
a  look  at  the  intermediate  files  left  in  the  location  specified  by  the  environment  
variable  CSPP_GEO_RTCSPP_OUT.

To  run  in  command-­‐line  mode,  provide  any  number  of  CCSDS  packet  bundles  to  the  
GRB  reconstruction  script:

cspp-grbr.sh filename [filename …]

Output  can  be  found  in  the  location  specified  by  the  environment  variable  
CSPP_GEO_GRBR_OUT.

 
Section  3:  Installation  and  Running  the  Test  Case

3.1.1  System  Configuration

Given  the  high  data  rate  for  the  GRB  signal,  it  is  recommended  the  maximum  
network  send  and  receive  buffer  sizes  be  increased  from  their  default  settings.  This  
will  provide  more  flexibility  to  keep  up  with  the  data  rate  in  the  event  of  short-­‐lived  
fluctuations  on  system  resources  demands.  To  check  the  values  of  the  buffer  sizes:
cat /proc/sys/net/core/rmem_max
cat /proc/sys/net/core/wmem_max

CSPP  Geo  GRB  will  not  run  if  the  values  do  not  meet  or  exceed  16777216.  Our  
suggested  settings  are  below;  you  will  likely  need  root  access  on  your  machine  to  
make  these  changes.

echo 16777216 > /proc/sys/net/core/rmem_max


echo 16777216 > /proc/sys/net/core/wmem_max

In  order  to  retain  these  settings  between  system  reboots,  placing  both  lines  at  the  
end  of  /etc/rc.local  is  one  way  to  configure  kernel  parameters  in  Linux.  This  
should  be  done  in  addition  to  executing  the  two  lines  interactively  during  initial  
installation  and  testing.

3.1.2  Installation  of  GRB  software

Download  the  following  file  from  the  CSPP  Geo  web  site,
http://download.ssec.wisc.edu/files/csppgeo/  :
cspp-geo-grb-0.3.tar.gz

Install  the  software  as  shown  below  (a  new  directory  named  cspp-­‐geo-­‐grb-­‐0.3  will  
be  created).    In  this  example,  the  tar  files  are  assumed  to  be  in  the  user’s  home  
directory.
tar xzf cspp-geo-grb-0.3.tar.gz

Set  the  CSPP_GEO_GRB_HOME  environment  variable  to  the  name  of  the  directory  
where  CSPP  Geo  GRB  was  installed  ($HOME/cspp-geo-grb-0.3  in  this  example),  
and  then  execute  the  environment  setup  script  as  shown  below:

export CSPP_GEO_GRB_HOME=$HOME/cspp-geo-grb-0.3
source $CSPP_GEO_GRB_HOME/grb_env.sh

These  lines  can  be  added  to  your  shell  login  script  if  you  plan  to  run  the  GRB  
software  again.

The  default  settings  of  environment  variables,  such  as  CSPP_GEO_GRB_OUT  can  be  
modified  in  the  grb_env.sh  script.    For  the  rest  of  this  document,  we  assume  you  
have  set  up  your  environment  accordingly.

To  start  the  GRB  ingestor  running:


cspp-rt-grb.sh start

This  command  starts  up  a  daemon  process  which  runs  in  the  background,  listening  
for  GRB  data  on  ports  5530  and  5531.    To  verify  correct  startup  and  data  processing,  
you  can  tail  the  log  file:

tail -n 15 -f $CSPP_GEO_GRB_HOME/output/var/log/grb.log

In  the  log,  you  should  see  information  similar  to:


INFO | jvm 1 | 2015/09/02 19:31:13 | APID to process: 1162
INFO | jvm 1 | 2015/09/02 19:31:13 | APID to process: 1163
INFO | jvm 1 | 2015/09/02 19:31:13 | APID to process: 1280
INFO | jvm 1 | 2015/09/02 19:31:13 | APID to process: 1281
INFO | jvm 1 | 2015/09/02 19:31:13 | APID to process: 1408
INFO | jvm 1 | 2015/09/02 19:31:13 | Link Name: grb-bundle
INFO | jvm 1 | 2015/09/02 19:31:13 | finishSetup() in...
This  section  of  the  log  shows  the  tail  end  of  the  list  of  APIDs  the  ingestor  will  
process,  and  indicates  the  final  node  in  the  processing  chain,  which  writes  GRB  
packet  bundles  to  disk.

If  the  GRB  ingestor  was  not  able  to  start,  the  last  line  of  the  log  will  look  this  this:

STATUS |wrapper| 2015/08/21 23:24:04 | <-- Wrapper Stopped

The  likely  cause  of  the  error  is  either  insufficient  maximum  network  buffer  sizes,  or  
the  ports  required  by  the  GRB  ingestor  are  not  available.      Refer  to  Section  3.1.1  to  
check  the  maximum  network  buffer  sizes.    To  check  the  availability  of  ports  5530  
and  5531,  run  the  following  commands  (root  access  required):

sudo lsof -i -n | grep 5530


sudo lsof -i -n | grep 5531

If  the  ports  are  free,  the  command  should  not  return  any  output.    If  you  encounter  
output,  you  can  resolve  the  problem  by  shutting  down  or  reconfiguring  the  program  
that  is  using  the  ports,  or  by  configuring  the  GRB  ingestor  to  use  different  ports  (see  
Appendix  B).    Then  start  the  ingestor  as  described  above.

To  stop  the  GRB  ingestor:

cspp-rt-grb.sh stop

3.2    Running  the  GRB  Test  Case

If  you  want  to  run  the  test  case,  download  the  following  file:

cspp-geo-grb-test-data-0.3.tar.gz

This  tarball  contains  GRB  test  data  for  all  six  supported  instruments  in  the  form  of  
CCSDS  packets,  as  well  as  a  data  feeder  test  script.  The  test  script  frames  the  packets  
into  CADUs,  then  sends  the  data  as  UDP  datagrams  to  the  ports  monitored  by  the  
CSPP  Geo  GRB  software,  simulating  a  GRB  data  stream  as  delivered  by  a  
demodulator.

The  test  data  should  be  unpacked  in  a  directory  separate  from  the  CSPP  Geo  GRB  
installation,  e.g.:
cd $HOME
tar xzf cspp-geo-grb-test-data-0.3.tar.gz

First,  start  the  GRB  ingestor:

cspp-rt-grb.sh start

The  GRB  ingestor  is  now  up  and  waiting  for  data.
Now  change  to  the  testing  directory:

cd $HOME/cspp-geo-grb-test-data-0.3

Run  the  data-­‐feeder  test  script.

./test-grb.sh

The  test  should  take  about  7  minutes  to  run.    You  should  see  some  screen  output  
similar  to:
Sending to 127.0.0.1:5530 (LHCP) and 127.0.0.1:5531 (RHCP)
Start at: 2015-09-09 15:49:44.708745
Sent 100 of 100 files; 89986 packets; 564835 cadus; 1148877064
bytes..
Done at: 2015-09-09 15:54:51.076428
Effective bytes per second: 3749994.29689
Highest single burst: 2177245
Test complete. Waiting for end-of-stream flush...

To  confirm  the  test  ran  successfully,  compare  the  number  of  packets  sent  (89986)  
with  the  number  of  packets  processed  by  running  this  command:

grep "Num packets"


$CSPP_GEO_GRB_HOME/output/var/log/grb.log|tail -n 1

If  the  test  ran  successfully,  you  will  see  output  similar  to:

INFO| jvm 1 | 2015/09/09 16:09:10 | Num packets seen: 89986

which  matches  the  number  of  packets  sent  in  the  output  above.  In  addition,  there  
will  be  CCSDS  GRB  packet  bundles  in  $CSPP_GEO_RTCSPP_OUT  (default  is  
$CSPP_GEO_GRB_HOME/output/RT-CSPP),  similar  to:

GRB_0_131_2015-­‐04-­‐06T16:44:19.983Z.ccsds
GRB_0_304_2015-­‐04-­‐06T15:38:17.375Z.ccsds
GRB_0_132_2015-­‐04-­‐06T16:44:31.956Z.ccsds
…etc.,  each  file  containing  a  site-­‐configurable  number  of  packets.

You  should  also  find  reassembled  NetCDF-­‐4  product  files  in  


$CSPP_GEO_GRBR_OUT  (default  is  $CSPP_GEO_GRB_HOME/output/GRB-R),  
similar  to:

ABI-­‐L1b-­‐RadM2-­‐M3C13_G16_s2015167133301.nc
EXIS-­‐EUV_G16_s2015167110434.nc
GLM_G16_s2015167133209.nc
MAG_G16_s2015167133301.nc
SEISS-­‐EHI_G16_s2015167133200.nc
SUVI-­‐Fe094_G16_s2015167134914.nc
When  the  test  is  complete,  stop  the  GRB  ingestor:

cspp-rt-grb.sh stop

Note  that,  for  this  prototype  release,  output  cleanup  is  left  to  the  user.  
Reconstructed  NetCDF-­‐4  files  are  named  based  on  the  data,  so  it  is  recommended  
that  you  remove  any  files  in  $CSPP_GEO_GRBR_OUT  before  re-­‐running  any  test  
cases  to  avoid  unexpected  behavior  when  the  software  tries  to  reconstruct  a  file  that  
already  exists.

Also  note  that  NetCDF-­‐4  reconstructor  processes  can  remain  running  for  up  to  five  
minutes  after  the  test  script  has  stopped  sending  data.

3.3    Creating  GRB  Quicklook  Images

After  the  GRB  test  case  has  been  successfully  run,  you  may  generate  PNG  quicklook  
images  from  the  ABI  NetCDF-­‐4  files  that  were  created  by  running  the  cspp-­‐ql-­‐grb.sh  
script.  The  general  form  of  the  invocation  is:

cspp-ql-grb.sh file_name(s)

To  generate  quicklook  images  for  all  ABI  NetCDF-­‐4  files,  specify  the  file  pattern  with  
wildcards  as  shown  below.  Note  this  will  result  in  over  600  images,  and  may  take  
more  than  10  minutes.
cspp-ql-grb.sh $CSPP_GEO_GRBR_OUT/ABI*.nc

To  generate  quicklook  images  for  only  full  disk  or  CONUS  NetCDF-­‐4  files,  use  one  of  
the  invocations  below.
cspp-ql-grb.sh $CSPP_GEO_GRBR_OUT/ABI-L1b-RadF*.nc
cspp-ql-grb.sh $CSPP_GEO_GRBR_OUT/ABI-L1b-RadC*.nc

Quicklooks  can  be  generated  much  more  quickly  by  running  multiple  jobs  in  
parallel,  using  the  Linux  “xargs”  command.  The  following  invocation  generates  the  
same  quicklooks  in  just  a  few  minutes,  using  8  cores:
ls ${CSPP_GEO_GRBR_OUT}/ABI*.nc | xargs -t -n1 -P8 cspp-ql-grb.sh

An  example  quicklook  image  of  the  derived  ABI  CONUS  L1b  Radiances  for  Channel  3  
for  20150616  at  13:34:23Z  is  shown  on  the  next  page:
 
If  large  rectangular  white  areas  are  visible  in  quicklooks  generated  from  test  case  
output,  it  is  an  indication  that  one  or  more  ABI  image  packets  were  dropped  during  
the  test.  Check  that  the  system  meets  the  minimum  hardware  requirements,  that  the  
system  memory  buffers  were  configured  as  previously  described  in  this  document,  
and  that  there  are  no  other  jobs  consuming  significant  resources  or  other  
performance  issues  with  the  test  machine  when  the  test  case  is  run.

Quicklook  images  for  instruments  other  than  ABI  are  not  supported  in  this  release.
Section  5:  Known  Issues

5.1    Caveats  and  known  issues

1. The  NetCDF-­‐4  output  file  naming  convention  is  likely  to  change  in  a  future  
release,  during  a  finalization  step  that  cleans  up  the  output  and  renames  the  
file  to  match  the  dataset_name  attribute  in  the  metadata.  Currently,  no  
cleanup  of  intermediate  files  is  performed  for  this  prototype  release.  
 
2. The  GRB  software  currently  uses  a  large  number  of  processes;  this  will  
improve  in  future  releases.  If  grb.log  reports  “java.io.IOException:
Cannot run program ".../cspp-geo-grb-0.3/scripts/cspp-
grbr.sh": error=11, Resource temporarily unavailable”,  
you  have  likely  encountered  the  user  process  limit  on  your  system,  which  
could  cause  the  software  to  miss  packets.  Many  environments  set  this  limit  at  
1024  processes  but  will  allow  a  user  to  increase  their  own  limit  for  a  session  
via:  `ulimit -u 3000`,  where  3000  is  a  limit  that  we’ve  found  sufficient.  

Appendix  A:  Creating  Input  Data  for  Streaming  Mode

A  file  containing  GRB  CCSDS  packets  (i.e.  a  “CCSDS  bundle”)  can  be  run  through  the  
GRB  software  in  streaming  mode  by  first  converting  it  into  the  format  of  the  DOE  
NetCDF-­‐4  GRB  files,  then  running  it  through  a  sender  script.
 
First,  run  the  script  ‘ccsds2nc.py’  to  convert  one  or  more  CCSDS  bundles  to  a  
NetCDF-­‐4  file:
$CSPP_GEO_GRBR_HOME/ShellB3/bin/python \
$CSPP_GEO_GRB_HOME/GRB-R/src/ccsds2nc.py output.nc ccsds_file
[ccsds_file ...]

To  process  the  data,  run  the  script  sender.py.  Refer  to  test-grb.sh  as  an  example  
for  how  to  do  this.  

Appendix  B:  Streaming  Mode  Configuration  Settings

Configuration  changes  for  the  GRB  ingestor  streaming  mode  can  be  made  by  editing  
the  following  file:

$CSPP_GEO_RTCSPP_HOME/jsw/conf/grb-ingestor.conf

The  parameters  of  interest  to  most  sites  will  be  found  in  the  Java  Additional  
Parameters  section,  and  include  the  two  parameters,  which  dictate  how  often  a  
CCSDS  packet  bundle  for  a  particular  APID  is  written  to  disk:
wrapper.java.additional.5=-DMAX_PACKETS_PER_BUNDLE=1000
wrapper.java.additional.6=-DMAX_ELAPSED_TIME_PER_BUNDLE=30

These  two  parameters  constrain  how  often  the  ingestor  writes  a  packet  bundle;  in  
this  case,  either  every  1,000  packets,  or  every  30  seconds,  whichever  occurs  first  for  
each  selected  APID.    

Most  other  configuration  parameters  should  remain  at  the  default  values.    For  
example,  the  IP  address  and  network  ports  are  set  to  default  values  for  the  GRB  
Simulator.  If  your  site  needs  to  change  the  default  IP  address  and  network  ports,  
edit  these  three  lines:

wrapper.java.additional.8=-DsourceIpAddress=localhost
wrapper.java.additional.9=-DleftPort=5530
wrapper.java.additional.10=-DrightPort=5531

To  run  the  GRB  Test  Case  as  described  in  section  3.2,  the  sender.py  script  in  the  
test  data  package  will  also  require  changes.    Edit  these  three  lines:
UDP_IP = '127.0.0.1'
UDP_LEFT_PORT = 5530 # port for left-hand polarization data
UDP_RIGHT_PORT = 5531 # port for right-hand polarization
data

To  activate  an  interface  to  the  IP  address  acting  as  the  source  of  your  data,  such  as  a  
demodulator  or  GRB  simulator,  run  the  following  command:
ifconfig <interface> <IP address of demod>

For  questions  on  any  other  parameters,  contact  SSEC  via  the  CSPP  Geo  web  site.

Appendix  C:    Intermediate  CCSDS  file  naming  convention

This  appendix  describes  the  naming  convention  of  the  intermediate  CCSDS  files  that  
are  written  by  the  ingestor  when  running  in  streaming  mode.  Note  that  this  is  
simply  the  convention  used  by  the  ingestor,  and  is  not  a  requirement  for  processing  
in  command-­‐line  mode.

The  file  naming  pattern  is:

GRB_SID_APD_YYYY-MM-DDThh:mm:ss.sssZ.ccsds

This  file  naming    pattern  represents:


GRB:  Data  source,  always  “GRB”
SID:  Spacecraft  ID:  Currently  zero,  but  expect  250  for  live  GOES-­‐R  data
APD:  The  hexadecimal  APID  this  data  bundle  contains  (reference    
PUG  Vol.  4  Table  A.1)  
YYYY-MM-DD:  Year,  Month,  and  Day  the  packet  bundle  was  written,  e.g.  2013-­‐07-­‐16  
T:  Delimiter  between  date  and  time,  <date>T<time>,  as  per  ISO-­‐8601  specification
hh:mm:ss.sss:  Hours,  minutes,  seconds,  and  milliseconds
Z:  Time  zone  designator,  always  “Z”  indicating  UTC,  per  ISO-­‐8601  specification
           ccsds:  suffix,  always  “ccsds”

A  sample  packet  bundle  filename  might  be:

GRB_0_303_2015-03-25T07:32:03.722Z.ccsds

Appendix  D:  Creating  FITS  files

A  utility  is  included  to  convert  SUVI  NetCDF-­‐4  files  to  FITS  format.  To  use  it,  run:

$CSPP_GEO_GRBR_HOME/ShellB3/bin/python \
$CSPP_GEO_GRBR_HOME/src/suvi-nc2fits.py input.nc

A  .fits  file  will  be  created  in  the  same  directory  as  the  input.  The  CSPP  Geo  team  
would  like  to  solicit  feedback  from  FITS  users  to  help  us  ensure  that  these  files  work  
with  their  downstream  software.    Please  use  the  “Contact  Us”  link  on  the  CSPP  Geo  
web  site  to  submit  any  feedback.

Appendix  E:  Validating  input  data  for  command-­‐line  mode

To  validate  CCSDS  packet  bundles,  run:


$CSPP_GEO_GRB_HOME/GRB-R/ShellB3/bin/python \
$CSPP_GEO_GRB_HOME/GRB-R/src/validator.py -v bundle.ccsds

If  any  issues  are  found  in  the  data,  errors  or  warnings  will  be  printed  to  screen.  If  
there  is  no  output,  no  problems  were  found.  Note  that  not  all  errors  are  fatal  for  GRB  
processing.
 
The  validator  currently  only  checks  the  packet  headers  for  valid  values,  but  will  
become  more  full-­‐featured  in  future  releases.

Example  1:  In  this  case,  assembler  ID  12  is  not  consistent  with  the  PUG  Vol.  4,  
however  GRB  processing  will  not  be  affected

$CSPP_GEO_GRB_HOME/GRB-R/src/validator.py -v \
GRB_0_137_2015-02-06T11:36:54.239GMT.ccsds
WARNING:__main__:Unrecognized assembler_id: 12
ERROR:__main__:1 errors found in packet @ offset 0
WARNING:__main__:Unrecognized assembler_id: 12
ERROR:__main__:1 errors found in packet @ offset 16390
Example  2:  In  this  case,  the  packet  payload  headers  are  missing  valid  times.  This  
could  cause  GRB  processing  to  overwrite  files.
$CSPP_GEO_GRB_HOME/GRB-R/src/validator.py -v \
GRB_0_300_2015-06-04T23:00:00.327GMT.ccsds
WARNING:__main__:Invalid (<= 0) seconds_since_epoch: 0
WARNING:__main__:Invalid (<= 0) microseconds_of_second: 0
ERROR:__main__:2 errors found in packet @ offset 0

Appendix  F:  Configuring  which  data  to  process  by  Application  Identifier  
(APID)

Which  GRB  products  are  created  is  controlled  by  an  XML  configuration  file,  located  
in:

$CSPP_GEO_RTCSPP_HOME/config/GRB.xml

By  default,  all  APIDs  defined  in  the  PUG  (reference  PUG  Vol.  4  Table  A.1) are  
processed.  If  your  site  wishes  to  change  the  default  settings  (for  example,  if  your  site  
is  only  interested  in  ABI,  and  would  prefer  to  filter  out  data  for  all  other  
instruments),  edit  the  XML  file  and  comment  out  all  occurrences  of  XML  elements  
for  the  APIDs  you  wish  to  remove.    The  standard  html  comment  tag  of  “<!-­‐-­‐  ...  -­‐-­‐>”    
can  be  used.  For  example,  to  filter  out  data  for  the  SEISS  Solar  and  Galactic  Protons,  
search  for  that  term,  and  comment  out  each  XML  element  for  the  metadata  and  data  
APIDs  so  it  looks  like:

<!-- 430 1072 SEISS Solar and Galactic Protons Metadata -->
<!-- <pklink appid="1072" label="apid1072" /> -->
<!-- 431 1073 SEISS Solar and Galactic Protons Data -->
<!-- <pklink appid=”1073” label=”apid1073” /> -->

Note,  there  are  currently  five  references  in  GRB.xml  for  each  APID  (one  for  each  
node  in  the  RT-­‐CSPP  processing  pipeline).  For  each  APID  you  want  to  stop  
processing,  all  five  XML  elements  must  be  commented  out.  This  may  be  simplified  in  
a  future  release.  For  each  APID,  both  the  hexadecimal  and  decimal  values  are  
provided  in  the  XML  descriptions  (in  the  above  example  hexadecimal  0x430,  
decimal  1072  for  the  metadata  and  0x431,  decimal  1073  for  the  data).

You might also like