Climate-REF / Climate-REF/climate-ref

CCCma's pre-alpha testing feedback

Open
#289 32 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
26
Forks
14
Avg merge
1d 10h
Merged PRs (30d)
36

Description

Hi all, we've tried to run the ref at our HPC facilities and first feedback. Please let me know if any questions arise. The feedback is from me and @k-a-webb.

Steps we took:

- [x] **Install the REF** Generally no major issues, the only feedback is that we don't have official `uv` installation, so I just was following the instructions from [here](https://docs.astral.sh/[uv](https://docs.astral.sh/uv/#installation)/#installation). Personally, I just haven't realized that the folder will become quite large and since we have relatively small `$HOME` allocations I have to uninstall and re-install `uv` in a different folder. I would add in the docs a warning and add a link or a note on how to install uv in a different folder.
- [ ] **Configuring the REF** The bigger issue was configuration of the REF. I tried to change where the database, logs etc would reside and just couldn't figure out how to change the configuration. I tried changing the variables shown [here](https://climate-ref.readthedocs.io/en/latest/configuration/) through bash and through `uv run ref config` with multiple options, but always got errors. I'd recommend to add more documentation on configuration.
- [x] **Fetch the required observation data** All went well. The only comment, the documentation [here](https://climate-ref.readthedocs.io/en/latest/getting_started/#as-a-modelling-center) says that this step commands start with `ref`, but I think it should be `uv run ref`.
- [x] **Ingest the observation dataset** No issues. All fine.
- [x] **Ingest some local CMIP6 datasets** This step worked with a caveat. We've tried ingesting our full CMIP6 archive, but it took forever and we were running out of job time. I tried put it into a long time/low memory queue, it was chugging for over 19 hours, and then I tried in a parallel job to ingest some other small dataset and the long ingestion command just stopped. I should have known better, since it's SQLite, but the point stands. Ingesting CMIP6 archive is veeeeery long and can't be done in multiple jobs. I would put warnings in the documentation or even in the command line when the command is called. @k-a-webb suggestion was to possibly provide time estimate. Also I was trying to speed up the process by ingesting only the monthly data using wildcards (e.g., `CMIP6/CMIP/CCCma/CanESM5/historical/r*/*mon/`), but I got an error doing that. Overall, I successfully ingested data from the same MIPs as the same provided in the REF's CMIP6 sample data, just form the several models.
- [ ] **Solve and execute** Solve didn't work, it was a Christmas tree of errors (there was green, there was green and sometimes there was a tree) :smiley: :christmas_tree:. I can send logs, but for now I'm attaching a part of what I got on the screen.

```
subprocess.CalledProcessError: Command '['/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/software/conda/micromamba', 'run', '--prefix', '/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/software/conda/pmp-6a8eb4990766c2f2f68ae41699f0f5025acc0eed', 'python', '/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/pcmdi_metrics/variability_mode/variability_modes_driver.py', '-p', '/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref-pmp/src/climate_ref_pmp/params/pmp_param_MoV-psl.py', '--variability_mode', 'SAM', '--modpath', '/space/hall5/sitestore/eccc/crd/crd_shared/ESGF_downloads/CMIP6/CMIP/CCCma/CanESM5-1/historical/r19i1p2f1/Amon/psl/gn/v20190429/psl_Amon_CanESM5-1_historical_r19i1p2f1_gn_185001-201412.nc', '--modpath_lf', 'none', '--exp', 'historical', '--realization', 'r19i1p2f1', '--modnames', 'CanESM5-1', '--reference_data_name', '20CR', '--reference_data_path', '/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/../ref_data/obs4ref/obs4REF/NOAA-ESRL-PSD/20CR/mon/psl/gn/v20210727/psl_mon_20CR_PCMDI_gn_187101-201212.nc', '--results_dir', '/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/scratch/pmp/extratropical-modes-of-variability-sam/e978599e352045b904d7724a365fccdfe4c97ec7', '--cmec', '--no_provenance', '--osyear', '1950', '--oeyear', '2005']' returned non-zero exit status 1.
2025-05-13 21:10:03.032 | ERROR | climate_ref.executor:handle_execution_result:209 - failed
2025-05-13 21:10:05.210 | ERROR | climate_ref.executor.local:run:72 - Error running diagnostic extratropical-modes-of-variability-sam.
Additional information about this execution can be viewed using: ref executions inspect 567
Traceback (most recent call last):

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/bin/ref", line 10, in
sys.exit(app())
│ │ └
│ └

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/typer/main.py", line 323, in __call__
return get_command(self)(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/click/core.py", line 1161, in __call__
return self.main(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/typer/core.py", line 740, in main
return _main(

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/typer/core.py", line 195, in _main
rv = self.invoke(ctx)
│ │ └
│ └

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/click/core.py", line 1697, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
│ │ │ │ └
│ │ │ └
│ │ └
│ └
└ ._process_result at 0x14bccbbb5bc0>
File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/click/core.py", line 1443, in invoke
return ctx.invoke(self.callback, **ctx.params)
│ │ │ │ │ └ {'dry_run': False, 'timeout': 60}
│ │ │ │ └
│ │ │ └
│ │ └
│ └

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/click/core.py", line 788, in invoke
return __callback(*args, **kwargs)
│ └ {'dry_run': False, 'timeout': 60}
└ ()
File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/typer/main.py", line 698, in wrapper
return callback(**use_params)
│ └ {'ctx': , 'dry_run': False, 'timeout': 60}

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref/src/climate_ref/cli/solve.py", line 23, in solve
solve_required_executions(config=config, db=db, dry_run=dry_run, timeout=timeout)
│ │ │ │ └ 60
│ │ │ └ False
│ │ └
│ └ Config(log_level='WARNING', paths=PathConfig(log=PosixPath('/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/log'), sc...

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref/src/climate_ref/solver.py", line 377, in solve_required_executions
executor.run(
│ └

> File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref/src/climate_ref/executor/local.py", line 62, in run
result = diagnostic.run(definition=definition)
│ │ └ ExecutionDefinition(key='cmip6_historical_r1i1p1f1_CanESM5-1_r1i1p1f1__obs4mips_20CR_psl', datasets=
└ ExtratropicalModesOfVariability(name='Extratropical modes of variability: SAM')

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref-core/src/climate_ref_core/diagnostics.py", line 553, in run
self.provider.run(cmd)
│ │ └ ['python', '/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/pcmdi_metrics/variability_mod...
│ └
└ ExtratropicalModesOfVariability(name='Extratropical modes of variability: SAM')

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref-core/src/climate_ref_core/providers.py", line 418, in run
raise e

File "/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref-core/src/climate_ref_core/providers.py", line 406, in run
res = subprocess.run( # noqa: S603
│ └

File "/home/emr001/.local/share/uv/python/cpython-3.11.12-linux-x86_64-gnu/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
│ │ │ └ ['/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/software/conda/micromamba', 'run', '--prefix', '/fs/homeu2/eccc/crd...
│ │ └
│ └ 1

subprocess.CalledProcessError: Command '['/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/software/conda/micromamba', 'run', '--prefix', '/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/software/conda/pmp-6a8eb4990766c2f2f68ae41699f0f5025acc0eed', 'python', '/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/.venv/lib/python3.11/site-packages/pcmdi_metrics/variability_mode/variability_modes_driver.py', '-p', '/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/packages/climate-ref-pmp/src/climate_ref_pmp/params/pmp_param_MoV-psl.py', '--variability_mode', 'SAM', '--modpath', '/space/hall5/sitestore/eccc/crd/crd_shared/ESGF_downloads/CMIP6/CMIP/CCCma/CanESM5-1/historical/r1i1p1f1/Amon/psl/gn/v20190429/psl_Amon_CanESM5-1_historical_r1i1p1f1_gn_185001-201412.nc', '--modpath_lf', 'none', '--exp', 'historical', '--realization', 'r1i1p1f1', '--modnames', 'CanESM5-1', '--reference_data_name', '20CR', '--reference_data_path', '/fs/site5/eccc/crd/ccrn/users/emr001/climate-ref/../ref_data/obs4ref/obs4REF/NOAA-ESRL-PSD/20CR/mon/psl/gn/v20210727/psl_mon_20CR_PCMDI_gn_187101-201212.nc', '--results_dir', '/fs/homeu2/eccc/crd/ccrn_shr/emr001/.config/climate_ref/scratch/pmp/extratropical-modes-of-variability-sam/7051291dc6625f73a5e29bea9af3a7d355507886', '--cmec', '--no_provenance', '--osyear', '1950', '--oeyear', '2005']' returned non-zero exit status 1.
2025-05-13 21:10:05.406 | ERROR | climate_ref.executor:handle_execution_result:209 - failed
2025-05-13 21:10:05.413 | ERROR | climate_ref.solver:extract_covered_datasets:113 - No datasets found in the data catalog: pmp-climatology
2025-05-13 21:10:05.427 | ERROR | climate_ref.solver:extract_covered_datasets:113 - No datasets found in the data catalog: pmp-climatology
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.