ROOCS Website is the front page for the roocs project.
Contributions are welcome. Feel free to open a pull request with changes.
Preview changes locally before opening a pull request. This site uses MkDocs.
# create conda environment
conda env create
conda activate roocs
# build docs
mkdocs build
# serve docs locally
mkdocs serve
Open browser: http://127.0.0.1:8000
Use scripts/extract_stats.py to aggregate monthly request/download metrics from dashboard HTML files.
Use the same conda environment setup shown above (conda env create, conda activate roocs), then run:
python scripts/extract_stats.py --start 2025-04 --end 2026-02 --site dkrz --quietThis writes:
docs/downloads/stats/<site>-monthly-<start>_to_<end>_metrics.csv
docs/downloads/stats/<site>-quarterly-<start>_to_<end>_metrics.csv
docs/downloads/stats/<site>-monthly-<start>_to_<end>_visits.csv
Notes:
downloads_sizeis in MB.
Refresh the all-years dashboard and its continuously updated, DKRZ-only monthly and daily usage downloads (January 2025 onward):
python scripts/aggregate_dashboard_year.py --all-yearsThis regenerates the Downloads section in docs/dashboard/summary-all-years.md
and docs/downloads/stats/dkrz-monthly.csv and dkrz-daily.csv from the available
dashboard exports. Each frequency has one file spanning all reporting years.
Both CSVs have stable filenames, semicolon separators, and the columns date,
country, requests, downloads, downloads_size, and visits. Country is
attributed to the CDS gateway (GB); visits and unavailable measurements are
empty. Coverage limitations are explained on the dashboard and in
docs/downloads/stats/dkrz-usage-notes.txt. Missing daily observations remain
blank; monthly and daily sizes can differ slightly because the source totals
are rounded independently. Only DKRZ is published currently;
any future IPSL export should be a separate download with its own source notes.
Generate docs/dashboard/dashboard-<year>.md from the current quarterly stats files:
python scripts/generate_dashboard_report.py --year 2026 --quietExtended usage:
python scripts/generate_dashboard_report.py 2026
python scripts/generate_dashboard_report.py --year 2026 --stats-dir docs/downloads/stats --output docs/dashboard/dashboard-2026.mdInput parameter:
year(for example:2026)
Use scripts/render_quarter_summary.py to build quarterly or half-year markdown blocks directly from monthly dashboard HTML files (ALL, IPSL, DKRZ).
The script also adds a KPI line for successful requests when quarterly ALL dashboard files are available (dashboard-<year>-q<quarter>-all.html), using:
- failed requests / total requests
- KPI = 100% - failure rate
It also adds a failed request split:
- Wrong Requests
- Internal Errors
The split is derived from failure message categories in the quarterly ALL dashboard failure table (Message, Count) using rule-based keyword matching.
Print a block to copy/paste:
python scripts/render_quarter_summary.py 2026 2Print a half-year block to copy/paste:
python scripts/render_quarter_summary.py 2026 --half-year 1Update the year dashboard file in-place:
python scripts/render_quarter_summary.py 2026 2 --update-fileUpdate half-year section in-place:
python scripts/render_quarter_summary.py 2026 --half-year 1 --update-fileUpdate in-place and also print the generated block:
python scripts/render_quarter_summary.py 2026 2 --update-file --print-blockUse a custom dashboard markdown target:
python scripts/render_quarter_summary.py 2026 2 --dashboard-md docs/dashboard/dashboard-2026.md --update-fileTip:
- Use
--writeas a short alias for--update-file. - Use
--quietwith update mode to print only the target file path.
Pull requests merged to the main branch are automatically deployed to the production website.
The content of this project itself is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license, and the underlying source code used to format and display that content is licensed under the MIT license.