diff --git a/include/ancillary.h b/include/ancillary.h
new file mode 100644
index 0000000000000000000000000000000000000000..5c30bf1a7945da02cea26f42600bbbcd18302dd8
--- /dev/null
+++ b/include/ancillary.h
@@ -0,0 +1,41 @@
+/*******************************************************************************
+Description:
+
+  Header file ancillary.h
+  Contains pointers to all ancillary data necessary for processing granule.
+  Access through structure variable 'grn_anc'.
+
+Revision History:
+  10/2012     R. Frey   Original version
+
+*******************************************************************************/
+
+// For obtaininig and processing ancillary data.
+float *g_sfct1;
+float *g_sfct2;
+float *g_snow;
+float *g_ice;
+float *g_frocn;
+float *g_frlandice;
+float *g_phis;
+float *g_tpw1;
+float *g_tpw2;
+float *g_lst;
+float *ti_sfct;
+float *ti_tpw;
+int nwp_rows;
+int nwp_cols;
+long int nwp_cells;
+
+// Ancillary data for entire granule.
+struct granule_ancillary {
+  float *reynSST;
+  float *ndvibk;
+  unsigned char *eco;
+  float *sfct;
+  float *tpw;
+  float *snowfr;
+  float *landicefr;
+  float *icefr;
+  float *geos_ocnfr;
+} grn_anc;
diff --git a/include/mask_processing_constants.h b/include/mask_processing_constants.h
new file mode 100644
index 0000000000000000000000000000000000000000..bc1b6da55db210a96cf2253e42e8533a4c0fc92a
--- /dev/null
+++ b/include/mask_processing_constants.h
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ Description:
+
+   Header file mask_processing_constants.h
+   Contains definitions for various processing constants.
+
+   Revision History:
+   09/2012     R. Frey   Original version
+   11/2012     R. Frey   Changed 'badsza_data' to 'badgeo_data'.
+   08/2013     R. Frey   Eliminated 'max_vza' and 
+                         added 'MODIS_max_vza' and 'VIIRS_max_vza'.
+   08/2015     R. Frey   Added "min" and "max" macros.
+
+*******************************************************************************/
+
+#define nlcntx 3
+#define necntx 3
+#define lines_in_edge (nlcntx-1)/2
+#define elems_in_edge (necntx-1)/2
+#define num_diffs_surr (nlcntx * necntx) - 1
+#define num_test_groups 5
+#define min(a,b)  ((a) < (b) ? (a) : (b))
+#define MODIS_max_vza 65.49
+#define VIIRS_max_vza 70.13
+#define dtr (3.14159 / 180.0)
+#define rtd (180.0 / 3.14159)
+#define bad_data -999.0
+#define badgeo_data -327.67
+#define conf_clr_thresh 0.99
+#define prob_clr_thresh 0.95
+#define prob_cld_thresh 0.66
+
+#ifndef min
+#define min(a,b)  ((a) < (b) ? (a) : (b))
+#endif
+
+#ifndef max
+#define max(a,b)  ((a) < (b) ? (b) : (a))
+#endif
diff --git a/include/sst.h b/include/sst.h
new file mode 100644
index 0000000000000000000000000000000000000000..2ba3d377f28dff54ddfa5ee4b8f084c04fbc8fd6
--- /dev/null
+++ b/include/sst.h
@@ -0,0 +1,26 @@
+/**********************************************************************
+Description:
+
+  Header file sst.h
+  Defines Reynolds "sst" structures.
+
+Revision History:
+  10/2012   R. Frey     Original version
+
+***********************************************************************/
+
+typedef struct {
+  int headerLen1;
+  int startYear;
+  int startMonth;
+  int startDay;
+  int endYear;
+  int endMonth;
+  int endDay;
+  int unknown1;
+  int unknown2;
+  int headerLen2;
+  int numSSTValues1;
+  float values[180][360];
+  int numSSTValues2;
+} SST;