Skip to content

Testing GCC#136

Draft
dougiesquire wants to merge 15 commits intomainfrom
gcc-default-fp-kinds
Draft

Testing GCC#136
dougiesquire wants to merge 15 commits intomainfrom
gcc-default-fp-kinds

Conversation

@dougiesquire
Copy link
Collaborator

@dougiesquire dougiesquire commented Feb 18, 2026

There's been some discussion on Zulip about using consistent fdefault fp GNU compiler flags for all model components.

The original question from @harshula was:

For GCC compilers, should we standardise on -fdefault-real-8 -fdefault-double-8 or -fdefault-real-8 for the ACCESS-OM2 components? I should update oasis3-mct and potentially libaccessom2.

cice5: https://github.com/ACCESS-NRI/cice5/blob/cf5df9d4d26265dc5c79e558e5a67834b51fd38d/CMakeLists.txt#L96

mom5: https://github.com/ACCESS-NRI/MOM5/blob/627a321f7490afc69b4a8e777992bcfb1f58b5ae/cmake/CMakeLists.txt#L62

This PR is for testing these options.


🚀 The latest prerelease access-om2/pr136-11 at d15826b is here: #136 (comment) 🚀

@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-1 with commit 9b68a3b

🖥️ Gadi Deployment ❌

@dougiesquire
Copy link
Collaborator Author

@harshula this appears to be trying to use the Intel version of openmpi.

f951: Fatal Error: Reading module '/apps/openmpi/5.0.8/include/Intel/mpi.mod' at line 1 column 2: Unexpected EOF

Any idea why?

@harshula
Copy link
Collaborator

harshula commented Feb 18, 2026

Hi @dougiesquire , Try @5.0.8%gcc@13.2.0 and then change the three compiler c.require to c.prefer because you chose gcc 15.1.0 and not gcc 13.2.0.

@harshula harshula closed this Feb 18, 2026
@harshula harshula reopened this Feb 18, 2026
@dougiesquire
Copy link
Collaborator Author

Ta. Maybe I should just be using gcc@13.2.0 for everything

@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-2 with commit d3960a4

🖥️ Gadi Deployment ❌

@harshula
Copy link
Collaborator

==> [2026-02-19-11:00:47.605925] Installing oasis3-mct-git.2025.03.001=2025.03.001-ez2lttx6tyvxw6wis3tgyuvhgw5ggym2 [18/23]

11 errors found in build log:
     3869     
     3870       293 |         proc,' error, stat =',trim(adjustl(cer))
     3871           |         1
     3872     Warning: Nonconforming tab character at (1) [-Wtabs]
     3873     m_die.F90:329:44:

Hi @dougiesquire , Yes, let's try gcc 13.2.0 and see if ACCESS-OM2 compiles and then come back and fix syntax and compile with 15.1.0.

@dougiesquire
Copy link
Collaborator Author

dougiesquire commented Feb 19, 2026

Just noting that what you copied here is just a warning. The error was:

     25504    /scratch/tm70/***/tmp/spack-stage/spack-stage-oasis3-mct-git.
              2025.03.001_2025.03.001-y5fkrp6dfj7ra37zfhqwhvwvc5dyorue/spack-sr
              c/lib/psmile/src/mod_oasis_coupler.F90:1624:15:
     25505    
     25506     1624 |       status = nf90_get_var(fid, vid, areasrc0%rAttr)
     25507          |               1
  >> 25508    Error: There is no specific function for the generic 'nf90_get_va
              r' at (1)
     25509    /scratch/tm70/***/tmp/spack-stage/spack-stage-oasis3-mct-git.
              2025.03.001_2025.03.001-y5fkrp6dfj7ra37zfhqwhvwvc5dyorue/spack-sr
              c/lib/psmile/src/mod_oasis_coupler.F90:1655:15:
     25510    
     25511     1655 |       status = nf90_get_var(fid, vid, areadst0%rAttr)
     25512          |               1
  >> 25513    Error: There is no specific function for the generic 'nf90_get_va
              r' at (1)

ADDED: This was with

  • -fdefault-real-8 added to oasis3-mct
  • openmpi@5.0.8%gcc@13.2.0 and preferring gcc@15.1.0 for everything else

@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-3 with commit c926c01

🖥️ Gadi Deployment ❌

@dougiesquire
Copy link
Collaborator Author

dougiesquire commented Feb 19, 2026

