This repository now contains the curated code extracted from the historical GEOSldas_diagnostics repo. The migration (Nov 2024) intentionally preserved only source artefacts (notebooks, Python scripts, Matlab/FORTRAN utilities, configs) that were touched within the last two years, and split them into a reusable layout:
| Location | Purpose |
|---|---|
common/python/{io,plotting,stats} |
Shared Python helpers (readers, plotting utilities, statistical functions). |
common/matlab, common/fortran |
Core Matlab/FORTRAN processing utilities reused by multiple projects. |
projects/<name> |
Domain-specific workspaces (e.g., cygnss_da, ascat_da, M21C_ls, snow_da, era5_land, matlab2python, utils). Each contains notebooks, scripts, and language-specific subfolders as needed. |
data/ |
Documentation on how to access the archived data. No large datasets live in this repo. |
The heavyweight test_data tree from the archived repo stays outside version control. To keep notebooks runnable, create a local symlink that points back to the archived directory (update the path if the archive moves):
ln -s /Users/amfox/Desktop/GEOSldas_diagnostics/test_data data/external/test_dataAll notebooks/scripts should reference inputs through data/external/test_data/.... The data/.gitignore prevents accidental commits of raw data; keep only lightweight docs under data/.
All .ipynb files have been scrubbed of execution outputs and execution counts so future diffs stay readable. Before committing new work, re-run the clearing step or use jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace <notebook> to maintain the same standard.
This repo also ships a local git pre-commit hook at .githooks/pre-commit that auto-clears outputs/execution counts from staged notebooks and re-stages them. Enable it once per clone:
git config core.hooksPath .githooks
chmod +x .githooks/pre-commit- Place shared logic in
common/so it can be imported across projects. - Drop notebooks/scripts into the relevant
projects/<name>/notebooksorscriptsdirectory and keep data-dependent paths relative todata/. - Document new workflows via per-project
README.mdfiles so future Codex/ChatGPT runs understand the context without reopening the archived repository.