Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
5ca808e
initialize HWRF sasas scheme using preprocessor directives controlled
mzhangw Dec 13, 2019
bff2547
add preprocessor directives for HWRF in samfshalcnv
mzhangw Dec 14, 2019
a4ac852
fix bugs to pass compilation
mzhangw Dec 18, 2019
beb3a33
delete HWRF ensemble capability
mzhangw Dec 18, 2019
c825f5f
remove if outside of loop per Doms suggestion
mzhangw Dec 20, 2019
029f448
bug fix
mzhangw Dec 26, 2019
178ce50
Merge branch 'man_hafs_sas_without_updates_of_dtc_develop_029f4489d4f…
climbfuji Apr 1, 2020
bccf301
physics/samfdeepcnv.f: bugfix, ca_deep only allocated when do_ca is .…
climbfuji Apr 1, 2020
71eace1
physics/samfshalcnv.f: bugfix, move assignment inside if block as in …
climbfuji Apr 3, 2020
b61ea19
physics/GFS_debug.F90: add capability to debug 1-d logical arrays
climbfuji Apr 6, 2020
5b5b663
Initializing ice fluxes by PBL calculated values when fluxes from CIC…
ShanSunNOAA Apr 8, 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
a6e95db
Changing "_ocn"to "_wat" so the variable can be used for lake as well.
ShanSunNOAA Apr 23, 2020
424d7b6
Introducing tiice(:,;,2) as the 2-layer internal ice temperature
ShanSunNOAA Apr 24, 2020
8acb0a7
Merge remote-tracking branch 'upstream/master' into chsp_latlon_post
junwang-noaa Apr 24, 2020
f08797d
Introduce internal ice temperature. It is output only in the fracrtio…
ShanSunNOAA Apr 24, 2020
f57b5c3
add tsfcl change for CCPP
junwang-noaa Apr 24, 2020
366404d
fix synrax error
junwang-noaa Apr 25, 2020
f22b39c
Updating tiice in gcycle.F90
ShanSunNOAA Apr 26, 2020
4944892
Merge pull request #440 from junwang-noaa/chsp_latlon_post
climbfuji Apr 28, 2020
25a72ec
Ca develop (#418)
lisa-bengtsson May 4, 2020
379c2f3
scientific documentation update for UFS public release, add two addit…
mzhangw Feb 27, 2020
f48b283
add two new suites: GFSv15p2_no_nsst and GFSv16beta_no_nsst and GFS o…
mzhangw Mar 2, 2020
e63c34f
CCPP V4.0 scidoc update (#402)
mzhangw Mar 2, 2020
ab540e5
add no_nsst suites in all_schemes page per ligia email
mzhangw Mar 9, 2020
01a91cb
update ocean scheme description per Ligias request
mzhangw Mar 27, 2020
5a254ff
fix doxygen compile warnings
mzhangw Mar 27, 2020
e990919
fix m_micro prebuild error
mzhangw Mar 27, 2020
cec1ad9
fix doc of m_micro
mzhangw Mar 27, 2020
540035a
Update physics/docs/pdftxt/mainpage.txt
mzhangw Mar 30, 2020
7dea01c
minor fix
mzhangw Mar 30, 2020
c494cc7
Update version from 3.0.0 to 4.0.0
climbfuji May 6, 2020
5229075
Fix merge conflicts and apply missing updates for scientific document…
climbfuji May 6, 2020
6c1eec4
Remove dcyc2t3_post from physics/dcyc2.meta and scientific documentation
climbfuji May 6, 2020
e340e62
physics/m_micro.F90: correct syntax for \htmlinclude statement
climbfuji May 11, 2020
7b1e66c
Merge pull request #448 from climbfuji/bugfixes_from_public_release
climbfuji May 11, 2020
8f1169b
physics/gfdl_fv_sat_adj.F90: add compatibility check for six water sp…
climbfuji May 11, 2020
dd70b55
Add GitHub workflow for basic checks, add tool to check for ASCII enc…
climbfuji May 11, 2020
91a0dd9
Fix non-ascii encoding in a bunch of files (all comments)
climbfuji May 11, 2020
2fb92e8
Remove comments from .github/workflows/basic_checks.yml
climbfuji May 12, 2020
4f73869
Remove debug print statements from tools/check_encoding.py
climbfuji May 12, 2020
66376d5
Merge pull request #451 from climbfuji/travis-encoding-check_and_satu…
climbfuji May 12, 2020
9c6350f
Merge commit '5b5b663d2bd59942a711551f34e3c9c28c475909' into iceflx_t…
ShanSunNOAA May 20, 2020
df9053b
Merge commit 'f22b39c7dcfd582c9b610857a88942a4627e1d92' into iceflx_t…
ShanSunNOAA May 20, 2020
c2fbbbe
Adding tiice to RUC LSM.
ShanSunNOAA May 22, 2020
e913eed
Merge pull request #454 from shansun6/iceflx_ttice_20200520
climbfuji May 27, 2020
388999d
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into ma…
climbfuji Jun 3, 2020
ba106f7
fix unitialized parameters in samfdeepcnv
mzhangw Apr 30, 2020
42aa6e4
Bugfixes, and formatting changes in physics/samfdeepcnv.f
climbfuji Jun 3, 2020
4fcdf2f
Update of samfdeepcnv.f based on code review
climbfuji Jun 3, 2020
6a6dd2c
Merge pull request #423 from climbfuji/man_hafs_sas_for_master
climbfuji Jun 4, 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
21 changes: 21 additions & 0 deletions .github/workflows/basic_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Basic checks for CCPP physics schemes

on: [push, pull_request]

jobs:
build:

runs-on: macos-latest

steps:
- name: Checkout
uses: actions/checkout@v2
- name: Init submodules
run: git submodule update --init --recursive
#- name: Update packages
# run: |
# /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# #brew install autoconf automake coreutils gcc@9 libtool mpich gnu-sed wget
# brew install automake coreutils mpich gnu-sed
- name: Check for ASCII encoding
run: ./tools/check_encoding.py
55 changes: 12 additions & 43 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ endif (NOT PROJECT)
cmake_minimum_required(VERSION 3.0)

project(ccppphys
VERSION 3.0.0
VERSION 4.0.0
LANGUAGES C CXX Fortran)

# Use rpaths on MacOSX
Expand All @@ -19,7 +19,7 @@ endif(POLICY CMP0042)

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

#------------------------------------------------------------------------------
# Set OpenMP flags for C/C++/Fortran
Expand Down Expand Up @@ -58,12 +58,8 @@ 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)

#------------------------------------------------------------------------------
# Set the sources: physics type definitions
Expand Down Expand Up @@ -327,45 +323,18 @@ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "PGI")
endif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU")