Same error:

     25504    /scratch/tm70/***/tmp/spack-stage/spack-stage-oasis3-mct-git.
              2025.03.001_2025.03.001-y5fkrp6dfj7ra37zfhqwhvwvc5dyorue/spack-sr
              c/lib/psmile/src/mod_oasis_coupler.F90:1624:15:
     25505    
     25506     1624 |       status = nf90_get_var(fid, vid, areasrc0%rAttr)
     25507          |               1
  >> 25508    Error: There is no specific function for the generic 'nf90_get_va
              r' at (1)
     25509    /scratch/tm70/***/tmp/spack-stage/spack-stage-oasis3-mct-git.
              2025.03.001_2025.03.001-y5fkrp6dfj7ra37zfhqwhvwvc5dyorue/spack-sr
              c/lib/psmile/src/mod_oasis_coupler.F90:1655:15:
     25510    
     25511     1655 |       status = nf90_get_var(fid, vid, areadst0%rAttr)
     25512          |               1
  >> 25513    Error: There is no specific function for the generic 'nf90_get_va
              r' at (1)

ADDED: This was with

  • -fdefault-real-8 added to oasis3-mct
  • %gcc@13.2.0 for everything

@harshula
Copy link
Collaborator

Hi @dougiesquire , Have you changed anything in access-spack-packages? If so, what did you change?

@dougiesquire
Copy link
Collaborator Author

Yep - I changed these:

spack_repo/access/nri/packages/oasis3_mct/package.py

- F90         = mpif90 -Wall -fallow-argument-mismatch -ffree-line-length-0
+ F90         = mpif90 -Wall -fallow-argument-mismatch -ffree-line-length-0 -fdefault-real-8

spack_repo/access/nri/packages/cice5/package.py

- FFLAGS = -Wall -fdefault-real-8 -fdefault-double-8 -ffpe-trap=invalid,zero,overflow -fallow-argument-mismatch
+ FFLAGS = -Wall -fdefault-real-8 -ffpe-trap=invalid,zero,overflow -fallow-argument-mismatch

I've also just now added -fdefault-double-8 to oasis3-mct, which will also fail, but I'll trigger the build anyway for documentation purposes.

Added `-fdefault-double-8` to oasis3-mct
@harshula
Copy link
Collaborator

Hi @dougiesquire , If the build fails again, can you please test a build with GCC 13.2.0 and then GCC 15.1.0 but without any changes to SPRs?

@dougiesquire
Copy link
Collaborator Author

dougiesquire commented Feb 19, 2026

Sure. I'm pretty confident the former at least will work - we do that as part of the oasis3-mct build-ci (admittedly with Spack 0.22)

@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-4 with commit b492c60

🖥️ Gadi Deployment ❌

@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-6 with commit 0e2db1b

🖥️ Gadi Deployment ❌

@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-7 with commit b8bb379

🖥️ Gadi Deployment ✔️

Usage Instructions

access-om2, defined in spack.yaml, will be deployed to Gadi as:

  • 2026.02.000 as a Release (when merged).
  • pr136-7 as a Prerelease (during this PR).

This Prerelease is accessible on Gadi using:

module use /g/data/vk83/prerelease/modules
module load access-om2/pr136-7

When using the above modules, the binaries shall be on your $PATH.

For advanced users, this Prerelease is also accessible on Gadi via /g/data/vk83/prerelease/apps/spack/1.1/spack in the access-om2-pr136-7 environment.
Due to inode-saving measures, one will have to manually untar the environment metadata before environment activation with tar -xf .spack-env .spack-env.tar. It will require one to have write privileges.

Configuration Information

This Prerelease is deployed using:

If the above was not what was expected, commit changes to config/versions.json in this PR, or propose changes to build-cds config/settings.json.

@dougiesquire
Copy link
Collaborator Author

!update-configs

@github-actions
Copy link
Contributor

🔧 Opening/Updating Model Configuration PRs in ACCESS-NRI/access-om2-configs

❌ One or more errors occurred with the workflow

Configurations Requested

Configurations requested from profile default:

  • dev-1deg_jra55_ryf
Pull Requests Opened/Updated

No PRs were opened/updated

More details can be found in the workflow run: https://github.com/ACCESS-NRI/ACCESS-OM2/actions/runs/22168531601

@dougiesquire
Copy link
Collaborator Author

dougiesquire commented Feb 19, 2026

pr136-5 uses GCC 13.2.0 with unmodified SPRs. It builds successfully, but appears to have the same issues as David Hutchinson when run (documented starting here).

I'll now try with GCC 15.1.0 as requested by @harshula.

Similarly, pr136-7, which uses GCC 15.1.0 with unmodified SPRs, builds successfully but doesn't run.

Includes the following commit cherry-picked from upstream:

NOAA-GFDL/FMS@1b3151c
@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-8 with commit 026ac80

🖥️ Gadi Deployment ✔️

Usage Instructions

access-om2, defined in spack.yaml, will be deployed to Gadi as:

  • 2026.02.000 as a Release (when merged).
  • pr136-8 as a Prerelease (during this PR).

This Prerelease is accessible on Gadi using:

module use /g/data/vk83/prerelease/modules
module load access-om2/pr136-8

