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.7 2006-10-27 11:50:35-04 ltan
12  Changed for ANSI-C compliance. Correction for the generation of code change log.
13 
14  Revision 01.03 November 19, 2001 Razor Issue #169
15  Added skip_night_hi_res to argument lists
16  Alice Isaacman SAIC GSO (Alice.R.Isaacman.1@gsfc.nasa.gov)
17 
18  Revision 01.02 October 29, 2000
19  Changes made for issue 142, Added external function
20  "Determine_Other_Missing_Scans".
21  Jim Rogers (rogers@mcst.gsfc.nasa.gov)
22 
23  Revision 01.01 Feb 10, 1999
24  Moved declaration of Write_L1B_ScanMeta into here to make as external
25  function called by main().
26  Jim Rogers (rogers@mcst.gsfc.nasa.gov)
27 
28  Revision 01.00 Feb 2, 1999
29  Initial development
30  This was formed from declarations in L1B.c as part of the
31  process of separating L1B_Setup out into its own module.
32  Jim Rogers (rogers@mcst.gsfc.nasa.gov)
33 
34 !Team-unique Header:
35  This software is developed by the MODIS Characterization Support
36  Team (MCST)for the National Aeronautics and Space Administration,
37  Goddard Space Flight Center, under contract NAS5-32373.
38 
39 !References and Credits:
40  HDF portions developed at the National Center for Supercomputing
41  Applications at the University of Illinois at Urbana-Champaign.
42 
43 !Design Notes:
44 
45 !END********************************************************************
46 */
47 
48 #include "L1B_Tables.h"
49 #include "Granule.h"
50 
51 /*
52  * L1B_Scan_Metadata_t: holds data for writing the scan metadata to the
53  * L1B output granules. Most of the members are assigned/filled in
54  * L1B_Setup(). Additional member(s) are filled in Emissive_Cal during
55  * the loop through scans. After the loop through scans, these data are
56  * written by "Write_L1B_ScanMeta".
57  */
58 
59 typedef struct {
60  int32 v_id[NUM_L1B_EV_FILES];
61  int32 sd_id[NUM_L1B_EV_FILES];
62  int32 num_scans;
64  int32 EV_frames;
65  float32 Nadir_Frame_Latitude[MAX_NUM_SCANS];
66  float32 Nadir_Frame_Longitude[MAX_NUM_SCANS];
68  float32 Nadir_Frame_Solar_Azimuth[MAX_NUM_SCANS];
69  float32 Nadir_Frame_Solar_Zenith[MAX_NUM_SCANS];
70  int16 MirrorSide[MAX_NUM_SCANS];
72  float64 EVStartTime_TAIsecond[MAX_NUM_SCANS];
73  uint32 Bit_QA_Flags[MAX_NUM_SCANS];
75 
76 /*
77  * Function prototypes.
78  */
79 
81  L1A_granule_t *L1A_Gran);
82 
83  PGSt_SMF_status L1B_Setup (lookup_tables_t *lookup_tables,
84  L1A_granule_t *L1A_Gran,
85  L1B_granule_t *L1B_Gran,
86  L1A_Scan_t *L1A_Scan,
87  L1B_Scan_t *L1B_Scan,
88  QA_Data_t *QA,
89  L1B_Scan_Metadata_t *L1B_Scan_Meta,
90  boolean skip_night_hi_res);
91 
92  PGSt_SMF_status Write_L1B_ScanMeta
93  (L1B_Scan_Metadata_t *L1B_Scan_Meta,
94  L1A_granule_t *L1A_Gran,
95  QA_Data_t *QA,
96  boolean skip_night_hi_res);
97 
98 #endif
99 
100 
101 
102 
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
int32 Complete_Scan_Flag
Definition: L1B_Setup.h:63
@ NUM_L1B_EV_FILES
Definition: Granule.h:590
#define MAX_NUM_SCANS
Definition: Granule.h:422
int32 Nadir_Frame_Number
Definition: L1B_Setup.h:67
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