OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
L1A_prototype.h File Reference
#include "hdf.h"
#include "mapi.h"
#include "PGS_IO.h"
#include "PGS_SMF.h"
#include "EN_eng_data.h"
#include "FP_failed_pkt_queue.h"
#include "MD_metadata.h"
#include "PD_pkt_data.h"
#include "PH_pkt_hdr.h"
#include "SC_scan.h"
#include "VU_vdata_utility.h"
#include "PC_pcf_info.h"
Include dependency graph for L1A_prototype.h:

Go to the source code of this file.

Macros

#define MAX_INPUTS   3
 
#define SECTOR_TIME_OFFSETS   5
 

Functions

PGSt_SMF_status accumulate_failed_packets (PGSt_IO_L0_Packet *pkt, FP_QUEUE_t failed_pkts)
 
int16 attached_Vdata_counter (int16 action)
 
PGSt_SMF_status check_checksum (PH_PACKET_HEADER_t pkt_header, uint16 *pkt_contents)
 
void close_processing_run (PGSt_IO_L0_VirtualDataSet L0_file)
 
PGSt_SMF_status close_Vdata (char *Vdata_name)
 
void compute_SD_start_time (PH_PACKET_HEADER_t *pkt_header, PGSt_double *SD_start_time)
 
void compute_global_time_offsets (PGSt_double scan_rate)
 
PGSt_SMF_status create_L1A_granule (EN_VDATA_TYPE_t *eng_data, int16 nscans, MODFILE **L1A_file_ptr)
 
PGSt_SMF_status create_Vdata (char *Vdata_name, char field_names[][VU_MAX_NAME_LENGTH], char data_types[][VU_MAX_DATA_TYPE_STRING_LENGTH], int16 num_fields, uint16 order[])
 
PGSt_SMF_status create_Vdata_field (char *Vdata_name, int32 Vdata_id, char *field_name, char *data_type, int32 order)
 
void create_eng_data_vdata_array (char *eng_data_name, EN_VDATA_TYPE_t *eng_data, uint16 *curr_eng_data_index, uint16 *curr_field_index)
 
void create_eng_data_vdata_array_field (char *field_name, uint16 num_bits, uint16 start_bit_pos, uint16 order, uint16 type, EN_VDATA_TYPE_t *eng_data, uint16 curr_eng_data_index, uint16 *curr_field_index)
 
void create_missing_scans (int16 prev_scan_num, PGSt_double scan_rate, PGSt_double *SD_start_time, MD_SCAN_MET_t *scan_metadata, SC_PIXEL_QUALITY_DATA_t *pixel_qual_data)
 
char * dequeue (FP_QUEUE_t Q)
 
PGSt_SMF_status end_Vdata_access_to_file (MODFILE *L1A_file)
 
PGSt_SMF_status end_eng_data_access_to_file (MODFILE *L1A_file, EN_VDATA_TYPE_t *eng_data)
 
PGSt_SMF_status enqueue (char *item, FP_QUEUE_t Q)
 
int16 equal_strings (char *a, char *b)
 
uint32 extr_bits (uint8 *a, int start_byte, int start_bit, int num_bits)
 
void finalize_pixel_qual_data (SC_PIXEL_QUALITY_DATA_t *scan_pixel, MD_SCAN_MET_t *scan_meta)
 
void finalize_scan_metadata (MD_SCAN_MET_t *scan_meta, int16 num_packets)
 
void forget (char *Vdata_name)
 
void free_queue (FP_QUEUE_t Q)
 
int16 get_empty_slot (void)
 
int16 get_index (char *Vdata_name)
 
int16 get_number_of_attached_Vdatas (void)
 
PGSt_SMF_status get_pcf_config_data (PCF_CONFIG_t *pcf_config)
 
PGSt_SMF_status get_valid_L0_file (PGSt_tag spacecraft_tag, PGSt_IO_L0_VirtualDataSet *L0_file, PGSt_double *start_time, PGSt_double *stop_time)
 
PGSt_SMF_status handle_missing_scans (MODFILE *L1A_file_ptr, PGSt_double SD_start_time, PGSt_double *pre_SD_time, PGSt_double scan_rate, int *scan_number, MD_ECS_GRA_INV_MET_t *ecs_gran_meta, MD_L1A_SPECIFIC_MET_t *L1A_specific_meta, PGSt_SMF_boolean *gran_start_time_used, PGSt_double gran_start_time, EN_VDATA_TYPE_t *eng_data)
 
PGSt_SMF_status init_L1A_HDF_sdss (MODFILE *L1A_file_ptr, int16 nscans)
 
PGSt_SMF_status init_L1A_HDF_vdatas (EN_VDATA_TYPE_t *eng_data, MODFILE *L1A_file)
 
PGSt_SMF_status init_L1A_pix_qual_HDF_sdss (MODFILE *mfile, int nscans)
 
PGSt_SMF_status init_L1A_scan_data_HDF_sdss (MODFILE *mfile, int nscans)
 
PGSt_SMF_status init_L1A_scan_meta_HDF_sdss (MODFILE *mfile, int nscans)
 
PGSt_SMF_status initialize_global_metadata (PGSt_double gran_start_time, PGSt_double gran_end_time, int nscans, PCF_CONFIG_t *pcf_config, MD_ECS_GRA_INV_MET_t *ecs_gra_inv_met, MD_L1A_SPECIFIC_MET_t *l1a_specific_met)
 
void initialize_id_table (void)
 
PGSt_SMF_status initialize_level1a (PCF_CONFIG_t *pcf_config, EN_VDATA_TYPE_t *eng_data, PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *pkt_header, PGSt_IO_L0_VirtualDataSet *L0_file)
 
void initialize_pixel_qual_data (SC_PIXEL_QUALITY_DATA_t *scan_pixel)
 
void initialize_scan (SC_SCAN_DATA_t *L1A_scan, SC_PIXEL_QUALITY_DATA_t *scan_pixel, MD_SCAN_MET_t *scan_meta)
 
void initialize_scan_metadata (MD_SCAN_MET_t *scan_meta)
 
void initialize_scan_data (SC_SCAN_DATA_t *L1A_scan)
 
int32 L1A_datatype_to_DFNT (char *datatype)
 
PGSt_SMF_status load_eng_data (PGSt_double scan_rate, EN_VDATA_TYPE_t *eng_data, PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *pkt_header, PGSt_IO_L0_VirtualDataSet L0_file)
 
void log_fmt_msg (PGSt_SMF_status code, const char *routine, const char *msg_fmt,...)
 
FP_QUEUE_t make_queue (void)
 
void output_daymode_data_to_scan (PH_PACKET_HEADER_t *pkt_header, uint16 *pkt_contents, SC_SCAN_DATA_t *L1A_scan)
 
void output_eng1_pkt1_to_scan (PGSt_IO_L0_Packet *pkt, SC_SCAN_DATA_t *L1A_scan)
 
void output_eng1_pkt2_to_scan (PGSt_IO_L0_Packet *pkt, SC_SCAN_DATA_t *L1A_scan)
 
void output_eng2_pkt1_to_scan (PGSt_IO_L0_Packet *pkt, SC_SCAN_DATA_t *L1A_scan)
 
void output_eng2_pkt2_to_scan (PGSt_IO_L0_Packet *pkt, SC_SCAN_DATA_t *L1A_scan)
 
void output_eng_data_to_scan (PH_PACKET_HEADER_t *pkt_header, PGSt_IO_L0_Packet *pkt, SC_SCAN_DATA_t *L1A_scan)
 
void output_nightmode_data_to_scan (PH_PACKET_HEADER_t *pkt_header, uint16 *pkt_contents, SC_EV_1KM_NIGHT EV_1km_night)
 
PGSt_SMF_status packet_of_scan (PH_PACKET_HEADER_t *pkt_header, PGSt_double next_scan_start_time, int8 *previous_scan_count, SC_SCAN_PROC_STATE_t scan_proc_state[5], PGSt_IO_L0_VirtualDataSet *L0_file)
 
PGSt_SMF_status parse_eng_data_list (EN_VDATA_TYPE_t *eng_data)
 
PGSt_SMF_status process_a_granule (PGSt_IO_L0_VirtualDataSet L0_file, PGSt_double gran_start_time, PGSt_double gran_end_time, PCF_CONFIG_t *pcf_config, EN_VDATA_TYPE_t *eng_data, PH_PACKET_HEADER_t *pkt_header, PGSt_IO_L0_Packet *pkt, FP_QUEUE_t *failed_pkts)
 
PGSt_SMF_status process_a_packet (PGSt_IO_L0_VirtualDataSet *L0_file, PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *packet_header, uint16 *packet_cont)
 
PGSt_SMF_status process_a_scan (int *scan_number, PGSt_IO_L0_Packet *pkt, PGSt_double *scan_rate, PGSt_double *scan_time, SC_SCAN_DATA_t *L1A_scan, MD_SCAN_MET_t *scan_meta, EN_VDATA_TYPE_t *eng_data, FP_QUEUE_t *failed_pkts, PH_PACKET_HEADER_t *pkt_header, SC_PIXEL_QUALITY_DATA_t *scan_pixel, PGSt_IO_L0_VirtualDataSet *L0_file)
 
void process_cp_hk_tlmy (EN_VDATA_TYPE_t *eng_data, PGSt_IO_L0_Packet *eng_pkt_2_1, uint16 scan_number)
 
void process_eng_packet (EN_VDATA_TYPE_t *eng_data, int scan_number, PH_PACKET_HEADER_t *pkt_header, PGSt_IO_L0_Packet *pkt)
 
void process_group2_packet1_vdata (PGSt_IO_L0_Packet *pkt, EN_VDATA_TYPE_t *eng_data)
 
PGSt_SMF_status process_next_packet (PGSt_IO_L0_VirtualDataSet *L0_file, PH_PACKET_HEADER_t **packet_header)
 
