pycoupler
An LPJmL-Python interface for operating LPJmL in a Python environment and coupling it with Python models, programmes or simple programming scripts.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.5%) to scientific vocabulary
Keywords
Repository
An LPJmL-Python interface for operating LPJmL in a Python environment and coupling it with Python models, programmes or simple programming scripts.
Basic Info
Statistics
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 5
- Releases: 1
Topics
Metadata Files
README.md
pycoupler: dynamic model coupling of LPJmL 
An LPJmL-Python interface for operating LPJmL in a Python environment and coupling it with Python models, programmes or simple programming scripts. pycoupler was written to establish a coupled World-Earth modeling framework, copan:LPJmL, based on copan:CORE and LPJmL. Coupling with LPJmL is possible on an annual basis, i.e. for each year in which LPJmL is in coupling mode, the desired inputs must be passed via pycoupler. LPJmL simulates the corresponding year and returns the desired outputs at the end of the year. The coupled programme can use the output data to generate new inputs for the next year.
Overview
LPJmL Config ⚙ for handling LPJmL configurations
- Read & write ✍ LPJmL configuration files as
LPJmLConfigobjects - Set options & parameters for spinup, transient and coupled simulations
regrid()🌐 LPJmL output data for country-specific simulations- LPJmL can be checked
check_lpjml()🔍 and operatedrun_lpjml()▶submit_lpjml()🚀 with written configuration files
LPJmL Coupler 🔌 to couple LPJmL with other models
LPJmLCouplerclass to initiate bi-directional, annual coupling to LPJmL- 📥 Read output data (annual) from LPJmL
- 📤 Send input data (annual) to LPJmL
LPJmL Data 💾 for reading and processing LPJmL data
- xarray-based data classes
- Read LPJmL netCDF files 🗺 as
LPJmLDataorLPJmLDataSetobjects LPJmLMetaDatafor reading and handling LPJmL meta files or header data
Installation
Use the package manager pip to install pycoupler.
bash
pip install .
Please clone and compile LPJmL in advance.
Make sure to also have set the working environment for LPJmL correctly if you are not working
on the PIK HPC (with Slurm Workload Manager).
See scripts for examples on how to use the package.
Questions / Problems
In case of questions please contact Jannes Breier jannesbr@pik-potsdam.de or open an issue.
Contributing
Merge requests are welcome, see CONTRIBUTING.md. For major changes, please open an issue first to discuss what you would like to change.
Owner
- Name: LPJmL group @ PIK
- Login: PIK-LPJmL
- Kind: organization
- Repositories: 3
- Profile: https://github.com/PIK-LPJmL
Citation (CITATION.cff)
cff-version: 1.2.0 message: If you use this software, please cite it using the metadata from this file. type: software title: 'pycoupler: dynamic model coupling of LPJmL' version: 1.5.0 date-released: '2025-08-04' abstract: An LPJmL-Python interface for operating LPJmL in a Python environment and coupling it with Python models, programmes or simple programming scripts. pycoupler was written with the aim of establishing the coupling of copan:CORE with LPJmL. Coupling with LPJmL is possible on an annual basis, i.e. for each year in which LPJmL is in coupling mode, the desired inputs must be passed via pycoupler. LPJmL simulates the corresponding year and returns the desired outputs at the end of the year. The coupled programme can use the output data to generate new inputs for the next year. authors: - family-names: Breier given-names: Jannes email: jannesbr@pik-potsdam.de orcid: 0000-0002-9055-6904 - family-names: von Bloh given-names: Werner email: bloh@pik-potsdam.de orcid: 0000-0002-7399-2704 license: AGPL-3.0 repository-code: https://github.com/PIK-LPJmL/pycoupler doi: 10.5281/zenodo.11576705
GitHub Events
Total
- Issues event: 4
- Watch event: 3
- Member event: 1
- Issue comment event: 7
- Push event: 25
- Pull request review event: 6
- Pull request review comment event: 6
- Pull request event: 10
- Fork event: 1
- Create event: 2
Last Year
- Issues event: 4
- Watch event: 3
- Member event: 1
- Issue comment event: 7
- Push event: 25
- Pull request review event: 6
- Pull request review comment event: 6
- Pull request event: 10
- Fork event: 1
- Create event: 2
Issues and Pull Requests
Last synced: 5 months ago
All Time
- Total issues: 0
- Total pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: 19 days
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 1.33
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: 19 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 1.33
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- zner0L (2)
- KaixuanDai (1)
Pull Request Authors
- zner0L (3)
- jnnsbrr (3)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- Levenshtein >=0.12.2
- fuzzywuzzy >=0.18.0
- netCDF4 >=1.5.8
- numpy >=1.20.3
- ruamel.yaml >=0.17.16
- scipy >=1.7.1
- xarray >=0.21.1