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

dtc/hwrf-physics: update from HAFS community and fix FA table initialization (#450) #453

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
b002bc9
fixed a bug in calculating CIN
AnningCheng-NOAA Jun 1, 2019
6478deb
push for three iccn options
AnningCheng-NOAA Dec 20, 2019
289f834
passed compliation ccpp/physics
AnningCheng-NOAA Dec 27, 2019
16ead43
changes in meta data
AnningCheng-NOAA Dec 30, 2019
829caff
Merge branch 'MG3_v1' of https://github.com/AnningCheng-NOAA/ccpp-phy…
AnningCheng-NOAA Dec 30, 2019
b30d0ce
fixed an error in m_micro.meta
AnningCheng-NOAA Jan 1, 2020
e9e6850
passed ccpp compilation and testing ipd compilation
AnningCheng-NOAA Jan 2, 2020
47ecb07
regression test for iccn=1 and iccn=2
AnningCheng-NOAA Jan 6, 2020
15ca418
MERRA2 consistent radiation pass regression tests
AnningCheng-NOAA Jan 17, 2020
11821dd
fixed too much high level cloud for iccn==2
AnningCheng-NOAA Jan 27, 2020
6466b91
changed ntrcaer in rad_aero to ntrcaerm
AnningCheng-NOAA Feb 13, 2020
fdf79db
Squashed commit of the following:
climbfuji Mar 17, 2020
580c258
Bugfixes and cmake build system updates required for RRTMGP
climbfuji Mar 19, 2020
b61a00d
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into ad…
climbfuji Mar 19, 2020
d72b212
physics/rrtmgp_lw_gas_optics.F90: manual merge of code in @dustinswal…
climbfuji Mar 19, 2020
b745df8
commited on MG3_v1 on 03/19/2020
AnningCheng-NOAA Mar 19, 2020
fe43bca
Bugfix in physics/rrtmgp_lw_cloud_optics.F90, add 'implicit none' to …
climbfuji Mar 19, 2020
24ce08d
Remove debug print statements
climbfuji Mar 20, 2020
e99cfb1
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into MG…
climbfuji Mar 20, 2020
bdc185a
Merge pull request #1 from climbfuji/update_anning_mg3_v1_pr
AnningCheng-NOAA Mar 20, 2020
a0bb378
physics/rrtmgp_sw_rte.F90: bugfix from @dustinswales
climbfuji Mar 20, 2020
e8bca85
Cleanup RRTMGP optional argument logic.
dustinswales Mar 23, 2020
1e43ed6
physics/GFS_rrtmgp_sw_post.F90: bugfix, reset heating rate arrays
climbfuji Mar 25, 2020
47713ac
bugs fixed in MG3_v1 m_micro.F90
AnningCheng-NOAA Mar 25, 2020
ba61503
Bugfixes and updates based on code review
climbfuji Mar 26, 2020
c075ee6
Merge pull request #411 from climbfuji/add_rrtmgp_dom
climbfuji Mar 26, 2020
84daf0c
Merge branch 'master' into MG3_v1 merge with master 3/28/2020
AnningCheng-NOAA Mar 29, 2020
5a1160b
Update README file
ligiabernardet Mar 31, 2020
b95bcb3
Update README file again
ligiabernardet Mar 31, 2020
16357f8
Merge pull request #421 from ligiabernardet/doc_updates
climbfuji Mar 31, 2020
7fef26f
Clean up of radiation tendencies standard names as described in issue…
climbfuji Apr 1, 2020
7a4016b
Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics in…
climbfuji Apr 1, 2020
dc8a5cc
Bugfix in physics/mp_thompson.F90: aerosol arrays may not be allocate…
climbfuji Apr 1, 2020
f288626
Merge pull request #422 from climbfuji/cleanup_radiation_tendencies
climbfuji Apr 2, 2020
3d64654
put gctrt in .no.flxform to avoid debug error for csawmgshoc
AnningCheng-NOAA Apr 2, 2020
4680d9d
CMakeLists.txt: remove unnecessary include directories that are not r…
climbfuji Apr 2, 2020
f8f59aa
Merge pull request #425 from climbfuji/avoid_recompile_without_change
climbfuji Apr 3, 2020
4dc748c
Remove unneeded code for SCM, including an unintentionally left FATAL…
climbfuji Apr 3, 2020
6306d8f
Merge pull request #426 from climbfuji/cleanup_scm_build
climbfuji Apr 3, 2020
c1fb9cc
changes make changing INPUT/cam5_* to cam5_* in iccninterp
AnningCheng-NOAA Apr 6, 2020
7d98913
Merge branch 'bugfix_thompson_noaero_20200401' of https://github.com/…
climbfuji Apr 9, 2020
d9fae0e
Update CMakeLists.txt: require cmake 3.0, remove legacy syntax for po…
climbfuji Apr 10, 2020
80c6fdb
physics/ugwp_driver_v0.F: comment out unnecessary prints to stdout th…
climbfuji Apr 10, 2020
b5765fc
Merge pull request #381 from AnningCheng-NOAA/MG3_v1
climbfuji Apr 10, 2020
c9059a8
Merge pull request #432 from climbfuji/update_dtc_develop_from_master…
climbfuji Apr 10, 2020
51b8f76
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji Apr 10, 2020
7726128
Apply missing updates for MG-IN-CCN changes
climbfuji Apr 10, 2020
6dcbd09
Bugfix in physics/GFS_surface_composites.F90 when fractional landmask…
climbfuji Apr 11, 2020
86cdd35
physics/GFS_phys_time_vary.scm.F90: bugfix for OpenMP regions; physic…
climbfuji Apr 13, 2020
316f464
physics/GFS_phys_time_vary.fv3.F90, physics/aerinterp.F90: bugfix for…
climbfuji Apr 13, 2020
0aa8984
Merge pull request #434 from climbfuji/update_dtc_develop_from_master…
climbfuji Apr 14, 2020
c7c922f
Merge pull request #436 from climbfuji/update_master_from_dtc_develop…
climbfuji Apr 17, 2020
0472bef
add chsp changes from Jongil Han
junwang-noaa Apr 18, 2020
0e0c20e
fix ustar
junwang-noaa Apr 20, 2020
69d3298
fix syntax error in ccpp
junwang-noaa Apr 20, 2020
a66d980
Remove CCPP dynamic build from physics
climbfuji Apr 20, 2020
fc840f4
update sflx.f
junwang-noaa Apr 21, 2020
8c47bbf
Add missing code updates from IPD GFS_physics_driver.F90 to CCPP
climbfuji Apr 21, 2020
a757ef7
Merge pull request #2 from climbfuji/chsp_latlon_post_dom_ccpp_mods
junwang-noaa Apr 22, 2020
20d7e9d
Merge pull request #439 from climbfuji/remove_ccpp_dynamic_build
climbfuji Apr 23, 2020
8acb0a7
Merge remote-tracking branch 'upstream/master' into chsp_latlon_post
junwang-noaa Apr 24, 2020
f57b5c3
add tsfcl change for CCPP
junwang-noaa Apr 24, 2020
366404d
fix synrax error
junwang-noaa Apr 25, 2020
4944892
Merge pull request #440 from junwang-noaa/chsp_latlon_post
climbfuji Apr 28, 2020
9e5c8bf
Merge branch 'master' into support/HAFS
BinLiu-NOAA May 1, 2020
ef38696
add force_read_ferhires capability in FA
mzhangw May 8, 2020
ce348d9
Merge branch 'dtc/hwrf-physics' of https://github.com/NCAR/ccpp-physi…
mzhangw May 8, 2020
e072e17
Merge branch 'support/HAFS' of https://github.com/hafs-community/ccpp…
climbfuji May 14, 2020
d9c5e06
Update GFS_rrtmgp_pre.F90 with progcld changes, update GFS_rrtmgp_set…
climbfuji May 15, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "physics/rte-rrtmgp"]
path = physics/rte-rrtmgp
url = https://github.com/RobertPincus/rte-rrtmgp
branch = dtc/ccpp
126 changes: 37 additions & 89 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,21 @@ if(NOT PROJECT)
endif (NOT PROJECT)

