MODAPS PCR 25-006

PCR Number 25-006
Date 2025-08-13
Initiator Carol Davidson
Abstract PGE170[N] 6.1.1

Revised meta.c source code file for PGE170 to correct code to prevent stack-buffer overflows. No differences in outputs are anticipated with this revision.

Problem Statement For MODIS C6.1 NRT processing, we encountered some failed runs of PGE170, the Daily L2G Lite Global Water Detection LLL Grid, used for Flood Map. It generates one of the products that feeds into the Flood Map PGE, PGE159. The failures were random, sometimes happening on nrt3, but not nrt4, or vice versa. Investigation identified a memory issue, a stack-buffer overflow and undefined behavior in strcpy because source and destination buffers were overlapping occasionally causing failures. This PCR is to document the revision, and installation to production. It is an in-house PCR not being sent on for further sign off by Sadashiva and/or Miguel.
Description of Change Revised meta.c source code file for PGE170 to correct code to prevent stack-buffer overflows. No differences in outputs are anticipated with this revision.
Products Affected MxDWDLGA_NRT for NRT processing and MxDWDLGA for standard production. Downstream Products are MCDWD_L3_NRT, MCDWD_L3_F1C_NRT, MCDWD_L3_F1_NRT, MCDWD_L3_F2_NRT, and MCDWD_L3_NRT for nrt, and MCDWD_L3, for standard processing.
Software Affected PGE170[N] 6.1.1
Processing String to Receive the Change Terra Forward Processing. Aqua Forward Processing. NRT.
Downstream Product Effects C61 products: MxDWDLGA_NRT for NRT processing and MxDWDLGA for standard production. Downstream Products are MCDWD_L3_NRT, MCDWD_L3_F1C_NRT, MCDWD_L3_F1_NRT, MCDWD_L3_F2_NRT, and MCDWD_L3_NRT for nrt, and MCDWD_L3, for standard processing. Currently reprocessing/standard processing is stopped at end of year 2024, If we should continue with 2025 data, the new version will be used for that effort. Until then, only the new NRT version is in use.
Data Granules to be Used for Science Testing SSTG tested was executed and outputs found not to differ. New PGE170N 6.1.1-0 was installed to nrt4 and run there from 7/29/25 to 8/5/25, with outputs being monitored for differences from nrt3 production runs using original PGE170N 6.1.0. Evaluation found no differences in outputs, which was desired, and no new failures. PGE170N was rolled up to 6.1.1 and installed to both nrt3 and nrt4 for start use on 8/6/25.
Justification To prevent random failures in processing, which sometimes led to gaps in data, installed the corrected PGE170N to leading edge NRT processing.
Effective Date for Implementation of Change NRT variations went into use starting 8/6/25: A/PM1M_C61_L49nrtoglu 6.1.22 for PGE170N 6.1.1
Status Internal PCR. Carol Davidson implemented on 08/13/2025.