void process_sci_eng_data (EN_VDATA_TYPE_t *eng_data, PGSt_IO_L0_Packet *eng_pkt_1_2, uint16 scan_number)
 
void put_cal_data_in_scan (PH_PACKET_HEADER_t *pkt_header, uint16 *pkt_cont, SC_CAL_250M SC_250m, SC_CAL_500M SC_500m, SC_CAL_1KM_DAY SC_1km_day, SC_CAL_1KM_NIGHT SC_1km_night)
 
void put_earth_data_in_scan (PH_PACKET_HEADER_t *pkt_header, uint16 *pkt_cont, SC_EV_250M SC_250m, SC_EV_500M SC_500m, SC_EV_1KM_DAY SC_1km_day, SC_EV_1KM_NIGHT SC_1km_night)
 
void put_pkt_cont_in_scan (PH_PACKET_HEADER_t pkt_header, PGSt_IO_L0_Packet *pkt, uint16 *pkt_contents, SC_SCAN_DATA_t *L1A_scan)
 
PGSt_SMF_status read_a_packet (PGSt_IO_L0_VirtualDataSet *L0_file, PGSt_IO_L0_Packet *pkt)
 
int32 recall_id (char *Vdata_name)
 
void remember (char *Vdata_name, int32 Vdata_id)
 
void reset_last_valid_scan (EN_VDATA_TYPE_t *eng_data)
 
PGSt_SMF_status set_start_position (PGSt_IO_L0_VirtualDataSet L0_file, PGSt_double *preload_start_time, PGSt_double start_time, PGSt_double stop_time)
 
PGSt_SMF_status unpack_MODIS_header (PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *packet_header)
 
void unpack_packet_contents (PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *pkt_header, uint16 *pkt_contents)
 
PGSt_SMF_status unpack_packet_header (PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *packet_header)
 
PGSt_SMF_status unpack_primary_header (PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *packet_header)
 
PGSt_SMF_status unpack_secondary_header (PGSt_IO_L0_Packet *pkt, PH_PACKET_HEADER_t *packet_header)
 
void update_eng_data (uint16 index, PGSt_IO_L0_Packet *eng_packet, uint16 scan_number, EN_VDATA_TYPE_t *eng_data, int use_cp_prior_offset)
 
void update_eng_data_for_maj_cycle_n (uint16 major_cycle, PGSt_IO_L0_Packet *eng_pkt_2_1, uint16 scan_number, EN_VDATA_TYPE_t *eng_data, int is_cp_hk_prior_section)
 
void update_global_metadata (MD_SCAN_MET_t *scan_meta, MD_ECS_GRA_INV_MET_t *ecs_gra_inv_met, MD_L1A_SPECIFIC_MET_t *l1a_specific_met)
 
void update_pixel_qual_data (PH_PACKET_HEADER_t pkt_header, int16 qual_value, SC_PIXEL_QUALITY_DATA_t *scan_pix)
 
void update_scan_metadata (PH_PACKET_HEADER_t packet_header, PGSt_SMF_status packetStatus, MD_SCAN_MET_t *scan_meta, int16 *qual_value)
 
int validate_L0_header (PGSt_IO_L0_VirtualDataSet L0_file)
 
PGSt_SMF_status write_ECS_metadata (PGSt_MET_all_handles md_handles, MD_ECS_GRA_INV_MET_t *ecs_gra_inv_met)
 
PGSt_SMF_status write_Vdata (char *Vdata_name, unsigned char *data, int32 num_records)
 
PGSt_SMF_status write_eng_data (EN_VDATA_TYPE_t *eng_data)
 
PGSt_SMF_status write_failed_packets (FP_QUEUE_t failed_pkts)
 
PGSt_SMF_status write_global_metadata (MODFILE *mfile, PGSt_MET_all_handles md_handles, MD_ECS_GRA_INV_MET_t *ecs_gra_inv_met, MD_L1A_SPECIFIC_MET_t *l1a_specific_met)
 
PGSt_SMF_status write_pix_qual (MODFILE *L1A_file_ptr, SC_PIXEL_QUALITY_DATA_t *pix_qual, int16 scan_num)
 
PGSt_SMF_status write_scan (MODFILE *L1A_file_ptr, SC_SCAN_DATA_t *L1A_scan, MD_SCAN_MET_t *scan_meta, SC_PIXEL_QUALITY_DATA_t *pix_qual, FP_QUEUE_t failed_pkts, EN_VDATA_TYPE_t *eng_data)
 
PGSt_SMF_status write_scan_data (MODFILE *L1A_file_ptr, SC_SCAN_DATA_t *L1A_scan, int16 scan_num, char *scan_type)
 
PGSt_SMF_status write_scan_metadata (MODFILE *L1A_file_ptr, MD_SCAN_MET_t *scan_meta)
 
PGSt_SMF_status write_specific_granule_metadata (MODFILE *mfile, MD_L1A_SPECIFIC_MET_t *l1a_specific_met)
 

Variables

char global_input_pointer [MAX_INPUTS][PGSd_PC_VALUE_LENGTH_MAX]
 
