Skip to content

noresm3_0_040_cam6_4_121: Refactor and enhance CMIP7 namelist process#287

Merged
gold2718 merged 5 commits into
NorESMhub:noresm_developfrom
gold2718:cmip_namelists
Jul 5, 2026
Merged

noresm3_0_040_cam6_4_121: Refactor and enhance CMIP7 namelist process#287
gold2718 merged 5 commits into
NorESMhub:noresm_developfrom
gold2718:cmip_namelists

Conversation

@gold2718

@gold2718 gold2718 commented Jun 24, 2026

Copy link
Copy Markdown

Summary: Refactor and enhance CMIP7 namelist process

Contributors: gold2718

Reviewers: @oyvindseland, @DirkOlivie, @Ovewh, @MichaelSchulzMETNO

Purpose of changes: #286

Github PR URL: #287

Changes made to build system: None

Changes made to the namelist: None except for new usermods options

Changes to the defaults for the boundary datasets: None

Substantial timing or memory changes: None

Detailed description of changes

  • Implement configuration file for usermods sets
  • Add support for output with COSP and/or Aerocom fields
  • Add support for separate CAM field request (added to CMIP7 request)
  • Rewrote README.md file
  • Add regression test for full output (modify base NHIST test)

Testing:

  • aux_cam_noresm on Olivia: All pass except for namelist and output changes for modified test
  • aux_cam_noresm on Betzy: All pass except for namelist and output changes for modified test

addresses: #286

- Implement configuration file for usermods sets
- Add support for output with COSP and/or Aerocom fields
- Add support for separate CAM field request (added to CMIP7 request)
- Rewrote README.md file
- Add regression test for full output (modify base NHIST test)
Comment thread tools/cmip_namelists/cmip_diagnostic_namelists.py
missing7 = check_for_missing_fieldnames(all_fieldnames, cmip7_request,
"CMIP7")
cam_request = parse_spreadsheet(camfile)
missingc = check_for_missing_fieldnames(all_fieldnames, cmip7_request,

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Thanks. I also found that this morning since RESTOM and CO2 were not reported as missing.

print(f" {field}")
# end for
arglist = command_line(sys.argv[1:])
cmipfile, camfile, usermods, configfile, overwrite, error, maxline = arglist

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.

Suggested change
cmipfile, camfile, usermods, configfile, overwrite, error, maxline = arglist
cmipfile, camfile, usermods, configfile, overwrite, error, maxline,ignore_fieldlist = arglist

Comment thread tools/cmip_namelists/cmip_diagnostic_namelists.py Outdated
Steve Goldhaber added 3 commits July 1, 2026 20:27
- Improve extract_master_list.py to allow multiple input logs plus
  user-defined output file.
- Create fixed list for CAM fields that do not have addfld calls.
  These fields are available but are not added to any fincl as their
  output is hard coded.
- Create set of fields for emission-driven runs
- Use chemistry diags for a specific package, not from master list
- Parse history handling flags from spreadsheets (e.g., CMIP7 data request)
- Update PUMAS tag with NCAL bug fix
Rename 'Max' usermods to 'Cosp'
Improve reporting of missing fields (introduce verbose option)
- Add docosp = .true. for COSP usermods runs
@gold2718 gold2718 requested a review from Ovewh July 2, 2026 19:44
@gold2718

gold2718 commented Jul 2, 2026

Copy link
Copy Markdown
Author

I think this is ready for final review for someone. I have included a test script that does a 1-month run for each usermod in this PR. These runs are currently at:

/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryAerocom
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryAerocomESM
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryBase
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryBaseESM
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryCosp
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryCospESM
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryHF
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryHFESM
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryMin
/cluster/work/projects/nn9560k/goldy/CMIP7_HistoryMinESM

Note, I have a few missing fields that need some code and there are other missing fields (see #286), however, I think this code should go in now to facilitate working on the CMIP7 data-processing workflow.
@MichaelSchulzMETNO, @oyvindseland, @DirkOlivie

@gold2718 gold2718 requested a review from mvertens July 3, 2026 11:39
@gold2718 gold2718 moved this from Todo to In Progress in NorESM Development Jul 3, 2026
@gold2718 gold2718 merged commit 710d3dd into NorESMhub:noresm_develop Jul 5, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in NorESM Development Jul 5, 2026
@gold2718 gold2718 deleted the cmip_namelists branch July 5, 2026 19:53
@gold2718 gold2718 changed the title Refactor and enhance CMIP7 namelist process noresm3_0_040_cam6_4_121: Refactor and enhance CMIP7 namelist process Jul 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants