E3SM-Project / v3atm

Fork of E3SM for testing v3 atm changes
Other
0 stars 5 forks source link

Change to output in-cloud properties to after the cloud microphysics #25

Closed yunpengshan2014 closed 1 year ago

yunpengshan2014 commented 1 year ago

The in-cloud properties should be outputted after the cloud microphysics tendencies are taken into account, whereas they are outputted in P3 without accounting for the microphysics calculations. This fix does not affect model simulations, but will affect all of offline analysis where in-cloud property is used. [non-BFB] for tests comparing eam.h0 that contains in-cloud properties. Otherwise BFB (e.g., default ERS and REP tests)

yunpengshan2014 commented 1 year ago

Hi Chris,

I get rid of the P/(RT) factor but make icinc and icwnc multiplied by the rho factor. They are the same things. No need to change the units.

Regards, Yunpeng

On Thu, Oct 27, 2022 at 10:49 AM Chris Terai @.***> wrote:

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

In components/eam/src/physics/cam/micro_p3_interface.F90 https://github.com/E3SM-Project/v3atm/pull/25#discussion_r1007190846:

  • icimrst(icol,k) = min( state%q(icol,k,ixcldice) / max(mincld,cld_frac_i(icol,k)),0.005_rtype )
  • icwmrst(icol,k) = min( state%q(icol,k,ixcldliq) / max(mincld,cld_frac_l(icol,k)),0.005_rtype )
  • icinc(icol,k) = state%q(icol,k,ixnumice) / max(mincld,cld_frac_i(icol,k)) * &
  • state%pmid(icol,k) / (287.15_rtype*state%t(icol,k))
  • icwnc(icol,k) = state%q(icol,k,ixnumliq) / max(mincld,cld_frac_l(icol,k)) * &
  • state%pmid(icol,k) / (287.15_rtype*state%t(icol,k))
  • ! The in-cloud properties should be outputted after the cloud microphysics
  • ! tendencies are taken into account, whereas they are outputted in P3 without
  • ! accounting for the microphysics calculations. This fix does not affect model
  • ! simulations, but will affect all of offline analysis where in-cloud
  • ! property is used.
  • icimrst(icol,k) = min( ice(icol,k) / max(mincld,cld_frac_i(icol,k)),0.005_rtype )
  • icwmrst(icol,k) = min( cldliq(icol,k) / max(mincld,cld_frac_l(icol,k)),0.005_rtype )
  • icinc(icol,k) = numice(icol,k) / max(mincld,cld_frac_i(icol,k)) * rho(icol,k) !&
  • icwnc(icol,k) = numliq(icol,k) / max(mincld,cld_frac_l(icol,k)) * rho(icol,k) !&

@yunpengshan2014 https://github.com/yunpengshan2014 - Based on comments interspersed through the code, my impression is that numliq and numice have units of kg^-1 and the unists of ICINC and ICWNC are m^-3. If you are getting rid of the P/(RT) factor, wouldn't you need to change the units of the ICINC and ICWNC as well?

— Reply to this email directly, view it on GitHub https://github.com/E3SM-Project/v3atm/pull/25#pullrequestreview-1158743270, or unsubscribe https://github.com/notifications/unsubscribe-auth/APW7K6PYHEBTIRVYF3YZWVLWFK6BLANCNFSM6AAAAAARPRKD5E . You are receiving this because you were mentioned.Message ID: @.***>

crterai commented 1 year ago

Thanks, @yunpengshan2014. ahh, I see the rho now, which I initially missed. That makes sense then.

wlin7 commented 1 year ago

Merged to NGD_v3atm.

wlin7 commented 1 year ago

The tests (that are PASS with current repo and not comparing eam.h0) are BFB with baselines. SMS tests show diff in AREI, AREL, AWNC, AWNI, FREQI and FREQL.