PGSt_double global_time_offset_array [SECTOR_TIME_OFFSETS]
 
PGSt_double global_first_gran_start_time
 
PGSt_double global_last_gran_stop_time
 

Macro Definition Documentation

◆ MAX_INPUTS

#define MAX_INPUTS   3

Definition at line 182 of file L1A_prototype.h.

◆ SECTOR_TIME_OFFSETS

#define SECTOR_TIME_OFFSETS   5

Definition at line 187 of file L1A_prototype.h.

Function Documentation

◆ accumulate_failed_packets()

PGSt_SMF_status accumulate_failed_packets ( PGSt_IO_L0_Packet *  pkt,
FP_QUEUE_t  failed_pkts 
)

Definition at line 9 of file accumulate_failed_packets.c.

◆ attached_Vdata_counter()

int16 attached_Vdata_counter ( int16  action)

Definition at line 7 of file attached_Vdata_counter.c.

◆ check_checksum()

PGSt_SMF_status check_checksum ( PH_PACKET_HEADER_t  pkt_header,
uint16 *  pkt_contents 
)

Definition at line 9 of file check_checksum.c.

◆ close_processing_run()

void close_processing_run ( PGSt_IO_L0_VirtualDataSet  L0_file)

Definition at line 6 of file close_processing_run.c.

◆ close_Vdata()

PGSt_SMF_status close_Vdata ( char *  Vdata_name)

Definition at line 8 of file close_Vdata.c.

◆ compute_global_time_offsets()

void compute_global_time_offsets ( PGSt_double  scan_rate)

Definition at line 5 of file compute_global_time_offsets.c.

◆ compute_SD_start_time()

void compute_SD_start_time ( PH_PACKET_HEADER_t pkt_header,
PGSt_double *  SD_start_time 
)

Definition at line 7 of file compute_SD_start_time.c.

◆ create_eng_data_vdata_array()

void create_eng_data_vdata_array ( char *  eng_data_name,
EN_VDATA_TYPE_t eng_data,
uint16 *  curr_eng_data_index,
uint16 *  curr_field_index 
)

Definition at line 7 of file create_eng_data_vdata_array.c.

◆ create_eng_data_vdata_array_field()

void create_eng_data_vdata_array_field ( char *  field_name,
uint16  num_bits,
uint16  start_bit_pos,
uint16  order,
uint16  type,
EN_VDATA_TYPE_t eng_data,
uint16  curr_eng_data_index,
uint16 *  curr_field_index 
)

Definition at line 7 of file create_eng_data_vdata_array_field.c.

◆ create_L1A_granule()

PGSt_SMF_status create_L1A_granule ( EN_VDATA_TYPE_t eng_data,
int16  nscans,
MODFILE **  L1A_file_ptr 
)

Definition at line 10 of file create_L1A_granule.c.

◆ create_missing_scans()

void create_missing_scans ( int16  prev_scan_num,
PGSt_double  scan_rate,
PGSt_double *  SD_start_time,
MD_SCAN_MET_t scan_metadata,
SC_PIXEL_QUALITY_DATA_t pixel_qual_data 
)

Definition at line 8 of file create_missing_scans.c.

◆ create_Vdata()

PGSt_SMF_status create_Vdata ( char *  Vdata_name,
char  field_names[][VU_MAX_NAME_LENGTH],
char  data_types[][VU_MAX_DATA_TYPE_STRING_LENGTH],
int16  num_fields,
uint16  order[] 
)

Definition at line 9 of file create_Vdata.c.

◆ create_Vdata_field()

PGSt_SMF_status create_Vdata_field ( char *  Vdata_name,
int32  Vdata_id,
char *  field_name,
char *  data_type,
int32  order 
)

Definition at line 8 of file create_Vdata_field.c.

◆ dequeue()

char* dequeue ( FP_QUEUE_t  Q)

Definition at line 5 of file dequeue.c.

◆ end_eng_data_access_to_file()

PGSt_SMF_status end_eng_data_access_to_file ( MODFILE *  L1A_file,
EN_VDATA_TYPE_t eng_data 
)

Definition at line 9 of file end_eng_data_access_to_file.c.

◆ end_Vdata_access_to_file()

PGSt_SMF_status end_Vdata_access_to_file ( MODFILE *  L1A_file)

Definition at line 8 of file end_Vdata_access_to_file.c.

◆ enqueue()

PGSt_SMF_status enqueue ( char *  item,
FP_QUEUE_t  Q 
)

Definition at line 7 of file enqueue.c.

◆ equal_strings()

int16 equal_strings ( char *  a,
char *  b 
)

Definition at line 6 of file equal_strings.c.

◆ extr_bits()

uint32 extr_bits ( uint8 *  a,
int  start_byte,
int  start_bit,
int  num_bits 
)

Not able to extract that many bits, so just return error msg

Calculate the end byte and bit

Build the extracted number

Start byte


shift right the hexadecimal constant "Oxff"

(start_bit) times and AND it to a[start_byte],

