Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
9 of 30 committers (30.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.9%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Surface Urban Energy and Water Balance Scheme
Basic Info
- Host: GitHub
- Owner: UMEP-dev
- License: mpl-2.0
- Language: Fortran
- Default Branch: master
- Homepage: https://suews.readthedocs.io/
- Size: 870 MB
Statistics
- Stars: 16
- Watchers: 10
- Forks: 10
- Open Issues: 67
- Releases: 1
Topics
Metadata Files
README.md
SUEWS - Surface Urban Energy and Water Balance Scheme
This is the SUEWS urban climate model repository.
Installation
bash
pip install supy
Documentation
See the full documentation at: https://suews.readthedocs.io
Quick Start
For users who want to run SUEWS simulations:
Install from PyPI (simplest):
bash pip install supyRun a simulation:
bash suews-run /path/to/config.yml
For developers, see the Developer Note section below.
Developer Note
Development Environment
Claude Code Integration
For enhanced development productivity, SUEWS includes integration with Claude Code in a containerised environment:
- Setup Guide: See
claude-dev/README.mdfor complete setup instructions - Quick Start:
- Workspace Manager (recommended):
./claude-dev/claude.sh start myproject - Direct Setup:
./claude-dev/setup-claude-dev.shfrom repository root
- Workspace Manager (recommended):
CLAUDE.md Protection System
This repository includes automatic protection for the CLAUDE.md configuration file to prevent accidental content loss:
Automatic Features (no setup required):
- GitHub Actions validation on all PRs/pushes affecting CLAUDE.md
- Content reduction detection (alerts if >20% content removed)
- Automatic snapshots on validation failures
Local Protection (one-time setup): ```bash
Run once after cloning or pulling this feature
bash .claude/scripts/setup-claude-protection.sh ``` This enables:
- Git pre-commit validation
- Local backup system
- Manual validation:
python3 .claude/scripts/validate-claude-md.py
Features: Intelligent code assistance, automated testing, British academic standards, multi-workspace support
Benefits: Isolated environment, reproducible development, AI-powered debugging, parallel project development
Traditional Development
For local development without containerisation, follow these steps:
Prerequisites
Essential Tools:
* Fortran Compiler: gfortran ( 9.3.0) or Intel ifort
- macOS: brew install gcc
- Ubuntu/Debian: sudo apt-get install gfortran
- Windows: Use WSL or MinGW-w64
* Version Control: git
* Package Manager: mamba (faster than conda)
bash
# Install mambaforge (if not already installed)
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
Recommended Tools: * VS Code with extensions: - Modern Fortran - Python - GitHub Copilot (free for academic use) * WSL (Windows users)
Setup Steps
Clone the repository:
bash git clone https://github.com/UMEP-dev/SUEWS.git cd SUEWSInitialise submodules (required for SPARTACUS dependency):
bash git submodule init git submodule updateNote: If permission denied, configure SSH for GitHubCreate development environment:
bash mamba env create -f env.ymlThis createssuews-devenvironment with all required packages.Activate environment:
bash mamba activate suews-devBuild SUEWS: ```bash
Quick development build (recommended)
make dev
# Or full build with tests make ```
- Verify installation:
bash pip show supy suews-run --help
Development Workflow
Build commands:
bash make dev # Fast development build make # Full build with tests make test # Run test suite only make clean # Clean build artifacts make wheel # Build distribution wheels make docs # Build documentation make livehtml # Live documentation previewEnvironment management:
bash make help # Show all available commands make deactivate # Show deactivation commandCommon issues:
- Build conflicts: Run
make cleanbefore rebuilding - Import errors: Ensure you're in the
suews-devenvironment - Permission errors on Windows: Right-click project folder Properties Security Edit Everyone Allow
- Build conflicts: Run
Project Structure
SUEWS/
src/
suews/ # Fortran physics engine
supy/ # Python interface
supy_driver/ # F2Py wrapper
test/ # Test suite
docs/ # Documentation source
env.yml # Development environment
Makefile # Build commands
Contributing
Code Style and Formatting
SUEWS maintains consistent code style through automated formatting:
- Coding Standards: See
CODING_GUIDELINES.mdfor detailed standards - Automated Formatting: The master branch is automatically formatted after merge
- Zero Friction: Contributors can focus on functionality; formatting is handled by machines
- Tools Used:
For Contributors: Just write working code! Formatting will be applied automatically after merge.
For Local Development (optional):
origin/master
bash pip install -e . --no-build-isolation
Owner
- Name: UMEP-dev
- Login: UMEP-dev
- Kind: organization
- Repositories: 5
- Profile: https://github.com/UMEP-dev
GitHub Events
Total
- Create event: 217
- Commit comment event: 6
- Issues event: 198
- Watch event: 2
- Delete event: 37
- Issue comment event: 380
- Push event: 1,398
- Pull request review comment event: 21
- Pull request review event: 62
- Pull request event: 246
- Fork event: 2
Last Year
- Create event: 217
- Commit comment event: 6
- Issues event: 198
- Watch event: 2
- Delete event: 37
- Issue comment event: 380
- Push event: 1,398
- Pull request review comment event: 21
- Pull request review event: 62
- Pull request event: 246
- Fork event: 2
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Ting Sun | s****5@g****m | 4,674 |
| matthew | m****n@p****k | 265 |
| Järvi, Leena J | l****i@h****i | 93 |
| Lewis Blunn | m****3@g****m | 77 |
| Hamidreza Omidvar | o****a@g****m | 76 |
| Silvia Rognone | r****a@g****m | 65 |
| lyy | l****9@m****n | 50 |
| natalieth | n****s@g****m | 42 |
| HelenWard | h****d@r****k | 42 |
| Fredrik Lindberg | f****l@g****e | 35 |
| Vitor Lavor | v****r@h****m | 28 |
| zhenkunl | l****k@y****t | 27 |
| Sue Grimmond | 2****d | 15 |
| unknown | x****r@N****e | 14 |
| unknown | h****a@W****k | 13 |
| yiqing1021 | d****4@s****k | 12 |
| unknown | x****0@S****k | 10 |
| azure-pipelines[bot] | a****] | 10 |
| 黄文娟 | h****n@h****l | 3 |
| Shiho Onomura | s****a@g****e | 3 |
| Jonas Kittner | j****r@r****e | 3 |
| Xiaoxiong Xie | 3****e | 2 |
| IzzyWillow | i****s@p****k | 2 |
| dependabot-preview[bot] | 2****] | 2 |
| Fredrik Lindberg | x****r@h****e | 2 |
| pjay-PC\pjay | p****3@1****m | 2 |
| Mat Lipson | m****n@u****u | 1 |
| Csilla V Gal | c****g@g****m | 1 |
| Ting Sun | s****5@w****k | 1 |
| David Stansby | d****y@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 271
- Total pull requests: 320
- Average time to close issues: 9 months
- Average time to close pull requests: 1 day
- Total issue authors: 39
- Total pull request authors: 8
- Average comments per issue: 1.49
- Average comments per pull request: 1.03
- Merged pull requests: 221
- Bot issues: 9
- Bot pull requests: 5
Past Year
- Issues: 136
- Pull requests: 250
- Average time to close issues: 21 days
- Average time to close pull requests: 1 day
- Issue authors: 19
- Pull request authors: 5
- Average comments per issue: 0.71
- Average comments per pull request: 1.22
- Merged pull requests: 153
- Bot issues: 9
- Bot pull requests: 5
Top Authors
Issue Authors
- sunt05 (98)
- MatthewPaskin (50)
- ghost (27)
- github-actions[bot] (9)
- dayantur (6)
- biglimp (6)
- LllC-mmd (5)
- Empanag (4)
- megstretton (4)
- utterances-bot (4)
- Kangarooboxer (4)
- bartpannemans (4)
- ljarvi (3)
- RussellGl (3)
- vitorlavor (3)
Pull Request Authors
- sunt05 (212)
- MatthewPaskin (63)
- ljarvi (15)
- dayantur (10)
- vitorlavor (6)
- github-actions[bot] (5)
- LllC-mmd (4)
- yiqing1021 (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v1 composite
- actions/setup-python v2 composite
- elstudio/actions-js-build/commit v2 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/upload-artifact v3 composite
- pypa/cibuildwheel v2.9.0 composite
- pypa/gh-action-pypi-publish release/v1.5 composite
- glassechidna/artifact-cleaner v2 composite
- actions/stale v5 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/upload-artifact v3 composite
- pypa/cibuildwheel v2.9.0 composite
- pypa/gh-action-pypi-publish release/v1.5 composite
- auditwheel *
- build *
- pytest *
- twine *
- DRIVER_REQ ,
- atmosp *
- cdsapi *
- chardet *
- click *
- dask *
- f90nml *
- f90wrap ==0.2.12
- importlib_resources *
- lmfit *
- matplotlib *
- multiprocess *
- numdifftools *
- pandas *
- pandas <
- platypus-opt ==1.0.4
- pvlib *
- scipy *
- seaborn *
- xarray *