Skip to content
This repository was archived by the owner on Sep 21, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
bb306ed
added ci github action #146, updated tests, restructured build-umfrq …
paolap Jul 2, 2024
300927e
partial work on tests, issues #147 and #146
paolap Jul 3, 2024
5d0ab24
fixed #147
paolap Jul 3, 2024
9904d0f
now varlist and template are 1 step see #150
paolap Jul 4, 2024
29567a3
moved options #151, #113
paolap Jul 5, 2024
f8b1a24
minor fix to actions and solved #150
paolap Jul 5, 2024
ab3cd29
progress in detecting relam and frequency
paolap Jul 6, 2024
d24bea2
removed unneccessary adjustment to variable size from mopdb_utils.py
paolap Jul 8, 2024
52d5945
Merge pull request #152 from ACCESS-Community-Hub/seltime
greensh16 Jul 8, 2024
704d607
minor adjustment to conftest and action
paolap Jul 9, 2024
7c45897
some imporvements to tests
paolap Jul 9, 2024
63f3b38
updated install instruction to current situation in docs
paolap Jul 9, 2024
fc8bb02
removed partial pattern function
paolap Jul 9, 2024
cacdd95
removed partial pattern function 2
paolap Jul 9, 2024
6397aa4
Merge pull request #154 from ACCESS-Community-Hub/varlist
greensh16 Jul 9, 2024
1a3b63c
introduced intake sub-command, and class Variable for mopdb varlist
paolap Jul 9, 2024
d81cdbd
Update mopper-conda.yaml to fix python version
greensh16 Jul 9, 2024
d470818
Update mopper-conda.yaml to fix conda file
greensh16 Jul 10, 2024
a16bfee
Update mopper-conda.yaml
greensh16 Jul 10, 2024
4c344cc
adjustments to class
paolap Jul 10, 2024
6583c89
removed extra line from docs
paolap Jul 10, 2024
b0d04f1
Update meta.yaml
greensh16 Jul 10, 2024
b8feb63
Update mopper-conda.yaml
greensh16 Jul 10, 2024
84731f4
Update meta.yaml
greensh16 Jul 10, 2024
15fbfa6
Update mopper-conda.yaml
greensh16 Jul 10, 2024
70f9425
Update mopper-conda.yaml
greensh16 Jul 10, 2024
45c5cab
Update mopper-conda.yaml
greensh16 Jul 10, 2024
85f96a7
Update mopper-conda.yaml
greensh16 Jul 10, 2024
905b898
Update mopper-conda.yaml
greensh16 Jul 10, 2024
062ec28
Update mopper-conda.yaml
greensh16 Jul 10, 2024
44ddf36
Update mopper-conda.yaml
greensh16 Jul 10, 2024
0391714
Update mopper-conda.yaml
greensh16 Jul 10, 2024
c373636
Update mopper-conda.yaml
greensh16 Jul 10, 2024
5b57806
more validation for realm added to class
paolap Jul 10, 2024
b6a4241
attempt to fix meta.yaml
paolap Jul 10, 2024
be08654
more validation for realm added to class 2
paolap Jul 10, 2024
21d5ecf
attempt to fix meta.yaml 2
paolap Jul 10, 2024
56ec024
Update mopper-conda.yaml
greensh16 Jul 10, 2024
2237ea2
Create environment.yaml
greensh16 Jul 10, 2024
1c2f27f
Update mopper-conda.yaml
greensh16 Jul 10, 2024
8a1ea8d
Update environment.yaml
greensh16 Jul 10, 2024
05a6d09
Update mopper-conda.yaml
greensh16 Jul 10, 2024
8ef5df0
Update conftest.py
greensh16 Jul 10, 2024
05d618b
Update mopper-conda.yaml
greensh16 Jul 10, 2024
53067bf
Update environment.yaml
greensh16 Jul 10, 2024
0572339
moved frequency logic to class
paolap Jul 10, 2024
2e66b79
Update test_calculations.py
greensh16 Jul 10, 2024
7998353
fixed issues hihglighted by flake
paolap Jul 10, 2024
57894bd
fixing conda package install in actions
paolap Jul 10, 2024
f044f04
fixing conda package install in actions 2
paolap Jul 10, 2024
7b3460e
fixing conda package install in actions 3
paolap Jul 10, 2024
e6b37e5
fixing conda package install in actions 4
paolap Jul 10, 2024
3c02c32
fixing conda package install in actions 5
paolap Jul 10, 2024
a36cd13
fixing conda package install in actions 6
paolap Jul 11, 2024
a1f393e
fixing conda package install in actions 7
paolap Jul 11, 2024
9a746c2
issue #155
paolap Jul 11, 2024
357e4e9
fixed import
paolap Jul 11, 2024
365caaa
Merge branch 'prerelease' into class
paolap Jul 11, 2024
835a1c5
Typo in topsoil calc
greensh16 Jul 11, 2024
b0e738e
moved to two classes for FPattern and Variable
paolap Jul 11, 2024
0195945
progress on intake subcommand
paolap Jul 12, 2024
8fa654c
Rename mopper-conda.yaml to mopper-test-calcs.yaml
greensh16 Jul 12, 2024
c14581c
started reorganising mopdb_utils.py and intake now working
paolap Jul 12, 2024
1b4df80
fixed missing arg in create_dict_file
paolap Jul 12, 2024
d20db0e
now producing intake catalogue from scratch, re-organised mopdb code …
paolap Jul 15, 2024
917582f
fixed imports
paolap Jul 16, 2024
f1c6790
merged pytests_sam in preprelease
paolap Jul 16, 2024
6f5d1e7
Merge branch 'prerelease' into class
paolap Jul 16, 2024
cdb2463
improved intake catalogue
paolap Jul 17, 2024
c049d46
modifying intake function to allow different workflows
paolap Jul 18, 2024
57d6d24
completed #147, introduced MapVaribale class
paolap Jul 23, 2024
3c5e8b4
updated docs
paolap Jul 24, 2024
683962f
switch temporarily to analysis3 stable
paolap Jul 24, 2024
47f4b1a
fixed #161
paolap Jul 31, 2024
350b470
removed print
paolap Jul 31, 2024
1e31e25
fixed missing dbname in model_vars arguments
paolap Jul 31, 2024
e3c2bed
added import of update_db to mopdb.py
paolap Jul 31, 2024
f9c48a5
attempt 1 actions
paolap Aug 2, 2024
7c1a243
attempt 2 actions
paolap Aug 2, 2024
8039925
attempt 3 actions, sub flake8 with ruff
paolap Aug 2, 2024
9898c91
attempt 4 actions
paolap Aug 2, 2024
87c00b1
temporarily remove import of nri intake
paolap Aug 2, 2024
6429a56
do not try to get frequency if only 1 file, fixed getting match data …
paolap Aug 6, 2024
ffb234a
removed print
paolap Aug 6, 2024
fdddbbd
switching to pyproject.toml
paolap Aug 6, 2024
b0e8497
removed url form pyporject.toml
paolap Aug 6, 2024
f805da2
try removing inlcude_package_data
paolap Aug 6, 2024
f12d0cf
trying to re-introduce setup.cfg
paolap Aug 6, 2024
0d60f37
removing pbr
paolap Aug 6, 2024
668a61f
removed pbr from setup.py
paolap Aug 6, 2024
bf49160
storing update.py as txt
paolap Aug 7, 2024
3fe92d7
Update requirements.txt
paolap Aug 7, 2024
a6dde1a
Update environment.yaml
paolap Aug 7, 2024
6ad967f
Update environment.yaml
paolap Aug 7, 2024
54cc2d8
more test added fake fs
paolap Aug 7, 2024
3302566
added test-requirements.txt
paolap Aug 8, 2024
1364314
improved test-conda action
paolap Aug 8, 2024
2d66224
more updates to conda and actions
paolap Aug 8, 2024
13ee445
commenting codecov temporarily using solve classic
paolap Aug 8, 2024
89058b8
more updates
paolap Aug 8, 2024
52acabc
reverting solver as slows down conda install
paolap Aug 8, 2024
5a5c415
adopting miniconda for pytest action
paolap Aug 8, 2024
cb20554
fixed pytest action
paolap Aug 8, 2024
37a3096
trying to install cmor
paolap Aug 8, 2024
9c47f70
trying to fix conda env
paolap Aug 8, 2024
3c80278
attempt 1000
paolap Aug 8, 2024
cbe72d5
attempt 1001
paolap Aug 8, 2024
322fadb
attempt 1002
paolap Aug 8, 2024
02b76c4
attempt 1003
paolap Aug 8, 2024
430c327
attempt 1004
paolap Aug 8, 2024
86aad61
solved issue #148
paolap Aug 13, 2024
7547fb2
attempt 1005 to fix workflows
paolap Aug 13, 2024
2e92a8f
fixed env name in workflow
paolap Aug 13, 2024
4b16115
trying again by adding env name to env.yaml file
paolap Aug 13, 2024
801ed00
trying again by adding env name to env.yaml file 2
paolap Aug 13, 2024
13aca23
found correct way to activate env?
paolap Aug 13, 2024
5534961
remove 3.9 added 3.12 for tests, added testdata files
paolap Aug 13, 2024
4f1cfab
cleaned code following ruff report, except for tests
paolap Aug 13, 2024
5901565
fixed typowq
paolap Aug 13, 2024
89200cf
fixed typo in test-conda workflow
paolap Aug 13, 2024
c14d05e
fixed wrong import
paolap Aug 13, 2024
0109567
fixed wrong import 2
paolap Aug 13, 2024
87df3ad
fixed wrong import 3
paolap Aug 13, 2024
f3b693e
updates and clean up of tests
paolap Aug 15, 2024
a192186
fixed import in tests
paolap Aug 15, 2024
e18eb00
Merge branch 'prerelease' into class
paolap Aug 16, 2024
c071084
Merge pull request #160 from ACCESS-Community-Hub/class
paolap Aug 16, 2024
1737476
moving shell commnad in conda action
paolap Aug 16, 2024
f7e7cea
removing shell command in conda action
paolap Aug 16, 2024
ae510e2
trying alternative way of getting version for conda action
paolap Aug 16, 2024
a5f24ee
hopefully fixed meta.yaml
paolap Aug 16, 2024
b50d34b
fixed source in meta.yaml
paolap Aug 16, 2024
8c0b4ea
fixed source in meta.yaml 2
paolap Aug 16, 2024
492961d
fixed source in meta.yaml 3
paolap Aug 16, 2024
11e1c09
fixing git_depth
paolap Aug 16, 2024
3cef828
fixed bug when detecting variables from different realms at once
paolap Aug 21, 2024
a376cc2
minor adjustment to docs, conf files and code after tests
paolap Aug 22, 2024
0a4465f
moving to python -m pytest to solve conda test issue
paolap Aug 22, 2024
c8d6d74
adding echo to run_test to see if it gets called
paolap Aug 22, 2024
6ca07ed
trying to fix conda tests
paolap Aug 22, 2024
d448bcd
trying to fix conda tests 2
paolap Aug 22, 2024
1da6fee
fixing conda action
paolap Aug 22, 2024
b1b825f
Merge branch 'main' into prerelease
paolap Aug 23, 2024
ceb0710
last fixes before releasing 1.0.0
paolap Aug 23, 2024
d22f933
attempt to fix version from git
paolap Aug 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/mopper-conda-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Build of mopper conda package for new release

# Controls when the action will run.
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
conda_deployment_with_new_tag:
name: Test conda deployment of package with Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4.1.7
with:
fetch-depth: 0
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Conda environment creation and activation
uses: conda-incubator/setup-miniconda@v3.0.4
with:
python-version: ${{ matrix.python-version }}
activate-environment: mopper_env
environment-file: conda/environment.yaml # Path to the build conda environment
show-channel-urls: true #
- name: Build but do not upload the conda packages
uses: uibcdf/action-build-and-upload-conda-packages@v1.3.0
with:
meta_yaml_dir: conda
python-version: ${{ matrix.python-version }} # Values previously defined in `matrix`
user: coecms
label: auto
upload: true
token: ${{ secrets.ANACONDA_TOKEN }} # Replace with the right name of your secret
61 changes: 61 additions & 0 deletions .github/workflows/mopper-pytest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: mopper-all-tests

#on: [push]
on:
push:
branches:
- prerelease
- main
pull_request:
branches:
- main
- prerelease


jobs:
build-linux:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
max-parallel: 5
matrix:
python-version: ["3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4.1.7
- name: Set up Python 3.10/3.11
uses: actions/setup-python@v5.1.1
with:
python-version: ${{ matrix.python-version }}
- name: Install Miniconda
uses: conda-incubator/setup-miniconda@v3.0.4
with:
activate-environment: testenv
environment-file: conda/testenv.yaml
python-version: ${{ matrix.python-version }}
channels: conda-forge
- name: Lint with ruff
shell: bash -el {0}
run: |
ruff check --output-format=github .
continue-on-error: true

# making sure we are testing installed package
- name: Install package
shell: bash -el {0}
run: |
conda activate testenv
pip install -e .
- name: Test with pytest
shell: bash -el {0}
run: |
conda run python -m pytest
#conda run coverage run --source src -m py.test
# - name: Upload to codecov
# shell: bash -el {0}
# if: steps.build.outcome == 'success'
# run: |
# curl -Os https://uploader.codecov.io/latest/linux/codecov
# chmod +x codecov
# ./codecov

49 changes: 49 additions & 0 deletions .github/workflows/mopper-test-calcs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# this workflow can be used as a template for a worklfow
# that runs automatically only specific tests when pushing
# to a selected branch.
name: mopper-specific-tests

on:
push:
branches:
- class


jobs:
build-linux:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
max-parallel: 5
matrix:
python-version: ["3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4.1.7
- name: Set up Python 3.10/3.11
uses: actions/setup-python@v5.1.1
with:
python-version: ${{ matrix.python-version }}
- name: Install Miniconda
uses: conda-incubator/setup-miniconda@v3.0.4
with:
activate-environment: testenv
environment-file: conda/testenv.yaml
python-version: ${{ matrix.python-version }}
channels: conda-forge
- name: Lint with ruff
shell: bash -el {0}
run: |
ruff check --output-format=github .
continue-on-error: true

# making sure we are testing installed package
- name: Install package
shell: bash -el {0}
run: |
conda activate testenv
pip install -e .
- name: Test with pytest
shell: bash -el {0}
run: |
conda run python -m pytest -q tests/test_calculations.py
42 changes: 42 additions & 0 deletions .github/workflows/mopper-test-conda.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Test Build of mopper conda package

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the prerelase branch
push:
branches: [ prerelease ]
pull_request:
branches: [ prerelease ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
conda_deployment_with_new_tag:
name: Test conda deployment of package with Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4.1.7
with:
fetch-depth: 0
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Conda environment creation and activation
uses: conda-incubator/setup-miniconda@v3.0.4
with:
python-version: ${{ matrix.python-version }}
activate-environment: mopper_env
environment-file: conda/environment.yaml # Path to the build conda environment
show-channel-urls: true #
- name: Build but do not upload the conda packages
uses: uibcdf/action-build-and-upload-conda-packages@v1.3.0
with:
meta_yaml_dir: conda
python-version: ${{ matrix.python-version }} # Values previously defined in `matrix`
user: coecms
label: auto
upload: false
token: ${{ secrets.ANACONDA_TOKEN }} # Replace with the right name of your secret
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
custom_app4_*.sh
__pycache__/
build/
mopper_venv/
*.csv
*.yaml
*.json
localdata/
src/mopper.egg-info/
extras/
*.txt
15 changes: 12 additions & 3 deletions ACDD_conf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,16 +83,25 @@ cmor:
grids: "ACDD_grids.json"
# Additional NCI information:
# NCI project to charge compute; $PROJECT = your default project
# NCI queue to use; hugemem is recommended
project: v45
# additional NCI projects to be included in the storage flags
addprojs: []
# queue and memory (GB) per CPU (depends on queue)
# queue and memory (GB) per CPU (depends on queue),
# hugemem is reccomended for high reoslution data and/or derived variables
# hugemem requires a minimum of 6 cpus this is handled by the code
queue: hugemem
mem_per_cpu: 32
# walltime in "hh:mm:ss"
walltime: '8:00:00'
mode: custom
# conda_env to use by default hh5 analysis3-unstable
# as this has the code and all dependecies installed
# you can override that by supplying the env to pass to "source"
# Ex
# conda_env: <custom-env-path>/bin/activate
# or you can set "test: true" and modify mopper_job.sh manually
conda_env: default

#
# Global attributes: these will be added to each files comment unwanted ones
# Using ACDD CV vocab to check validity of global attributes
Expand Down Expand Up @@ -165,4 +174,4 @@ attrs:
parent: !!bool false
# CMOR will add a tracking_id if you want to define a prefix add here
tracking_id_prefix:
comment: "post-processed using ACCESS-MOPPeR v0.6.0 https://doi.org/10.5281/zenodo.10346216"
comment: "post-processed using ACCESS-MOPPeR v1.0.0 https://doi.org/10.5281/zenodo.10346216"
6 changes: 5 additions & 1 deletion CMIP6_conf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,15 @@ cmor:
# additional NCI projects to be included in the storage flags
addprojs: []
# queue and memory (GB) per CPU (depends on queue)
# hugemem is reccomended for high reoslution data and/or derived variables
# hugemem requires a minimum of 6 cpus this is handled by the code
queue: hugemem
mem_per_cpu: 30
# walltime in "hh:mm:ss"
walltime: '8:00:00'
mode: cmip6
# conda_env: <custom-env-path>/bin/activate
conda_env: default

# Global attributes: these will be added to each files comment unwanted ones
# the labels CMIP6/ACDD indicates which ones are necessary to comply with respective standards
Expand Down Expand Up @@ -159,4 +163,4 @@ attrs:
#CMOR will add a tracking_id if you want to define a prefix add here
tracking_id_prefix:
Conventions: "CF-1.7 CMIP-6.2"
comment: "post-processed using ACCESS-MOPPeR v0.6.0 https://doi.org/10.5281/zenodo.10346216"
comment: "post-processed using ACCESS-MOPPeR v1.0.0 https://doi.org/10.5281/zenodo.10346216"
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# [ACCESS Model Output Post-Processor (MOPPeR)](https://access-mopper.readthedocs.io/en/latest)
[![Read the docs](https://readthedocs.org/projects/access-mopper/badge/?version=latest)](https://access-mopper.readthedocs.io/en/latest/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10976467.svg)](https://doi.org/10.5281/zenodo.10976467)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.12747219.svg)](https://doi.org/10.5281/zenodo.12747219)

This code is derived from the [APP4](https://doi.org/10.5281/zenodo.7703469), initially created by Peter Uhe for CMIP5, and further developed for CMIP6-era by Chloe Mackallah from CSIRO, O&A Aspendale.

Expand All @@ -15,12 +15,13 @@ Designed for use on ACCESS model output that has been archived using the [ACCESS

Although we retained a differentiation between `custom` and `cmip` mode the main workflow is the same and `mode` is now only another field in the main configuration file.

See [MOPPeR ReadtheDocs](https://access-mopper.readthedocs.io/en/stable/) for the full documentation.

### Install

You can install the latest version of `mopper` directly from conda (accessnri channel)::

conda install -c accessnri mopper
conda install -c coecms mopper

If you want to install an unstable version or a different branch:

Expand All @@ -35,6 +36,6 @@ If you want to install an unstable version or a different branch:
MOPPeR is pre-installed into a Conda environment at NCI. Load it with::

module use /g/data3/hh5/public/modules
module load conda/analysis3-unstable
module load conda/analysis3

NB. You need to be a member of the hh5 project to load the modules.
10 changes: 10 additions & 0 deletions conda/environment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: mopper_env
channels:
- conda-forge
- coecms
- default

dependencies:
- anaconda-client
- conda-build
- conda-verify
30 changes: 23 additions & 7 deletions conda/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{% set version = "0.6.1" %}
package:
name: mopper
version: {{ version }}
version: "{{ environ.get('GIT_DESCRIBE_TAG', '1.0') }}"

#source:
# path: ./

source:
#url: https://github.com/ACCESS-Hive/ACCESS-MOPPeR/archive/refs/tags/{{version}}.tar.gz
git_url: https://github.com/ACCESS-Hive/ACCESS-MOPPeR.git
git_rev: {{ version }}
git_depth: 1 # (Defaults to -1/not shallow)
#git_tag: prerelease
git_rev: "{{ version }}"
#git_depth: 1 # (Defaults to -1/not shallow)

build:
number: 0
number: 1
noarch: python
script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed"
entry_points:
Expand All @@ -24,7 +24,6 @@ requirements:
host:
- python
- pip
- pbr
run:
- python
- click
Expand All @@ -35,12 +34,29 @@ requirements:
- pyyaml
- cftime
- python-dateutil

test:
#imports:
# - mopdb
# - mopper
source_files:
- tests
- tests/testdata
requires:
- cmor
- xarray
- numpy
- dask
- pyyaml
- cftime
- python-dateutil
- pytest
- pyfakefs
- coverage
- codecov

about:
home: https://github.com/ACCESS-Hive/ACCESS-MOPPeR
license: Apache 2.0
#license_file: LICENSE.txt
summary: 'ACCESS-MOPPeR post-process ACCESS raw model output to ESGF data standards'
summary: 'ACCESS-MOPPeR post-process ACCESS raw model output using CMOR and pre-defined data standards'
3 changes: 2 additions & 1 deletion conda/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
#!/bin/bash
py.test
echo 'calling run_test'
python -m pytest
4 changes: 2 additions & 2 deletions conda/run_test_coverage.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
pip install coverage pytest-cov
py.test --cov=mopper --cov-report xml:/tmp/artefacts/tests/pytest/coverage.xml --junit-xml /tmp/artefacts/tests/pytest/results.xml
py.test --cov=mopdb --cov-report xml:/tmp/artefacts/tests/pytest/coverage.xml --junit-xml /tmp/artefacts/tests/pytest/results.xml
python -m pytest --cov=mopper --cov-report xml:/tmp/artefacts/tests/pytest/coverage.xml --junit-xml /tmp/artefacts/tests/pytest/results.xml
python -m pytest --cov=mopdb --cov-report xml:/tmp/artefacts/tests/pytest/coverage.xml --junit-xml /tmp/artefacts/tests/pytest/results.xml

18 changes: 18 additions & 0 deletions conda/testenv.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: testenv
channels:
- conda-forge

dependencies:
- cmor
- click
- xarray
- numpy
- dask
- pyyaml
- cftime
- python-dateutil
- pytest
- coverage
- codecov
- pyfakefs
- ruff
Loading
Loading