NCAR / ccpp-physics

GFS physics for CCPP
Other
59 stars 146 forks source link

Added coupling of GOCART aerosols with the RRTMG scheme and the Thompson scheme #910

Closed ChunxiZhang-NOAA closed 2 years ago

ChunxiZhang-NOAA commented 2 years ago

This PR includes two parts: (1) The coupling of GOCART aerosols with the RRTMG radiation scheme was implemented by Anning Cheng at EMC. The issue is described Issue#899.

(2) The large scale wet deposition was implemented into the Thompson scheme. When coupling with GOCART aerosols, the wet deposition is included in the Thompson scheme. The testing results can be file here. This work is related to NCAR/ccpp-physics issue#912 and ufs-weather-model issue#1191.

AnningCheng-NOAA commented 2 years ago

two more files needed to modified are GFS_typedefs.F90 and GFS_typedefs.meta at ccpp/data. Please also noted that the files needed to added and changed for regression tests for rad_grt_atm_aerosols.

ChunxiZhang-NOAA commented 2 years ago

two more files needed to modified are GFS_typedefs.F90 and GFS_typedefs.meta at ccpp/data. Please also noted that the files needed to added and changed for regression tests for rad_grt_atm_aerosols.

@AnningCheng-NOAA Please check here for GF_typedefs.* files. And check here for regression tests related changes.

AnningCheng-NOAA commented 2 years ago

looks good to me. Approved

AnningCheng-NOAA commented 2 years ago

reopened

AnningCheng-NOAA commented 2 years ago

I have put the passing aerosol mixing ratio before calling "aetaer" in GFS_rrtmg_pre.F90. The idea is to obtain the value the earliest in the physical processes, so the same value for all processes.

ChunxiZhang-NOAA commented 2 years ago

I have put the passing aerosol mixing ratio before calling "aetaer" in GFS_rrtmg_pre.F90. The idea is to obtain the value the earliest in the physical processes, so the same value for all processes.

Sounds good. Please let me know when your code is ready.

AnningCheng-NOAA commented 2 years ago

Chunxi, the code is ready now at /scratch2/NCEPDEV/climate/Anning.Cheng/ufs-weather-model/FV3/ccpp/physics/physics GFGFS_rrtmg_pre.meta GFS_rrtmg_pre.meta

There is no changes needed in PBL files.

Anning

On Tue, Apr 26, 2022 at 5:08 PM ChunxiZhang-NOAA @.***> wrote:

I have put the passing aerosol mixing ratio before calling "aetaer" in GFS_rrtmg_pre.F90. The idea is to obtain the value the earliest in the physical processes, so the same value for all processes.

Sounds good. Please let me know when your code is ready.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1110250384, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMILWGFAFDXH5P5EH5LLVHBLMLANCNFSM5UL22TUQ . You are receiving this because you modified the open/close state.Message ID: @.***>

AnningCheng-NOAA commented 2 years ago

There is a typo in the last Email. GFS_rrtmg_pre.F90 instead of GFGFS_rrtmg_pre.meta.

On Tue, Apr 26, 2022 at 5:14 PM Anning Cheng - NOAA Affiliate < @.***> wrote:

Chunxi, the code is ready now at /scratch2/NCEPDEV/climate/Anning.Cheng/ufs-weather-model/FV3/ccpp/physics/physics GFGFS_rrtmg_pre.meta GFS_rrtmg_pre.meta

There is no changes needed in PBL files.

Anning

On Tue, Apr 26, 2022 at 5:08 PM ChunxiZhang-NOAA @.***> wrote:

I have put the passing aerosol mixing ratio before calling "aetaer" in GFS_rrtmg_pre.F90. The idea is to obtain the value the earliest in the physical processes, so the same value for all processes.

Sounds good. Please let me know when your code is ready.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1110250384, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMILWGFAFDXH5P5EH5LLVHBLMLANCNFSM5UL22TUQ . You are receiving this because you modified the open/close state.Message ID: @.***>

