ESCOMP/CAM

Not able to compile cam7 physics with nag compiler

Opened this issue · 5 comments

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

@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?

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).

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

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

`