Skip to content

reading of CMIP model data#1753

Open
jgriesfeller wants to merge 34 commits into
main-devfrom
1751-read-cmip6-data
Open

reading of CMIP model data#1753
jgriesfeller wants to merge 34 commits into
main-devfrom
1751-read-cmip6-data

Conversation

@jgriesfeller

@jgriesfeller jgriesfeller commented Oct 30, 2025

Copy link
Copy Markdown
Member

Change Summary

1st try to implement a CMIP model data reader

Related issue number

#1751

Checklist

  • Start with a draft-PR
  • The PR title is a good summary of the changes
  • PR is set to AeroTools and a tentative milestone
  • Documentation reflects the changes where applicable
  • Tests for the changes exist where applicable
  • Tests pass locally
  • Tests pass on CI
  • At least 1 reviewer is selected
  • Make PR ready to review

@jgriesfeller jgriesfeller self-assigned this Oct 30, 2025
@jgriesfeller jgriesfeller linked an issue Oct 30, 2025 that may be closed by this pull request
@jgriesfeller jgriesfeller changed the title reading od CMIP model data reading of CMIP model data Oct 30, 2025
@jgriesfeller jgriesfeller added this to the m2025-12 milestone Oct 30, 2025
@codecov

codecov Bot commented Oct 30, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.94009% with 24 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.46%. Comparing base (2c4b62b) to head (c784f5f).
⚠️ Report is 9 commits behind head on main-dev.

Files with missing lines Patch % Lines
pyaerocom/io/cmip_ctm/reader.py 86.04% 24 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           main-dev    #1753      +/-   ##
============================================
+ Coverage     78.36%   78.46%   +0.10%     
============================================
  Files           176      179       +3     
  Lines         23414    23627     +213     
============================================
+ Hits          18349    18540     +191     
- Misses         5065     5087      +22     
Flag Coverage Δ
unittests 78.46% <88.94%> (+0.10%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jgriesfeller jgriesfeller requested a review from dulte November 14, 2025 14:47
@jgriesfeller jgriesfeller marked this pull request as ready for review November 14, 2025 14:48

@dulte dulte left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with two comments/questions

Comment thread tests/fixtures/cmip_ci.py
Comment on lines +12 to +16
# # CHECK_PATHS = SimpleNamespace(
# # cmip_ci="modeldata/CMIP6",
# # )
#
# CMIP_CI_DATA_PATH = DataForTests(CHECK_PATHS.emep_ci).path

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove if not used

Comment thread pyaerocom/io/cmip_ctm/reader.py Outdated
Comment on lines +17 to +42
# from pyaerocom.units.units import Unit
# from .additional_variables import (
# add_dataarrays,
# calc_concNhno3,
# calc_concNnh3,
# calc_concNnh4,
# calc_concNno,
# calc_concNno2,
# calc_concNno3pm10,
# calc_concNno3pm25,
# calc_concno3pm10,
# calc_concno3pm25,
# calc_concso4t,
# calc_concSso2,
# calc_concsspm25,
# calc_conNtnh_emep,
# calc_conNtno3_emep,
# calc_vmrno2,
# calc_vmro3,
# calc_vmrox_from_conc,
# identity,
# subtract_dataarrays,
# update_EC_units,
# calc_ratpm10pm25,
# calc_ratpm25pm10,
# )

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this kind of aux variable calculations be implemented?

@jgriesfeller

jgriesfeller commented Nov 20, 2025

Copy link
Copy Markdown
Member Author

Just for documentation:
Things are getting more complicated regarding unit conversions

There's several tempertures in CMIP:

  • ta: 3d temperature (middle of each model layer)
  • ts: Surface temperature (like the ground, not the air above it)
  • tas: surface level air temperature at 2m height

For the moment it's a bit unclear to me which temperature to use for unit conversion. The same is probably true for pressure

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.

Read CMIP6 data

2 participants