AnningCheng-NOAA commented 2 years ago

Looks good by passing the aerosol mixing ratios to radiation before "setaer". Approved again. I am happy to take any suggestions improving the code.

grantfirl commented 2 years ago

Looks good to me. I'm waiting to approve once my minor question is answered/addressed.

AnningCheng-NOAA commented 2 years ago

Grant, please change it to input.

On Thu, May 5, 2022 at 10:37 AM Grant Firl @.***> wrote:

Looks good to me. I'm waiting to approve once my minor question is answered/addressed.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1118633471, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIO6PYJHDDMEFBPWHK3VIPMJNANCNFSM5UL22TUQ . You are receiving this because you modified the open/close state.Message ID: @.***>

AnningCheng-NOAA commented 2 years ago

No. It controlled by iaer.

On Thu, May 5, 2022 at 11:02 AM mzhangw @.***> wrote:

@.**** commented on this pull request.

In physics/GFS_phys_time_vary.fv3.F90 https://github.com/NCAR/ccpp-physics/pull/910#discussion_r866009424:

  • if (size(aer_nm, dim=3).ne.ntrcaerm) then
  • write(errmsg,'(2a,i0,a,i0)') "Value error in GFS_phys_time_vary_init: ", &
  • "ntrcaerm from aerclm_def does not match value in GFS_typedefs.F90: ", &
  • ntrcaerm, " /= ", size(aer_nm, dim=3)
  • errflg = 1
  • else
  • ! Update the value of ntrcaer in aerclm_def with the value defined
  • ! in GFS_typedefs.F90 that is used to allocate the Tbd DDT.
  • ! If iaerclm is .true., then ntrcaer == ntrcaerm
  • ntrcaer = size(aer_nm, dim=3)
  • ! Read aerosol climatology
  • call read_aerdata (me,master,iflip,idate,errmsg,errflg)
  • endif
  • ntrcaer = ntrcaerm
  • call read_aerdata (me,master,iflip,idate,errmsg,errflg)
  • else if(iaermdl ==2 ) then

The default iaermdl hardwired in physparam is 0, i.e.,seasonal global OPAC aerosol, climatology. Did you consider using iaermdl as a namelist control variable?

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#pullrequestreview-963513442, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIMJBHKVBBKRSOJBNWTVIPPIVANCNFSM5UL22TUQ . You are receiving this because you modified the open/close state.Message ID: @.***>

grantfirl commented 2 years ago

@dustinswales As far as you know, should your suggested changes be included, will that be sufficient for getting these changes working with RRTMGP? If so, would you be willing to mimic the test added in https://github.com/ufs-community/ufs-weather-model/pull/1192/files for suite FV3_GFS_v16_RRTMGP at some point? I'm not suggesting this is required for merging this PR, but it is claiming to couple GOCART with "radiation", but the title as the branch currently stands should say "... with RRTMG"?

AnningCheng-NOAA commented 2 years ago

The only option for radiation to coupled with gocart is iaer=2011, in this case, iaerclm=.false. and iaermdl =2. Otherwise, gocart has no influence on the model results.

On Thu, May 5, 2022 at 11:43 AM mzhangw @.***> wrote:

@.**** commented on this pull request.

In physics/GFS_phys_time_vary.fv3.F90 https://github.com/NCAR/ccpp-physics/pull/910#discussion_r866055969:

  • if (size(aer_nm, dim=3).ne.ntrcaerm) then
  • write(errmsg,'(2a,i0,a,i0)') "Value error in GFS_phys_time_vary_init: ", &
  • "ntrcaerm from aerclm_def does not match value in GFS_typedefs.F90: ", &
  • ntrcaerm, " /= ", size(aer_nm, dim=3)
  • errflg = 1
  • else
  • ! Update the value of ntrcaer in aerclm_def with the value defined
  • ! in GFS_typedefs.F90 that is used to allocate the Tbd DDT.
  • ! If iaerclm is .true., then ntrcaer == ntrcaerm
  • ntrcaer = size(aer_nm, dim=3)
  • ! Read aerosol climatology
  • call read_aerdata (me,master,iflip,idate,errmsg,errflg)
  • endif
  • ntrcaer = ntrcaerm
  • call read_aerdata (me,master,iflip,idate,errmsg,errflg)
  • else if(iaermdl ==2 ) then

It looks like coupled gocart is not initialized since iaerclm=.false. and iaermdl =0 by current config.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#discussion_r866055969, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMINQFIBBB5P6Z6RUQPDVIPUCHANCNFSM5UL22TUQ . You are receiving this because you modified the open/close state.Message ID: @.***>

AnningCheng-NOAA commented 2 years ago

Formerly, All changes suggested by Dustinwales were in GFS_PBL_generic.F90, so the code should work for all radiation. Raffaele suggests moving the changes to "setaer", making the code less compatible. However, making those changes should work for RRTMGP to coupled with GOCART too.

On Thu, May 5, 2022 at 1:25 PM Anning Cheng - NOAA Affiliate < @.***> wrote:

The only option for radiation to coupled with gocart is iaer=2011, in this case, iaerclm=.false. and iaermdl =2. Otherwise, gocart has no influence on the model results.

On Thu, May 5, 2022 at 11:43 AM mzhangw @.***> wrote:

@.**** commented on this pull request.

In physics/GFS_phys_time_vary.fv3.F90 https://github.com/NCAR/ccpp-physics/pull/910#discussion_r866055969:

  • if (size(aer_nm, dim=3).ne.ntrcaerm) then
  • write(errmsg,'(2a,i0,a,i0)') "Value error in GFS_phys_time_vary_init: ", &
  • "ntrcaerm from aerclm_def does not match value in GFS_typedefs.F90: ", &
  • ntrcaerm, " /= ", size(aer_nm, dim=3)
  • errflg = 1
  • else
  • ! Update the value of ntrcaer in aerclm_def with the value defined
  • ! in GFS_typedefs.F90 that is used to allocate the Tbd DDT.
  • ! If iaerclm is .true., then ntrcaer == ntrcaerm
  • ntrcaer = size(aer_nm, dim=3)
  • ! Read aerosol climatology
  • call read_aerdata (me,master,iflip,idate,errmsg,errflg)
  • endif
  • ntrcaer = ntrcaerm
  • call read_aerdata (me,master,iflip,idate,errmsg,errflg)
  • else if(iaermdl ==2 ) then

It looks like coupled gocart is not initialized since iaerclm=.false. and iaermdl =0 by current config.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#discussion_r866055969, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMINQFIBBB5P6Z6RUQPDVIPUCHANCNFSM5UL22TUQ . You are receiving this because you modified the open/close state.Message ID: @.***>

dustinswales commented 2 years ago

Formerly, All changes suggested by Dustinwales were in GFS_PBL_generic.F90, so the code should work for all radiation. Raffaele suggests moving the changes to "setaer", making the code less compatible. However, making those changes should work for RRTMGP to coupled with GOCART too. On Thu, May 5, 2022 at 1:25 PM Anning Cheng - NOAA Affiliate < @.> wrote: The only option for radiation to coupled with gocart is iaer=2011, in this case, iaerclm=.false. and iaermdl =2. Otherwise, gocart has no influence on the model results. On Thu, May 5, 2022 at 11:43 AM mzhangw @.> wrote: > @.** commented on this pull request. > ------------------------------ > > In physics/GFS_phys_time_vary.fv3.F90 > <#910 (comment)>: > > > - if (size(aer_nm, dim=3).ne.ntrcaerm) then > - write(errmsg,'(2a,i0,a,i0)') "Value error in GFS_phys_time_vary_init: ", & > - "ntrcaerm from aerclm_def does not match value in GFS_typedefs.F90: ", & > - ntrcaerm, " /= ", size(aer_nm, dim=3) > - errflg = 1 > - else > - ! Update the value of ntrcaer in aerclm_def with the value defined > - ! in GFS_typedefs.F90 that is used to allocate the Tbd DDT. > - ! If iaerclm is .true., then ntrcaer == ntrcaerm > - ntrcaer = size(aer_nm, dim=3) > - ! Read aerosol climatology > - call read_aerdata (me,master,iflip,idate,errmsg,errflg) > - endif > + ntrcaer = ntrcaerm > + call read_aerdata (me,master,iflip,idate,errmsg,errflg) > + else if(iaermdl ==2 ) then > > It looks like coupled gocart is not initialized since iaerclm=.false. and > iaermdl =0 by current config. > > — > Reply to this email directly, view it on GitHub > <#910 (comment)>, > or unsubscribe > https://github.com/notifications/unsubscribe-auth/ALQPMINQFIBBB5P6Z6RUQPDVIPUCHANCNFSM5UL22TUQ > . > You are receiving this because you modified the open/close state.Message > ID: **@.***> >

