-
Notifications
You must be signed in to change notification settings - Fork 118
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 NOAA-EMC dev/emc #65
Conversation
…rface value is not forced to be positive
…all that caused a reproducibility issue.
Merge dev/emc branch from upstream (NOAA-GFDL/GFDL_atmos_cubed_sphere)
Merge 'regional_boundary_update' from upstream
…d_sphere into dtc/hwrf-physics
…piler when DEBUG=Y
Add a positive-definite advection option
…d_sphere into dtc/hwrf-physics
This PR contains two changes, one for avoiding crashes when the dycore debug option is turned on (in model/fv_dynamics.F90), and one for running microphysics with fewer tracers than in the input data set (in tools/external_ic.F90). This is required for Ferrier-Aligo microphysics.
* add GFSv16 dzmin change * Add code changes in external_ic.F90 and fv_grid_tools.F90 for dev/jcsda, dycore PR NOAA-EMC#35 Co-authored-by: Jun Wang <[email protected]> Co-authored-by: Dan Holdaway <[email protected]>
…he code (NOAA-EMC#48) In FMS 2020.04, mpp_node is no longer supported. mpp_node was not used in the GFDL_atmos_cubed_sphere, but it was in a use statement in fv_mp_mod. This PR removes that use statement.
…can be coldstarted from RAP/HRRR input data (NOAA-EMC#49) This PR is a cherry-pick of commit 48ea719 that went into the ufs-release/public-v2 branch of the authoritative (NOAA-GFDL) repository. See NOAA-GFDL#62 for more information.
…alize to model/fv_dynamics.F90 (NOAA-EMC#47) Implementation of CCPP timestep_init and timestep_final phases in model/fv_dynamics.F90 Note that while these new phases are currently not doing any work, they are required for transitioning to the new CCPP code generator capgen.py (scheduled for February 2021), at which time they will be taking over some of the work that is currently done manually (allocating data for the CCPP fast physics calls).
* Add calls to ccpp_physics_timestep_init and ccpp_physics_timestep_finalize to model/fv_dynamics.F90 * Clean up CCPP preprocessor directives in dycore * Replace IPD DDTs with GFS DDTs * Introduce logic to switch between using GFS data types and IPD data types * Cosmetic changes in driver/fvGFS/atmosphere.F90
Hi, all. After consultation with @xi Chen - NOAA Affiliate
<[email protected]> and some further thought and experimentation I am now
very suspicious of one of the changes being made in nh_core.F90. In
particular this change of the code:
do k=km, 1, -1
do i=...
gz(i,j,k) = max( gz(i,j,k), gz(i,j,k+1) + dz_min )
enddo
enddo
To:
do k=2, km+1
do i=...
gz(i,j,k) = min( gz(i,j,k), gz(i,j,k-1) - dz_min )
enddo
enddo
is questionable since this has much larger and non-local effects than the
original version does. In the original version S-J Lin wrote, noting that
in general the difference in gz (equal to -delz) gets smaller with
increasing k, the fixer acts by raising layer interface k so that it is at
least dz_min above interface k+1. This effectively acts by borrowing height
from the layer directly above it, without altering layers further up in the
atmosphere---that is, at smaller k indices (since k=1 is the top of the
domain in FV3). After fixing up this level, the fixer keeps iterating
downward, again fixing as necessary.
However, the new code acts by borrowing from layer level below it. This
makes this layer, which is nearly always thinner than the layer above
interface k, thinner still, and makes it much more likely that this layer
is also in need of fixing. This could then keep going until it reaches
k=km+1, which is the height of the topography. The fixer would then
artificially lower the topography to ensure that the lowest layer is at
least dz_min thick.
While this never feeds back on the actual topography array phis (and the
layer km+1 of the height array is overwritten by the static topography at
the end of Riem_Solver3), it could potentially lead to inconsistency
between the real surface and the computed surface in the semi-implicit
solver, leading to noise and/or inaccurate solutions. Also, when the
updated zh is computed at the end of Riem_solver3, the shift in dz from the
artifically lowered topography will lead to a lifting of the entire column
when those dzs are then used with the correct topography to reconstruct gz,
which is then passed into the horizontal pressure gradient force routine.
With the original method, since the topography is not changed and only one
interface is shifted, this does not happen.
The change to dz_min is OK for the time being and our own testing has shown
no problems. But as I indicated earlier this is intended only as a quick
fix to meet operational demands on a short time constraint, and there is a
serious need for the root problem for the crashes in GFSv16 and RRFS to be
found and fixed.
Lucas
…On Fri, Jan 15, 2021 at 3:03 PM XiaqiongZhou-NOAA ***@***.***> wrote:
Merge NOAA-EMC dev/emc
------------------------------
You can view, comment on, or merge this pull request online at:
#65
Commit Summary
- Add a positive-definite advection option; the reconstructed
cell-interface value is not forced to be positive
- Modify the halo extents of u and vt in the regional_boundary_update
call that caused a reproducibility issue.
- Merge pull request #38 from DusanJovic-NOAA/merge_gfdl_dev_emc
- Merge pull request #40 from NOAA-GFDL/dev/emc
- Merge remote-tracking branch 'NOAA-EMC/dev/emc' into pd-5
- model/fv_dynamics.F90: bugfix when debugging output is enabled
- Merge branch 'dev/emc' of
https://github.com/NOAA-EMC/GFDL_atmos_cubed_sphere into
dtc/hwrf-physics
- Comment out test for ntrac > ntracers in tools/external_ic.F90
- To avoid the error ( erroneous arithmetic operation) with the GNU
compiler when DEBUG=Y
- Merge pull request #36 from XiaqiongZhou-NOAA/pd-5
- Merge branch 'dev/emc' of
https://github.com/NOAA-EMC/GFDL_atmos_cubed_sphere into
dtc/hwrf-physics
- Necessary changes for HWRF physics (Ferrier-Aligo MP in dycore)
- add GFSv16 dzmin change and changes for Dev/jcsda (#44)
- Removed use of mpp_node in fv_mp_mod which was not used anywhere in
the code (#48)
- model/fv_regional_bc.F90: initialize cld_amt to zero so that GFDL-MP
can be coldstarted from RAP/HRRR input data (#49)
- Add calls to ccpp_physics_timestep_init and
ccpp_physics_timestep_finalize to model/fv_dynamics.F90 (#47)
- Remove IPD steps 3 and 5 (cleanup preprocessor directives) (#50)
- Merge remote-tracking branch 'NOAA-EMC/dev/emc' into merge_gfdl_emc
File Changes
- *M* docs/Doxyfile
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-23e3f4f829dd2f74fc3b32d2ca6a15cca8181864677adc95c72f180e18f8a5ad>
(1)
- *M* driver/fvGFS/atmosphere.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-53ee59c906ed74739c938e8c964c9c4fc6b71627e5cd6a5741e2cdacedfc16ab>
(31)
- *M* makefile
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-beda42571c095172ab63437d050612a571d0d9ddd3ad4f2aecbce907a9b7e3d0>
(7)
- *D* model/fv_cmp.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-f52752b9e88268cc9dff1cc7e19ae255c7a35602b243cbaeba6893b51162bfce>
(1209)
- *M* model/fv_dynamics.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-8380cb72051eebe15251969efe3cb274fdeb92f5b3c95f7bb27b78f25d42315f>
(97)
- *M* model/fv_mapz.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-d01fc78bdfd40a0406eb9993bc1f6a0639bd5a6714823c10b983c89158598579>
(136)
- *M* model/fv_regional_bc.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-ae1eccb8eddb7b619f528b8499ca6710da67274417b924e86e99eb37311f40e1>
(2)
- *M* model/fv_sg.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-e91a43dedf0bb91f22fa7beb8943fe5e6882bb9674a5d30fee05e8f80a8c0ec7>
(67)
- *M* model/nh_utils.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-ab35d906facb07c24877b72bbc6b6acc3e856a82cb065a5a6d3391f3a149969a>
(22)
- *M* model/tp_core.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-7b40d0b9d806f72dae5190a18edd627e5e1fb14fc9061da8b97e11312118b59c>
(313)
- *M* tools/external_ic.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-478347b92b9eb0c6a53e0959daefb2178df066500f17c48c79204f4e6336b210>
(25)
- *M* tools/fv_grid_tools.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-137dd6ce54e3f7ec3e5896243e2d2d72ea43e931a2840b58138808bb16303d0c>
(8)
- *M* tools/fv_iau_mod.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-23d4f6f1eb796288d9ba5368f73392e82dcf2d4a5b9f47c0a3a7bac1a6c4e346>
(7)
- *M* tools/fv_mp_mod.F90
<https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65/files#diff-7aa04ec8e3330bc5192885d0e11026a28faae63629af698981baedff02dc89a0>
(4)
Patch Links:
- https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65.patch
- https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/pull/65.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#65>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMUQRVDZ2G35RARKW4BYG4TS2CNQBANCNFSM4WERI6TA>
.
|
Hi, Lucas, Xi Chen: I put some figures during the tests, here is the link Yes, the difference between these two formula is the the Lin's original formula is to adjust the height |
Based on more offline discussions between EMC and GFDL, I'd suggest
do k=km, 1, -1 set default dz_min to its original value
Fanglin |
Kate, do you want to add code changes from your PR#53? |
WangJun:
What kind of change are you referring to?
I have updated the code yesterday as Fanglin suggested based on
Lucus's concern from the previous update with dz_min. Nothing else in my
mind.
Best
Kate
…On Fri, Jan 22, 2021 at 9:47 AM Jun Wang ***@***.***> wrote:
Kate, do you want to add code changes from your PR#53
<NOAA-EMC#53>?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#65 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALQE7UQ4P7HSSVH2MF7OJG3S3GFZRANCNFSM4WERI6TA>
.
|
@junwang-noaa @XiaqiongZhou-NOAA - Let's finalize and merge this PR first. Once this is completed, we can then create new PR for the updates currently pending to the NOAA-EMC fork in PR #53 |
Ok, I see. It is for the merge to GFDL.
I agree. I can create new PR later.
…On Fri, Jan 22, 2021 at 9:57 AM bensonr ***@***.***> wrote:
@junwang-noaa <https://github.com/junwang-noaa> @XiaqiongZhou-NOAA
<https://github.com/XiaqiongZhou-NOAA> - Let's finalize and merge this PR
first. Once this is completed, we can then create new PR for the updates
currently pending to the NOAA-EMC fork in PR #53
<NOAA-EMC#53>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#65 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALQE7UTAKVWRVIBIFCIGBW3S3GG6XANCNFSM4WERI6TA>
.
|
* Change 'mytile' to 'mygrid' corresponding to the change in atmos_cubed_sphere
* Change 'mytile' to 'mygrid' corresponding to the change in atmos_cubed_sphere
…erturbations (NOAA-GFDL#239) * Update .gitmodules and submodule pointers for ccpp-framework and ccpp-physics for gsl/develop branch * RUC ice for gsl/develop (replaces NOAA-GFDL#54 and NOAA-GFDL#56) (NOAA-GFDL#60) Implementation of RUC LSM ice model in CCPP * Fix bug in gfsphysics/GFS_layer/GFS_typedefs.F90 from merge * Remove lsm_ruc_sfc_sice from suite FV3_GSD_v0_unified_ugwp_suite and update submodule pointer for ccpp-physics * Remove sfc_sice from ccpp/suites/suite_FV3_GSD_v0_unified_ugwp_suite.xml * Update gsl/develop from develop 2020/12/08 (NOAA-GFDL#61) * Fix for updating stochastic physics on separate time-step. (NOAA-GFDL#199) 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. * Bug fixes in (1) running with frac_grid=T and GFDL MP and (2) restarting with frac_grid=T (NOAA-GFDL#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 <[email protected]> Co-authored-with: Denise Worthen <[email protected]> * Revert change to .gitmodules and update submodule pointer for ccpp-physics * Update submodule pointer for ccpp-physics - MYNN surface layer updates and bugfixes (NOAA-GFDL#63) * Land stochastic perturbations (wrapper PR for NOAA-GFDL#65) (NOAA-GFDL#68) * Move initialization of stochastic physics after the physics initialization in CCPP. * Add albedo variables to land perturbations with lndp_type=2 option. Change to accommodate soil perturbations with RUC LSM. * Max/min soil moisture variables are introduced via GFS_Control_type variables instead of through the use of namelist_soilveg*. This is a more flexible way for different LSMs. * Added pores and resid variables for max/min soil moisture to GFS_typedefs.f90. * Remove tracer_sanitizer from all suites and from CCPP prebuild config * Add namelist option to apply land surface perturbations at every time step, clean up stochastic_physics/stochastic_physics_wrapper.F90 * Stochastic land perturbations: add roughness length over land to the perturbed variables (NOAA-GFDL#70) * Added roughness length over land to the perturbed variables. * Bugfix in gfsphysics/GFS_layer/GFS_typedefs.F90: remove Diag%cldcov, in particular the reset call because the variable is not allocated * Update .gitmodules and submodule pointer for GFDL_atmos_cubed_sphere for code review and testing * Revert change to .gitmodules for ccpp-physics, update submodule pointer for ccpp-physics * Revert change to .gitmodules and update submodule pointer for GFDL_atmos_cubed_sphere Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Phil Pegion <[email protected]> Co-authored-by: shansun6 <[email protected]> Co-authored-by: tanyasmirnova <[email protected]>
…AA-GFDL#65) * revise external_ic.F90 and fv_nudge.F90 to use allocatable arrays
…AA-GFDL#65) * revise external_ic.F90 and fv_nudge.F90 to use allocatable arrays
…AA-GFDL#65) * revise external_ic.F90 and fv_nudge.F90 to use allocatable arrays
…rays (NOAA-GFDL#65)" This reverts commit 44211c0.
* Revert "revise external_ic.F90 and fv_nudge.F90 (#68)" This reverts commit 32b44d9. * Revert "fixing call to pmaxmin to no longer get a compilation error when compiling with GNU." This reverts commit 2aa049c. * Revert "Update external_ic.F90 and fv_nudge.F90 to use allocatable arrays (#65)" This reverts commit 44211c0. * Revert "update external_ic.F90 and fv_nudge.F90 (#63)" This reverts commit 81b9be0. * Revert "Fix OVERLOAD_R4 ifdef block as suggested by @junwang-noaa (#60)" This reverts commit 63a4603. * Revert "Update code to use 'constantsR4_mod' module (#59)" This reverts commit 7b8ee4c.
…_updates_v3 Mar 31 updates for GCM v11.0.0-rc.1
Merge NOAA-EMC dev/emc