https://github.com/access-nri/access-mopper
ACCESS-MOPPeR
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.0%) to scientific vocabulary
Keywords
Repository
ACCESS-MOPPeR
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 64
- Releases: 28
Topics
Metadata Files
README.md
ACCESS Model Output Post-Processor (ACCESS-MOPPeR) v2
ACCESS-MOPPeR is a CMORisation tool designed to post-process ACCESS model output and produce CMIP-compliant datasets. This version represents a significant rewrite focusing on usability, flexibility, and integration with modern Python workflows.
Key Features
- Python API for integration into notebooks and scripts
- Batch processing system for HPC environments with PBS
- Real-time monitoring with web-based dashboard
- Flexible CMORisation of individual variables
- Dask-enabled for scalable parallel processing
- Cross-platform compatibility (not limited to NCI Gadi)
- CMIP6 and CMIP7 FastTrack support
Installation
ACCESS-MOPPeR requires Python >= 3.11. Install with:
bash
pip install numpy pandas xarray netCDF4 cftime dask pyyaml tqdm requests streamlit
pip install .
Quick Start
Interactive Usage (Python API)
```python import glob from accessmopper import ACCESSESM_CMORiser
Select input files
files = glob.glob("/path/to/model/output/*mon.nc")
Create CMORiser instance
cmoriser = ACCESSESMCMORiser( inputpaths=files, compoundname="Amon.pr", # table.variable format experimentid="historical", sourceid="ACCESS-ESM1-5", variantlabel="r1i1p1f1", gridlabel="gn", activityid="CMIP", outputpath="/path/to/output" )
Run CMORisation
cmoriser.run() cmoriser.write() ```
Batch Processing (HPC/PBS)
For large-scale processing on HPC systems:
- Create a configuration file (
batch_config.yml):
```yaml variables: - Amon.pr - Omon.tos - Amon.ts
experimentid: piControl sourceid: ACCESS-ESM1-5 variantlabel: r1i1p1f1 gridlabel: gn
inputfolder: "/g/data/project/model/output" outputfolder: "/scratch/project/cmor_output"
file_patterns: Amon.pr: "output[0-4][0-9][0-9]/atmosphere/netCDF/mon.nc" Omon.tos: "output[0-4][0-9][0-9]/ocean/temp.nc" Amon.ts: "output[0-4][0-9][0-9]/atmosphere/netCDF/mon.nc"
PBS configuration
queue: normal cpuspernode: 16 mem: 32GB walltime: "02:00:00" scheduleroptions: "#PBS -P yourproject" storage: "gdata/project+scratch/project"
workerinit: | module load conda conda activate yourenvironment ```
- Submit batch job:
bash
mopper-cmorise batch_config.yml
- Monitor progress at http://localhost:8501
Batch Processing Features
The batch processing system provides:
- Parallel execution: Each variable processed as a separate PBS job
- Real-time monitoring: Web dashboard showing job status and progress
- Automatic tracking: SQLite database maintains job history and status
- Error handling: Failed jobs can be easily identified and resubmitted
- Resource optimization: Configurable CPU, memory, and storage requirements
- Environment management: Automatic setup of conda/module environments
Monitoring Tools
- Streamlit Dashboard: Real-time web interface at http://localhost:8501
- Command line: Use standard PBS commands (
qstat,qdel) - Database: SQLite tracking at
{output_folder}/cmor_tasks.db - Log files: Individual stdout/stderr for each job
File Organization
work_directory/
batch_config.yml # Your configuration
cmor_job_scripts/ # Generated PBS scripts and logs
cmor_Amon_pr.sh # PBS script
cmor_Amon_pr.py # Python processing script
cmor_Amon_pr.out # Job output
cmor_Amon_pr.err # Job errors
output_folder/
cmor_tasks.db # Progress tracking
[CMORised files] # Final output
Documentation
- Getting Started:
docs/source/getting_started.rst - Example Configuration:
src/access_mopper/examples/batch_config.yml - API Reference: [Coming soon]
Current Limitations
- Alpha version: Intended for evaluation only
- Ocean variables: Limited support in current release
- Variable mapping: Under review for CMIP6/CMIP7 compliance
Support
- Issues: Submit via GitHub Issues
- Questions: Contact ACCESS-NRI support
- Contributions: Welcome via Pull Requests
License
ACCESS-MOPPeR is licensed under the Apache-2.0 License.
Background: ACCESS-MOPPeR v2 is a complete rewrite using modern Python libraries (xarray, dask) instead of CMOR, providing improved flexibility and integration with contemporary data science workflows.
Owner
- Name: ACCESS-NRI
- Login: ACCESS-NRI
- Kind: organization
- Email: access.nri@anu.edu.au
- Website: https://www.access-nri.org.au/
- Repositories: 17
- Profile: https://github.com/ACCESS-NRI
Australian Earth System Simulator - National Research Infrastructure
GitHub Events
Total
- Create event: 47
- Issues event: 44
- Release event: 23
- Delete event: 15
- Member event: 3
- Issue comment event: 19
- Push event: 141
- Public event: 1
- Pull request review comment event: 10
- Pull request review event: 8
- Pull request event: 36
Last Year
- Create event: 47
- Issues event: 44
- Release event: 23
- Delete event: 15
- Member event: 3
- Issue comment event: 19
- Push event: 141
- Public event: 1
- Pull request review comment event: 10
- Pull request review event: 8
- Pull request event: 36
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 44
- Total pull requests: 25
- Average time to close issues: about 2 months
- Average time to close pull requests: 7 days
- Total issue authors: 5
- Total pull request authors: 5
- Average comments per issue: 0.09
- Average comments per pull request: 0.32
- Merged pull requests: 17
- Bot issues: 0
- Bot pull requests: 9
Past Year
- Issues: 44
- Pull requests: 25
- Average time to close issues: about 2 months
- Average time to close pull requests: 7 days
- Issue authors: 5
- Pull request authors: 5
- Average comments per issue: 0.09
- Average comments per pull request: 0.32
- Merged pull requests: 17
- Bot issues: 0
- Bot pull requests: 9
Top Authors
Issue Authors
- rbeucher (40)
- flicj191 (1)
- bschroeter (1)
- rhaegar325 (1)
- briochemc (1)
Pull Request Authors
- rbeucher (9)
- dependabot[bot] (9)
- rhaegar325 (5)
- flicj191 (1)
- dougiesquire (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/setup-python v4 composite
- conda-incubator/setup-miniconda v2 composite
- pypa/gh-action-pypi-publish release/v1 composite
- uibcdf/action-build-and-upload-conda-packages v1.2.0 composite
- cftime *
- cmor *
- dask *
- numpy *
- pandas *
- pyyaml *
- xarray *
- actions/checkout v4.2.2 composite
- actions/setup-python v5 composite
- codecov/codecov-action v5 composite
- conda-incubator/setup-miniconda v3 composite
- pre-commit/action v3.0.1 composite