@AnningCheng-NOAA If code was moved from GFS_PBL_generic.F90 to GFS_rrtmg_pre.F90, then RRTMGP will not see these aerosol fields.

dustinswales commented 2 years ago

@grantfirl Yes, the changes I mentioned are all that need to be done for this to work with GP. There will be some refactoring of the GP code in the coming month that this can be included alongside with, but it is more fitting for it to go in with this PR.

I saw "radiation" in the PR, and being a GP centric person, I assumed that meant G and GP, but I guess GP is still in the developmental stage.

AnningCheng-NOAA commented 2 years ago

yes. But putting those in GFS_rrtmg_pre.F90 ensures all physical processes using the same aer_nm. However, the results were very similar.

On Thu, May 5, 2022 at 2:00 PM dustinswales @.***> wrote:

Formerly, All changes suggested by Dustinwales were in GFS_PBL_generic.F90, so the code should work for all radiation. Raffaele suggests moving the changes to "setaer", making the code less compatible. However, making those changes should work for RRTMGP to coupled with GOCART too. On Thu, May 5, 2022 at 1:25 PM Anning Cheng - NOAA Affiliate < @.

> wrote: … <#m3326638462972841118> The only option for radiation to coupled with gocart is iaer=2011, in this case, iaerclm=.false. and iaermdl =2. Otherwise, gocart has no influence on the model results. On Thu, May 5, 2022 at 11:43 AM mzhangw @.> wrote: > @.**** commented on this pull request. > ------------------------------ > > In physics/GFS_phys_time_vary.fv3.F90 > <#910 (comment) https://github.com/NCAR/ccpp-physics/pull/910#discussion_r866055969>: >

  • if (size(aer_nm, dim=3).ne.ntrcaerm) then > - write(errmsg,'(2a,i0,a,i0)') "Value error in GFS_phys_time_vary_init: ", &
  • "ntrcaerm from aerclm_def does not match value in GFS_typedefs.F90: ", & > - ntrcaerm, " /= ", size(aer_nm, dim=3) > - errflg = 1 > - else > - ! Update the value of ntrcaer in aerclm_def with the value defined > - ! in GFS_typedefs.F90 that is used to allocate the Tbd DDT. > - ! If iaerclm is .true., then ntrcaer == ntrcaerm > - ntrcaer = size(aer_nm, dim=3) > - ! Read aerosol climatology > - call read_aerdata (me,master,iflip,idate,errmsg,errflg) > - endif > + ntrcaer = ntrcaerm > + call read_aerdata (me,master,iflip,idate,errmsg,errflg) > + else if(iaermdl ==2 ) then > > It looks like coupled gocart is not initialized since iaerclm=.false. and > iaermdl =0 by current config. > > — > Reply to this email directly, view it on GitHub > <#910 (comment) https://github.com/NCAR/ccpp-physics/pull/910#discussion_r866055969>, > or unsubscribe > https://github.com/notifications/unsubscribe-auth/ALQPMINQFIBBB5P6Z6RUQPDVIPUCHANCNFSM5UL22TUQ . > You are receiving this because you modified the open/close state.Message > ID: @.***> >

@AnningCheng-NOAA https://github.com/AnningCheng-NOAA If code was moved from GFS_PBL_generic.F90 to GFS_rrtmg_pre.F90, then RRTMGP will not see these aerosol fields.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1118887640, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIPNKYVPZTYNWHIIVZTVIQEEZANCNFSM5UL22TUQ . You are receiving this because you were mentioned.Message ID: @.***>

dustinswales commented 2 years ago

@AnningCheng-NOAA All physical processes except RRTMGP. GFS_rrtmg_pre is not called when using RRTMGP.

yangfanglin commented 2 years ago

@dustinswales I'd suggest if you know where to make the changes you can go ahead to update the code for this PR. I believe after today's commit from Chunxi for P8 there is still one RRTMGP RT you can use for testing. If more time is needed to make the gocart/aerosol-radiation interaction working for both G and GP, let's have another PR after this or wait until the commit of GP optimization.

AnningCheng-NOAA commented 2 years ago

The idea is to assign the aerosol mixing ratio from qgrs to aer_nm before any physical process uses them. I do see GFS_rrtmgp_pre.F90 and even GFS_rrtmgp_pre_run inside it, not sure why it is not called.

On Thu, May 5, 2022 at 2:29 PM Fanglin Yang @.***> wrote:

@dustinswales https://github.com/dustinswales I'd suggest if you know where to make the changes you can go ahead to update the code for this PR. I believe after today's commit from Chunxi for P8 there is still one RRTMGP RT you can use for testing. If more time is needed to make the gocart/aerosol-radiation interaction working for both G and GP, let's have another PR after this or wait until the commit of GP optimization.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1118916146, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIOI355G5MBILYYNU3LVIQHRZANCNFSM5UL22TUQ . You are receiving this because you were mentioned.Message ID: @.***>

ChunxiZhang-NOAA commented 2 years ago

@dustinswales I'd suggest if you know where to make the changes you can go ahead to update the code for this PR. I believe after today's commit from Chunxi for P8 there is still one RRTMGP RT you can use for testing. If more time is needed to make the gocart/aerosol-radiation interaction working for both G and GP, let's have another PR after this or wait until the commit of GP optimization.

Yes, there will be two SDFs with RRTMGP after today's commit, e.g., FV3_GFS_v17_p8_rrtmgp and FV3_RAP_RRTMGP.

dustinswales commented 2 years ago

@yangfanglin @ChunxiZhang-NOAA I don't have time today to add/test the GP code. I will just add the GOCART piece to GP later, with the optimization PR.

grantfirl commented 2 years ago

OK, @dustinswales I added an issue https://github.com/NCAR/ccpp-physics/issues/917 to remind us (you) when you have time to do this so that we don't forget.

@ChunxiZhang-NOAA @AnningCheng-NOAA @dustinswales @mzhangw @yangfanglin Do we agree that this is ready as soon as the aer_nm intent is fixed?

grantfirl commented 2 years ago

@ChunxiZhang-NOAA Since this PR is needed for the upcoming release, have the ORT issues been ironed out with this so that we can merge this soon?

ChunxiZhang-NOAA commented 2 years ago

@grantfirl ORT issues have not been solved yet. Working with Minsuk to solve these issues.

ligiabernardet commented 2 years ago

@grantfirl There is an ongoing discussion with @yangfanglin about the upcoming release supporting the p8c capability instead of p8.1. P8c would mean no aerosols so this PR would not be needed. I am hoping the release target gets resolved next week when @arunchawla-NOAA returns.

grantfirl commented 2 years ago

Does anyone know whether it has been decided if this needs to go in the upcoming release or not?

ChunxiZhang-NOAA commented 2 years ago

Not for P8C. It is for P8.1.

AnningCheng-NOAA commented 2 years ago

@rmontuoro If using instantaneous values, the results are totally different from GFDL, which can be seen from Kate's experiments from version 4 and version 5. This is why I said this approach is unphysical (Version 6/7 does the exact thing as setting ext_diag to true ). I have added Kate to this loop. I would like Kate to confirm.