#------------------------------------------------------------------------------
cmake_minimum_required(VERSION 2.8.11)
cmake_minimum_required(VERSION 3.0)

project(ccppphys
VERSION 3.0.0
LANGUAGES C CXX Fortran)

# Use rpaths on MacOSX
set(CMAKE_MACOSX_RPATH 1)

if(POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
project(ccppphys VERSION 3.0.0)
else(POLICY CMP0048)
project(ccppphys)
set(PROJECT_VERSION 3.0.0)
set(PROJECT_VERSION_MAJOR 3)
set(PROJECT_VERSION_MINOR 0)
set(PROJECT_VERSION_PATCH 0)
endif(POLICY CMP0048)

if(POLICY CMP0042)
cmake_policy(SET CMP0042 NEW)
endif(POLICY CMP0042)

#------------------------------------------------------------------------------
set(PACKAGE "ccpp-physics")
set(AUTHORS "Grant J. Firl" "Dom Heinzeller")

#------------------------------------------------------------------------------
# Enable Fortran
enable_language(Fortran)

if (PROJECT STREQUAL "CCPP-SCM")
#------------------------------------------------------------------------------
# CMake Modules
# Set the CMake module path
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../framework/cmake")
endif (PROJECT STREQUAL "CCPP-SCM")
set(AUTHORS "Grant Firl" "Dom Heinzeller" "Man Zhang" "Laurie Carson")

#------------------------------------------------------------------------------
# Set OpenMP flags for C/C++/Fortran
Expand Down Expand Up @@ -77,41 +58,42 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
endif()

#------------------------------------------------------------------------------
# By default we want a shared library (unless a static build is requested)
if(STATIC)
option(BUILD_SHARED_LIBS "Build a static library" OFF)
else(STATIC)
option(BUILD_SHARED_LIBS "Build a shared library" ON)
endif(STATIC)
# Request a static build
option(BUILD_SHARED_LIBS "Build a shared library" OFF)

#------------------------------------------------------------------------------
# Add the CCPP include/module directory
set(CCPP_INCLUDE_DIRS "" CACHE FILEPATH "Path to ccpp includes")
set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES ${CCPP_INCLUDE_DIRS})

#------------------------------------------------------------------------------
# Add the CCPP library
set(CCPP_LIB_DIRS "" CACHE FILEPATH "Path to ccpp library")
link_directories(${CCPP_LIB_DIRS})
list(APPEND LIBS "ccpp")
# Set the sources: physics type definitions
set(TYPEDEFS $ENV{CCPP_TYPEDEFS})
if(TYPEDEFS)
message(STATUS "Got CCPP TYPEDEFS from environment variable: ${TYPEDEFS}")
else(TYPEDEFS)
include(./CCPP_TYPEDEFS.cmake)
message(STATUS "Got CCPP TYPEDEFS from cmakefile include file: ${TYPEDEFS}")
endif(TYPEDEFS)

# Generate list of Fortran modules from the CCPP type
# definitions that need need to be installed
foreach(typedef_module ${TYPEDEFS})
list(APPEND MODULES_F90 ${CMAKE_CURRENT_BINARY_DIR}/${typedef_module})
endforeach()

#------------------------------------------------------------------------------
# Set the sources: physics schemes
set(SCHEMES $ENV{CCPP_SCHEMES})
if(SCHEMES)
message(INFO "Got CCPP_SCHEMES from environment variable: ${SCHEMES}")
message(STATUS "Got CCPP SCHEMES from environment variable: ${SCHEMES}")
else(SCHEMES)
include(./CCPP_SCHEMES.cmake)
message(INFO "Got SCHEMES from cmakefile include file: ${SCHEMES}")
message(STATUS "Got CCPP SCHEMES from cmakefile include file: ${SCHEMES}")
endif(SCHEMES)

# Set the sources: physics scheme caps
set(CAPS $ENV{CCPP_CAPS})
if(CAPS)
message(INFO "Got CAPS from environment variable: ${CAPS}")
message(STATUS "Got CCPP CAPS from environment variable: ${CAPS}")
else(CAPS)
include(./CCPP_CAPS.cmake)
message(INFO "Got CAPS from cmakefile include file: ${CAPS}")
message(STATUS "Got CCPP CAPS from cmakefile include file: ${CAPS}")
endif(CAPS)

# Create empty lists for schemes with special compiler optimization flags
Expand Down Expand Up @@ -340,51 +322,19 @@ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "PGI")
set_property(SOURCE ${CAPS} APPEND_STRING PROPERTY COMPILE_FLAGS " -Mnobounds ")
endif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU")

if (PROJECT STREQUAL "CCPP-SCM")
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/ccpp/framework/src)
endif (PROJECT STREQUAL "CCPP-SCM")

#------------------------------------------------------------------------------

if(STATIC)
add_library(ccppphys STATIC ${SCHEMES} ${SCHEMES_SFX_OPT} ${CAPS})
# Generate list of Fortran modules from defined sources
foreach(source_f90 ${CAPS})
get_filename_component(tmp_source_f90 ${source_f90} NAME)
string(REGEX REPLACE ".F90" ".mod" tmp_module_f90 ${tmp_source_f90})
string(TOLOWER ${tmp_module_f90} module_f90)
list(APPEND MODULES_F90 ${CMAKE_CURRENT_BINARY_DIR}/${module_f90})
endforeach()
else(STATIC)
add_library(ccppphys SHARED ${SCHEMES} ${SCHEMES_SFX_OPT} ${CAPS})
endif(STATIC)

if (NOT STATIC)
target_link_libraries(ccppphys LINK_PUBLIC ${LIBS} ${BACIO_LIB4} ${SP_LIBd} ${W3NCO_LIBd})
endif (NOT STATIC)
add_library(ccppphys STATIC ${SCHEMES} ${SCHEMES_SFX_OPT} ${CAPS})
# Generate list of Fortran modules from defined sources
foreach(source_f90 ${CAPS})
get_filename_component(tmp_source_f90 ${source_f90} NAME)
string(REGEX REPLACE ".F90" ".mod" tmp_module_f90 ${tmp_source_f90})
string(TOLOWER ${tmp_module_f90} module_f90)
list(APPEND MODULES_F90 ${CMAKE_CURRENT_BINARY_DIR}/${module_f90})
endforeach()

set_target_properties(ccppphys PROPERTIES VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR})

# DH* Hack for PGI compiler: rename objects in scheme cap object files for ISO_C compliancy,
# this is only needed for dynamics builds - static build generates plain Fortran code.
if (${CMAKE_Fortran_COMPILER_ID} STREQUAL "PGI")
if (NOT STATIC)
set(CAPOBJS)
foreach(cap ${CAPS})
string(REPLACE "_cap.F90" "_cap.F90.o" capobj "./${CMAKE_FILES_DIRECTORY}/ccppphys.dir/${cap}")
list(APPEND CAPOBJS ${capobj})
endforeach(cap)

add_custom_command(TARGET ccppphys
PRE_LINK
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pgifix.py --cmake ${CAPOBJS}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Running pgifix_wrapper.py over all scheme caps")
endif (NOT STATIC)
endif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "PGI")
# *DH end hack for PGI compiler

if (PROJECT STREQUAL "CCPP-FV3")
# Define where to install the library
install(TARGETS ccppphys
Expand All @@ -398,9 +348,7 @@ if (PROJECT STREQUAL "CCPP-FV3")
FILE ccppphys-config.cmake
DESTINATION lib/cmake
)
if(STATIC)
# Define where to install the C headers and Fortran modules
#install(FILES ${HEADERS_C} DESTINATION include)
install(FILES ${MODULES_F90} DESTINATION include)
endif(STATIC)
# Define where to install the C headers and Fortran modules
#install(FILES ${HEADERS_C} DESTINATION include)
install(FILES ${MODULES_F90} DESTINATION include)
endif (PROJECT STREQUAL "CCPP-FV3")
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# GMTB GFS Physics
# CCPP Physics

This repository contains the GFS Physics scheme.
The Common Community Physics Package (CCPP) is designed to facilitate the implementation of physics innovations in state-of-the-art atmospheric models, the use of various models to develop physics, and the acceleration of transition of physics innovations to operational NOAA models.

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

Questions can be directed to the [CCPP Help Desk](mailto:[email protected]). 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/)
93 changes: 0 additions & 93 deletions pgifix.py

This file was deleted.

2 changes: 1 addition & 1 deletion physics/GFS_MP_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
errflg = 0

onebg = one/con_g

do i = 1, im
rain(i) = rainc(i) + frain * rain1(i) ! time-step convective plus explicit
enddo
Expand Down
Loading