When using the above modules, the binaries shall be on your $PATH.

For advanced users, this Prerelease is also accessible on Gadi via /g/data/vk83/prerelease/apps/spack/1.1/spack in the access-om2-pr136-8 environment.
Due to inode-saving measures, one will have to manually untar the environment metadata before environment activation with tar -xf .spack-env .spack-env.tar. It will require one to have write privileges.

Configuration Information

This Prerelease is deployed using:

If the above was not what was expected, commit changes to config/versions.json in this PR, or propose changes to build-cds config/settings.json.

@dougiesquire
Copy link
Collaborator Author

!update-configs

@github-actions
Copy link
Contributor

🔧 Opening/Updating Model Configuration PRs in ACCESS-NRI/access-om2-configs

Configurations Requested

Configurations requested from profile default:

  • dev-1deg_jra55_ryf
Pull Requests Opened/Updated

The following PRs were opened/updated:

More details can be found in the workflow run: https://github.com/ACCESS-NRI/ACCESS-OM2/actions/runs/22170352645

spack.yaml Outdated
openmpi:
require:
- '@5.0.8'
- '@5.0.8%gcc@13.2.0'
Copy link
Collaborator

Choose a reason for hiding this comment

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

It should still build without this change.

Copy link
Collaborator Author

@dougiesquire dougiesquire Feb 23, 2026

Choose a reason for hiding this comment

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

@harshula it doesn't seem to, unless I did something wrong?

https://github.com/ACCESS-NRI/ACCESS-OM2/actions/runs/22296080053

     119    f951: Fatal Error: Reading module '/apps/openmpi/5.0.8/include/Inte
            l/mpi.mod' at line 1 column 2: Unexpected EOF

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks for testing it. Can you please try @5.0.8%gcc

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Can you please try @5.0.8%gcc

That worked

Remove BOZ literals completely
@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-9 with commit 938077a

🖥️ Gadi Deployment ❌

@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-10 with commit 135400a

🖥️ Gadi Deployment ✔️

Usage Instructions

access-om2, defined in spack.yaml, will be deployed to Gadi as:

  • 2026.02.000 as a Release (when merged).
  • pr136-10 as a Prerelease (during this PR).

This Prerelease is accessible on Gadi using:

module use /g/data/vk83/prerelease/modules
module load access-om2/pr136-10

When using the above modules, the binaries shall be on your $PATH.

For advanced users, this Prerelease is also accessible on Gadi via /g/data/vk83/prerelease/apps/spack/1.1/spack in the access-om2-pr136-10 environment.
Due to inode-saving measures, one will have to manually untar the environment metadata before environment activation with tar -xf .spack-env .spack-env.tar. It will require one to have write privileges.

Configuration Information

This Prerelease is deployed using:

If the above was not what was expected, commit changes to config/versions.json in this PR, or propose changes to build-cds config/settings.json.

@dougiesquire dougiesquire changed the title Testing default fp kinds for GCC build Testing GCC Feb 24, 2026
Changes to mom5 and libaccessom2 to fix behaviour with allocated pointers

Back to access-fms mom5-2025.05.000

Also openmpi@5.0.8%gcc
@github-actions
Copy link
Contributor

🚀 Attempted to deploy access-om2 Prerelease pr136-11 with commit d15826b

🖥️ Gadi Deployment ✔️

Usage Instructions

access-om2, defined in spack.yaml, will be deployed to Gadi as:

  • 2026.02.000 as a Release (when merged).
  • pr136-11 as a Prerelease (during this PR).

This Prerelease is accessible on Gadi using:

module use /g/data/vk83/prerelease/modules
module load access-om2/pr136-11

When using the above modules, the binaries shall be on your $PATH.

For advanced users, this Prerelease is also accessible on Gadi via /g/data/vk83/prerelease/apps/spack/1.1/spack in the access-om2-pr136-11 environment.
Due to inode-saving measures, one will have to manually untar the environment metadata before environment activation with tar -xf .spack-env .spack-env.tar. It will require one to have write privileges.

Configuration Information

This Prerelease is deployed using:

If the above was not what was expected, commit changes to config/versions.json in this PR, or propose changes to build-cds config/settings.json.

@dougiesquire
Copy link
Collaborator Author

!update-configs

@github-actions
Copy link
Contributor

🔧 Opening/Updating Model Configuration PRs in ACCESS-NRI/access-om2-configs

Configurations Requested

Configurations requested from profile default:

  • dev-1deg_jra55_ryf
Pull Requests Opened/Updated

The following PRs were opened/updated:

More details can be found in the workflow run: https://github.com/ACCESS-NRI/ACCESS-OM2/actions/runs/22374778673

@dougiesquire
Copy link
Collaborator Author

pr136-11 uses GCC and runs successfully

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.

3 participants