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

Compiler warnings may not be suppressed #1984

Closed
DusanJovic-NOAA opened this issue Nov 6, 2023 · 32 comments · Fixed by NOAA-EMC/CICE#75, NOAA-EMC/CMEPS#114, #2172 or #2225
Closed

Compiler warnings may not be suppressed #1984

DusanJovic-NOAA opened this issue Nov 6, 2023 · 32 comments · Fixed by NOAA-EMC/CICE#75, NOAA-EMC/CMEPS#114, #2172 or #2225
Assignees

Comments

@DusanJovic-NOAA
Copy link
Collaborator

Currently in the top-level cmake and in atmos_cube_sphere cmake we use the -nowarn flag (Intel compiler) which suppress all compiler warnings.

$ grep -r nowarn .
./cmake/Intel.cmake:set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -nowarn -sox -align array64byte -qno-opt-dynamic-align")
./FV3/atmos_cubed_sphere/cmake/compiler_flags_Intel_Fortran.cmake:set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -nowarn -sox -align array64byte -qno-opt-dynamic-align ${${kind}_flags}")

According to "NCEP Central Operations WCOSS Implementation Standards" this is not allowed (page 15 section IV B. (5)):

"Code must compile without errors or warnings. Errors and warnings may not be suppressed, and the compiler warning level ("-W" options) must be at least the default one."

We should remove this flag (from ufs-weather-model and atmos_cubed_sphere) and start working on eliminating all warnings.

@BrianCurtis-NOAA
Copy link
Collaborator

I agree. There are groups that have done some of this work in their push from R2O, so maybe we can bring some of those edits back from operations.

@DusanJovic-NOAA
Copy link
Collaborator Author

When I compile the code without -nowarn flag I see many warnings complaining about long global names, for example:

/work/noaa/fv3-cam/djovic/ufs/develop/ufs-weather-model/build/FV3/ccpp/physics/ccpp_FV3_GFS_v17_coupled_p8_physics_cap.F90(114): warning #5462: Global name too long, shortened from: ccpp_fv3_gfs_v17_coupled_p8_physics_cap_mp_FV3_GFS_V17_COUPLED_P8_PHYSICS_TSFINAL_CAP to: v3_gfs_v17_coupled_p8_physics_cap_mp_FV3_GFS_V17_COUPLED_P8_PHYSICS_TSFINAL_CAP
   function FV3_GFS_v17_coupled_p8_physics_tsfinal_cap() result(ierr)

or:

/work/noaa/fv3-cam/djovic/ufs/develop/ufs-weather-model/FV3/io/fv3atm_rrfs_sd_io.F90(5): warning #5462: Global name too long, shortened from: fms_netcdf_unstructured_domain_io_mod_mp_REGISTER_UNSTRUCTURED_DOMAIN_RESTART_VARIABLE_1D to: _unstructured_domain_io_mod_mp_REGISTER_UNSTRUCTURED_DOMAIN_RESTART_VARIABLE_1D
module fv3atm_rrfs_sd_io

If I disable just this warning 5462 (using -diag-disable 5462) I see the following warnings in various subcomponents:

CMEPS:

CMEPS-interface/CMEPS/ufs/glc_elevclass_mod.F90(43): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [GLC_ELEVCLASS]
CMEPS-interface/CMEPS/ufs/glc_elevclass_mod.F90(36): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [GLC_ELEVCLASS]
CMEPS-interface/CMEPS/ufs/glc_elevclass_mod.F90(59): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [GLC_ICEFRAC_EC]

stochastic_physics:

stochastic_physics/update_ca.F90(398): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/update_ca.F90(398): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [4294967296]
stochastic_physics/update_ca.F90(398): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/update_ca.F90(709): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/update_ca.F90(709): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [4294967296]
stochastic_physics/update_ca.F90(709): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/cellular_automata_global.F90(168): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/cellular_automata_global.F90(168): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [4294967296]
stochastic_physics/cellular_automata_global.F90(168): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/cellular_automata_sgs.F90(297): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/cellular_automata_sgs.F90(297): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [4294967296]
stochastic_physics/cellular_automata_sgs.F90(297): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/stochy_patterngenerator.F90(162): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]
stochastic_physics/stochy_patterngenerator.F90(162): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [4294967296]
stochastic_physics/stochy_patterngenerator.F90(162): warning #8221: This integer constant is outside the default integer range - using INTEGER(8) instead.   [2147483648]

