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

Full CCPP support for FV3 v0 with separated physics and suite definition file #42

Merged
merged 44 commits into from
Feb 14, 2018
Merged

Full CCPP support for FV3 v0 with separated physics and suite definition file #42

merged 44 commits into from
Feb 14, 2018

Conversation

climbfuji
Copy link
Collaborator

This PR implements a first version of the gmtb-gfsphysics code to support running FV3 v0 with separated physics and a full suite definition file, i.e. not making use of the original IPD steps and the original GFS_{physics,radiation}_driver.F90 files.

The implementation is threadsafe and tested for b4b on Theia (intel, 32bit, non-hydrostatic), Cheyenne (intel/gnu/pgi, 64bit, non-hydrostatic) and on a Macbook Pro (gnu, 32bit, non-hydrostatic).

…CEP libraries provided by environment variable
…ing CPP

preprocessor directives. Preparation for future metadata parsing by defining
cap source files as separate objects in the makefile. Ignore auto-generated
.inc files in git.
…he pre-processed Fortran .f90 file can be checked
…ccycle type and new parameter blkno of IPD_Data%Tbd
…g blocking to GFS_time_vary_step and its subroutines
…er than all blocks. This requires using the new IPD_Data%Sfccycle data type to avoid Fortran 'save' variables in sfcsub.f
…etup_step to run over a single block rather than all blocks
…nd_phys); (2) Modification of IPD_setup_step_cap to run over a single block instead of all blocks; (3) OpenMP thread-safe handling of ccpp_fields_get blocks
…olds interstitial variables, previously declared as local variables in GFS_{physics,radiation}_driver.F90. (2) Move generalised IPD_step to separate file to allow compiling the model without having to link libgfsphys.so at compile time
…on of initialization routine to pass in the required arguments.
… file that gets compiled. Also use ccpp_error to report errors in IPD_step
…y-type arguments for the derived data types in IPD_initialize
…ing original IPD steps, and for full CCPP run using separated physics; temporary). Rename GFS_suite_setup to GFS_phys_time_vary. Add template for CAPS-include file to makefile. Make stochastic physics a separate scheme
…he filenames/module names and the pre/post routines. Add logic to support CCPP with IPD steps and CCPP with separated physics
…uplicate input variables. Update of calls to these routines in GFS_physics_driver.F90
…ic to run CCPP with IPD steps and CCPP with split physics using CPPDEF 'CCXX'. Remove stochastics driver from GFS_driver.F90 (now in separate module)"
… diagnostics to screen at arbitrary places in the code
…_interstitial source files; new debug module and CCPP makefile templates
…of intent(out) variables. Updates/corrections of metadata tables. Removal of old debug module.
@climbfuji
Copy link
Collaborator Author

This PR is a prerequisite for https://github.com/NCAR/gmtb-fv3/pull/30 and must be merged together with NCAR/ccpp-framework#25

Copy link
Contributor

@llpcarson llpcarson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@climbfuji climbfuji merged commit cd71836 into NCAR:features/ccpp Feb 14, 2018
climbfuji pushed a commit to climbfuji/ccpp-physics that referenced this pull request Jun 30, 2020
Updates to module_SGSCloud_RadPre.F90 and .meta (from Tanya)
lisa-bengtsson pushed a commit to lisa-bengtsson/ccpp-physics that referenced this pull request Mar 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants