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

Not able to compile cam7 physics with nag compiler #1200

Open
fvitt opened this issue Dec 4, 2024 · 5 comments
Open

Not able to compile cam7 physics with nag compiler #1200

fvitt opened this issue Dec 4, 2024 · 5 comments
Labels
bug Something isn't working correctly

Comments

@fvitt
Copy link

fvitt commented Dec 4, 2024

What happened?

Build of cam7 physics with the nag compiler on izumi failed.

These are the compiler error messages:

Error: /home/fvitt/camdev/cam6_4_047/src/physics/rrtmgp/ext/extensions/mo_cloud_sampling.F90, line 315: Implicit type for FINDLOC in SAMPLED_MASK_EXP_RAN
Error: /home/fvitt/camdev/cam6_4_047/src/physics/rrtmgp/ext/extensions/mo_cloud_sampling.F90, line 315: Implicit type for FINDLOC in SAMPLED_MASK_MAX_RAN

It seems that findloc intrinsic function is not available in nag6.2

What are the steps to reproduce the bug?

./create_test --test-id cam7 SMS_D_Ln9.ne3pg3_ne3pg3_mg37.FMTHIST.izumi_nag.cam-outfrq9s

What CAM tag were you using?

cam6_4_047

What machine were you running CAM on?

CGD machine (e.g. izumi)

What compiler were you using?

NAG

Path to a case directory, if applicable

/scratch/cluster/fvitt/SMS_D_Ln9.ne3pg3_ne3pg3_mg37.FMTHIST.izumi_nag.cam-outfrq9s.cam7

Will you be addressing this bug yourself?

No

Extra info

Perhaps nag7.0 will include the findloc function

@fvitt fvitt added the bug Something isn't working correctly label Dec 4, 2024
@gold2718
Copy link
Collaborator

gold2718 commented Dec 5, 2024

NAG 7.0 does support FINDLOC. See https://support.nag.com/nagware/np/r70_doc/manual/compiler_10_6.html

@cacraigucar
Copy link
Collaborator

@peverwhee and/or @brian-eaton (or anyone else who has contact with the RRTMGP developers) - Could one of you reach out to see if RRTMGP would be willing to change their findloc logic?

@nusbaume
Copy link
Collaborator

nusbaume commented Dec 9, 2024

I am going to jump in here and push back on having RRTMGP remove findloc, as it is completely valid Fortran. Instead I think we need to update NAG on Izumi to 7.0 or whatever the latest version is. This is especially true because there is also CCPP framework code which doesn't work with NAG 6.2 (but should work with later versions).

@cacraigucar
Copy link
Collaborator

Sorry - I added a "not" both times I read the comment about NAG 7.0. I agree with @nusbaume

@cacraigucar
Copy link
Collaborator

Using the NAG 7.0 compiler on izumi, it progresses further, but then has these errors (I have not looked into them at all):

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 172: Argument TROPO of BIND(C) procedure INTERPOLATION is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 340: Argument MINOR_SCALES_WITH_DENSITY_LOWER of BIND(C) procedure COMPUTE_TAU_ABSORPTION is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 340: Argument MINOR_SCALES_WITH_DENSITY_UPPER of BIND(C) procedure COMPUTE_TAU_ABSORPTION is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 340: Argument SCALE_BY_COMPLEMENT_LOWER of BIND(C) procedure COMPUTE_TAU_ABSORPTION is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 340: Argument SCALE_BY_COMPLEMENT_UPPER of BIND(C) procedure COMPUTE_TAU_ABSORPTION is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 340: Argument TROPO of BIND(C) procedure COMPUTE_TAU_ABSORPTION is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 564: Argument TROPO of BIND(C) procedure COMPUTE_TAU_RAYLEIGH is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90, line 702: Argument TROPO of BIND(C) procedure COMPUTE_PLANCK_SOURCE is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 382: Argument TOP_AT_1 of BIND(C) procedure LW_SOLVER_NOSCAT is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 382: Argument DO_BROADBAND of BIND(C) procedure LW_SOLVER_NOSCAT is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 382: Argument DO_JACOBIANS of BIND(C) procedure LW_SOLVER_NOSCAT is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 382: Argument DO_RESCALING of BIND(C) procedure LW_SOLVER_NOSCAT is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 465: Argument TOP_AT_1 of BIND(C) procedure LW_SOLVER_2STREAM is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 519: Argument TOP_AT_1 of BIND(C) procedure SW_SOLVER_NOSCAT is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 634: Argument TOP_AT_1 of BIND(C) procedure SW_SOLVER_2STREAM is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 634: Argument HAS_DIF_BC of BIND(C) procedure SW_SOLVER_2STREAM is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 634: Argument DO_BROADBAND of BIND(C) procedure SW_SOLVER_2STREAM is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 1008: Argument TOP_AT_1 of BIND(C) procedure LW_SOURCE_2STR is of non-interoperable type LOGICAL

    Error: /home/cacraig/cam_zm_cleanup4/src/physics/rrtmgp/ext/rte-kernels/mo_rte_solver_kernels.F90, line 1161: Argument TOP_AT_1 of BIND(C) procedure SW_DIF_AND_SOURCE is of non-interoperable type LOGICAL

    ERROR: BUILD FAIL: cam.buildlib failed, cat /scratch/cluster/cacraig/SMS_D_Ln9.ne3pg3_ne3pg3_mg37.FMTHIST.izumi_nag.cam-outfrq9s.cam7/bld/atm.bldlog.241216-161010

`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working correctly
Projects
Status: To Do
Development

No branches or pull requests

4 participants