On Fri, Jun 3, 2022 at 11:40 AM Raffaele Montuoro @.***> wrote:

@.**** requested changes on this pull request.

Computation of Thompson's 3D liquid water and ice fluxes need to be revised.

In physics/module_mp_thompson.F90 https://github.com/NCAR/ccpp-physics/pull/910#discussion_r889056119:

@@ -1482,6 +1485,8 @@ SUBROUTINE mp_gt_driver(qv, qc, qr, qi, qs, qg, ni, nr, nc, & qg(i,k,j) = qg1d(k) ni(i,k,j) = ni1d(k) nr(i,k,j) = nr1d(k)

  • pfi_lsan(i,k) = pfi_lsan(i,k) + pfil1(k)rho(k)dz1d(k)

Liquid water and ice fluxes are time derivatives and cannot be accumulated. If average values of pfi_lsan and pfl_lsan are required, accumulation must be performed using increments, not derivatives (e.g., pfill1(k)rho(k)dz1d(k)*dt), then output fluxes computed dividing by the total time interval (dt1+dt2+...).

In physics/mp_thompson.F90 https://github.com/NCAR/ccpp-physics/pull/910#discussion_r889059821:

@@ -589,6 +594,10 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, & kde = nlev kme = nlev kte = nlev

  • if (reset_diag3d) then

GOCART requires instantaneous three-dimensional liquid water (pfl_lsan) and ice fluxes (pfi_lsan). These quantities must be reset to zero at each physics time step. They should not be reset at the same time as Thompson's extended diagnostic quantities.

In physics/mp_thompson.F90 https://github.com/NCAR/ccpp-physics/pull/910#discussion_r889059824:

@@ -589,6 +594,10 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, & kde = nlev kme = nlev kte = nlev

  • if (reset_diag3d) then

GOCART requires instantaneous three-dimensional liquid water (pfl_lsan) and ice fluxes (pfi_lsan). These quantities must be reset to zero at each physics time step. They should not be reset at the same time as Thompson's extended diagnostic quantities.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#pullrequestreview-995076115, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIKRJVMM5IEZU74W3SDVNIROLANCNFSM5UL22TUQ . You are receiving this because you were mentioned.Message ID: @.***>

yangfanglin commented 2 years ago

@AnningCheng-NOAA please add link here to the ppt that describes the 7 different approaches. I think what Raffaele pointed out does make sense. Tendencies cannot be accumulated. We need to use either 1) instantaneous tendencies or 2) accumulated increments and then converted them to tendencies.

AnningCheng-NOAA commented 2 years ago

Kate and Barry, Could you link the slides for the results of the seven versions of code? I do not have them. version 4 and 5 uses the instantaneous values.

I have attached the ppt file for seven experiment designs here.

On Fri, Jun 3, 2022 at 12:21 PM Fanglin Yang @.***> wrote:

@AnningCheng-NOAA https://github.com/AnningCheng-NOAA please add link here to the ppt that describes the 7 different approaches. I think what Raffaele pointed out does make sense. Tendencies cannot be accumulated. We need to use either 1) instantaneous tendencies or 2) accumulated increments and then converted them to tendencies.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1146148714, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIITUVU5GB6OQBNJU3LVNIWG5ANCNFSM5UL22TUQ . You are receiving this because you were mentioned.Message ID: @.***>

zhanglikate commented 2 years ago

@AnningCheng-NOAA @yangfanglin @rmontuoro @bbakernoaa this is the link for v6 (v5 is the same as v6), v7: https://docs.google.com/presentation/d/1MfBouZh9kdYCJt1jquCCK_pBhLwDLgOd/edit#slide=id.g12cc3692d5c_0_0 ,

It looks like there is no large scale wet deposition. I don't think this looks reasonable, too.

Kate

zhanglikate commented 2 years ago

@AnningCheng-NOAA please add link here to the ppt that describes the 7 different approaches. I think what Raffaele pointed out does make sense. Tendencies cannot be accumulated. We need to use either 1) instantaneous tendencies or 2) accumulated increments and then converted them to tendencies.

@yangfanglin @rmontuoro @bbakernoaa @AnningCheng-NOAA

I am trying a test only using the instantaneous tendencies, let's see how the results would be.

Here I am using: pfi_lsan(i,k) = pfil1(k)rho(k)dz1d(k) pfl_lsan(i,k) = pfll1(k)rho(k)dz1d(k)

I also deleted "if (reset_diag3d) then", to get the pfi_lsan initialized every time step.

ChunxiZhang-NOAA commented 2 years ago

@AnningCheng-NOAA @zhanglikate @yangfanglin @bbakernoaa @rmontuoro Since the Thompson scheme has inner loop, the best practice is probably using (tendency1 dt1 + tendency2 dt2...)/(dt1+dt2...); dt_atmos = dt1+dt2+... to get the instantaneous tendencies at the dt_atmos time step. Please see the code in my directory:/scratch1/NCEPDEV/hwrf/save/Chunxi.Zhang/tmp/chunxi/ufs-weather-model.test

AnningCheng-NOAA commented 2 years ago

Cunxi, It is great that you mentioned the inner loop! All my versions do include the effects of inner loops and subcycles. Notice that here dt1=dt2=dt3=... So the code can be simplified.

On Tue, Jun 7, 2022 at 12:58 AM ChunxiZhang-NOAA @.***> wrote:

@AnningCheng-NOAA https://github.com/AnningCheng-NOAA @zhanglikate https://github.com/zhanglikate @yangfanglin https://github.com/yangfanglin @bbakernoaa https://github.com/bbakernoaa @rmontuoro https://github.com/rmontuoro Since the Thompson scheme has inner loop, the best practice is probably using (tendency1 dt1 + tendency2 dt2...)/(dt1+dt2...); dt_atmos = dt1+dt2+... to get the instantaneous tendencies at the dt_atmos time step. Please see the code in my directory:/scratch1/NCEPDEV/hwrf/save/Chunxi.Zhang/tmp/chunxi/ufs-weather-model.test

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1148196250, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIKV526DUTEKTEYV5JTVN3JHXANCNFSM5UL22TUQ . You are receiving this because you were mentioned.Message ID: @.***>

SamuelTrahanNOAA commented 2 years ago

@ChunxiZhang-NOAA Please respond to comments in this PR before it is merged.

AnningCheng-NOAA commented 2 years ago

I mean inout

On Thu, May 5, 2022 at 10:46 AM Anning Cheng - NOAA Affiliate < @.***> wrote:

Grant, please change it to input.

On Thu, May 5, 2022 at 10:37 AM Grant Firl @.***> wrote:

Looks good to me. I'm waiting to approve once my minor question is answered/addressed.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1118633471, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIO6PYJHDDMEFBPWHK3VIPMJNANCNFSM5UL22TUQ . You are receiving this because you modified the open/close state.Message ID: @.***>

AnningCheng-NOAA commented 2 years ago

Please see my comments on PR 926: https://github.com/NCAR/ccpp-physics/pull/926

On Fri, Jun 3, 2022 at 1:09 PM Kate.Zhang-NOAA @.***> wrote:

@AnningCheng-NOAA https://github.com/AnningCheng-NOAA @yangfanglin https://github.com/yangfanglin @rmontuoro https://github.com/rmontuoro @bbakernoaa https://github.com/bbakernoaa this is the link for v5 and v6: https://docs.google.com/presentation/d/1waJIrqjBq6MW3HJlg6OSdq3zyUBJElvw/edit#slide=id.p1 ,

It looks like there is no large scale wet deposition. I don't think this looks reasonable, too.

Kate

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-physics/pull/910#issuecomment-1146187786, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQPMIIP3ZAVGOR35GJMR6LVNI355ANCNFSM5UL22TUQ . You are receiving this because you were mentioned.Message ID: @.***>