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

merge gsl/develop into RRFS_dev #149

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
03bfaee
Merge NOAA-EMC develop into gsl/develop (#126)
christinaholtNOAA Mar 8, 2022
b82d5c6
Remove GF Consistency Check & Add SDFs - V2 (#127)
hannahcbarnes Mar 9, 2022
ae7feac
Update to top of gsl/physics to get codeowners (#130)
SamuelTrahanNOAA Mar 10, 2022
036f0b3
updates related to MYNN-EDMF (#135)
joeolson42 Mar 24, 2022
5d9f221
GWD, LSM and MYNN physics updates from RRFS_dev branch (#136)
mdtoyNOAA Mar 25, 2022
6f60c52
Point to top of gsl/develop for ccpp-physics
SamuelTrahanNOAA Mar 29, 2022
ae22dce
gsl/develop RRFS-Smoke (#141)
haiqinli Apr 21, 2022
75396de
Correction to prior commit: point ccpp-physics to NOAA-GSL gsl/develop
SamuelTrahanNOAA Apr 21, 2022
e671787
Merge May 16 EMC develop to gsl/develop (#144)
SamuelTrahanNOAA May 19, 2022
8bf5085
followup to gsl/develop PR (#145)
SamuelTrahanNOAA May 23, 2022
0fc9f34
update submodule pointer for ccpp-physics
joeolson42 Jun 9, 2022
de06413
emergency fix to mynn theta calculation
joeolson42 Jun 10, 2022
4c2f631
Merge dom's rap GF b4b fix
SamuelTrahanNOAA Jun 13, 2022
5000364
point to gsl/develop
SamuelTrahanNOAA Jun 14, 2022
cb06781
Merge branch 'bugfix/gf-dom-fix-to-gsl' into gsl/develop
SamuelTrahanNOAA Jun 14, 2022
8ed30c3
merge gsl/develop to ccpp/physics
SamuelTrahanNOAA Jun 14, 2022
ea22240
merge gsl/develop
SamuelTrahanNOAA Jun 14, 2022
21e6c0a
changes to get this to compile
SamuelTrahanNOAA Jun 15, 2022
d2f8a20
Convince FV3GFS_io to use FV3GFS_io_generic
SamuelTrahanNOAA Jun 16, 2022
e022fea
Remove accidental changes to ccpp/suites/suite_FV3_HAFS_v0_thompson_t…
SamuelTrahanNOAA Jun 16, 2022
35c36e5
Merge branch 'update-rrfs-dev-20220614' of ssh://github.com/SamuelTra…
SamuelTrahanNOAA Jun 16, 2022
a3c0cc9
FV3GFS NetCDF I/O works again
SamuelTrahanNOAA Jun 17, 2022
94b5082
Remove unneeded code in ccpp/physics
SamuelTrahanNOAA Jun 21, 2022
ff38daa
Merge branch 'update-rrfs-dev-20220614' of ssh://github.com/SamuelTra…
SamuelTrahanNOAA Jun 21, 2022
ee5bdc3
fix typos
SamuelTrahanNOAA Jun 21, 2022
c32c3f8
Bugfix: writing to pointer before allocating it
SamuelTrahanNOAA Jun 23, 2022
834cbe9
Default diag_flux is always false
SamuelTrahanNOAA Jun 23, 2022
855fd10
point to RRFS_dev for ccpp/physics
SamuelTrahanNOAA Jun 27, 2022
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
11 changes: 9 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ set(use_WRTCOMP ON)
set(GFS_PHYS ON)
set(GFS_TYPES ON)
set(USE_GFSL63 ON)
if(MOVING_NEST)
set(MOVING_NEST ON)
endif()
add_subdirectory(atmos_cubed_sphere)

###############################################################################
Expand All @@ -22,7 +25,7 @@ add_subdirectory(atmos_cubed_sphere)
if(INLINE_POST)
set(BUILD_POSTEXEC OFF)
add_subdirectory(upp)
set(POST_SRC io/inline_post.F90 io/post_nems_routines.F90 io/post_gfs.F90 io/post_regional.F90)
set(POST_SRC io/inline_post.F90 io/post_nems_routines.F90 io/post_fv3.F90)
else()
set(POST_SRC io/inline_post_stub.F90)
list(APPEND _fv3atm_defs_private NO_INLINE_POST)
Expand All @@ -32,6 +35,10 @@ if(NOT PARALLEL_NETCDF)
list(APPEND _fv3atm_defs_private NO_PARALLEL_NETCDF)
endif()

if(MOVING_NEST)
list(APPEND _fv3atm_defs_private MOVING_NEST)
endif()

add_library(fv3atm
atmos_model.F90
fv3_cap.F90
Expand All @@ -42,8 +49,8 @@ add_library(fv3atm
cpl/module_cplfields.F90
cpl/module_cap_cpl.F90
io/FV3GFS_io.F90
io/FV3GFS_io_netcdf.F90
io/FV3GFS_io_generic.F90
io/FV3GFS_io_netcdf.F90
io/module_write_netcdf.F90
io/module_fv3_io_def.F90
io/module_write_internal_state.F90
Expand Down
381 changes: 292 additions & 89 deletions atmos_model.F90

Large diffs are not rendered by default.

17 changes: 2 additions & 15 deletions ccpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,9 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "Coverage")
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
endif()

#------------------------------------------------------------------------------
# CMake Modules
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/framework/cmake")

#------------------------------------------------------------------------------
# Call to CCPP code generator
if(DEBUG)
Expand Down Expand Up @@ -54,21 +50,13 @@ if(MPI)
add_definitions(-DMPI)
endif()

#------------------------------------------------------------------------------
# Set additional flags for debug build
if(DEBUG)
if(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -init=snan,arrays")
endif()
endif()

#------------------------------------------------------------------------------
# Set flag for 32bit dynamics build
if(32BIT)
message(STATUS "Compile CCPP slow physics with 64-bit precision, fast physics with 32-bit precision")
add_definitions(-DOVERLOAD_R4)
if(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set(CMAKE_Fortran_FLAGS_PHYSICS "-real-size 64 -no-prec-div -no-prec-sqrt")
set(CMAKE_Fortran_FLAGS_PHYSICS "-real-size 64")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS_PHYSICS "-fdefault-real-8 -fdefault-double-8")
endif()
Expand Down Expand Up @@ -117,7 +105,6 @@ add_library(
# Compile GFS_diagnostics.F90 without optimization, this leads to out of memory errors on wcoss_dell_p3
set_property(SOURCE driver/GFS_diagnostics.F90 APPEND_STRING PROPERTY COMPILE_FLAGS "-O0")


target_link_libraries(fv3ccpp PUBLIC ccpp_framework)
target_link_libraries(fv3ccpp PUBLIC ccpp_physics)

Expand Down
99 changes: 63 additions & 36 deletions ccpp/config/ccpp_prebuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,15 @@
'module_radlw_parameters' : '',
},
'CCPP_typedefs' : {
'CCPP_interstitial_type' : 'CCPP_interstitial',
'GFS_interstitial_type' : 'GFS_Interstitial(cdata%thrd_no)',
'GFDL_interstitial_type' : 'GFDL_interstitial',
'CCPP_typedefs' : '',
},
'CCPP_data' : {
'CCPP_data' : '',
},
'GFS_typedefs' : {
'GFS_control_type' : 'GFS_Control',
'GFS_interstitial_type' : 'GFS_Interstitial(cdata%thrd_no)',
'GFS_data_type' : 'GFS_Data(cdata%blk_no)',
'GFS_diag_type' : 'GFS_Data(cdata%blk_no)%Intdiag',
'GFS_tbd_type' : 'GFS_Data(cdata%blk_no)%Tbd',
Expand Down Expand Up @@ -96,11 +96,16 @@
# Relative path to source (from where ccpp_prebuild.py is called) : [ list of physics sets in which scheme may be called ];
# current restrictions are that each scheme can only belong to one physics set, and all schemes within one group in the
# suite definition file have to belong to the same physics set
'physics/physics/GFS_DCNV_generic.F90',
'physics/physics/GFS_GWD_generic.F90',
'physics/physics/GFS_MP_generic.F90',
'physics/physics/GFS_PBL_generic.F90',
'physics/physics/GFS_SCNV_generic.F90',
'physics/physics/GFS_DCNV_generic_pre.F90',
'physics/physics/GFS_DCNV_generic_post.F90',
'physics/physics/GFS_GWD_generic_pre.F90',
'physics/physics/GFS_GWD_generic_post.F90',
'physics/physics/GFS_MP_generic_pre.F90',
'physics/physics/GFS_MP_generic_post.F90',
'physics/physics/GFS_PBL_generic_pre.F90',
'physics/physics/GFS_PBL_generic_post.F90',
'physics/physics/GFS_SCNV_generic_pre.F90',
'physics/physics/GFS_SCNV_generic_post.F90',
'physics/physics/GFS_debug.F90',
'physics/physics/GFS_phys_time_vary.fv3.F90',
'physics/physics/GFS_rad_time_vary.fv3.F90',
Expand All @@ -109,10 +114,22 @@
'physics/physics/GFS_rrtmg_pre.F90',
'physics/physics/GFS_rrtmg_setup.F90',
'physics/physics/GFS_stochastics.F90',
'physics/physics/GFS_suite_interstitial.F90',
'physics/physics/GFS_surface_generic.F90',
'physics/physics/GFS_surface_composites.F90',
'physics/physics/GFS_surface_loop_control.F90',
'physics/physics/GFS_suite_interstitial_rad_reset.F90',
'physics/physics/GFS_suite_interstitial_phys_reset.F90',
'physics/physics/GFS_suite_interstitial_1.F90',
'physics/physics/GFS_suite_interstitial_2.F90',
'physics/physics/GFS_suite_stateout_reset.F90',
'physics/physics/GFS_suite_stateout_update.F90',
'physics/physics/GFS_suite_interstitial_3.F90',
'physics/physics/GFS_suite_interstitial_4.F90',
'physics/physics/GFS_suite_interstitial_5.F90',
'physics/physics/GFS_surface_generic_pre.F90',
'physics/physics/GFS_surface_generic_post.F90',
'physics/physics/GFS_surface_composites_pre.F90',
'physics/physics/GFS_surface_composites_inter.F90',
'physics/physics/GFS_surface_composites_post.F90',
'physics/physics/GFS_surface_loop_control_part1.F90',
'physics/physics/GFS_surface_loop_control_part2.F90',
'physics/physics/GFS_time_vary_pre.fv3.F90',
'physics/physics/cires_ugwp.F90',
'physics/physics/cires_ugwp_post.F90',
Expand All @@ -121,20 +138,25 @@
'physics/physics/ugwpv1_gsldrag.F90',
'physics/physics/ugwpv1_gsldrag_post.F90',
'physics/physics/cnvc90.f',
'physics/physics/cs_conv_pre.F90',
'physics/physics/cs_conv.F90',
'physics/physics/cs_conv_post.F90',
'physics/physics/cs_conv_aw_adj.F90',
'physics/physics/cu_ntiedtke_pre.F90',
'physics/physics/cu_ntiedtke.F90',
'physics/physics/cu_ntiedtke_post.F90',
'physics/physics/dcyc2.f',
'physics/physics/dcyc2t3.f',
'physics/physics/drag_suite.F90',
'physics/physics/gcm_shoc.F90',
'physics/physics/shoc.F90',
'physics/physics/get_prs_fv3.F90',
'physics/physics/get_phi_fv3.F90',
'physics/physics/gfdl_cloud_microphys.F90',
'physics/physics/gfdl_fv_sat_adj.F90',
'physics/physics/fv_sat_adj.F90',
'physics/physics/gfdl_sfc_layer.F90',
'physics/physics/gscond.f',
'physics/physics/zhaocarr_gscond.f',
'physics/physics/gwdc_pre.f',
'physics/physics/gwdc.f',
'physics/physics/gwdc_post.f',
'physics/physics/gwdps.f',
'physics/physics/h2ophys.f',
'physics/physics/samfdeepcnv.f',
Expand All @@ -143,28 +165,30 @@
'physics/physics/shalcnv.F',
'physics/physics/maximum_hourly_diagnostics.F90',
'physics/physics/m_micro.F90',
'physics/physics/m_micro_interstitial.F90',
'physics/physics/m_micro_pre.F90',
'physics/physics/m_micro_post.F90',
'physics/physics/cu_gf_driver_pre.F90',
'physics/physics/cu_gf_driver.F90',
'physics/physics/cu_gf_driver_post.F90',
'physics/physics/moninedmf.f',
'physics/physics/hedmf.f',
'physics/physics/moninshoc.f',
'physics/physics/satmedmfvdif.F',
'physics/physics/satmedmfvdifq.F',
'physics/physics/shinhongvdif.F90',
'physics/physics/ysuvdif.F90',
'physics/physics/module_MYNNPBL_wrapper.F90',
'physics/physics/module_MYNNSFC_wrapper.F90',
'physics/physics/module_SGSCloud_RadPre.F90',
'physics/physics/module_SGSCloud_RadPost.F90',
'physics/physics/module_MYJSFC_wrapper.F90',
'physics/physics/module_MYJPBL_wrapper.F90',
'physics/physics/mynnedmf_wrapper.F90',
'physics/physics/mynnsfc_wrapper.F90',
'physics/physics/sgscloud_radpre.F90',
'physics/physics/sgscloud_radpost.F90',
'physics/physics/myjsfc_wrapper.F90',
'physics/physics/myjpbl_wrapper.F90',
'physics/physics/mp_thompson_pre.F90',
'physics/physics/mp_thompson.F90',
'physics/physics/mp_thompson_post.F90',
'physics/physics/mp_nssl.F90' ,
'physics/physics/ozphys.f',
'physics/physics/ozphys_2015.f',
'physics/physics/precpd.f',
'physics/physics/zhaocarr_precpd.f',
'physics/physics/phys_tend.F90',
'physics/physics/radlw_main.F90',
'physics/physics/radsw_main.F90',
Expand All @@ -173,47 +197,49 @@
'physics/physics/rrtmg_lw_post.F90',
'physics/physics/rrtmg_lw_pre.F90',
'physics/physics/rrtmg_sw_post.F90',
'physics/physics/rrtmg_sw_pre.F90',
'physics/physics/rad_sw_pre.F90',
'physics/physics/sfc_diag.f',
'physics/physics/sfc_diag_post.F90',
'physics/physics/sfc_drv_ruc.F90',
'physics/physics/lsm_ruc.F90',
'physics/physics/sfc_cice.f',
'physics/physics/sfc_diff.f',
'physics/physics/sfc_drv.f',
'physics/physics/sfc_noahmp_drv.F90',
'physics/physics/lsm_noah.f',
'physics/physics/noahmpdrv.F90',
'physics/physics/flake_driver.F90',
'physics/physics/sfc_nst_pre.f',
'physics/physics/sfc_nst.f',
'physics/physics/sfc_nst_post.f',
'physics/physics/sfc_ocean.F',
'physics/physics/sfc_sice.f',
# HAFS FER_HIRES
'physics/physics/mp_fer_hires.F90',
# SMOKE
'physics/physics/smoke/rrfs_smoke_wrapper.F90',
'physics/physics/smoke/rrfs_smoke_postpbl.F90',
'physics/physics/smoke/rrfs_smoke_lsdep_wrapper.F90',
# RRTMGP
'physics/physics/rrtmgp_lw_gas_optics.F90',
'physics/physics/rrtmgp_lw_cloud_optics.F90',
'physics/physics/rrtmgp_sw_gas_optics.F90',
'physics/physics/rrtmgp_sw_cloud_optics.F90',
'physics/physics/rrtmgp_sw_aerosol_optics.F90',
'physics/physics/rrtmgp_aerosol_optics.F90',
'physics/physics/rrtmgp_lw_rte.F90',
'physics/physics/rrtmgp_sw_rte.F90',
'physics/physics/rrtmgp_lw_aerosol_optics.F90',
'physics/physics/GFS_rrtmgp_setup.F90',
'physics/physics/GFS_rrtmgp_pre.F90',
'physics/physics/rrtmgp_lw_pre.F90',
'physics/physics/GFS_rrtmgp_sw_pre.F90',
'physics/physics/GFS_rrtmgp_lw_post.F90',
'physics/physics/rrtmgp_lw_cloud_sampling.F90',
'physics/physics/rrtmgp_sw_cloud_sampling.F90',
'physics/physics/GFS_cloud_diagnostics.F90',
'physics/physics/GFS_rrtmgp_thompsonmp_pre.F90',
'physics/physics/GFS_rrtmgp_gfdlmp_pre.F90',
'physics/physics/GFS_rrtmgp_zhaocarr_pre.F90',
'physics/physics/GFS_rrtmgp_cloud_overlap_pre.F90',
'physics/physics/GFS_rrtmgp_cloud_mp.F90',
'physics/physics/GFS_rrtmgp_cloud_overlap.F90',
'physics/physics/GFS_rrtmgp_sw_post.F90'
]

# Default build dir, relative to current working directory,
# if not specified as command-line argument
DEFAULT_BUILD_DIR = 'FV3'
DEFAULT_BUILD_DIR = 'build'

# Auto-generated makefile/cmakefile snippets that contain all type definitions
TYPEDEFS_MAKEFILE = '{build_dir}/physics/CCPP_TYPEDEFS.mk'
Expand Down Expand Up @@ -241,6 +267,7 @@
STATIC_API_SRCFILE = '{build_dir}/physics/CCPP_STATIC_API.sh'

# Directory for writing HTML pages generated from metadata files
# used by metadata2html.py for generating scientific documentation
METADATA_HTML_OUTPUT_DIR = '{build_dir}/physics/physics/docs'

# HTML document containing the model-defined CCPP variables
Expand Down
10 changes: 5 additions & 5 deletions ccpp/data/CCPP_data.F90
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ module CCPP_data
!!

use ccpp_types, only: ccpp_t
use CCPP_typedefs, only: CCPP_interstitial_type
use CCPP_typedefs, only: GFS_interstitial_type, &
GFDL_interstitial_type
use GFS_typedefs, only: GFS_control_type, &
GFS_data_type, &
GFS_interstitial_type
GFS_data_type

implicit none

Expand All @@ -18,7 +18,7 @@ module CCPP_data
cdata_domain, &
cdata_block, &
ccpp_suite, &
CCPP_interstitial, &
GFDL_interstitial, &
GFS_control, &
GFS_data, &
GFS_interstitial
Expand All @@ -34,7 +34,7 @@ module CCPP_data
!------------------------------------------------------!
! CCPP data containers for dynamics (fast physics) !
!------------------------------------------------------!
type(CCPP_interstitial_type), save, target :: CCPP_interstitial
type(GFDL_interstitial_type), save, target :: GFDL_interstitial

!------------------------------------------------------!
! CCPP containers for the six tiles used in dynamics, !
Expand Down
8 changes: 4 additions & 4 deletions ccpp/data/CCPP_data.meta
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
units = DDT
dimensions = ()
type = ccpp_t
[CCPP_interstitial]
standard_name = CCPP_interstitial_type_instance
long_name = instance of derived type CCPP_interstitial_type
[GFDL_interstitial]
standard_name = GFDL_interstitial_type_instance
long_name = instance of derived type GFDL_interstitial_type
units = DDT
dimensions = ()
type = CCPP_interstitial_type
type = GFDL_interstitial_type
[GFS_Control]
standard_name = GFS_control_type_instance
long_name = instance of derived type GFS_control_type
Expand Down
Loading