Skip to content

address gfortran compilation warning for ugwp_driver_v0.F#354

Merged
climbfuji merged 2 commits into
NCAR:dtc/developfrom
grantfirl:fix_cires_ugwp_compilation_warning
Nov 25, 2019
Merged

address gfortran compilation warning for ugwp_driver_v0.F#354
climbfuji merged 2 commits into
NCAR:dtc/developfrom
grantfirl:fix_cires_ugwp_compilation_warning

Conversation

@grantfirl
Copy link
Copy Markdown
Collaborator

The gfortran compiler complains that the arguments supplied to the calls to two subroutines in ugwp_driver_v0.F are mismatched. I think that this fixes the issue, but Valery Yudin should confirm.

Note that this code is not currently being executed. These calls occur in edmix_ugwp_v0 subroutine, whose one call is bypassed via a return statement before its execution in cires_ugwp_driver_v0 in IPD physics and cires_ugwp_run in CCPP physics. Since these changes are not actually executed, I don't necessarily see a point in running RTs.

The same issue exists in the IPD version of the physics in the fv3atm repo.

@climbfuji
Copy link
Copy Markdown
Collaborator

@grantfirl has Valery seen and approved your changes? I am trying to compile SCM with Intel in debug mode (without this fix), and I am getting compilation errors:

/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(1996): error #6633: The type of the actual argument differs from the type of the dummy argument.   [LEVS]
          call diff_1d_wtend(levs, dtstab, Fw, Fw1, levs,
----------------------------------------------------^
/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(1996): error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface.   [S1]
          call diff_1d_wtend(levs, dtstab, Fw, Fw1, levs,
---------------^
/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(1996): error #8284: If the actual argument is scalar, the dummy argument shall be scalar unless the actual argument is of type character or is an element of an array that is not assumed shape, pointer, or polymorphic.   [KM]
          call diff_1d_wtend(levs, dtstab, Fw, Fw1, levs,
---------------^
/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(2009): error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface.   [S]
          call diff_1d_ptend(levs, dtstab, Fw, Kpt, del(i,:), Sw)
---------------^
compilation aborted for /scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F (code 1)

@climbfuji
Copy link
Copy Markdown
Collaborator

@junwang-noaa @DusanJovic-NOAA you may want to know about this

@grantfirl
Copy link
Copy Markdown
Collaborator Author

@grantfirl has Valery seen and approved your changes? I am trying to compile SCM with Intel in debug mode (without this fix), and I am getting compilation errors:

/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(1996): error #6633: The type of the actual argument differs from the type of the dummy argument.   [LEVS]
          call diff_1d_wtend(levs, dtstab, Fw, Fw1, levs,
----------------------------------------------------^
/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(1996): error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface.   [S1]
          call diff_1d_wtend(levs, dtstab, Fw, Fw1, levs,
---------------^
/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(1996): error #8284: If the actual argument is scalar, the dummy argument shall be scalar unless the actual argument is of type character or is an element of an array that is not assumed shape, pointer, or polymorphic.   [KM]
          call diff_1d_wtend(levs, dtstab, Fw, Fw1, levs,
---------------^
/scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F(2009): error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface.   [S]
          call diff_1d_ptend(levs, dtstab, Fw, Kpt, del(i,:), Sw)
---------------^
compilation aborted for /scratch1/BMC/gmtb/Dom.Heinzeller/gmtb-scm/gmtb-scm-call-ccpp-prebuild-from-cmake/intel/dynamic/ccpp/physics/physics/ugwp_driver_v0.F (code 1)

No, Valery isn't aware of this, AFAIK. I can't find his GitHub username. I'll just email him and send him a link to this PR.

@grantfirl
Copy link
Copy Markdown
Collaborator Author

Associated PR: NCAR/fv3atm#4

Note that Valery has approved this fix.

@grantfirl
Copy link
Copy Markdown
Collaborator Author

@climbfuji Since this only affects non-active code, I don't see a point in running RTs, do you? If no RTs needed, this is ready to merge.

@climbfuji climbfuji merged commit 73b8c0d into NCAR:dtc/develop Nov 25, 2019
hannahcbarnes pushed a commit to hannahcbarnes/ccpp-physics that referenced this pull request Aug 3, 2022
…N options on (NCAR#354)

Add a WAM regression test with the MULTI_GASES and MOLECULAR_DIFFUSION options on

Co-authored-by: Sajal.Kar <Sajal.Kar@noaa.gov>
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