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

RRTMGP for prototype 8 #65

Closed

Conversation

dustinswales
Copy link
Collaborator

This PR contains code changes to FV3 to accommodate new ccpp-physics features (NCAR/ccpp-physics#871)

climbfuji and others added 30 commits July 23, 2020 11:03
…0/07/21) (NOAA-EMC#147)

- remove `include ./depend` from several GNU makefiles (from @DusanJovic-NOAA)
- correct CCPP version number in several suite definition files
- GFS_typedefs.F90: allow using `iopt_snf == 4` for other microphysics schemes than GFDL MP (required for RRFS, needs NoahMP and Thompson)
…OAA-EMC#150)

As the title says. Note that the affected files are for the gnumake build - if we had transitioned entirely to cmake, we wouldn't need to maintain these files any longer.
…A-EMC#145)

* atmos_model.F90: remove dependency of stochastic physics on IPD_Control
* Add mpi_wrapper to stochastic_physics to substitute calls to fv_mp_mod routines
* Make cellular automata code independent of fv_mp_mod
* Make cellular automata code independent of atmosphere_mod
* Add halo exchange routine to stochastic_physics code
* Remove dependency on GFS_coupling_type from stochastic_physics.F90
* Remove dependency on GFS_grid_type in stochastic_physics and stochastic_physics_sfc
* Cleanup work, avoid unnecessary data copies
* Move stochastic physics code into its own wrapper/driver
* Remove dependency on Statein, Coupling and Intdiag DDT from cellular_automata_sgs.F90
* Compile kinddef module, cleanup stochastic_physics_wrapper.F90
* Update cmake build system
* Fix a bug in atmos_model.F90, inadvertetly removed a closing parenthesis
* Update to build system for stochastic_physics_wrapper following cmake updates
* Update gnumake build to include stochastic_physics wrapper
* Remove commented out lines from stochastic_physics/makefile

Co-authored-by: Jun Wang <jun.wang@noaa.gov>
* Add infrastructure to FV3 for recent RRTMGP improvements in ccpp-physics
* Move allocate statements
* Updated ccpp-physics
* Updated physics. Some changes on FV3 side to handle physics changes.
* Updated .gitmodules
* Revert change to .gitmodules and update submodule pointer for ccpp-physics
Co-authored-by: Dom Heinzeller <climbfuji@ymail.com>
NOAA-EMC#155)

Fixes several bugs in several physics schemes. 
Adds update to the two-way WW3 atmosphere coupling.
Save surface roughness over water, ice and land in three separate variables so that restarts can be reproducible, even for the fractional grid case.
Makes uncoupled standalone GFS work with fractional grid.

Co-authored-by: Jessica.Meixner <Jessica.Meixner@noaa.gov>
Co-authored-by: Dom Heinzeller <climbfuji@ymail.com>
Co-authored-by: Jun.Wang <Jun.Wang@noaa.gov>
* Diagnostic 3D instantaneous cloud fractions added.
* Bug fix for reflectivity in restart files.
* Update to GFS_restart.F90 to include if block to test for reflectivity flag.
* add esmf810 VMEpoch change and iau restart timing change
* update to pre-existing land perts scheme, ready for addition of the new scheme
* updates to land perts scheme, so that namelist input and control_type variables are in generic (i.e., variable agnostic) arrays
* minor bug fix GFS_typedefs.meta
* Phil's ccpp changes
* minor bug fix
* Lndp updates, including moving around the calling structure.
* lndp clean-up
* lndp submodule clean-up
* Updated submodules for merge.
* Fixed typo in vegfrac name
* deleted GFS_land_perts.F90 (moved to stochastic_physics)
* Removing FV3 dependency from stochastic_physics, and into wrapper
* Fix linker problem in gfsphysics/CMakeLists.txt by removing physics/physparam.f from IPD sources
* edits to compile with gnumake
* Revert change to .gitmodules for ccpp-physics and update submodule pointer for ccpp-physics

Co-authored-by: Dom Heinzeller <climbfuji@ymail.com>
This PR removes dependency information from the CCPP prebuild config. See NCAR/ccpp-framework#308 and NCAR/ccpp-framework#317 for details on the motivation for this change and the actual implementation. It also removes some legacy code used by the dynamic CCPP build in the past.

This PR also contains the changes in NOAA-EMC#156, i.e. the completion of adding the active attribute to GFS_typedefs.F90. On top of this PR, the missing active attribute for phy_fctd is added.

Additionally, gfortran-10 compiler flags are added to CCPP's CMakeLists.txt.
* set up dycore_data at atmos_init
* fix syntax error in atmos_model.F90
* put in initial fields in fv3 export fields at init
* add state_diagnose from Denise
* fix state diagnose on write tasks


Co-authored-by: Jun Wang <junwang-noaa@users.noreply.github.com>
Co-authored-by: Denise.Worthen <denise.worthen@noaa.gov>
Add two new interstitial variables to GFS_typedefs.{F90,meta} that are required for the RRTMG cloud overlap additions by @mjiacono (see NCAR/ccpp-physics#487). Other changes:

* fix wrong metadata in GFS_typedefs.meta (optional and intent are not valid for host model variable tables)
* note that RRTMG and RRTMGP use different interstitial variables for the decorrelation parameter alpha; this is because RRTMGP only works when the number of model levels is the same for radiation (levr) and other physics (levs), while RRTMG works with different numbers of levels; only the one in use gets allocated
* replace GSL drag suite with CIRES UGWP/GFS GWD in ccpp/suites/suite_FV3_RRFS_v1beta.xml (cherry-picked from PR NOAA-EMC#173 for release/public-v2)
…ry update in dycore (NOAA-EMC#178)

* contributions from @SMoorthi-emc to fix the global restart reproducibility and to keep compiling without CCPP
* updates the submodule pointers for GFDL_atmos_cubed_sphere and ccpp-physics
* bugfix in ccpp/CMakeLists.txt to correctly set AVX2 flags or not (discovered by Yunheng)
* changes mod_name of non-phys tendencies in GFS_diagnostics.F90 to gfs_dyn from gfs_phys (from @grantfirl)
* replace #ifdef OPENMP with #ifdef _OPENMP
* OpenMP link libraries
* fix typos and missing stuff
* clean up compile defs
* move CCPP code generator call to FV3, where it belongs
* install targets are updated
* minor cleanups
…ep 1) to develop (NOAA-EMC#186)

- update the syntax in the XML suite definition files, replace `lib="ccppphys" ver="N"` with `version=1` which indicates the suite definition file format version (i.e. the XML schema version) rather than the release version of ccpp-physics ; update the XML schema for the CCPP suite definition files (`suite.xsd`)
- add variables in `GFS_typedefs.{f90,meta}` that are require to support the removal of the GFS DDT dependency in the radiation physics (mainly additional indices; see NCAR/ccpp-physics#508)
* update dynamic core submodule with hord=-5
* update ccpp/framework submodule
* add parallel netcdf call in wrt grid comp
* output restart files at non-integer forecast time
* bug fix for fcstField index and add error message for lossy compression for regional grids
HWRF physics implementation in CCPP
- addition of new CCPP schemes to ccpp_prebuild_config.py
- update of suite definition files related to HWRF physics
- update of GFS_typdefs.{F90,meta} with new/modified variables for HWRF physics
- additional logic in FV3GFS_io.F90 for HWRF Noah LSM

Co-authored-by: Jun.Wang <Jun.Wang@noaa.gov>
Co-authored-by: Jili Dong <Jili.Dong@noaa.gov>
Co-authored-by: Bin Liu <Bin.Liu@noaa.gov>
Co-authored-by: Chunxi.Zhang-NOAA <Chunxi.Zhang@noaa.gov>
Co-authored-by: andrew.hazelton <andrew.hazelton@noaa.gov>
Co-authored-by: Jili.Dong@noaa.gov <Jili.Dong@v72a1.ncep.noaa.gov>
Co-authored-by: ZhanZhang-NOAA <zhan.zhang@noaa.gov>
Co-authored-by: Grant Firl <grantf@ucar.edu>
Co-authored-by: Man.Zhang <Man.Zhang@noaa.gov>
Co-authored-by: Dom Heinzeller <dom.heinzeller@noaa.gov>
* New metadata for GP scheme.
* Removed redundant importing of kind_phys
* add units to index_for_diagnostic_printout metadata
* Bugfix in GP sampling routines.
* update post lib to upp lib and add dzmin change in fv3 dycore
* add dycore change NCAR#35
* merge with top of dev/emc dycore branch
* remove duplicate read_data in fms_mod in external_ic.F90
* Fix to allow quilting with non-factors for layout (NOAA-EMC#244)
* Remove the inline comments
…, updates to other GSL physics (NOAA-EMC#202)

This PR updates the GSL physics and does a few other things:

*add --debug to ccpp_prebuild.py call when model is compiled in DEBUG mode, and pretty print the output in the build log (fixes NOAA-EMC#187 and ufs-community/ufs-weather-model#135)
*add unified gravity wave drag (called unified ugwp) that combines the UGWP v1 with the GSL drag suite
*add suite definition file for GFS v16beta for coupled model
*move static array zs (depth of soil layer), dimensioned as 1:lsoil_lsm from Sfcprop to Model (since this is a model configuration and only needs to be stored once, not for each block)

Co-authored-by: DomHeinzeller <58610420+DomHeinzeller@users.noreply.github.com>
Co-authored-by: samuel.trahan <Samuel.Trahan@noaa.gov>
Co-authored-by: hannah barnes <hannah.barnes@noaa.gov>
Co-authored-by: tanyasmirnova <tanya.smirnova@noaa.gov>
Co-authored-by: Joseph Olson <Joseph.B.Olson@noaa.gov>
Co-authored-by: Michael Toy <michael.toy@noaa.gov>
)

This bug fix allows the random patterns in the stochastic physics persist the for a period of time (defined as SKEBINT,SPPTINT, etc.) before calculating new patterns.
The fix is to move the allocation of the saved variables into the init section of stochastic_physics_wrapper, and remove the deallocates in the run section.
…ing with frac_grid=T (NOAA-EMC#204)

* -- Pointing to Moorthi's modifications in ccpp/physics, which fixed the crash when running GFDL MP with frac_grid=T;
-- Not setting fice to zero in order to leave lake ice untouched;
-- Restart in the coupled model with the default physics is reproducible, if bad water temperature is only filtered at initial time;
Co-authored-with: Shrinivas Moorthi <shrinivas.moorthi@noaa.gov>
Co-authored-with: Denise Worthen <Denise.Worthen@noaa.gov>
…OAA-EMC#211)

* updated CMakeLists.txt
* Changes for JEDI linking/control
* Update .gitmodules and submodule pointer for ccpp-physics for code review and testing
* Revert change to .gitmodules and update submodule pointer for ccpp-physics

Co-authored-by: Mark Potts <Mark.Potts@noaa.gov>
…EMC#212)

* updates the submodule pointer for ccpp-physics for the final-final (!) GFS v16 physics updates
* fixes a bug in io/FV3GFS_io.F90 to obtain restart reproducibility for uncoupled and coupled runs - contributed by @SMoorthi-emc

Co-authored-by: Shrinivas.Moorthi <Shrinivas.Moorthi@noaa.gov>
* Updated physics. Added infrastructure to FV3 to handle new GP capabilities. Thompson MP, LW scattering, Use of LW-jacobian to update surface tendencies.
* Some small changes to work with physics improvements to RRTMGP.
* RRTMGP working with Thompson MP.
* Updated .gitmodules.
* Updated physics. New interstitials.
* Synced with NCAR/master
* Updated ccpp-physics
* Updated physics submodule.
* Cleanup
* Update physics
* Updated physics submodule pointer.
* Updated physics submodule hash.
…cs) (NOAA-EMC#216)

Update the submodule pointer for ccpp-physics for minor bugfixes in CCPP's Unified Gravity Wave Drag parameterization.
MicroTed and others added 4 commits March 4, 2022 13:29
Supports CCPP with new NSSL microphysics scheme, which has separate hydrometeor categories for graupel and hail (Mansell et al. 2010, JAS). This PR allows fv3atm to compile correctly with CCPP+NSSL, but a further update to atmos_cubed_sphere is needed to run correctly. The NSSL scheme is used in NSSL's daily FV3 convection-allowing forecasts, and the scheme itself is aimed at this scale (dx <= 4km). Testing is underway also with a preliminary Warn-on-Forecast FV3 ensemble.
dustinswales and others added 21 commits March 9, 2022 18:14
* add p8 suite files
* fix 2phases intermediate restart

Co-authored-by: Raffaele Montuoro <raffaele.montuoro@noaa.gov>
Co-authored-by: Jun Wang <jun.wang@noaa.gov>
…inor CCPP cleanup and documentation updates (NOAA-EMC#487)

* Minor cleanup and documentation updates for CCPP; split CCPP finalize into physics_finalize and (framework) finalize
Add 'valid time' variable using ISO string format to netcdf history files.
Use double precision variable to set value of 'time' attribute in wrt comp import state
Update ccpp/physics (setting surface-related interstitial variables for SCM prescribed-surface-flux mode)
Update inline_post_stub.F90 subroutine interfaces to match inline_post.F90

Co-authored-by: Ted Mansell <ted.mansell@noaa.gov>
Co-authored-by: Grant Firl <grant.firl@noaa.gov>
…thern hemisphere (NOAA-EMC#497)

Subroutine `lambert` in the write component has been fixed to do the mapping on the southern hemisphere correctly.
@climbfuji
Copy link
Collaborator

@dustinswales This PR was for the wrong account/branch, please open one for NOAA-EMC/develop instead.

@climbfuji climbfuji closed this Mar 28, 2022
@dustinswales
Copy link
Collaborator Author

@climbfuji
Sorry Dom. I accidentally created this, and thought I deleted it, but I guess not. Thanks.
Please refer to NOAA-EMC#498.

SamuelTrahanNOAA pushed a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Jun 13, 2022
* Update submodule pointer for fv3atm
* Copy new Thompson tables from temporary location
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.