Skip to content
/ ccast Public

CCAST: CrIS Calibration Algorithm and Sensor Testbed

License

Notifications You must be signed in to change notification settings

motteler/ccast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview
---------
  ccast is software to take level zero data from the Cross-track
  Infrared Sounder (CrIS), a Fourier transform spectrometer on the
  Suomi NPP and JPSS weather satellites, and produce high-quality
  calibrated radiances.  It is written primarily in Matlab, allowing
  for easy interaction, modification, and data visualization.  Input
  is a CCSDS packet stream, typically with an HDF5 wrapper, and the
  output is Matlab-format HDF5 SDR files.

Features
---------
  Transparent reference truth.  The UMBC calibration algorithm uses
  "flat" reference truth, with a simple sinc basis at the user-grid
  OPD.  This gives residuals similar to the NOAA and UW algorithms,
  which use reference truth convolved with instrument responsivity.
  But changing the definition of reference truth in that way amounts
  to adjusting the ruler to fit the measured quantity.
  
  Periodic sinc at the decimated sensor grid for the ILS.  This is
  in contrast with simple sinc and an extended transform matrix, as
  used by UW and NOAA.  Periodic sinc gives the correct basis, and
  worked better than simple sinc (including sinc with various matrix
  extensions) in our tests.  This is mostly significant for the SW
  band.

  A "ratio first" calibration algorithm as the default.  This takes
  the ratio (ES - SP) / (IT - SP) before doing the self-apodization
  correction.  ccast can also do "SA (self apodization correction)
  first," as an option.  Ratio first allows for better cancellation
  of instrument artifacts.  See doc/ccast_eqns for more details.

  Processing at the full sensor-grid decimated OPD, the "extended
  resolution" point set.  Points between the user- and sensor-grid
  OPD are given a cosine apodization.  This in contrast with the UW
  and NOAA algorithms, which approximate a circular shift followed
  by truncation.

  Spectral interpolation to the low (aka "standard") res user grid
  vs truncating interferograms to the original low-res sensor grid
  spec.  Interpolation is better for quality and consistency with
  high res, while truncation may be slightly better for consistency
  with obs before the switch to high res mode.

  Cleaner and simpler resampling, from noticing that several of 
  the proposed resampling algorithms converged as n -> inf and were
  being evaluated at "large n" (the undecimated point set), a value
  large enough that the differences were not significant.

  Simplicity and speed.  The package consists of less that 10,000
  lines of code, with about 5,000 lines of that for the main source
  directory.  Translation from RDR to L1a and from L1a to L1b/SDR
  each take about 1 second/scan on a single core.

Limitations
------------
  ccast does not do polarization or Doppler corrections, although we
  have tested Doppler corrections as a post-processing step.  These
  corrections may give the UW processing a small advantage in the SW,
  but this should be be balanced against questionable reference truth
  and use of simple rather than periodic sinc for the ILS.

Top level directories
----------------------
  doc        - documentation
  source     - main source directory
  test       - test and development 
  motmsc     - a few assorted utilities
  batch      - batch processing scripts
  davet      - Dave Tobin/UW components
  readers    - MIT reader with local mods
  inst_data  - instrument-specific data
  npp_MWx    - hacks for the NPP MW dropout
  
Documentation
--------------
  doc/sdr_format.txt   - ccast SDR field definitions
  doc/ccast_eqns       - overview of ILS and calibration equations
  doc/nonlin_notes     - notes on the ccast nonlinearity correction
  doc/nedn_notes       - notes on the ccast NEdN measurement
  doc/finterp          - notes on double-Fourier interpolation
  source/README        - short descriptions of most functions

Focal plane fitting
--------------------
  The ccast focal plane fitting is done in another repo, cris_test.
  See the directories focal_fit_npp and focal_fit_j1 there for more
  info.  The SA inverse matrices produced there are copied to the
  ccast directory inst_data and specified in the various opts files
  in the ccast/source directory.

To Do
------
  - write up
  - ccast is not currently under active development

  - it might be useful to add doppler and polarization corrections
  - since psinc is used for the ILS, it would be interesting to try
    it for reference truth, as well

About

CCAST: CrIS Calibration Algorithm and Sensor Testbed

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages