Skip to content

CMIP7 forcing update to dev-cmip7-preindustrial+concentrations#213

Closed
penguian wants to merge 1 commit into
dev-preindustrial+concentrationsfrom
test-cmip7-preindustrial+concentrations-184fe32b-9fa3-484f-a193-e423bcb3e27a
Closed

CMIP7 forcing update to dev-cmip7-preindustrial+concentrations#213
penguian wants to merge 1 commit into
dev-preindustrial+concentrationsfrom
test-cmip7-preindustrial+concentrations-184fe32b-9fa3-484f-a193-e423bcb3e27a

Conversation

@penguian
Copy link
Copy Markdown
Collaborator

Update the ESM1.6 pre-industrial configuration to match the CMIP7 forcings as per the u-dq819/trunk@331487 CMIP7 ancillary suite for ACCESS-ESM1.6, run as per gadi:/scratch/tm70/pcl851/cylc-run/u-dq819.trunk/run19.

The CMIP7 pre-industrial forcing datasets included are:

  1. Anthropogenic short-lived climate forcer (SLCF) and CO2 emissions
    CEDS-CMIP-2025-04-18

  2. Open biomass burning emissions
    DRES-CMIP-BB4CMIP7-2-0

  3. Greenhouse gas concentrations
    CR-CMIP-1-0-0

  4. Stratospheric volcanic SO2 emissions and aerosol optical properties
    UOEXETER-CMIP-2-2-1

  5. Solar
    SOLARIS-HEPPA-CMIP-4-6

Note that u-dq819.trunk/run19 also created the following aerosol ancillary files:

/g/data/tm70/pcl851/CMIP7/esm16_ancil/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.09.22/:
BC_1850_cmip7.anc  Bio_1850_cmip7.anc  OCFF_1850_cmip7.anc  scycl_1850_cmip7.anc

These ancillary files are identical to the files that are already in

/g/data/vk83/prerelease/configurations/inputs/access-esm1p6/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.06.04

and therefore the latter files do not need to be updated.

Details

Checking the aerosol ancillary files in /g/data/tm70/pcl851/CMIP7/esm16_ancil/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.09.22 vs /g/data/vk83/prerelease/configurations/inputs/access-esm1p6/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.06.04 with mule-cumf shows that these files are identical:

[pcl851@gadi-login-01 ~]$ for f in $d/*.anc;do b=$(basename $f);g=$e/$b; mule-cumf --stashmaster 7.3 $f $g; done|more
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* (CUMF-II) Module Information *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mule       : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/mule/__init__.py (version 2024.11.1)
um_utils   : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_utils/__init__.py (version 2024.11.1)
um_packing : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_packing/__init__.py (version 2024.11.1) (packing lib from SHUMlib: 2024111)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* CUMF-II Comparison Report *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

File 1: /g/data/vk83/prerelease/configurations/inputs/access-esm1p6/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.06.04/BC_1850_cmip7.anc
File 2: /g/data/tm70/pcl851/CMIP7/esm16_ancil/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.09.22/BC_1850_cmip7.anc
Files compare
  * 0 differences in fixed_length_header (with 7 ignored indices)
  * 0 field differences, of which 0 are in data

Compared 12/12 fields, with 12 matches

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* (CUMF-II) Module Information *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mule       : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/mule/__init__.py (version 2024.11.1)
um_utils   : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_utils/__init__.py (version 2024.11.1)
um_packing : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_packing/__init__.py (version 2024.11.1) (packing lib from SHUMlib: 2024111)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* CUMF-II Comparison Report *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

File 1: /g/data/vk83/prerelease/configurations/inputs/access-esm1p6/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.06.04/Bio_1850_cmip7.anc
File 2: /g/data/tm70/pcl851/CMIP7/esm16_ancil/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.09.22/Bio_1850_cmip7.anc
Files compare
  * 0 differences in fixed_length_header (with 7 ignored indices)
  * 0 field differences, of which 0 are in data

Compared 24/24 fields, with 24 matches

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* (CUMF-II) Module Information *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mule       : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/mule/__init__.py (version 2024.11.1)
um_utils   : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_utils/__init__.py (version 2024.11.1)
um_packing : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_packing/__init__.py (version 2024.11.1) (packing lib from SHUMlib: 2024111)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* CUMF-II Comparison Report *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

File 1: /g/data/vk83/prerelease/configurations/inputs/access-esm1p6/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.06.04/OCFF_1850_cmip7.anc
File 2: /g/data/tm70/pcl851/CMIP7/esm16_ancil/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.09.22/OCFF_1850_cmip7.anc
Files compare
  * 0 differences in fixed_length_header (with 7 ignored indices)
  * 0 field differences, of which 0 are in data

Compared 12/12 fields, with 12 matches

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* (CUMF-II) Module Information *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mule       : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/mule/__init__.py (version 2024.11.1)
um_utils   : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_utils/__init__.py (version 2024.11.1)
um_packing : /g/data/xp65/public/apps/med_conda/envs/analysis3-25.09/lib/python3.11/site-packages/um_packing/__init__.py (version 2024.11.1) (packing lib from SHUMlib: 2024111)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
* CUMF-II Comparison Report *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

File 1: /g/data/vk83/prerelease/configurations/inputs/access-esm1p6/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.06.04/scycl_1850_cmip7.anc
File 2: /g/data/tm70/pcl851/CMIP7/esm16_ancil/modern/pre-industrial/atmosphere/aerosol/global.N96/2025.09.22/scycl_1850_cmip7.anc
Files compare
  * 0 differences in fixed_length_header (with 7 ignored indices)
  * 0 field differences, of which 0 are in data

Compared 36/36 fields, with 36 matches

@penguian penguian changed the title CMIP7 forcing update to test-cmip7-preindustrial+concentrations CMIP7 forcing update to dev-cmip7-preindustrial+concentrations Sep 23, 2025
Comment thread atmosphere/namelists
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.

What control do you have over the format here (is it updated by a script?). I'd prefer CO2_MMR to keep using the E format and there's no good reason to keep the odd space after the equals.

Copy link
Copy Markdown
Collaborator Author

@penguian penguian Sep 25, 2025

Choose a reason for hiding this comment

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

See cmip7_pi_ghg_patch in https://github.com/ACCESS-NRI/CMIP7-Input/blob/development/CMIP7/esm1p6/atmosphere/ghg/cmip7_PI_ghg_generate.py

The code repeated below uses the f90nml Namelist and Parser classes. It sets the float_format attribute of the Namelist variabls patch_namelist to use .4e formatting, writes patch_namelist to the string patch_str and then uses the Parser.reads method to read patch_str and create the Namelist variable patch_str_namelist.

    patch_namelist = f90nml.namelist.Namelist(patch)
    # Set the floating point format to the right value
    patch_namelist.float_format = ".4e"
    # The floating point format is ignored unless
    # you print the namelist or convert it to a string
    patch_str = str(patch_namelist)
    parser = f90nml.Parser()
    patch_str_namelist = parser.reads(patch_str)

I am going to investigate further to see if the .4e formatting is lost during the parser.reads, and to make sure that .4e floating point formatting by Python and C is identical.

@penguian
Copy link
Copy Markdown
Collaborator Author

Closing this pull request. See ACCESS-NRI/CMIP7-Input#91

@penguian penguian closed this Sep 25, 2025
@penguian penguian deleted the test-cmip7-preindustrial+concentrations-184fe32b-9fa3-484f-a193-e423bcb3e27a branch September 25, 2025 22:29
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