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

Add SAS deep/shallow convection and satmedmfvdifq (updated version of satmedmfvdif) #355

Merged
merged 6 commits into from
Nov 20, 2019

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Nov 18, 2019

This PR is associated and tested with the PRs listed below. For regression testing, see NCAR/ufs-weather-model#3.

Changes for ccpp-physics:

  • remove module samfshalcnv_post, add code to GFS_SCNV_generic_post instead (the code is used by both hedmf and sas)
  • move subroutine tridit from satmedmfvdif.F to tridi.f (also used by satmedmfvdifq.F); add guard to satmedmfvdif_init that checks for isatmedmf=0
  • add satmedmfvdifq (updated version of satmedmfvdif) and dependencies
  • add SAS deep and shallow convection schemes

…shalcnv_post, add code to GFS_SCNV_generic_post instead
…idi.f; add guard to satmedmfvdif_init that checks for isatmedmf=0
@climbfuji
Copy link
Collaborator Author

climbfuji commented Nov 18, 2019

@ligiabernardet
Copy link
Collaborator

I do not understand why satmedmfvdifq is referred to as HAFS-related in this PR. From comments in satmedmfvdifq's original commit, I understood it is a revised PBL scheme to address problems in the PBL structure of the GFS (UFS Weather Model). Can you clarify?

@climbfuji
Copy link
Collaborator Author

I do not understand why satmedmfvdifq is referred to as HAFS-related in this PR. From comments in satmedmfvdifq's original commit, I understood it is a revised PBL scheme to address problems in the PBL structure of the GFS (UFS Weather Model). Can you clarify?

I think this is my understanding. I thought this version was added and required by the HAFS folks, but that it has been adopted by others as well. I will change this to "updated" only. Thanks for the info.

@climbfuji climbfuji changed the title Add SAS deep/shallow convection and satmedmfvdifq (HAFS version) Add SAS deep/shallow convection and satmedmfvdifq (updated version of satmedmfvdif) Nov 18, 2019
@climbfuji climbfuji marked this pull request as ready for review November 20, 2019 14:43
!>\file mfpbltq.f
!! This file contains the subroutine that calculates mass flux and
!! updraft parcel properties for thermals driven by surface heating
!! for use in the TKE-EDMF PBL scheme (HAFS version).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Per the PR discussion, is this really the "HAFS" version?

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 catch. I'll fix the comment.

!
use machine , only : kind_phys
use funcphys , only : fpvs
use physcons, grav => con_g, cp => con_cp
Copy link
Collaborator

Choose a reason for hiding this comment

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

Related to issue #104

physics/mfscuq.f Outdated
@@ -0,0 +1,550 @@
!>\file mfscuq.f
!! This file contains the mass flux and downdraft parcel preperties
!! parameterization for stratocumulus-top-driven turbulence (HAFS version).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Same comment as above RE: "HAFS" version

!
use machine , only : kind_phys
use funcphys , only : fpvs
use physcons, grav => con_g, cp => con_cp
Copy link
Collaborator

Choose a reason for hiding this comment

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

related to issue #104

@@ -0,0 +1,1416 @@
!> \file satmedmfvdifq.F
!! This file contains the CCPP-compliant SATMEDMF scheme (HAFS version) which computes
Copy link
Collaborator

Choose a reason for hiding this comment

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

same comment RE: HAFS

Copy link
Collaborator

@grantfirl grantfirl left a comment

Choose a reason for hiding this comment

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

Approved, although may want to revisit using HAFS in the comments. I called out issues with the constants for later cleanup as part of issue #104. I'm a little worried that there is a proliferation of PBL schemes with relatively minor differences among them that may be good candidates for unification and control via namelist parms.

@climbfuji
Copy link
Collaborator Author

climbfuji commented Nov 20, 2019

Approved, although may want to revisit using HAFS in the comments. I called out issues with the constants for later cleanup as part of issue #104. I'm a little worried that there is a proliferation of PBL schemes with relatively minor differences among them that may be good candidates for unification and control via namelist parms.

I share your concerns about the proliferation. I fixed the comments, change all of them from "HAFS version" to "updated version" (that is how EMC calls it in GFS_typedefs.F90). This affects files mfpbltq.f, mfscuq.f, satmedmfvdifq.F and the chain of submodule pointers. Since this is a comment-only change, we do not need to rerun any of the tests.

@climbfuji climbfuji merged commit a7c38a6 into NCAR:dtc/develop Nov 20, 2019
@climbfuji climbfuji deleted the add_sas_and_satmedmfvdifq branch June 27, 2022 03:05
hannahcbarnes pushed a commit to hannahcbarnes/ccpp-physics that referenced this pull request Aug 3, 2022
Add HAFS HYCOM/WW3/CDEPS coupling

A. More details about the HAFS coupling related changes (from @danrosen25)
- gfs_physics_nml namelist modification (inpunt.nml file)
  - added cpl_imp_mrg used in assign_importdata
  - added cpl_imp_dbg used in assign_importdata
- assign_importdata subroutine modification
  - added argument jdat, which is used to timestamp cpl_imp_dbg output
  - if cpl_imp_mrg then assign_importdata will compare import data to missing_value (9.99e20). If import data equals missing value and import field is 'sea_surface_temperature' then Sfcprop%tsfco is set to Sfcprop%tsfc instead of import data. merged data is then stored in datar8, which is a local copy of the import data.
  - if cpl_imp_dbg then the merged data stored in datar8 is written out to netcdf files
- realizeConnectedCplFields
  - added optional argument fill_value, which is used to fill completed ESMF_Field, defaults to 0.0
- fv3_cap
  - import data realized with 9.99e20 fill_value
- module_fcst_grid_comp
  - removed commented out code in regional grid creation
  - fixed grid alignment for regional fcstGrid
  - added corner coordinates (edges) to regional fcstGrid, using internal ATM%lon_bnd and ATM%lat_bnd
  - writes forecast grid to NetCDF if DumpFields = true in nems.configure

B. Added the following HAFS development related namelist options: cplice, rlmx, elmax, sfc_rlm (more details can be seen from NCAR/pull/701)

C. Renamed and added HAFS related ccpp suites

Co-authored-by: Jun.Wang <[email protected]>
Co-authored-by: Jili Dong <[email protected]>
Co-authored-by: Chunxi.Zhang-NOAA <[email protected]>
Co-authored-by: andrew.hazelton <[email protected]>
Co-authored-by: ZhanZhang-NOAA <[email protected]>
Co-authored-by: Daniel Rosen <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Man.Zhang <[email protected]>
Co-authored-by: Ufuk Turuncoglu <[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.

3 participants