then ret = the result

Middle byte


shift left ret 8 times and OR it with a[i] and

ret = the result

End byte


shift right a[end_byte] (7 - end_bit) times and

AND it with the hexadecimal constant "0xff",

then OR this with the result of ret shifted

left (end_bit + 1) times, then ret = the result

shift right ret (7 - end_bit) times andi,

ret = the result

Definition at line 6 of file extr_bits.c.

◆ finalize_pixel_qual_data()

void finalize_pixel_qual_data ( SC_PIXEL_QUALITY_DATA_t scan_pixel,
MD_SCAN_MET_t scan_meta 
)

Definition at line 8 of file finalize_pixel_qual_data.c.

◆ finalize_scan_metadata()

void finalize_scan_metadata ( MD_SCAN_MET_t scan_meta,
int16  num_packets 
)

Definition at line 7 of file finalize_scan_metadata.c.

◆ forget()

void forget ( char *  Vdata_name)

Definition at line 8 of file forget.c.

◆ free_queue()

void free_queue ( FP_QUEUE_t  Q)

Definition at line 6 of file free_queue.c.

◆ get_empty_slot()

int16 get_empty_slot ( void  )

Definition at line 6 of file get_empty_slot.c.

◆ get_index()

int16 get_index ( char *  Vdata_name)

Definition at line 6 of file get_index.c.

◆ get_number_of_attached_Vdatas()

int16 get_number_of_attached_Vdatas ( void  )

Definition at line 6 of file get_number_of_attached_Vdatas.c.

◆ get_pcf_config_data()

PGSt_SMF_status get_pcf_config_data ( PCF_CONFIG_t pcf_config)

Definition at line 11 of file get_pcf_config_data.c.

◆ get_valid_L0_file()

PGSt_SMF_status get_valid_L0_file ( PGSt_tag  spacecraft_tag,
PGSt_IO_L0_VirtualDataSet *  L0_file,
PGSt_double *  start_time,
PGSt_double *  stop_time 
)

Definition at line 9 of file get_valid_L0_file.c.

◆ handle_missing_scans()

PGSt_SMF_status handle_missing_scans ( MODFILE *  L1A_file_ptr,
PGSt_double  SD_start_time,
PGSt_double *  pre_SD_time,
PGSt_double  scan_rate,
int *  scan_number,
MD_ECS_GRA_INV_MET_t ecs_gran_meta,
MD_L1A_SPECIFIC_MET_t L1A_specific_meta,
PGSt_SMF_boolean *  gran_start_time_used,
PGSt_double  gran_start_time,
EN_VDATA_TYPE_t eng_data 
)

Definition at line 9 of file handle_missing_scans.c.

◆ init_L1A_HDF_sdss()

PGSt_SMF_status init_L1A_HDF_sdss ( MODFILE *  L1A_file_ptr,
int16  nscans 
)

Definition at line 7 of file init_L1A_HDF_sdss.c.

◆ init_L1A_HDF_vdatas()

PGSt_SMF_status init_L1A_HDF_vdatas ( EN_VDATA_TYPE_t eng_data,
MODFILE *  L1A_file 
)

Definition at line 12 of file init_L1A_HDF_vdatas.c.

◆ init_L1A_pix_qual_HDF_sdss()

PGSt_SMF_status init_L1A_pix_qual_HDF_sdss ( MODFILE *  mfile,
int  nscans 
)

Definition at line 9 of file init_L1A_pix_qual_HDF_sdss.c.

◆ init_L1A_scan_data_HDF_sdss()

PGSt_SMF_status init_L1A_scan_data_HDF_sdss ( MODFILE *  mfile,
int  nscans 
)

Definition at line 12 of file init_L1A_scan_data_HDF_sdss.c.

◆ init_L1A_scan_meta_HDF_sdss()

PGSt_SMF_status init_L1A_scan_meta_HDF_sdss ( MODFILE *  mfile,
int  nscans 
)

Definition at line 9 of file init_L1A_scan_meta_HDF_sdss.c.

◆ initialize_global_metadata()

PGSt_SMF_status initialize_global_metadata ( PGSt_double  gran_start_time,
PGSt_double  gran_end_time,
int  nscans,
PCF_CONFIG_t pcf_config,
MD_ECS_GRA_INV_MET_t ecs_gra_inv_met,
MD_L1A_SPECIFIC_MET_t l1a_specific_met 
)

Definition at line 13 of file initialize_global_metadata.c.

◆ initialize_id_table()

void initialize_id_table ( void  )

Definition at line 4 of file initialize_id_table.c.

◆ initialize_level1a()

PGSt_SMF_status initialize_level1a ( PCF_CONFIG_t pcf_config,
EN_VDATA_TYPE_t eng_data,
PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t pkt_header,
PGSt_IO_L0_VirtualDataSet *  L0_file 
)

Definition at line 14 of file initialize_level1a.c.

◆ initialize_pixel_qual_data()

void initialize_pixel_qual_data ( SC_PIXEL_QUALITY_DATA_t scan_pixel)