ccpp/physics:

FV3/ccpp/physics/physics/module_ozphys.F90(515): warning #6178: The return value of this FUNCTION has not been defined.   [ERR_MESSAGE]
FV3/ccpp/physics/physics/module_ozphys.F90(93): warning #6178: The return value of this FUNCTION has not been defined.   [ERR_MESSAGE]
FV3/ccpp/physics/physics/dcyc2t3.f(184): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ADJSFCULW]
FV3/ccpp/physics/physics/GFS_surface_generic_pre.F90(64): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DRAIN_CPL]
FV3/ccpp/physics/physics/GFS_surface_generic_pre.F90(64): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DSNOW_CPL]
FV3/ccpp/physics/physics/unified_ugwp.F90(256): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ZMTB]
FV3/ccpp/physics/physics/unified_ugwp.F90(256): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ZLWB]
FV3/ccpp/physics/physics/unified_ugwp.F90(256): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ZOGW]

atmos_cubed_sphere:

FV3/atmos_cubed_sphere/tools/fv_nudge.F90(2488): warning #6371: A jump into a block from outside the block may have occurred.   [123]
FV3/atmos_cubed_sphere/model/fv_regional_bc.F90(4497): warning #6384: The INTEGER(KIND=4) value is out-of-range.   [9E9]
FV3/atmos_cubed_sphere/model/fv_regional_bc.F90(4547): warning #6384: The INTEGER(KIND=4) value is out-of-range.   [9E9]
FV3/atmos_cubed_sphere/model/fv_regional_bc.F90(4604): warning #6384: The INTEGER(KIND=4) value is out-of-range.   [9E9]
FV3/atmos_cubed_sphere/model/fv_regional_bc.F90(4663): warning #6384: The INTEGER(KIND=4) value is out-of-range.   [9E9]
FV3/atmos_cubed_sphere/model/fv_regional_bc.F90(4079): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DELZ]
FV3/atmos_cubed_sphere/tools/test_cases.F90(5467): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [PK]
FV3/atmos_cubed_sphere/tools/test_cases.F90(5658): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [TP]
FV3/atmos_cubed_sphere/tools/test_cases.F90(5658): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [QP]
FV3/atmos_cubed_sphere/tools/module_diag_hailcast.F90(50): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ISTATUS]

MOM6:

MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/FMS_coupler_util.F90(12): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ARRAY_OUT]
MOM6-interface/MOM6/src/framework/posix.F90(353): warning #6178: The return value of this FUNCTION has not been defined.   [RC]
MOM6-interface/MOM6/src/framework/MOM_io_file.F90(1694): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [CHKSUM]
MOM6-interface/MOM6/src/framework/MOM_io_file.F90(1694): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [VALID_CHKSUM]
MOM6-interface/MOM6/src/ALE/MOM_remapping.F90(390): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [PPOLY_R_E]
MOM6-interface/MOM6/src/ALE/MOM_remapping.F90(390): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [PPOLY_R_S]
MOM6-interface/MOM6/src/ALE/MOM_remapping.F90(390): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [PPOLY_R_COEFS]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(280): warning #6178: The return value of this FUNCTION has not been defined.   [G_TRACER_IS_PROG]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(206): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [VALUE]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ISD]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [JSD]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ISC]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [IEC]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [JSC]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [JEC]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [IED]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [JED]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [NK]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(128): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [NTAU]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(196): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ARRAY]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(183): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ARRAY]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(173): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [ARRAY]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(274): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [STRING]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(268): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [STRING]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(214): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [STRING]
MOM6-interface/MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer_utils.F90(292): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [OBC_HAS]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(433): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(422): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(411): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(400): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(389): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(378): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(367): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(356): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(345): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(334): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(323): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(312): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [DATA]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(475): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [MODEL]
MOM6-interface/MOM6/config_src/external/database_comms/database_client_interface.F90(617): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [SCRIPT]
MOM6-interface/MOM6/src/ice_shelf/MOM_ice_shelf_diag_mediator.F90(517): warning #6178: The return value of this FUNCTION has not been defined.   [REGISTER_MOM_IS_STATIC_FIELD]

@DeniseWorthen
Copy link
Collaborator

It's hard to believe that there are no warnings from either CICE or WW3? I wonder if these components are having the -nowarn overwritten.

@MatthewMasarik-NOAA
Copy link
Collaborator

It's hard to believe that there are no warnings from either CICE or WW3? I wonder if these components are having the -nowarn overwritten.

@DeniseWorthen looking into the cmake build scripts, I think you are likely correct WW3 is overriding this at the moment.

@DusanJovic-NOAA
Copy link
Collaborator Author

It's hard to believe that there are no warnings from either CICE or WW3? I wonder if these components are having the -nowarn overwritten.

@DeniseWorthen looking into the cmake build scripts, I think you are likely correct WW3 is overriding this at the moment.

I do not see where WW3 sets -nowarn.

@DusanJovic-NOAA
Copy link
Collaborator Author

There are only 7 'remarks' in WW3, I'm not sure if NCO considers remarks as warnings. It would be nice to clean them as well (either by changing the code or disabling them)

WW3/model/src/w3arrymd.F90(2255): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3arrymd.F90(2256): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3arrymd.F90(2253): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3gridmd.F90(6360): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3tidemd.F90(826): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3tidemd.F90(830): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3wavemd.F90(414): remark #6536: All symbols from this module are already visible due to another USE; the ONLY clause will have no effect. Rename clauses, if any, will be honored.   [W3ODATMD]

@MatthewMasarik-NOAA
Copy link
Collaborator

It's hard to believe that there are no warnings from either CICE or WW3? I wonder if these components are having the -nowarn overwritten.

@DeniseWorthen looking into the cmake build scripts, I think you are likely correct WW3 is overriding this at the moment.

I do not see where WW3 sets -nowarn.

Yes, I could not find it either. WW3 is unsetting flags from parent components, so I was mostly confirming that a top level -nowarn would be overwritten.

@MatthewMasarik-NOAA
Copy link
Collaborator

There are only 7 'remarks' in WW3, I'm not sure if NCO considers remarks as warnings. It would be nice to clean them as well (either by changing the code or disabling them)

WW3/model/src/w3arrymd.F90(2255): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3arrymd.F90(2256): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3arrymd.F90(2253): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3gridmd.F90(6360): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3tidemd.F90(826): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3tidemd.F90(830): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
WW3/model/src/w3wavemd.F90(414): remark #6536: All symbols from this module are already visible due to another USE; the ONLY clause will have no effect. Rename clauses, if any, will be honored.   [W3ODATMD]

It is interesting there are only remarks, and no warnings. I will look into resolving those (though we have some bigger fish to fry, so not immediately).

@DeniseWorthen
Copy link
Collaborator

@DusanJovic-NOAA For CICE, the CMakeList shows

elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
  set(CMAKE_Fortran_FLAGS "-g -traceback")
  set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -FR -convert big_endian -assume byterecl -ftz -align array64byte")
  set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -fp-model precise")
  set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -init=snan,arrays")
  set(CMAKE_Fortran_LINK_FLAGS "")

So to me, this appears that CICE is not appending the fortran flags to any existing ones, but creating it's own list. Is that right? If I look at a compile line for CICE in the compile log, I don't see the -nowarn setting, which I should if it was appending to an existing list.

I seem to remember this question before about each component setting it's own compiler settings vs a single set of compiler settings for the all the components.

@junwang-noaa
Copy link
Collaborator

@jiandewang FYI.

@jiandewang
Copy link
Collaborator

just communicated with GFDL, will start to eliminate them.

@junwang-noaa
Copy link
Collaborator

@jiandewang Thanks!

@DusanJovic-NOAA
Copy link
Collaborator Author

