From 757f8d4920bdf5cac62eeec22fc15de659ef9c3e Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 5 Nov 2021 15:36:04 -0600 Subject: [PATCH 1/5] Remove hard-codedd compiler flags for several files frorm CMakeLists.txt --- CMakeLists.txt | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5252802ed..6033b3a43 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,25 +143,6 @@ set(SCHEMES_OPENMP_OFF ${LOCAL_CURRENT_SOURCE_DIR}/physics/rte-rrtmgp/rrtmgp/mo_ #------------------------------------------------------------------------------ if (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU") - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-none") - - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/module_bfmicrophysics.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/sflx.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/sfc_diff.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/sfc_diag.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/module_nst_model.f90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/calpreciptype.f90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/mersenne_twister.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/module_nst_water_prop.f90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/aer_cloud.F - ${LOCAL_CURRENT_SOURCE_DIR}/physics/wv_saturation.F - ${LOCAL_CURRENT_SOURCE_DIR}/physics/cldwat2m_micro.F - ${LOCAL_CURRENT_SOURCE_DIR}/physics/surface_perturbation.F90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/module_mp_thompson_make_number_concentrations.F90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/module_SF_JSFC.F90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/module_BL_MYJPBL.F90 - PROPERTIES COMPILE_FLAGS "-fdefault-real-8 -fdefault-double-8 ${OpenMP_Fortran_FLAGS}") - if (PROJECT STREQUAL "CCPP-FV3") # Set 32-bit floating point precision flags for certain files # that are executed in the dynamics (fast physics part) @@ -274,29 +255,6 @@ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel") SET_PROPERTY(SOURCE ${SCHEMES2} ${CAPS} APPEND_STRING PROPERTY COMPILE_FLAGS " ${CMAKE_Fortran_FLAGS_DEFAULT_PREC} ${OpenMP_Fortran_FLAGS} ") - else (PROJECT STREQUAL "CCPP-FV3") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/module_bfmicrophysics.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/sflx.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/sfc_diff.f - ${LOCAL_CURRENT_SOURCE_DIR}/physics/sfc_diag.f - PROPERTIES COMPILE_FLAGS "-r8 ${OpenMP_Fortran_FLAGS} ") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/module_nst_model.f90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/calpreciptype.f90 - PROPERTIES COMPILE_FLAGS "-r8 -free ${OpenMP_Fortran_FLAGS} ") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/mersenne_twister.f - PROPERTIES COMPILE_FLAGS "-r8 -ftz ${OpenMP_Fortran_FLAGS} ") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/module_nst_water_prop.f90 - PROPERTIES COMPILE_FLAGS "-extend-source 132 -r8 -free ${OpenMP_Fortran_FLAGS} ") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/aer_cloud.F - ${LOCAL_CURRENT_SOURCE_DIR}/physics/wv_saturation.F - ${LOCAL_CURRENT_SOURCE_DIR}/physics/cldwat2m_micro.F - ${LOCAL_CURRENT_SOURCE_DIR}/physics/surface_perturbation.F90 - PROPERTIES COMPILE_FLAGS "-r8 ${OpenMP_Fortran_FLAGS} ") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/module_mp_thompson_make_number_concentrations.F90 - PROPERTIES COMPILE_FLAGS "-r8 ${OpenMP_Fortran_FLAGS} ") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/module_SF_JSFC.F90 - ${LOCAL_CURRENT_SOURCE_DIR}/physics/module_BL_MYJPBL.F90 - PROPERTIES COMPILE_FLAGS "-r8 ${OpenMP_Fortran_FLAGS} ") endif (PROJECT STREQUAL "CCPP-FV3") else() From 58f1e65515ef86c3fa7186d9c90d9bd613a51a0b Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 5 Nov 2021 15:24:27 -0600 Subject: [PATCH 2/5] Remove extra logic that reduces optimization for radiation_aerosols.f from AVX2 to AVX-I --- CMakeLists.txt | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6033b3a43..4d5c8eae4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,24 +195,6 @@ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel") list(APPEND SCHEMES_SFX_OPT ${LOCAL_CURRENT_SOURCE_DIR}/physics/module_sf_mynn.F90) endif() - if (${LOCAL_CURRENT_SOURCE_DIR}/physics/radiation_aerosols.f IN_LIST SCHEMES) - # Replace -xHost or -xCORE-AVX2 with -xCORE-AVX-I for certain files - set(CMAKE_Fortran_FLAGS_LOPT1 ${CMAKE_Fortran_FLAGS_OPT}) - string(REPLACE "-xHOST" "-xCORE-AVX-I" - CMAKE_Fortran_FLAGS_LOPT1 - "${CMAKE_Fortran_FLAGS_LOPT1}") - string(REPLACE "-xCORE-AVX2" "-xCORE-AVX-I" - CMAKE_Fortran_FLAGS_LOPT1 - "${CMAKE_Fortran_FLAGS_LOPT1}") - string(REPLACE "-axSSE4.2,CORE-AVX2" "-axSSE4.2,CORE-AVX-I" - CMAKE_Fortran_FLAGS_LOPT1 - "${CMAKE_Fortran_FLAGS_LOPT1}") - SET_SOURCE_FILES_PROPERTIES(${LOCAL_CURRENT_SOURCE_DIR}/physics/radiation_aerosols.f - PROPERTIES COMPILE_FLAGS "${CMAKE_Fortran_FLAGS_LOPT1}") - # Add all of the above files to the list of schemes with special compiler flags - list(APPEND SCHEMES_SFX_OPT ${LOCAL_CURRENT_SOURCE_DIR}/physics/radiation_aerosols.f) - endif() - # Remove files with special compiler flags from list of files with standard compiler flags if (SCHEMES_SFX_OPT) list(REMOVE_ITEM SCHEMES ${SCHEMES_SFX_OPT}) @@ -260,7 +242,7 @@ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel") else() message ("CMAKE_Fortran_COMPILER full path: " ${CMAKE_Fortran_COMPILER}) message ("Fortran compiler: " ${CMAKE_Fortran_COMPILER_ID}) - message (FATAL_ERROR "This program has only been compiled with gfortran, pgf90 and ifort. If another compiler is needed, the appropriate flags must be added in ${GFS_PHYS_SRC}/CMakeLists.txt") + message (FATAL_ERROR "This program has only been compiled with gfortran and ifort. If another compiler is needed, the appropriate flags must be added in ${GFS_PHYS_SRC}/CMakeLists.txt") endif() #------------------------------------------------------------------------------ From f9dc89a49815b1d65d43625b99c5efa51381b2f0 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 4 Nov 2021 11:24:17 -0600 Subject: [PATCH 3/5] Update top-level README.md --- README.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9000afccc..b4aaef36f 100644 --- a/README.md +++ b/README.md @@ -5,16 +5,24 @@ The Common Community Physics Package (CCPP) is designed to facilitate the implem Please see more information about the CCPP at the locations below. - [CCPP website hosted by the Developmental Testbed Center (DTC)](https://dtcenter.org/ccpp) -- [CCPP public release information](https://dtcenter.org/community-code/common-community-physics-package-ccpp/ccpp-scm-version-4-0) -- [CCPP Technical Documentation](https://ccpp-techdoc.readthedocs.io/en/latest/) -- [CCPP Scientific Documentation](https://dtcenter.org/GMTB/v4.0/sci_doc/) -- [CCPP Physics GutHub wiki](https://github.com/NCAR/ccpp-physics/wiki) +- [CCPP public release information](https://dtcenter.org/community-code/common-community-physics-package-ccpp/download) +- [CCPP Technical Documentation](https://ccpp-techdoc.readthedocs.io/en/latest) +- [CCPP Scientific Documentation](https://dtcenter.ucar.edu/GMTB/v5.0.0/sci_doc) +- [CCPP Physics GitHub wiki](https://github.com/NCAR/ccpp-physics/wiki) - [CCPP Framework GitHub wiki](https://github.com/NCAR/ccpp-framework/wiki) -For the use of CCPP with its Single Column Model, see the [Single Column Model User's Guide](https://dtcenter.org/GMTB/v4.0/scm-ccpp-guide-v4.0.pdf). +For the use of CCPP with its Single Column Model, see the [Single Column Model User's Guide](http://dtcenter.org/sites/default/files/paragraph/scm-ccpp-guide-v5.0.0.pdf). -For the use of CCPP with NOAA's Unified Forecast System (UFS), see the [UFS Medium-Range Application User's Guide](https://ufs-mrweather-app.readthedocs.io/en/latest/) and the [UFS Weather Model User's Guide](https://ufs-weather-model.readthedocs.io/en/latest/). +For the use of CCPP with NOAA's Unified Forecast System (UFS), see the [UFS Medium-Range Application User's Guide](https://ufs-mrweather-app.readthedocs.io/en/latest), the [UFS Short-Range Application User's Guide](https://ufs-srweather-app.readthedocs.io/en/latest) and the [UFS Weather Model User's Guide](https://ufs-weather-model.readthedocs.io/en/latest). + +Questions can be directed to the [CCPP User Support Forum](https://dtcenter.org/forum/ccpp-user-support) or posted in the [CCPP Physics GitHub discussions](https://github.com/NCAR/ccpp-physics/discussions) or [CCPP Framework GitHub discussions](https://github.com/NCAR/ccpp-framework/discussions). When using the CCPP with NOAA's UFS, questions can be posted in the [UFS Weather Model](https://forums.ufscommunity.org/forum/ufs-weather-model) section of the [UFS Forum](https://forums.ufscommunity.org). + +## Corresponding CCPP Standard Names dictionary + +This revision of the CCPP physics library is compliant with [version 0.1.1 of the CCPP Standard Names dictionary](https://github.com/ESCOMP/CCPPStandardNames/releases/tag/v0.1.1). + +## Licensing The Apache license will be in effect unless superseded by an existing license in specific files. -Questions can be directed to the [CCPP Help Desk](mailto:gmtb-help@ucar.edu). When using the CCPP with NOAA's UFS, questions can be posted in the [UFS Weather Model](https://forums.ufscommunity.org/forum/ufs-weather-model) section of the [UFS Forum](https://forums.ufscommunity.org/) +### Last updated by Dom Heinzeller, 11/04/2021 \ No newline at end of file From c2ed86108dc40c4e7caf7d1211c630874eea803f Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 5 Nov 2021 15:28:56 -0600 Subject: [PATCH 4/5] Add Man and Linlin to CODEOWNERS --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index d7c3658fd..bd4193c5a 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -3,7 +3,7 @@ # These owners will be the default owners for everything in the repo. #* @defunkt -* @climbfuji @llpcarson @grantfirl +* @climbfuji @llpcarson @grantfirl @mzhangw @panll # Order is important. The last matching pattern has the most precedence. # So if a pull request only touches javascript files, only these owners From cbd17ca00fdfaede4fb4a24c79f9fc5c668677ad Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 4 Nov 2021 11:24:17 -0600 Subject: [PATCH 5/5] Update top-level README.md