OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
L1B_Setup.h
Go to the documentation of this file.
1 #ifndef L1B_SETUP_H
2 #define L1B_SETUP_H
3 
4 /*
5 !C-INC***********************************************************************
6 !Description: Public header file containing macros, structure definitions
7  and external function declarations.
8 
9 !Revision History:
10  $Log: L1B_Setup.h,v $
11  Revision 1.11 2006-10-30 10:00:12-05 ltan
12  Changed for ANSI-C compliance. Correction for the generation of code change log.
13 
14  Revision 01.13, April 15, 2002 Razor Issue #182
15  Applicable to MODIS/TERRA (PFM) processing only.
16  Moved function prototype for Calculate_B26_B5_Correction to L1B_SetupP.h.
17  Alice Isaacman, SAIC GSO (Alice.R.Isaacman.1@gsfc.nasa.gov)
18 
19  Revision 01.12, March 19, 2002 Razor Issue #182
20  Applicable to MODIS/TERRA (PFM) processing only.
21  Added function prototype for Calculate_B26_B5_Correction.
22  Alice Isaacman, SAIC GSO (Alice.R.Isaacman.1@gsfc.nasa.gov)
23 
24  Revision 01.03 November 19, 2001 Razor Issue #169
25  Added skip_night_hi_res to argument lists
26  Alice Isaacman SAIC GSO (Alice.R.Isaacman.1@gsfc.nasa.gov)
27 
28  Revision 01.02 October 29, 2000
29  Changes made for issue 142, Added external function
30  "Determine_Other_Missing_Scans".
31  Jim Rogers (rogers@mcst.gsfc.nasa.gov)
32 
33  Revision 01.01 Feb 10, 1999
34  Moved declaration of Write_L1B_ScanMeta into here to make as external
35  function called by main().
36  Jim Rogers (rogers@mcst.gsfc.nasa.gov)
37 
38  Revision 01.00 Feb 2, 1999
39  Initial development
40  This was formed from declarations in L1B.c as part of the
41  process of separating L1B_Setup out into its own module.
42  Jim Rogers (rogers@mcst.gsfc.nasa.gov)
43 
44 !Team-unique Header:
45  This software is developed by the MODIS Characterization Support
46  Team (MCST)for the National Aeronautics and Space Administration,
47  Goddard Space Flight Center, under contract NAS5-32373.
48 
49 !References and Credits:
50  HDF portions developed at the National Center for Supercomputing
51  Applications at the University of Illinois at Urbana-Champaign.
52 
53 !Design Notes:
54 
55 !END********************************************************************
56 */
57 
58 #include "L1B_Tables.h"
59 #include "Granule.h"
60 
61 /*
62  * L1B_Scan_Metadata_t: holds data for writing the scan metadata to the
63  * L1B output granules. Most of the members are assigned/filled in
64  * L1B_Setup(). Additional member(s) are filled in Emissive_Cal during
65  * the loop through scans. After the loop through scans, these data are
66  * written by "Write_L1B_ScanMeta".
67  */
68 
69 typedef struct {
70  int32 v_id[NUM_L1B_EV_FILES];
71  int32 sd_id[NUM_L1B_EV_FILES];
72  int32 num_scans;
73  int32 Complete_Scan_Flag;
74  int32 EV_frames;
75  float32 Nadir_Frame_Latitude[MAX_NUM_SCANS];
76  float32 Nadir_Frame_Longitude[MAX_NUM_SCANS];
77  int32 Nadir_Frame_Number;
78  float32 Nadir_Frame_Solar_Azimuth[MAX_NUM_SCANS];
79  float32 Nadir_Frame_Solar_Zenith[MAX_NUM_SCANS];
80  int16 MirrorSide[MAX_NUM_SCANS];
81  char ScanType[MAX_NUM_SCANS][SCAN_TYPE_TEXT_SIZE];
82  float64 EVStartTime_TAIsecond[MAX_NUM_SCANS];
83  uint32 Bit_QA_Flags[MAX_NUM_SCANS];
85 
86 /*
87  * Function prototypes.
88  */
89 
91  L1A_granule_t *L1A_Gran);
92 
93  PGSt_SMF_status L1B_Setup (lookup_tables_t *lookup_tables,
94  L1A_granule_t *L1A_Gran,
95  L1B_granule_t *L1B_Gran,
96  L1A_Scan_t *L1A_Scan,
97  L1B_Scan_t *L1B_Scan,
98  QA_Data_t *QA,
99  L1B_Scan_Metadata_t *L1B_Scan_Meta,
100  boolean skip_night_hi_res);
101 
102  PGSt_SMF_status Write_L1B_ScanMeta
103  (L1B_Scan_Metadata_t *L1B_Scan_Meta,
104  L1A_granule_t *L1A_Gran,
105  QA_Data_t *QA,
106  boolean skip_night_hi_res);
107 
108 #endif
109 
110 
111 
112 
integer, parameter int16
Definition: cubeio.f90:3
an array had not been initialized Several spelling and grammar corrections were which is read from the appropriate MCF the above metadata values were hard coded A problem calculating the average background DN for SWIR bands when the moon is in the space view port was corrected The new algorithm used to calculate the average background DN for all reflective bands when the moon is in the space view port is now the same as the algorithm employed by the thermal bands For non SWIR changes in the averages are typically less than Also for non SWIR the black body DNs remain a backup in case the SV DNs are not available For SWIR the changes in computed averages were larger because the old which used the black body suffered from contamination by the micron leak As a consequence of the if SV DNs are not available for the SWIR the EV pixels will not be the granule time is used to identify the appropriate tables within the set given for one LUT the first two or last two tables respectively will be used for the interpolation If there is only one LUT in the set of tables
Definition: HISTORY.txt:695
PGSt_SMF_status Write_L1B_ScanMeta(L1B_Scan_Metadata_t *L1B_Scan_Meta, L1A_granule_t *L1A_Gran, QA_Data_t *QA, boolean skip_night_hi_res)
Definition: L1B_Setup.c:4810
@ NUM_L1B_EV_FILES
Definition: Granule.h:590
#define MAX_NUM_SCANS
Definition: Granule.h:422
PGSt_SMF_status Determine_Other_Missing_Scans(lookup_tables_t *tables, L1A_granule_t *L1A_Gran)
Definition: L1B_Setup.c:5242
PGSt_SMF_status L1B_Setup(lookup_tables_t *lookup_tables, L1A_granule_t *L1A_Gran, L1B_granule_t *L1B_Gran, L1A_Scan_t *L1A_Scan, L1B_Scan_t *L1B_Scan, QA_Data_t *QA, L1B_Scan_Metadata_t *L1B_Scan_Meta, boolean skip_night_hi_res)
Definition: L1B_Setup.c:218
#define SCAN_TYPE_TEXT_SIZE
Definition: Granule.h:481