Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enforce CCPP requirements for using 'implicit none' #206

Open
climbfuji opened this issue May 17, 2024 · 0 comments
Open

Enforce CCPP requirements for using 'implicit none' #206

climbfuji opened this issue May 17, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@climbfuji
Copy link

Description

The CCPP requirements state that every scheme must use implicit none. This is not followed through consistently, for example subroutine neg_check in GF deep convection doesn't declare its loop variables i and k:

subroutine neg_check(name,j,dt,q,outq,outt,outu,outv, &

Solution

2 steps:

  1. Change the build system such that it adds compiler flags that enforece implicit none, whether it is set in the code or not.
  2. Identify all schemes that do not have implicit none and set it on the module level (if modules are used - better be); remove at the individual subroutine level. If no modules are used (bad), set at the subroutine level. Or fix to use modules!

Alternatives (optional)

Keep violating CCPP requirements

Related to (optional)

n/a

@climbfuji climbfuji added the enhancement New feature or request label May 17, 2024
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
None yet
Development

No branches or pull requests

1 participant