Definition at line 6 of file initialize_pixel_qual_data.c.

◆ initialize_scan()

void initialize_scan ( SC_SCAN_DATA_t L1A_scan,
SC_PIXEL_QUALITY_DATA_t scan_pixel,
MD_SCAN_MET_t scan_meta 
)

Definition at line 6 of file initialize_scan.c.

◆ initialize_scan_data()

void initialize_scan_data ( SC_SCAN_DATA_t L1A_scan)

Definition at line 4 of file initialize_scan_data.c.

◆ initialize_scan_metadata()

void initialize_scan_metadata ( MD_SCAN_MET_t scan_meta)

Definition at line 5 of file initialize_scan_metadata.c.

◆ L1A_datatype_to_DFNT()

int32 L1A_datatype_to_DFNT ( char *  datatype)

Definition at line 9 of file L1A_datatype_to_DFNT.c.

◆ load_eng_data()

PGSt_SMF_status load_eng_data ( PGSt_double  scan_rate,
EN_VDATA_TYPE_t eng_data,
PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t pkt_header,
PGSt_IO_L0_VirtualDataSet  L0_file 
)

Definition at line 10 of file load_eng_data.c.

◆ log_fmt_msg()

void log_fmt_msg ( PGSt_SMF_status  code,
const char *  routine,
const char *  msg_fmt,
  ... 
)

Definition at line 6 of file log_fmt_msg.c.

◆ make_queue()

FP_QUEUE_t make_queue ( void  )

Definition at line 6 of file make_queue.c.

◆ output_daymode_data_to_scan()

void output_daymode_data_to_scan ( PH_PACKET_HEADER_t pkt_header,
uint16 *  pkt_contents,
SC_SCAN_DATA_t L1A_scan 
)

Definition at line 7 of file output_daymode_data_to_scan.c.

◆ output_eng1_pkt1_to_scan()

void output_eng1_pkt1_to_scan ( PGSt_IO_L0_Packet *  pkt,
SC_SCAN_DATA_t L1A_scan 
)

Definition at line 7 of file output_eng1_pkt1_to_scan.c.

◆ output_eng1_pkt2_to_scan()

void output_eng1_pkt2_to_scan ( PGSt_IO_L0_Packet *  pkt,
SC_SCAN_DATA_t L1A_scan 
)

Definition at line 7 of file output_eng1_pkt2_to_scan.c.

◆ output_eng2_pkt1_to_scan()

void output_eng2_pkt1_to_scan ( PGSt_IO_L0_Packet *  pkt,
SC_SCAN_DATA_t L1A_scan 
)

Definition at line 8 of file output_eng2_pkt1_to_scan.c.

◆ output_eng2_pkt2_to_scan()

void output_eng2_pkt2_to_scan ( PGSt_IO_L0_Packet *  pkt,
SC_SCAN_DATA_t L1A_scan 
)

Definition at line 7 of file output_eng2_pkt2_to_scan.c.

◆ output_eng_data_to_scan()

void output_eng_data_to_scan ( PH_PACKET_HEADER_t pkt_header,
PGSt_IO_L0_Packet *  pkt,
SC_SCAN_DATA_t L1A_scan 
)

Definition at line 7 of file output_eng_data_to_scan.c.

◆ output_nightmode_data_to_scan()

void output_nightmode_data_to_scan ( PH_PACKET_HEADER_t pkt_header,
uint16 *  pkt_contents,
SC_EV_1KM_NIGHT  EV_1km_night 
)

Definition at line 8 of file output_nightmode_data_to_scan.c.

◆ packet_of_scan()

PGSt_SMF_status packet_of_scan ( PH_PACKET_HEADER_t pkt_header,
PGSt_double  next_scan_start_time,
int8 *  previous_scan_count,
SC_SCAN_PROC_STATE_t  scan_proc_state[5],
PGSt_IO_L0_VirtualDataSet *  L0_file 
)

◆ parse_eng_data_list()

PGSt_SMF_status parse_eng_data_list ( EN_VDATA_TYPE_t eng_data)

Definition at line 14 of file parse_eng_data_list.c.

◆ process_a_granule()

PGSt_SMF_status process_a_granule ( PGSt_IO_L0_VirtualDataSet  L0_file,
PGSt_double  gran_start_time,
PGSt_double  gran_end_time,
PCF_CONFIG_t pcf_config,
EN_VDATA_TYPE_t eng_data,
PH_PACKET_HEADER_t pkt_header,
PGSt_IO_L0_Packet *  pkt,
FP_QUEUE_t *  failed_pkts 
)

Definition at line 9 of file process_a_granule.c.

◆ process_a_packet()

PGSt_SMF_status process_a_packet ( PGSt_IO_L0_VirtualDataSet *  L0_file,
PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t packet_header,
uint16 *  packet_cont 
)

Definition at line 17 of file process_a_packet.c.

◆ process_a_scan()

PGSt_SMF_status process_a_scan ( int *  scan_number,
PGSt_IO_L0_Packet *  pkt,
PGSt_double *  scan_rate,
PGSt_double *  scan_time,
SC_SCAN_DATA_t L1A_scan,
MD_SCAN_MET_t scan_meta,
EN_VDATA_TYPE_t eng_data,
FP_QUEUE_t *  failed_pkts,
PH_PACKET_HEADER_t pkt_header,
SC_PIXEL_QUALITY_DATA_t scan_pixel,
PGSt_IO_L0_VirtualDataSet *  L0_file 
)

Definition at line 13 of file process_a_scan.c.

◆ process_cp_hk_tlmy()

void process_cp_hk_tlmy ( EN_VDATA_TYPE_t eng_data,
PGSt_IO_L0_Packet *  eng_pkt_2_1,
uint16  scan_number 
)

Definition at line 7 of file process_cp_hk_tlmy.c.

◆ process_eng_packet()

void process_eng_packet ( EN_VDATA_TYPE_t eng_data,
int  scan_number,
PH_PACKET_HEADER_t pkt_header,
PGSt_IO_L0_Packet *  pkt 
)

Definition at line 10 of file process_eng_packet.c.

◆ process_group2_packet1_vdata()

void process_group2_packet1_vdata ( PGSt_IO_L0_Packet *  pkt,
EN_VDATA_TYPE_t eng_data 
)

Definition at line 9 of file process_group2_packet1_vdata.c.

◆ process_next_packet()

PGSt_SMF_status process_next_packet ( PGSt_IO_L0_VirtualDataSet *  L0_file,
PH_PACKET_HEADER_t **  packet_header 
)

Definition at line 140 of file process_a_packet.c.

◆ process_sci_eng_data()

void process_sci_eng_data ( EN_VDATA_TYPE_t eng_data,
PGSt_IO_L0_Packet *  eng_pkt_1_2,
uint16  scan_number 
)

Definition at line 7 of file process_sci_eng_data.c.

◆ put_cal_data_in_scan()

void put_cal_data_in_scan ( PH_PACKET_HEADER_t pkt_header,
uint16 *  pkt_cont,
SC_CAL_250M  SC_250m,
SC_CAL_500M  SC_500m,
SC_CAL_1KM_DAY  SC_1km_day,
SC_CAL_1KM_NIGHT  SC_1km_night 
)

Definition at line 8 of file put_cal_data_in_scan.c.

◆ put_earth_data_in_scan()

void put_earth_data_in_scan ( PH_PACKET_HEADER_t pkt_header,
uint16 *  pkt_cont,
SC_EV_250M  SC_250m,
SC_EV_500M  SC_500m,
SC_EV_1KM_DAY  SC_1km_day,
SC_EV_1KM_NIGHT  SC_1km_night 
)

Definition at line 8 of file put_earth_data_in_scan.c.

◆ put_pkt_cont_in_scan()

void put_pkt_cont_in_scan ( PH_PACKET_HEADER_t  pkt_header,
PGSt_IO_L0_Packet *  pkt,
uint16 *  pkt_contents,
SC_SCAN_DATA_t L1A_scan 
)

Definition at line 7 of file put_pkt_cont_in_scan.c.

◆ read_a_packet()

PGSt_SMF_status read_a_packet ( PGSt_IO_L0_VirtualDataSet *  L0_file,
PGSt_IO_L0_Packet *  pkt 
)

Definition at line 9 of file read_a_packet.c.

◆ recall_id()

int32 recall_id ( char *  Vdata_name)

Definition at line 8 of file recall_id.c.

◆ remember()

void remember ( char *  Vdata_name,
int32  Vdata_id 
)

Definition at line 8 of file remember.c.

◆ reset_last_valid_scan()

void reset_last_valid_scan ( EN_VDATA_TYPE_t eng_data)

Definition at line 5 of file reset_last_valid_scan.c.

◆ set_start_position()

PGSt_SMF_status set_start_position ( PGSt_IO_L0_VirtualDataSet  L0_file,
PGSt_double *  preload_start_time,
PGSt_double  start_time,
PGSt_double  stop_time 
)

Definition at line 10 of file set_start_position.c.

◆ unpack_MODIS_header()

PGSt_SMF_status unpack_MODIS_header ( PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t packet_header 
)

Definition at line 11 of file unpack_MODIS_header.c.

◆ unpack_packet_contents()

void unpack_packet_contents ( PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t pkt_header,
uint16 *  pkt_contents 
)

Definition at line 7 of file unpack_packet_contents.c.

◆ unpack_packet_header()

PGSt_SMF_status unpack_packet_header ( PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t packet_header 
)

Definition at line 9 of file unpack_packet_header.c.

◆ unpack_primary_header()

PGSt_SMF_status unpack_primary_header ( PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t packet_header 
)

Definition at line 7 of file unpack_primary_header.c.

◆ unpack_secondary_header()

PGSt_SMF_status unpack_secondary_header ( PGSt_IO_L0_Packet *  pkt,
PH_PACKET_HEADER_t packet_header 
)

Definition at line 11 of file unpack_secondary_header.c.

