CAM icon indicating copy to clipboard operation
CAM copied to clipboard

Vertical dimension of tphysbc_cmfmc should be ilev (not lev)

Open jimmielin opened this issue 10 months ago • 0 comments

What happened?

tphysbc_cmfmc (atmosphere_convective_mass_flux_due_to_all_convection) is incorrectly written with lev as the vertical dimension instead of ilev.

It is defined at module level with interface dimension: https://github.com/ESCOMP/CAM/blob/e73a79b0d3be075915502afc25348f6af6611153/src/physics/cam/physpkg.F90#L2137

The addfld call should be ilev here https://github.com/ESCOMP/CAM/blob/e73a79b0d3be075915502afc25348f6af6611153/src/physics/cam/cam_snapshot.F90#L241-L242

and in physics/cam7/cam_snapshot.F90 as well.

Because the vertical dimension is declared incorrectly, attempting to read this field in CAM-SIMA will lead to CAM-SIMA crashing.

What are the steps to reproduce the bug?

Observe any tphysbc CAM snapshot

        double tphysbc_cmfmc(time, lev, ncol) ;
                tphysbc_cmfmc:mdims = 1 ;
                tphysbc_cmfmc:units = "unset" ;
                tphysbc_cmfmc:long_name = "tphysbc_cmfmc" ;
                tphysbc_cmfmc:cell_methods = "time: point" ;

What CAM tag were you using?

cam6_4_075

What machine were you running CAM on?

CISL machine (e.g. cheyenne)

What compiler were you using?

Intel

Path to a case directory, if applicable

No response

Will you be addressing this bug yourself?

Yes

Extra info

Will likely bundle the fix into #1271 unless there is another urgent need for this field in other SIMA work.

jimmielin avatar Mar 13 '25 19:03 jimmielin