Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This repository is a portfolio space for scientific-computing infrastructure,
systems tooling, and supply-chain-security experiments that favor deterministic
behavior, auditable outputs, and clear release evidence.

## Current Flagship Project
## Current Flagship Tool

[`tools/sbom-diff-and-risk`](tools/sbom-diff-and-risk/README.md) is the
current flagship tool. It compares SBOMs and dependency manifests, produces
Expand All @@ -14,13 +14,13 @@ can optionally record PyPI provenance and OpenSSF Scorecard evidence.
For a fast reviewer overview, start with the [`sbom-diff-and-risk` reviewer
brief](tools/sbom-diff-and-risk/docs/reviewer-brief.md).

## Additional Project
## Supporting Spatiotemporal Diagnostics Project

[`projects/precipitation-anomaly-diagnostics`](projects/precipitation-anomaly-diagnostics/README.md)
is a public-safe climate diagnostics mini-lab. It demonstrates a reproducible
workflow for precipitation anomaly preprocessing, EOF analysis, representative
year selection, circulation composites, and reviewer-friendly scientific
interpretation.
is a public-safe scientific-data diagnostics mini-lab. It demonstrates a
reproducible workflow for precipitation anomaly preprocessing, EOF analysis,
representative-period selection, composite analysis, and reviewer-friendly
scientific interpretation.

## Why This Repository Exists

Expand Down Expand Up @@ -65,6 +65,9 @@ What to review:
Sanitized climate-diagnostics workflow, small derived example artifacts,
methodology notes, data policy, and synthetic-data tests.

This mini-lab is a supporting scientific-data project and is not part of the
`sbom-diff-and-risk` release surface.

Useful entry points:

- [`precipitation-anomaly-diagnostics` README](projects/precipitation-anomaly-diagnostics/README.md)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Publication Boundaries

This public module is a sanitized scientific-computing artifact.

It excludes:

- institution names;
- course names;
- instructor or team-member names;
- student identifiers;
- original reports, slides, and submission files;
- raw third-party climate datasets;
- local machine paths;
- private working archives.

The public value of this project is the reproducible diagnostics workflow, not
the original academic context.
39 changes: 28 additions & 11 deletions projects/precipitation-anomaly-diagnostics/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
# Precipitation Anomaly Diagnostics Lab
# Precipitation Anomaly Diagnostics

A compact scientific-computing workflow for July precipitation anomaly diagnostics over eastern China.
A compact spatiotemporal diagnostics module for reproducible precipitation
anomaly analysis.

This mini-lab demonstrates how to turn gridded precipitation and atmospheric circulation fields into reproducible climate diagnostics:
This project demonstrates how to turn gridded scientific data into a
reviewable analysis workflow:

- preprocess monthly precipitation and circulation fields;
- compute climatology, anomalies, and standardized anomaly indices;
- apply EOF analysis to identify dominant spatial modes;
- select representative years from standardized principal components;
- run circulation composite analysis for positive and negative phases;
- generate reviewable figures and lightweight Markdown reports.
- preprocessing and quality-preserving subsetting;
- climatology, anomaly, and standardized-index construction;
- dimensionality reduction with EOF analysis;
- representative-period selection from standardized time coefficients;
- composite analysis for contrasting phases;
- reviewable figures and lightweight Markdown reports.

The repository is designed as a reproducible research mini-lab, not as an operational forecast system.
The repository is designed as a reproducible research mini-lab, not as an
operational forecast system. Domain-specific choices such as the target month,
region, and variables are documented as configurable analysis context rather
than as the public identity of the project.

## Repository Layout

Expand All @@ -27,6 +32,7 @@ The repository is designed as a reproducible research mini-lab, not as an operat
├─ examples/
│ ├─ regional_precipitation_summary_1961_2022.csv
│ └─ sample_metadata.json
├─ PUBLICATION_BOUNDARIES.md
├─ reports/example-report.md
├─ scripts/
│ ├─ run_composite_analysis.py
Expand All @@ -40,6 +46,15 @@ The repository is designed as a reproducible research mini-lab, not as an operat
└─ preprocess.py
```

## Reviewer Path

1. Read [`docs/data-policy.md`](docs/data-policy.md) for public data boundaries.
2. Read [`PUBLICATION_BOUNDARIES.md`](PUBLICATION_BOUNDARIES.md) for identity and publication boundaries.
3. Read [`docs/methodology.md`](docs/methodology.md) for the analysis workflow.
4. Read [`docs/inference-framework.md`](docs/inference-framework.md) for the reasoning chain.
5. Skim [`reports/example-report.md`](reports/example-report.md) for the public-facing output.
6. Inspect [`tests/`](tests/) for synthetic-data behavior checks.

## Installation

Use Python 3.10+.
Expand Down Expand Up @@ -78,7 +93,9 @@ python scripts/run_eof_analysis.py --config configs/example.yaml
python scripts/run_composite_analysis.py --config configs/example.yaml
```

The example CSV under `examples/` is a small derived summary table for demonstration only. It is not a raw dataset.
The example CSV under `examples/` is a small derived demonstration artifact.
It is not a raw dataset, a canonical dataset release, or a substitute for
provider-sourced scientific data.

## Demonstration Figures

Expand Down
2 changes: 1 addition & 1 deletion projects/precipitation-anomaly-diagnostics/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "precipitation-anomaly-diagnostics"
version = "0.1.0"
description = "A public-safe scientific-computing mini-lab for precipitation anomaly diagnostics."
description = "A public-safe spatiotemporal diagnostics module for reproducible precipitation anomaly analysis."
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
Expand Down