Skip to content

Add TAU_ML_microphysics: 9-input ML warm-rain autoconversion emulator - #11

Open
addisug wants to merge 1 commit into
mainfrom
add-tau-ml-microphysics
Open

Add TAU_ML_microphysics: 9-input ML warm-rain autoconversion emulator#11
addisug wants to merge 1 commit into
mainfrom
add-tau-ml-microphysics

Conversation

@addisug

@addisug addisug commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • New topic folder documenting a neural-network emulator of PUMAS's TAU bin-resolved warm-rain microphysics, ported from the wkchuang/PUMAS fork (branch 1nn_tau_emulator) onto the CCPP-ized pumas_cam-release_v1.39 baseline in cesm3_0_alpha09e
  • 9 NN inputs (adds cloud/rain size-distribution shape parameters pgam/lamc/lamr/n0r) vs. the 7-input version already upstream, dual forward/inverse quantile interpolation, in-cloud/in-precip inputs with lcldm/precip_frac rescaling applied afterward
  • No FTorch/PyTorch dependency -- pure Fortran + netCDF
  • Critical gotcha documented up front: this scheme (micro_mg_warm_rain) only exists in the CAM7 physics driver, not CAM6 -- a CAM6 compset (e.g. F2000climo) fails at startup with an unrecognized-namelist-variable error. Requires a CAM7 compset (e.g. F2000dev).

Test plan

  • Built cleanly on Derecho (F2000dev/f09_f09_mg17, --run-unsupported since this compset/resolution pairing isn't yet validated)
  • 1-day smoke test run completed with micro_mg_warm_rain='emulated' -- NN weights load, scheme runs, no crash

Documents and provides sources for a neural-network emulator of PUMAS's
TAU bin-resolved warm-rain (cloud-rain autoconversion/accretion)
microphysics, ported from the wkchuang/PUMAS fork (branch
1nn_tau_emulator, commit 8b76bac) onto the CCPP-ized
pumas_cam-release_v1.39 baseline in cesm3_0_alpha09e (CAM cam6_4_186).

Differs from the 'emulated' scheme already present upstream: 9 NN inputs
(adds cloud/rain size-distribution shape parameters pgam/lamc/lamr/n0r)
instead of 7, dual forward/inverse quantile interpolation instead of a
single simplified version, and in-cloud/in-precip NN inputs with
lcldm/precip_frac rescaling applied to the output tendencies afterward.

No FTorch/PyTorch dependency -- pure Fortran + netCDF.

Critical gotcha documented up front: micro_mg_warm_rain and this whole
scheme only exist in the CAM7 physics driver, not CAM6. Using a CAM6
compset (e.g. F2000climo) fails at startup with
"micro_pumas_cam_readnl:: ERROR reading namelist" since the Fortran
namelist reader chokes on the unrecognized variable. Use a CAM7 compset
(e.g. F2000dev) instead.

Tested with a 1-day F2000dev/f09_f09_mg17 smoke test on Derecho (built
with --run-unsupported, since this compset/resolution pairing isn't yet
validated) -- NN weights load and the run completes cleanly.
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.

1 participant