ccpp-physics icon indicating copy to clipboard operation
ccpp-physics copied to clipboard

SGSCloud_Rad* routines not compatible with fewer radiation levels than (standard) model levels

Open climbfuji opened this issue 4 years ago • 3 comments

In physics/module_SGSCloud_RadPre.F90, clouds1 is updated from cldfra_bl looping over horizontal_loop_extent and vertical_dimension. clouds1 however has dimensions horizontal_loop_extent and adjusted_vertical_layer_dimension_for_radiation - or better to say should have, because it is wrong in physics/module_SGSCloud_RadPre.meta.

There are possibly other such cases. To do:

  • check all variables for their correct vertical dimension
  • pass in adjusted_vertical_layer_dimension_for_radiation in addition to vertical_dimension
  • loop over the correct vertical dimension as required

We need to do this for both module_SGSCloud_RadPre and module_SGSCloud_RadPost.

climbfuji avatar Jan 16 '21 03:01 climbfuji

@dustinswales is this still an issue?

climbfuji avatar Aug 16 '23 02:08 climbfuji

May I ask why both dimensions are needed? The variables in this module are also used in other modules where only the "vertical_dimension" is used. Either someone is over-thinking the problem or I am missing something...

joeolson42 avatar Aug 16 '23 14:08 joeolson42

It's common to have more or less levels for radiation than for the rest of the physics. NEPTUNE for example is using extra radiation layers on top (if I recall correctly), and the deep-atmosphere UFS configuration also has different numbers of levels for radiation and "the other physics".

climbfuji avatar Aug 16 '23 14:08 climbfuji