◆ update_eng_data()

void update_eng_data ( uint16  index,
PGSt_IO_L0_Packet *  eng_packet,
uint16  scan_number,
EN_VDATA_TYPE_t eng_data,
int  use_cp_prior_offset 
)

Definition at line 8 of file update_eng_data.c.

◆ update_eng_data_for_maj_cycle_n()

void update_eng_data_for_maj_cycle_n ( uint16  major_cycle,
PGSt_IO_L0_Packet *  eng_pkt_2_1,
uint16  scan_number,
EN_VDATA_TYPE_t eng_data,
int  is_cp_hk_prior_section 
)

Definition at line 7 of file update_eng_data_for_maj_cycle_n.c.

◆ update_global_metadata()

void update_global_metadata ( MD_SCAN_MET_t scan_meta,
MD_ECS_GRA_INV_MET_t ecs_gra_inv_met,
MD_L1A_SPECIFIC_MET_t l1a_specific_met 
)

Definition at line 8 of file update_global_metadata.c.

◆ update_pixel_qual_data()

void update_pixel_qual_data ( PH_PACKET_HEADER_t  pkt_header,
int16  qual_value,
SC_PIXEL_QUALITY_DATA_t scan_pix 
)

Definition at line 8 of file update_pixel_qual_data.c.

◆ update_scan_metadata()

void update_scan_metadata ( PH_PACKET_HEADER_t  packet_header,
PGSt_SMF_status  packetStatus,
MD_SCAN_MET_t scan_meta,
int16 *  qual_value 
)

Definition at line 9 of file update_scan_metadata.c.

◆ validate_L0_header()

int validate_L0_header ( PGSt_IO_L0_VirtualDataSet  L0_file)

Definition at line 11 of file validate_L0_header.c.

◆ write_ECS_metadata()

PGSt_SMF_status write_ECS_metadata ( PGSt_MET_all_handles  md_handles,
MD_ECS_GRA_INV_MET_t ecs_gra_inv_met 
)

Definition at line 11 of file write_ECS_metadata.c.

◆ write_eng_data()

PGSt_SMF_status write_eng_data ( EN_VDATA_TYPE_t eng_data)

Definition at line 10 of file write_eng_data.c.

◆ write_failed_packets()

PGSt_SMF_status write_failed_packets ( FP_QUEUE_t  failed_pkts)

Definition at line 10 of file write_failed_packets.c.

◆ write_global_metadata()

PGSt_SMF_status write_global_metadata ( MODFILE *  mfile,
PGSt_MET_all_handles  md_handles,
MD_ECS_GRA_INV_MET_t ecs_gra_inv_met,
MD_L1A_SPECIFIC_MET_t l1a_specific_met 
)

Definition at line 8 of file write_global_metadata.c.

◆ write_pix_qual()

PGSt_SMF_status write_pix_qual ( MODFILE *  L1A_file_ptr,
SC_PIXEL_QUALITY_DATA_t pix_qual,
int16  scan_num 
)

Definition at line 10 of file write_pix_qual.c.

◆ write_scan()

PGSt_SMF_status write_scan ( MODFILE *  L1A_file_ptr,
SC_SCAN_DATA_t L1A_scan,
MD_SCAN_MET_t scan_meta,
SC_PIXEL_QUALITY_DATA_t pix_qual,
FP_QUEUE_t  failed_pkts,
EN_VDATA_TYPE_t eng_data 
)

Definition at line 12 of file write_scan.c.

◆ write_scan_data()

PGSt_SMF_status write_scan_data ( MODFILE *  L1A_file_ptr,
SC_SCAN_DATA_t L1A_scan,
int16  scan_num,
char *  scan_type 
)

Definition at line 11 of file write_scan_data.c.

◆ write_scan_metadata()

PGSt_SMF_status write_scan_metadata ( MODFILE *  L1A_file_ptr,
MD_SCAN_MET_t scan_meta 
)

Definition at line 8 of file write_scan_metadata.c.

◆ write_specific_granule_metadata()

PGSt_SMF_status write_specific_granule_metadata ( MODFILE *  mfile,
MD_L1A_SPECIFIC_MET_t l1a_specific_met 
)

Definition at line 8 of file write_specific_granule_metadata.c.

◆ write_Vdata()

PGSt_SMF_status write_Vdata ( char *  Vdata_name,
unsigned char *  data,
int32  num_records 
)

Definition at line 8 of file write_Vdata.c.

Variable Documentation

◆ global_first_gran_start_time

PGSt_double global_first_gran_start_time

Definition at line 30 of file level1a.c.

◆ global_input_pointer

char global_input_pointer[MAX_INPUTS][PGSd_PC_VALUE_LENGTH_MAX]

Definition at line 23 of file level1a.c.

◆ global_last_gran_stop_time

PGSt_double global_last_gran_stop_time

Definition at line 31 of file level1a.c.

◆ global_time_offset_array

PGSt_double global_time_offset_array[SECTOR_TIME_OFFSETS]

Definition at line 32 of file level1a.c.