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

Update develop from gsd/develop 2020/06/30 #134

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Jun 30, 2020

Changes in this PR:

  • output of auxiliary arrays (2d, 3d) from CCPP to assist developers debugging their physics
  • correctly output 3-dim tendencies for t, u, v, qv, ozone from CCPP physics
  • mandatory changes for the CCPP framework updates to handle blocked data structures correctly: fix inconsistent use of horizontal_dimension (ix) versus horizontal_loop_extent (im) and other metadata corrections
  • remove old pset logic from ccpp_prebuild_config.py (was required for CCPP dynamic build)
  • updates to all suite definition files: change the order of interstitial schemes get_phi_fv3+GFS_suite_interstitial_3 and GFS_DCNV_generic_pre to match the logical flow (does not change the answer)
  • move CCPP physics initialization calls in atmos_model.F90 so that the physics can see the data from the restart files at initialization time
  • add capability to read large-scale and small-scale orographic data when using GSL drag suite
  • add additional fields to restart files as required for GSL physics updates
  • new suite definition files for RAP and HRRR configurations
  • capability to call radiation for the first nhfrad physics time steps for cold starts, afterwards on the cycle defined by the radiation time step

This PR needs to be squashed into one commit when merged, using the description of the PR as commit message.

Associated PRs:
NCAR/ccpp-physics#465
NCAR/ccpp-framework#307
NOAA-EMC/GFDL_atmos_cubed_sphere#30
#134
ufs-community/ufs-weather-model#156

For regression testing information, see ufs-community/ufs-weather-model#156.

grantfirl and others added 30 commits November 4, 2019 10:30
…ute GFS_GWD_generic_pre,post for drag_suite_pre,post
 2. in GFS_typedefs.F90, correct nvdiff definition for FA.
…4b identical results on macOS with 32-bit dynamics
…gs about non-existent include directories with GNU
…s directory to avoid warnings about non-existent include directories with GNU
Add SAS deep/shallow convection and satmedmfvdifq (updated version of satmedmfvdif) to CCPP
…routines in ugwp_driver_v0.f (note that the code that generated the warnings is in a non-active section)
add Ferrier-Aligo MP scheme changes on host model side
dtc/develop: update submodule pointers 2019/11/22
climbfuji and others added 6 commits June 29, 2020 08:25
… and ccpp-physics for code review and testing
…ore_bugfixes_and_sgscloud_update_gsd_develop_20200629
…cloud_update_gsd_develop_20200629

Two FV3 dycore bug fixes and SGS cloud update gsd/develop 2020/06/29
…, ccpp-framework and ccpp-physics for code review and testing
@climbfuji climbfuji marked this pull request as ready for review June 30, 2020 15:26
…tmos_cubed_sphere, ccpp-framework, ccpp-physics
Comment on lines +2628 to +2630
ExtDiag(idx)%desc = 'v momentum tendency due to non-physics processes'
ExtDiag(idx)%unit = 'm s-2'
ExtDiag(idx)%mod_name = 'gfs_phys'
Copy link
Collaborator

Choose a reason for hiding this comment

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

for tendency from non-physics processes, maybe it's good not to put it in "gfs_phys" model in the future

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good point. The only reason why it ended up there was "convenience" so that all tendencies were in the same file. We can easily change this.

@@ -1456,7 +1491,7 @@ subroutine update_atmos_chemistry(state, rc)
ib = i + Atm_block%isc - 1
nb = Atm_block%blkno(ib,jb)
ix = Atm_block%ixp(ib,jb)
hpbl(i,j) = IPD_Data(nb)%IntDiag%hpbl(ix)
hpbl(i,j) = IPD_Data(nb)%Tbd%hpbl(ix)
Copy link
Collaborator

Choose a reason for hiding this comment

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

May I ask why hpbl is changed from diag_type to Tbd type?

Copy link
Collaborator Author

@climbfuji climbfuji Jul 2, 2020

Choose a reason for hiding this comment

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

This was required, because it is not a diagnostic quantity but a prognostic variable for MYNN. In other words, to prevent a reset when the IntDiag DDT is reset and make it persistent.

@@ -5590,6 +5783,7 @@ end subroutine diag_create
subroutine diag_rad_zero(Diag, Model)
class(GFS_diag_type) :: Diag
type(GFS_control_type), intent(in) :: Model
integer :: i
Copy link
Collaborator

Choose a reason for hiding this comment

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

not seeing i is used. may be remove in the future?

@@ -5612,6 +5806,7 @@ subroutine diag_phys_zero (Diag, Model, linit, iauwindow_center)
logical,optional, intent(in) :: linit, iauwindow_center

logical set_totprcp
integer :: i
Copy link
Collaborator

Choose a reason for hiding this comment

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

same here

@@ -3991,6 +4074,12 @@
units = flag
dimensions = ()
type = logical
[cycling]
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am curious about this variable, model can cold start in cycling mode (e.g. GEFS). Is this used to identify cold start or warm start?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This was added by @joeolson42 when he was working on the MYNN PBL/SFC improvements. It has to do with cycling runs being conceptually different from cold starts or warm starts. Maybe we don't understand how the cycling capability works in FV3 and it could have been implemented differently. I am starting an issue to collect improvements to this PR from code review.

Copy link
Collaborator

@junwang-noaa junwang-noaa left a comment

Choose a reason for hiding this comment

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

I reviewed the code for outputting diagnostic fields, it looks good to me. There are some very minor suggestions that have no impact on results, which can be fixed later if verified. I assume the new physics updates have been tested and evaluated separately.

@climbfuji
Copy link
Collaborator Author

Thank you, @junwang-noaa . I created an issue to address the questions and make the recommended changes as soon as possible.

@climbfuji
Copy link
Collaborator Author

I reviewed the code for outputting diagnostic fields, it looks good to me. There are some very minor suggestions that have no impact on results, which can be fixed later if verified. I assume the new physics updates have been tested and evaluated separately.

I am hopeful that we can soon share results for larger retrospective runs with the updated GSL physics. Several people at EMC have asked for this already.

@DusanJovic-NOAA DusanJovic-NOAA merged commit 16e3615 into NOAA-EMC:develop Jul 2, 2020
tsupinie pushed a commit to tsupinie/fv3atm that referenced this pull request Jul 20, 2020
- output of auxiliary arrays (2d, 3d) from CCPP to assist developers debugging their physics
- correctly output 3-dim tendencies for t, u, v, qv, ozone from CCPP physics
- mandatory changes for the CCPP framework updates to handle blocked data structures correctly: fix inconsistent use of `horizontal_dimension` (ix) versus `horizontal_loop_extent` (im) and other metadata corrections
- remove old pset logic from `ccpp_prebuild_config.py` (was required for CCPP dynamic build)
- updates to all suite definition files: change the order of interstitial schemes get_phi_fv3+GFS_suite_interstitial_3 and GFS_DCNV_generic_pre to match the logical flow (does not change the answer)
- move CCPP physics initialization calls in `atmos_model.F90` so that the physics can see the data from the restart files at initialization time
- add capability to read large-scale and small-scale orographic data when using GSL drag suite
- add additional fields to restart files as required for GSL physics updates
- new suite definition files for RAP and HRRR configurations
- capability to call radiation for the first `nhfrad` physics time steps for cold starts, afterwards on the cycle defined by the radiation time step
christinaholtNOAA referenced this pull request in NOAA-GSL/fv3atm Jun 15, 2021
* Add NSSL 2-Moment Microphysics

* Update data structures to handle the additional tracer species in NSSL microphysics
* Add the code files for NSSL microphysics to the CCPP prebuild config

* Add suite for NSSL microphysics

* Add a CCPP suite to test NSSL microphysics

* Initialize ice fluxes and add "tiice" array (#119)

(1) Introducing a separate array "tiice" to store internal ice temperature. "tiice" will be added to phyf*nc output only when frac_grid=T.
(2) When cplflx=T, initializing ice fluxes by PBL calculated values when fluxes from CICE are unavailable.
(3) Adding frac_grid to namelist and no longer modifying it inside FV3GFS_io.F90. frac_grid=F by default.

* Remove cheyenne.pgi from CCPP config (#117)

remove cheyenne.pgi from CCPP config (ccpp/set_compilers.sh, ccpp/build_ccpp.sh)

* develop: merge HWRF version of saSAS with GFS version (#93)

* Merge branch 'man_hafs_sas_without_updates_of_dtc_develop_49b73a8f4149ca88f071dbaae81f1769b120f1e0' into HEAD
* gfsphysics/physics/GFS_debug.F90: add capability to debug 1-d logical arrays
* Clean up error messages in gfsphysics/GFS_layer/GFS_typedefs.F90

Co-authored-by: Dusan Jovic <[email protected]>

* Merge GFDL FV3 dynamic core new (201912) version (#65)

* Change 'mytile' to 'mygrid' corresponding to the change in atmos_cubed_sphere

* GFS.v16.0.4 physics update (#128)

* physics update from GFS.v16.0.4
* GFS.v16.0.4 physics udpate
* remove whitespaces in sfc_diff.f
* keep z0 unchanged in coupled mode in sfc_diff.f
* fix IPD run
* point to NCAR ccpp-physics branch

Co-authored-by: Jun Wang <[email protected]>

* Update for GFDL_atmos_cubed_sphere (dycore GNU bugfix) (#131)

* Bugfix for regional runs when dycore is compiled in double precision (#133)

* Update .gitmodules and submodule pointer for fv3atm for code review and testing

* Revert change to .gitmodules and update submodule pointer for GFDL_atmos_cubed_sphere

* Update develop from gsd/develop 2020/06/30 (#134)

- output of auxiliary arrays (2d, 3d) from CCPP to assist developers debugging their physics
- correctly output 3-dim tendencies for t, u, v, qv, ozone from CCPP physics
- mandatory changes for the CCPP framework updates to handle blocked data structures correctly: fix inconsistent use of `horizontal_dimension` (ix) versus `horizontal_loop_extent` (im) and other metadata corrections
- remove old pset logic from `ccpp_prebuild_config.py` (was required for CCPP dynamic build)
- updates to all suite definition files: change the order of interstitial schemes get_phi_fv3+GFS_suite_interstitial_3 and GFS_DCNV_generic_pre to match the logical flow (does not change the answer)
- move CCPP physics initialization calls in `atmos_model.F90` so that the physics can see the data from the restart files at initialization time
- add capability to read large-scale and small-scale orographic data when using GSL drag suite
- add additional fields to restart files as required for GSL physics updates
- new suite definition files for RAP and HRRR configurations
- capability to call radiation for the first `nhfrad` physics time steps for cold starts, afterwards on the cycle defined by the radiation time step

* Add regression tests with MULTI_GASES (#108)

* Update suite_FV3_GFS_2017_fv3wam.xml

* Remove unnecessary file from the CCPP prebuild configuration

* Add TACC frontera configuration

* Update to RAS in CCPP, update submodule pointer for ccpp-framework (CI tests) (NOAA-EMC#252)

* Reactivate mass flux arrays
* fix the argument list in inline_post_getattr and remove prints and post_gfs_stub.F90
* ccpp/data/GFS_typedefs.F90: correct initialization of Model%fscav
* Add FV3_GFS_v16_ras

* Cld perts (NOAA-EMC#233)

Addition of stochastic physics restarts in netCDF format that will be written at the restart interval, and at end of run.  
Also, addition of stochastic cloud perturbation and microphyiscs perturbations for SPPT.

* upgrade OPAC aerosol with more advanced MERRA2 aerosol (NOAA-EMC#254)

* changed .gitmodules to point to merra2 ccpp/physics
* revert .gitmodule

* update to Larissa version

* add atmos_cube_sphere and ccpp/physics as submodules

* add submodules of emc-2021-cloud

* update ccpp/physics: remove CAPS version mp_nssl_2mom

* ccpp/physics update: fix nssl mp reproducibility issue

* Updating pointer to ccpp/physics.

* Pointing to Christin's branch

* Adding new suite for NSSL physics.

* Updating suites to match HWT.

* Updating gitmodules

* Updating pointer to atmos_cubed_sphere.

Co-authored-by: Tim Supinie <[email protected]>
Co-authored-by: shansun6 <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: XiaqiongZhou-NOAA <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: Phil Pegion <[email protected]>
Co-authored-by: AnningCheng-NOAA <[email protected]>
Co-authored-by: Jili Dong <[email protected]>
SamuelTrahanNOAA pushed a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Apr 9, 2022
…mposites.F90 (NOAA-EMC#134)

* Updated submodules for Bug fixes to drag_suite.F90 and GFS_surface_composites.F90

* Point to RRFS_dev for ccpp/physics
SamuelTrahanNOAA pushed a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Jun 13, 2022
…gi, check for GNU compiler version (NOAA-EMC#139)

* update stampede config, remove cheyenne.pgi config, bugfixes for Python3 on stampede (from @climbfuji)
* check version of GNU compiler NOAA-EMC#134 (from @edwardhartnett)
* submit compile jobs with ecflow to batch system instead of running them on frontend nodes (from @DusanJovic-NOAA)

Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: Edward Hartnett <[email protected]>
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.

None yet