# Standardized 1° monthly NPZ data

The files downloaded were created from the original ENTH, WWLLN, GLM, MTG, and GLD360 data. The source files were not modified. Every output file follows the pattern `<DATASET>_monthly_YYYYMM.npz` and is stored under `<DATASET>/<YEAR>/`. The `conversion_manifest.csv` lists every source and output file.

Every output NPZ has the same 23 keys. The `monthly_total` and `mean_daily_value` arrays have shape `(180, 360)`, ordered latitude × longitude. Coordinates use the common names `latitude_edges`, `longitude_edges`, `latitude_centers`, and `longitude_centers`. Cell edges run from −90° to 90° latitude and from −180° to 180° longitude in 1° steps.

ENTH and WWLLN were converted from 0.05° to 1° by taking the **unweighted mean of the 20 × 20 original cells** within each 1° cell. This is a spatial mean of thunder-hour values, not their sum and not the number of hours with thunder anywhere inside the whole 1° cell. GLM, MTG, and GLD were already on a 1° grid and were not spatially resampled.

For ENTH and WWLLN, `measurement = thunder_hours`, `monthly_total_unit = TH`, and `mean_daily_unit = TH/day`. For GLM, MTG, and GLD, `measurement = flash_density`, `monthly_total_unit = flash/km2`, and `mean_daily_unit = flash/km2/day`. The common field names describe a common **data structure**, not an identical physical quantity. In every output file, `mean_daily_value = monthly_total / days`.

`days` is the number of days used in the mean; `calendar_days` is the number of calendar days in that month. The GLM and MTG source files include daily dates, which are stored in `available_dates`; known missing dates are stored in `missing_dates`. The ENTH and WWLLN sources provide only a day count. Their empty date arrays **do not prove** that there were no missing days; `date_coverage` distinguishes this case. ENTH and WWLLN specify UT as their `time_basis`. The GLM and MTG source NPZ files do not specify a time basis, so their outputs use `unspecified_in_source`.

Other shared fields are `schema_version`, `source_dataset`, `source_file`, `year`, `month`, `source_grid_resolution_deg`, `output_grid_resolution_deg`, and `spatial_aggregation`. See `FORMATUM.md` for the complete key-by-key specification and a Python reading example.

## GLD360 (dataset code: GLD)

The 84 GLD monthly files cover January 2019–December 2025 and are stored as `GLD/<YEAR>/GLD_monthly_YYYYMM.npz`. Source files are `GLD/GLD360_monthly_npz_data/FLASHMAP_YYYY_MM.npz`.

GLD `monthly_total = monthly_total_flashes / cell_area_km2` (flash/km²), and `mean_daily_value = monthly_total / calendar_days` (flash/km²/day). `days = calendar_days` is the normalization divisor, not a verified count of observed days. Monthly total counts are checked against CG + IC, and the resulting daily mean against `monthly_avg_daily_density`.

The source `daily_flash_density` repeats the monthly daily mean for every date, while `daily_flashes` repeats its integer-truncated count equivalent. Neither is used to reconstruct monthly counts or infer actual daily observations. The calendar date list is validated, but does not prove daily coverage. Therefore GLD uses `date_coverage = monthly_aggregate_only` and empty `available_dates` / `missing_dates`; empty arrays and zero `known_missing_dates` in the manifest mean unknown daily coverage, not confirmed completeness. `time_basis = unspecified_in_source`.

All five datasets retain the same 23 keys and schema version `1.0`; the GLD-specific coverage value is documented in `FORMATUM.md`. No CG/IC split or raw flash-count field is added to the standardized schema; these remain in the source NPZ.