I recompiled the current develop branch and I still see more or less the same warnings (I didn't compare them line by line). But now I do see one warning in CICE:

CICE-interface/CICE/cicecore/drivers/nuopc/cmeps/ice_prescribed_mod.F90(21): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value.   [RC]                                                                                                                           
  subroutine ice_prescribed_init(clock, mesh, rc)
----------------------------------------------^

@DeniseWorthen
Copy link
Collaborator

OK, thanks. I also have a fix for the one you found in CMEPS. How do you want to go about fixing these? I can make a feature branch which you could point to for testing?

@DusanJovic-NOAA
Copy link
Collaborator Author

OK, thanks. I also have a fix for the one you found in CMEPS. How do you want to go about fixing these? I can make a feature branch which you could point to for testing?

A feature branch should work. Thanks.

@DeniseWorthen
Copy link
Collaborator

@DusanJovic-NOAA
Copy link
Collaborator Author

@DusanJovic-NOAA Please try these feature branches:

https://github.com/DeniseWorthen/CMEPS/commits/feature/nowarn/ https://github.com/DeniseWorthen/CICE/tree/feature/nowarn

Thanks

I recompiled the code using these two branches and I do not see CICE and CMEPS warnings anymore.

@junwang-noaa
Copy link
Collaborator

@DeniseWorthen would you please create PRs for CICE and CMEPS? Thanks

@junwang-noaa
Copy link
Collaborator

@Qingfu-Liu May I ask if you can take a look at the warnings in CCPP physics? Thanks

@DeniseWorthen
Copy link
Collaborator

@junwang-noaa Yes, I'll create a PR for UWM to bring in these two updates.

@Qingfu-Liu
Copy link
Collaborator

@Qingfu-Liu May I ask if you can take a look at the warnings in CCPP physics? Thanks
@junwang-noaa I did not follow up the warms in CCPP physics, but I will take a look at them

@Qingfu-Liu
Copy link
Collaborator

Qingfu-Liu commented Feb 5, 2024 via email

@BinLiu-NOAA
Copy link
Contributor

Just a note that, for the upcoming HAFSv2 upgrade, we are also required to address the build/compile warnings. Thanks for having already started working on these!

@Qingfu-Liu
Copy link
Collaborator

@junwang-noaa I have created PR#169 to remove the compile warnings from CCPP physics in the ufs-community repository.

@junwang-noaa
Copy link
Collaborator

Thanks, @Qingfu-Liu

@jiandewang
Copy link
Collaborator

@DusanJovic-NOAA can you re-compile using the following MOM6 branch ?
https://github.com/marshallward/MOM6/tree/emc_fix_warn
I think all warning shall be gone

@DusanJovic-NOAA
Copy link
Collaborator Author

@DusanJovic-NOAA can you re-compile using the following MOM6 branch ? https://github.com/marshallward/MOM6/tree/emc_fix_warn I think all warning shall be gone

Thanks. I do not see MOM6 warnings anymore.

@jiandewang
Copy link
Collaborator

@DusanJovic-NOAA thanks for your testing. Actually there is one warning pop out only on wcoss2 (not on HERA that I tested). Marshall will prvide an updated code and I will let you know when it's ready for a re-test.

@jiandewang
Copy link
Collaborator

@DusanJovic-NOAA can you repeat your test but use latest commit (hash # 51fe0dab) on wcoss2
https://github.com/marshallward/MOM6/tree/emc_fix_warn

@DusanJovic-NOAA
Copy link
Collaborator Author

@DusanJovic-NOAA can you repeat your test but use latest commit (hash # 51fe0dab) on wcoss2 https://github.com/marshallward/MOM6/tree/emc_fix_warn

No warnings on wcoss2 with 51fe0dab

@jiandewang
Copy link
Collaborator

@DusanJovic-NOAA thanks. I will signal GFDL to issue PR for MOM6

@BijuThomas-NOAA
Copy link
Contributor

BijuThomas-NOAA commented Apr 16, 2024

We encountered an intel compiler warning from fv3atm (on WCOSS2/Hera/Jet) in HAFS:

 CMakeFiles/fv3atm.dir/io/module_wrt_grid_comp.F90.o
 /tmp/ifortXZziK1.i90: warning #6178: The return value of this FUNCTION has not been defined.   [MY_POINTER]

The log information is not very helpful in locating the issue and unable to locate the "MY_POINTER" variable/function in the code.
Interesting to note that the warning appeared in the temporary assembly file /tmp/ifortXZziK1.i90
The compilation with gnu compiler on Hera does not show any warning in module_wrt_grid_comp.F90
Any thoughts?

cd /lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0/sorc/hafs_forecast.fd/tests/build_fv3_hafs_mom6/FV3 && /opt/cray/pe/craype/2.7.17/bin/ftn -DENABLE_QUAD_PRECISION -DGFS_PHYS -DGFS_TYPES -DINLINE_POST -DINTERNAL_FILE_NML -DMOIST_CAPPA -DMOVING_NEST -DOVERLOAD_R4 -DOVERLOAD_R8 -DUSE_COND -DUSE_GFSL63 -Duse_WRTCOMP -I/lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0/sorc/hafs_forecast.fd/tests/build_fv3_hafs_mom6/FV3/atmos_cubed_sphere/include/fv3 -I/lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0/sorc/hafs_forecast.fd/tests/build_fv3_hafs_mom6/FV3/ccpp/mod -I/lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0/sorc/hafs_forecast.fd/tests/build_fv3_hafs_mom6/FV3/ccpp/framework/src -I/lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0/sorc/hafs_forecast.fd/tests/build_fv3_hafs_mom6/FV3/ccpp/physics -I/lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0/sorc/hafs_forecast.fd/tests/build_fv3_hafs_mom6/stochastic_physics/mod -I/lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0/sorc/hafs_forecast.fd/tests/build_fv3_hafs_mom6/FV3/upp/sorc/ncep_post.fd/include -I/apps/ops/para/libs/intel/19.1.3.304/cray-mpich/8.1.9/fms/2023.02.01/include_r8 -I/apps/prod/hpc-stack/i-19.1.3.304__m-8.1.12__h-1.14.0__n-4.9.2__p-2.5.10__e-8.4.2/intel-19.1.3.304/cray-mpich-8.1.12/netcdf/4.9.2/include -I/apps/ops/prod/libs/intel/19.1.3.304/w3emc/2.9.2/include_d -I/apps/ops/prod/libs/intel/19.1.3.304/bacio/2.4.1/include_4 -I/apps/ops/prod/libs/intel/19.1.3.304/sp/2.3.3/include_d -I/apps/prod/hpc-stack/i-19.1.3.304__m-8.1.12__h-1.14.0__n-4.9.2__p-2.5.10__e-8.5.0/intel-19.1.3.304/cray-mpich-8.1.12/esmf/8.5.0/mod -I/apps/prod/hpc-stack/i-19.1.3.304__m-8.1.12__h-1.14.0__n-4.9.2__p-2.5.10__e-8.5.0/intel-19.1.3.304/cray-mpich-8.1.12/esmf/8.5.0/include -I/apps/prod/hpc-stack/i-19.1.3.304__m-8.1.12__h-1.14.0__n-4.9.2__p-2.5.10__e-8.5.0/intel-19.1.3.304/cray-mpich-8.1.12/netcdf/4.9.2/include -I/apps/ops/prod/libs/intel/19.1.3.304/crtm/2.4.0/include -I/apps/ops/prod/libs/intel/19.1.3.304/g2/3.4.5/include_4 -I/apps/spack/libpng/1.6.37/intel/19.1.3.304/4ohkronuhlyherusoszzrmur5ewvlwzh/include -I/apps/spack/zlib/1.2.11/intel/19.1.3.304/hjotqkckeoyt6j6tibalwzrlfljcjtdh/include -I/apps/ops/prod/libs/intel/19.1.3.304/g2tmpl/1.10.2/include -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -sox -align array64byte -qno-opt-dynamic-align -diag-disable 5462 -diag-disable 7712 -O3 -fp-model precise -assume buffered_stdout -fno-alias -align all -debug minimal -qoverride-limits -ftz -no-ip -no-fma -module mod -qopenmp -c /lfs/h2/emc/hur/noscrub/biju.thomas/save/hafs.v2.0.0
/sorc/hafs_forecast.fd/FV3/io/module_wrt_grid_comp.F90 -o CMakeFiles/fv3atm.dir/io/module_wrt_grid_comp.F90.o
/tmp/ifortXZziK1.i90: warning #6178: The return value of this FUNCTION has not been defined.   [MY_POINTER]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment