Skip to content

esgdrs for cmip6plus #110

@NishkaDG

Description

@NishkaDG

Hi,

@tiantdk and I tried to run an esgdrs command for cmip6plus output, with the esgprep code release v3.1.0 .

This was the command:

esgdrs make list -p cmip6plus /data/project/dmiesgf/cmip6plus/CMIP6Plus/CMIP/EC-Earth-Consortium/EC-Earth3/historical/r8i1p1f1/

I followed the guide here: https://esgf.github.io/esgf-prepare/getting_started.html , and changed "cmip6" to "cmip6plus", and I am not sure what I did differently.

This was the output for each file:

:: SKIPPED :: /data/project/dmiesgf/cmip6plus/CMIP6Plus/CMIP/EC-Earth-Consortium/EC-Earth3/historical/r8i1p1f1/SImonPt/sidivvel/gn/v20210701/sidivvel_SImonPt_EC-Earth3_historical_r8i1p1f1_gn_201402-201501.nc
Traceback (most recent call last):
  File "/data/project/dmiesgf/esgf-prepare/.venv/lib/python3.12/site-packages/esgvoc/api/projects.py", line 791, in get_project
    result = ProjectSpecs(**project.specs)  # type: ignore
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/project/dmiesgf/esgf-prepare/.venv/lib/python3.12/site-packages/pydantic/main.py", line 250, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 3 validation errors for ProjectSpecs
drs_specs.directory.regex
  Field required [type=missing, input_value={'type': 'directory', 'se..., 'is_required': True}]}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
drs_specs.file_name.regex
  Field required [type=missing, input_value={'type': 'file_name', 'se... 'is_required': False}]}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing
drs_specs.dataset_id.regex
  Field required [type=missing, input_value={'type': 'dataset_id', 's..., 'is_required': True}]}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/missing

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/data/project/dmiesgf/esgf-prepare/esgprep/drs/make.py", line 121, in __call__
    dg = DrsGenerator(self.project)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/project/dmiesgf/esgf-prepare/.venv/lib/python3.12/site-packages/esgvoc/apps/drs/validator.py", line 41, in __init__
    project_specs: ProjectSpecs | None = projects.get_project(project_id)
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/project/dmiesgf/esgf-prepare/.venv/lib/python3.12/site-packages/esgvoc/api/projects.py", line 794, in get_project
    raise EsgvocDbError(msg) from e
esgvoc.core.exceptions.EsgvocDbError: unable to read specs in project 'cmip6plus'

For institutional reasons we are using pip instead of uv; here is the list of packages and versions that we have:

$ pip list
Package            Version
------------------ -----------
attrs              20.3.0
Babel              2.9.1
certifi            2024.8.30
cffi               1.14.5
cftime             1.6.4.post1
chardet            4.0.0
charset-normalizer 3.3.2
configobj          5.0.6
cryptography       36.0.1
dbus-python        1.2.18
decorator          4.4.2
distro             1.5.0
dnspython          2.3.0
docker             7.1.0
esgprep            2.7.3
fuzzywuzzy         0.18.0
github3.py         0.9.5
gpg                1.15.1
gssapi             1.6.9
hurry.filesize     0.9
idna               2.10
ipaclient          4.11.0
ipalib             4.11.0
ipaplatform        4.11.0
ipapython          4.11.0
Jinja2             2.11.3
jsonpatch          1.21
jsonpointer        2.0
jsonschema         3.2.0
jwcrypto           0.8
libcomps           0.1.18
lockfile           0.12.2
MarkupSafe         1.1.1
netaddr            0.8.0
netCDF4            1.7.2
netifaces          0.10.6
nftables           0.1
numpy              2.0.2
oauthlib           3.1.1
pip                21.3.1
ply                3.11
prettytable        0.7.2
pyasn1             0.4.8
pyasn1-modules     0.2.8
pycparser          2.20
PyGObject          3.40.1
pyrsistent         0.17.3
pyserial           3.4
PySocks            1.7.1
python-augeas      0.5.0
python-dateutil    2.8.1
python-ldap        3.4.3
python-yubico      1.3.3
pytz               2021.1
pyusb              1.0.2
PyYAML             5.4.1
qrcode             6.1
requests           2.32.3
rpm                4.16.1.3
selinux            3.6
sepolicy           3.6
setools            4.4.4
setuptools         53.0.0
six                1.15.0
SSSDConfig         2.9.4
systemd-python     234
tqdm               4.11.2
treelib            1.8.0
uritemplate.py     2.0.0
urllib3            1.26.5

How can we get esgprep to work on our CMIP6Plus data?

Thanks,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions