DR03 — Freshwater pulse and salinity — Version 1.0.0 Checked October 21, 2026. Local review; independent scientific review pending. QUESTION AND CONCLUSION Did two Louisiana coastal monitoring stations show the same salinity pattern around the first 2019 Bonnet Carre opening? Both had lower operation-window means than before. After closure, the Rigolets became fresher still while Grand Pass rose from its operation-window mean. Neither matched its earlier mean by May 9. This is descriptive association, not isolated spillway causation or a fish-outcome study. SOURCES AND PROVENANCE USGS NWIS instantaneous values: parameter 00480, salinity of unfiltered water, parts per thousand (API unit ppth), classified Derived Value. Stations: 301001089442600 Rigolets and 300722089150100 Grand Pass. Original timestamps carry offsets. Station coordinates and gage altitude do not establish historical sensor depth or maintenance history. USACE operation table: first opening February 27, final closure April 11, second opening May 10. The parser identifies the unique first-2019 table and checks all 44 dates in sequence. The source's two “Arp.” date labels are normalized to April after sequence checking. Reported discharge is not the measured fraction of spillway water at a salinity sensor. Off-window discharge is not filled with zero. acquisition.json records exact queries, SHA256 and retention timestamps. The first fetch retained both required sources before an optional project-HTML fetch returned 403. The successful original bytes were preserved; savedAt was recovered from file modification times and labeled. These are not invented server issue or revision timestamps. Official project text was inspected through the research browser; raw project HTML was not acquired. CRMS access was blocked and no CRMS data are claimed. The retained operation-page bytes are downloaded as operations-source.txt, matching the hash of internal operations.html. The calculator recognizes the alias; the saved page is served as plain text. US federal agency records are attributed, and site calculations/figure identified separately. No agency endorsement or third-party image/prose reuse is claimed. DESIGN AND QUALITY The protocol was fixed after availability/metadata inspection and before outcome computation. Local-calendar windows are before February 1–26 (26 days), operation February 27–April 11 (44 dates, including the closure date with zero reported discharge), and after April 12–May 9 (28 days). The first opening was selected from official history, not for a large salinity contrast. The study ends before the second opening. February is a recent comparison period, not a pristine or normal-year control. A 30-minute UTC grid runs from 2019-02-01T06:00Z to end-exclusive 2019-05-10T05:00Z: 4,702 expected slots per site. Matching uses exact instants. Daily groups use America/Chicago dates: March 10 has 46 slots due to the spring DST transition; other study dates have 48. Duplicate, off-grid or out-of-period timestamps, wrong station/parameter/unit/type, or multiple series blocks stop the calculation. Include finite, nonnegative values not equal to noDataValue, with qualifiers exactly [A], approved. Other qualifiers and missing/invalid values are excluded. Both stations must qualify at the same instant. No interpolation or nearest-neighbor matching. Rigolets: 4,695 valid of 4,702 expected, seven missing. Grand Pass: 4,699 valid, three missing. There are 4,692 paired slots and ten unpaired; all returned records pass the stated screen. Native station coverage differs from paired comparison coverage. Daily means use common paired instants. Include a day if paired count is at least ceil(0.80 × expected slots). Period means equally weight admitted daily means. All 98 days qualify at 80% and 90%; at 100%, 24 before, 43 operation and 24 after days remain. Blanks/nulls never become zero. Printed three-decimal means are formatting, not instrument accuracy. The lowest week is the minimum seven-consecutive-calendar-day mean, requiring all seven days admitted. It is a descriptive selected minimum, not a tested transport lag or recovery date. No redfish salinity threshold is chosen. Completeness sensitivity reports 90% and 100% results without choosing the more striking result. One event is not thousands of independent experiments: no causal confidence interval or significance test is reported. OFFLINE REPRODUCTION Save reproduce.py, protocol.json, acquisition.json, salinity.json and operations-source.txt together. Use Python 3.11+ with IANA America/Chicago time-zone data: python reproduce.py --input . --output reproduced Only the Python standard library is required. The script checks source hashes and writes analysis.json, paired-records.csv and daily-summary.csv. There are no live requests or third-party calculation packages. From this repository's root: python site/scripts/analyze-salinity.py --input research/salinity/bonnet-carre-2019 --output site/public/data/bonnet-carre-salinity-2019 python site/tests/salinity.test.py The original plot uses the separate plot-salinity.py script and Matplotlib 3.11.2, reading saved results. Normal website builds do not run the scientific calculation, fetch historical data or generate plots. FIELD DICTIONARY paired-records.csv: expected UTC/local instant, local date and period. For each station, columns retain original value string, qualifiers, source timestamp, admitted numeric value (blank if missing/excluded), valid flag and exclusion reasons. paired is true only when both qualify. All 4,702 expected instants remain. daily-summary.csv: local date, period, expected and paired slots, inclusion at 80%, and each station's mean in ppt. A blank means unavailable/excluded, not zero. analysis.json: station/variable/method/quality metadata, source provenance, 98 daily records, period means/medians/ranges, changes, lowest weeks, completeness sensitivity and 44 operation records. The historical data period is 2019; research/publication is 2026. LIMITS AND MAINTENANCE No unexposed control or adjustment for rainfall, other river inflows, wind, tides or seasonal change. No complete historical sensor-depth/maintenance record, depth profiles, fish/effort/catch, navigation or seafood-safety outcomes. Station salinity does not describe every connected marsh. No MLLW/NAVD88 height comparison. Stronger causal work needs other drivers, more events/years and justified comparison sites. New data/methods require a versioned snapshot, preserved original, updated claims and tests.