Reorganize code for MPAS dycore. Isolate FV3 and MPAS pieces.#129
Conversation
… in the GFS physics suite (NOAA-EMC#851) * Output updraft value of convective cloud condensate in CCPP * update xkinv1 to 0.15 * add check if progsigma is true * address seg fault if progsigma=F --------- Co-authored-by: Grant Firl <grant.firl@noaa.gov>
* Land surface upgrades for HR4
* Update diagnose_cplFields routine to use FieldBundleWrite. Needs esmf v8.6.0 * Fixed bug in aux2d dimensions for GFS meta file. * Pass return code from diagnose_cplFields back to caller * Skip 'cpl_scalars' field when dumping export state * fix fhzero for GEFS * fix cpl_scalars (#6) * fix issues w/ cplscalars * error out of all 3 spatial indices are not present * add check for scalar_id = 0 * modify for timeslices and times (#7)
…ture for CCPP. More CMake modifications
| endif() | ||
|
|
||
| if (MPAS) | ||
| add_library(${DYCORE_TARGET} |
There was a problem hiding this comment.
Naming the add_library target ${DYCORE_TARGET} means we can't have both MPAS and FV3 build at the same time. At least my CMake v3.26.3 was complaining. Maybe not a big deal for now since we are just spinning up but might be good to give them unique names for the future?
There was a problem hiding this comment.
Great point. Giving them unique names will also keep the hope alive of "piggy backing" the other dycore in a diagnostic mode. I will make this change.
There was a problem hiding this comment.
@scrasmussen I added new variables for each dycore target, but didn't go as far as implementing them. I need to think about this a bit more.
|
This is a great start and is looking pretty good! Right now I am mainly just trying to build this PR and am having a build issue. I tried building the feature/mpas-dycore-reorg on Derecho with the instructions from the slides. @dustinswales, I'm getting the following error, did you change the MPAS submodule at all? Thanks! |
Sorry, I forgot to include the changes needed to MPAS.. |
…ow also includes NOAA-EMC#752) (NOAA-EMC#798) * Convert GFS_grid DDT: use contiguous arrays instead of blocked data structures * Add GCC-based CI build --------- Co-authored-by: Alex Richert <alexander.richert@noaa.gov> Co-authored-by: Dustin Swales <dustin.swales@noaa.gov>
Nice! This builds for me now. Just had to make slight changes to work with the GNU software stack on Derecho. I changed
|
* atmos_cube_sphere: heat_source is allocated when SKEB is true and d_con is zero
|
@DusanJovic-NOAA Thanks for the comments. I incorporated your suggestions, and grouped all the FV3 and MPAS pieces together. |
* send CCPP ebu_smoke to UPP ebb * upp: remove GSD_NC synonyms and rename GSD_NC fields instead * update upp hash: g2, g2tmpl, etc. * upp: correct pressure levels for hafs-ar postxconfig files * bugfix: fixed_sfc2_type defaults to fixed_sfc1_type * Add aerosol fix from Li Pan. --------- Co-authored-by: Wen Meng <Wen.Meng@noaa.gov>
| @@ -1,8 +1,49 @@ | |||
| cmake_minimum_required(VERSION 3.0) | |||
There was a problem hiding this comment.
Minor point, can we update this required version to 3.19 since other CMakeLists.txt require it?
…-EMC#837) * Add namelist parameter, ncrement_file_on_native_grid
…e refactor and C3/SAS/MYNN fix) (NOAA-EMC#865) * Host side changes for h2o photochemistry scheme * A fix for the issue to run C3 or SAS convection with the prognostic area fraction closure, and MYNN PBL: tendency_of_vertically_diffused_tracer_concentration from MYNN PBL --------- Co-authored-by: Dustin Swales <dustin.swales@noaa.gov> Co-authored-by: Lisa Bengtsson <Lisa.Bengtsson@noaa.gov>
* add fire_behavior smoke coupling and flags and export variables for fire behavior * added: inst_pres_levels, inst_geop_levels, inst_zonal_wind_levels, inst_merid_wind_levels, inst_surface_roughness, inst_temp_height2m, inst_spec_humid_height2m, inst_pres_height_surface, mean_prec_rate, inst_rainfall_amount * add fire behavior tendencies to physics * add hflx_fire and evap_fire to FV3 imports * added surface emissions fire_smoke imports and initialized the variables and fsmoke tracer index --------- Co-authored-by: masih <masih@ucar.edu> Co-authored-by: Grant Firl <grant.firl@noaa.gov>
* Add support for IntelLLVM compiler: only sub modules (atmos_cubed_sphere, ccpp/physics and upp) are updated. * Update atmos_cubed_sphere, ccpp/physics and upp
…ture/mpas-dycore-reorg
|
@scrasmussen @mkavulich @grantfirl |
| endif() | ||
| if(MULTI_GASES) | ||
| list(APPEND _ufsatm_defs_private MULTI_GASES) | ||
| endif() |
There was a problem hiding this comment.
I am not sure why these if statements here are under the MOVING_NEST if statement. May need further check when merging in EMC's repo
There was a problem hiding this comment.
@junwang-noaa Thanks. I'm running the UFS RTs now to ensure everything is working before opening PRs into the UFS repositories. (I will make sure to move this statement out of the MOVING_NEST logic.)

This pull request contains changes to generalize atmospheric component of the UFS Weather Model:
This is outlined in Figure 1 of the "Tiger Team" report.
Refactor the CMakeLists to build an atmospheric component with either an FV3
or MPAS dynamical core.
Add CMakeLists.txt to build MPAS core_atmosphere component. The CMake recipes from the "MPAS atmospheric core" were adapted to work in the UFS build system.
Modify CCPP physics CmakeLists.txt to build independent MPAS/FV3 couplings to the physics.
Create "stub" mpas infrastructure. This includes stubs for the MPAS atmospheric component driver and overlaying NUOPC cap.
With these changes, the MPAS dynamical core build within UFS.
Next steps, build atmospheric driver for MPAS, which includes creating new typedefs for coupling between the CCPP and MPAS.
@junwang-noaa @DusanJovic-NOAA