#------------------------------------------------------------------------------
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 Down
93 changes: 0 additions & 93 deletions pgifix.py

This file was deleted.

46 changes: 9 additions & 37 deletions physics/GFS_DCNV_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ end subroutine GFS_DCNV_generic_pre_finalize
!! \htmlinclude GFS_DCNV_generic_pre_run.html
!!
#endif
subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm,&
isppt_deep, gu0, gv0, gt0, gq0_water_vapor, &
subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, cplchm, &
gu0, gv0, gt0, gq0_water_vapor, &
save_u, save_v, save_t, save_qv, ca_deep, &
dqdti, errmsg, errflg)

Expand All @@ -27,7 +27,7 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm
implicit none

integer, intent(in) :: im, levs
logical, intent(in) :: ldiag3d, do_cnvgwd, do_ca, cplchm, isppt_deep
logical, intent(in) :: ldiag3d, do_cnvgwd, cplchm
real(kind=kind_phys), dimension(im,levs), intent(in) :: gu0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gv0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gt0
Expand All @@ -49,15 +49,7 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm
errmsg = ''
errflg = 0

if (do_ca) then
do k=1,levs
do i=1,im
gq0_water_vapor(i,k) = gq0_water_vapor(i,k)*(1.0 + ca_deep(i)/500.)
enddo
enddo
endif

if (ldiag3d .or. isppt_deep) then
if (ldiag3d) then
do k=1,levs
do i=1,im
save_t(i,k) = gt0(i,k)
Expand All @@ -73,7 +65,7 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm
enddo
endif

if (ldiag3d .or. cplchm .or. isppt_deep) then
if (ldiag3d .or. cplchm) then
do k=1,levs
do i=1,im
save_qv(i,k) = gq0_water_vapor(i,k)
Expand Down Expand Up @@ -102,19 +94,19 @@ end subroutine GFS_DCNV_generic_post_finalize
!> \section arg_table_GFS_DCNV_generic_post_run Argument Table
!! \htmlinclude GFS_DCNV_generic_post_run.html
!!
subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_ca, &
isppt_deep, frain, rain1, dtf, cld1d, save_u, save_v, save_t, save_qv, gu0, gv0, gt0, &
subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, &
frain, rain1, dtf, cld1d, save_u, save_v, save_t, save_qv, gu0, gv0, gt0, &
gq0_water_vapor, ud_mf, dd_mf, dt_mf, con_g, npdf3d, num_p3d, ncnvcld3d, &
rainc, cldwrk, dt3dt, dq3dt, du3dt, dv3dt, upd_mf, dwn_mf, det_mf, &
cnvw, cnvc, cnvw_phy_f3d, cnvc_phy_f3d, &
cape, tconvtend, qconvtend, uconvtend, vconvtend, errmsg, errflg)
errmsg, errflg)

use machine, only: kind_phys

implicit none

integer, intent(in) :: im, levs
logical, intent(in) :: lssav, ldiag3d, ras, cscnv, do_ca, isppt_deep
logical, intent(in) :: lssav, ldiag3d, ras, cscnv

real(kind=kind_phys), intent(in) :: frain, dtf
real(kind=kind_phys), dimension(im), intent(in) :: rain1, cld1d
Expand All @@ -135,9 +127,6 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
! as long as these do not get used when not allocated (it is still invalid Fortran code, though).
real(kind=kind_phys), dimension(:,:), intent(inout) :: cnvw_phy_f3d, cnvc_phy_f3d

real(kind=kind_phys), dimension(im), intent(inout) :: cape
real(kind=kind_phys), dimension(im,levs), intent(inout) :: tconvtend, qconvtend, uconvtend, vconvtend

character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

Expand All @@ -148,11 +137,6 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
errflg = 0

if (.not. ras .and. .not. cscnv) then
if(do_ca) then
do i=1,im
cape(i) = cld1d(i)
enddo
endif
if (npdf3d == 3 .and. num_p3d == 4) then
do k=1,levs
do i=1,im
Expand Down Expand Up @@ -198,18 +182,6 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c

endif ! if (lssav)


if (isppt_deep) then
do k=1,levs
do i=1,im
tconvtend(i,k) = gt0(i,k) - save_t(i,k)
qconvtend(i,k) = gq0_water_vapor(i,k) - save_qv(i,k)
uconvtend(i,k) = gu0(i,k) - save_u(i,k)
vconvtend(i,k) = gv0(i,k) - save_v(i,k)
enddo
enddo
endif

end subroutine GFS_DCNV_generic_post_run

end module GFS_DCNV_generic_post
Loading