Skip to content

Quickstart instructions#951

Merged
mauzey1 merged 3 commits intoPCMDI:mainfrom
ilaflott:quickstart-instructions
Apr 23, 2026
Merged

Quickstart instructions#951
mauzey1 merged 3 commits intoPCMDI:mainfrom
ilaflott:quickstart-instructions

Conversation

@ilaflott
Copy link
Copy Markdown
Contributor

targeting #945

@ilaflott
Copy link
Copy Markdown
Contributor Author

ilaflott commented Apr 23, 2026

wondering about make test_python and make_test_cmip6cv:

the approach i took given the instructions

# conda env creation + checkout code --> good
git clone --recursive git@github.com:PCMDI/cmor && cd cmor
module load conda
conda create -n cmor_dev -c conda-forge \
  libuuid \
  json-c \
  udunits2 \
  hdf5 \
  libnetcdf \
  openblas \
  netcdf4 \
  numpy \
  openssl \
  python \
  pyfive \
  hdf5plugin \
  $CONDA_COMPILERS
conda activate cmor_dev

# configure --> good
export LDSHARED_FLAGS="-shared -pthread"
export PREFIX=$(python -c "import sys; print(sys.prefix)")

./configure \
  --prefix=$PREFIX \
  --with-python \
  --with-uuid=$PREFIX \
  --with-json-c=$PREFIX \
  --with-udunits2=$PREFIX \
  --with-netcdf=$PREFIX \
  --enable-verbose-test

# good
make install
export HDF5_PLUGIN_PATH="$(python -c 'import hdf5plugin; print(hdf5plugin.PLUGINS_PATH)')"

# largely good but did not work
make test

first failure is here:

make test_python

error output seems testing clean-up related. removing the directory and rerunning will not fix the problem, so it's a clash of output between tests under test_python is my guess:

python Test/test_cmor_parent_attrs.py
....EEE
======================================================================
ERROR: test_cmip7_warns_on_parent_attributes_without_parent_experiment (__main__.TestCMIP7WithParentAttributes.test_cmip7_warns_on_parent_attributes_without_parent_experiment)
----------------------------------------------------------------------

OSError: [Errno 39] Directory not empty: './CMIP/PCMDI-test-1-0/piControl/r009i000001dp1f30/tos/tavg-u-hxy-sea/gn'

======================================================================
ERROR: test_cmip7_with_parent_attributes (__main__.TestCMIP7WithParentAttributes.test_cmip7_with_parent_attributes)
----------------------------------------------------------------------

OSError: [Errno 39] Directory not empty: './CMIP/PCMDI-test-1-0/historical/r009i000001dp1f30/tos/tavg-u-hxy-sea/gn'

======================================================================
ERROR: test_cmip7_without_parent_attributes (__main__.TestCMIP7WithParentAttributes.test_cmip7_without_parent_attributes)
----------------------------------------------------------------------

OSError: [Errno 39] Directory not empty: './CMIP/PCMDI-test-1-0/piControl/r009i000001dp1f30/tos/tavg-u-hxy-sea/gn'

----------------------------------------------------------------------
Ran 7 tests in 0.579s

FAILED (errors=3)
make[1]: *** [Makefile:157: test_a_python] Error 1
make[1]: Leaving directory '/home/Ian.Laflotte/Working/cmor'
make: *** [Makefile:236: test_python] Error 2

perhaps i shouldn't expect this to pass because it's no longer cmip6, but, second failure is here:

make test_cmip6_cv

error output similarly seems testing cleanup related:

E
======================================================================
ERROR: testCMIP6 (__main__.TestCase.testCMIP6)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/Ian.Laflotte/Working/cmor/Test/base_CMIP6_CV.py", line 32, in tearDown
    self.remove_file_and_directories(filename)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/home/Ian.Laflotte/Working/cmor/Test/base_CMIP6_CV.py", line 14, in remove_file_and_directories
    os.rmdir(filename)
    ~~~~~~~~^^^^^^^^^^
OSError: [Errno 39] Directory not empty: 'CMIP6/CMIP6/DCPP/PCMDI/PCMDI-test-1-0/dcppA-hindcast/s2000-r3i1p1f1/Omon/masso/gn/v20260423'

----------------------------------------------------------------------

@mauzey1
Copy link
Copy Markdown
Collaborator

mauzey1 commented Apr 23, 2026

@ilaflott Thank you for adding these source build instructions to the repo.

Could you please add a "prerequisite" section for installing miniforge like on the doc site's instructions.

Please remove the "checked"/"unchecked" comments.

I'm not sure what is going on with Test/test_cmor_parent_attrs.py. I haven't seen these errors on my Macbook. I will double-check the output of the Linux CI tests to see if they appear.

@mauzey1
Copy link
Copy Markdown
Collaborator

mauzey1 commented Apr 23, 2026

After double-checking by looking at the Linux CI output and also following your instructions to build and run tests on my Macbook, I'm not sure where that "directory not empty" error is coming from.

I still think these instructions are good with the requested changes.

@ilaflott
Copy link
Copy Markdown
Contributor Author

ilaflott commented Apr 23, 2026

After double-checking by looking at the Linux CI output and also following your instructions to build and run tests on my Macbook, I'm not sure where that "directory not empty" error is coming from.

intriguing, untracked external dependency?

I still think these instructions are good with the requested changes.

👍🏻

@ilaflott
Copy link
Copy Markdown
Contributor Author

also sorry for missing the exact instructions i was looking for in your documentation! I'm puzzled how i missed it.

i suppose this PR is for those of us with short attention spans, apologies!

(... agents probably like it too)

@mauzey1 mauzey1 merged commit 2883d46 into PCMDI:main Apr 23, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants