Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
a9328ae
Add PUMAS directory with stub interstitial file.
nusbaume Jan 9, 2025
e7205c3
Add wv_sat_methods.F90, which is needed by PUMAS.
nusbaume Jan 9, 2025
8b56c47
Add PUMAS submodule.
nusbaume Jan 22, 2025
301f43e
Add init phase and metadata file to 'pre_main' scheme.
nusbaume Jan 30, 2025
ece068b
Add pumas_pre_main_namelist.xml based on micro_pumas_ccpp.meta
billsacks Jan 30, 2025
659327a
add pre and post dimension mapping schemes
peverwhee Jan 30, 2025
b188b67
add constituent metadata; fix stdname
peverwhee Jan 30, 2025
6b3cc4b
Moved from MP/PUMAS to pumas directory
cacraigucar Jul 14, 2025
50be090
reorder pumas directory
cacraigucar Jul 14, 2025
3ec547c
Add hackathon work from Kate and Cheryl
cacraigucar Jul 16, 2025
ffbac28
Add pumas test_suite
cacraigucar Jul 17, 2025
07b71dc
remove unused directory
cacraigucar Jul 17, 2025
335b649
Update NamesNotInDictionary.txt
cacraigucar Aug 14, 2025
fcc8453
Remove unused 'src/physics/pumas' directory.
nusbaume Sep 23, 2025
88c2e98
Fix unit metadata bugs in PUMAS and PUMAS namelist definition file.
nusbaume Sep 29, 2025
80ae20a
Update logical variable standard names, and create new 'ccpp_dimensio…
nusbaume Sep 30, 2025
1bc8363
fixes to get further in a CAM-SIMA build
cacraigucar Oct 21, 2025
90fed13
Updates to support accum_enhan
cacraigucar Dec 5, 2025
171fa8e
Next round of changes which compiled in CAM
cacraigucar Dec 10, 2025
7443df3
Remove extra copy - do subsetting and pumas_r8 conversion in same step
cacraigucar Dec 31, 2025
01d55b0
Fixes for CAM-SIMA prebuild processing
cacraigucar Dec 31, 2025
8b359bf
Merge tag 'atmos_phys0_20_000' into pumas_round3
cacraigucar Dec 31, 2025
485736b
Fix compiler errors
cacraigucar Jan 12, 2026
2b8b259
update pumas external
cacraigucar Jan 12, 2026
55fb203
update pumas external
cacraigucar Jan 12, 2026
ff987b8
Verified pumas_diagnostics routines are not currently used - Added co…
cacraigucar Jan 16, 2026
9050827
Mods for diagnostics init (and placeholder file which contains the pa…
cacraigucar Feb 5, 2026
263076d
Merge tag 'atmos_phys0_21_000' into pumas_round3
cacraigucar Feb 12, 2026
36a7324
Merge commit '87e76a' into pumas_round3
cacraigucar Mar 13, 2026
cc036fb
namelist and mods to get PUMAS suite to run
cacraigucar Mar 13, 2026
544d46a
Update PUMAS external
cacraigucar Mar 13, 2026
2fd07c6
Fix incorrect dimensions
cacraigucar Apr 23, 2026
fb7bc8b
Fix some dimensions
cacraigucar Apr 24, 2026
22510f2
Merge tag 'atmos_phys0_21_002' into pumas_round3
cacraigucar Apr 24, 2026
267712a
change namelist value
cacraigucar May 5, 2026
a76fdd3
Merge commit 'ced50be1' into pumas_round3
cacraigucar May 5, 2026
55eeade
Remove duplicate micro_pumas_ccpp files and update namelist settings
cacraigucar May 8, 2026
489806a
update hash for atmos_phys
cacraigucar May 13, 2026
090416b
Update namelist settings to CAM7 and fix inconsitent standard names
cacraigucar Jun 17, 2026
183661c
Fixes for PUMAS bfb with QPC7 CAM snapshot
hplin-ucar Jun 17, 2026
2b7ecfa
Merge pull request #1 from jimmielin/pumas_round3
cacraigucar Jun 18, 2026
94c5548
Merge remote-tracking branch 'upstream/main' into pumas_round3
cacraigucar Jun 18, 2026
22a3457
Update standard names
cacraigucar Jun 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
fxDONOTUSEurl = https://github.com/NCAR/MMM-physics.git
[submodule "pumas"]
path = schemes/pumas/pumas
url = https://github.com/ESCOMP/PUMAS
url = https://github.com/nusbaume/PUMAS
fxrequired = AlwaysRequired
fxtag = pumas_cam-release_v1.39
fxtag = c4aec4a
fxDONOTUSEurl = https://github.com/ESCOMP/PUMAS
[submodule "rte-rrtmgp"]
path = schemes/rrtmgp/ext
Expand Down
1,480 changes: 849 additions & 631 deletions doc/NamesNotInDictionary.txt

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions schemes/microp_aero/ccpp/hetfrz_classnuc_stub.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
! Stub for heterogeneous freezing by classical nucleation theory (hetfrz_classnuc).
!
! This scheme exists to read the use_hetfrz_classnuc namelist flag and expose it
! via its CCPP standard name so downstream schemes (e.g. nucleate_ice_ccpp,
! eventually PUMAS) can see the flag. It performs no heterogeneous-freezing
! computation -- the real hetfrz_classnuc_ccpp is not yet ported to CAM-SIMA.
!
! Safe to use with use_hetfrz_classnuc=.true. for snapshot-testing flows where
! the flag must propagate downstream; a warning is printed at init time.
module hetfrz_classnuc_stub
use ccpp_kinds, only: kind_phys

implicit none
private

public :: hetfrz_classnuc_stub_init

contains

!> \section arg_table_hetfrz_classnuc_stub_init Argument Table
!! \htmlinclude hetfrz_classnuc_stub_init.html
subroutine hetfrz_classnuc_stub_init( &
amIRoot, iulog, &
use_hetfrz_classnuc, &
errmsg, errflg)

logical, intent(in) :: amIRoot
integer, intent(in) :: iulog
logical, intent(in) :: use_hetfrz_classnuc

character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

errmsg = ''
errflg = 0

if (amIRoot) then
if (use_hetfrz_classnuc) then
write(iulog, '(A)') 'WARNING: hetfrz_classnuc_stub: use_hetfrz_classnuc=.true., but ' // &
'heterogeneous freezing by classical nucleation theory is not yet ' // &
'implemented in CAM-SIMA (stub scheme).'
write(iulog, '(A)') 'WARNING: hetfrz_classnuc_stub: The flag is still propagated to ' // &
'downstream schemes (e.g. nucleate_ice_ccpp) via its CCPP standard ' // &
'name, but no hetfrz_classnuc computation will occur.'

! this is not intended to error out for now as the flag needs to be passed to downstream schemes
! (e.g., PUMAS) and modifies their behavior
else
write(iulog, '(A)') 'hetfrz_classnuc_stub: use_hetfrz_classnuc=.false. (stub scheme, ' // &
'no-op).'
end if
end if

end subroutine hetfrz_classnuc_stub_init

end module hetfrz_classnuc_stub
37 changes: 37 additions & 0 deletions schemes/microp_aero/ccpp/hetfrz_classnuc_stub.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[ccpp-table-properties]
name = hetfrz_classnuc_stub
type = scheme

[ccpp-arg-table]
name = hetfrz_classnuc_stub_init
type = scheme
[ amIRoot ]
standard_name = flag_for_mpi_root
units = flag
type = logical
dimensions = ()
intent = in
[ iulog ]
standard_name = log_output_unit
units = 1
type = integer
dimensions = ()
intent = in
[ use_hetfrz_classnuc ]
standard_name = do_heterogeneous_ice_nucleation
units = flag
type = logical
dimensions = ()
intent = in
[ errmsg ]
standard_name = ccpp_error_message
units = none
type = character | kind = len=*
dimensions = ()
intent = out
[ errflg ]
standard_name = ccpp_error_code
units = 1
type = integer
dimensions = ()
intent = out
28 changes: 28 additions & 0 deletions schemes/microp_aero/ccpp/hetfrz_classnuc_stub_namelist.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl"?>

<entry_id_pg version="2.0">

<entry id="use_hetfrz_classnuc">
<type>logical</type>
<category>microphys</category>
<group>hetfrz_classnuc_nl</group>
<standard_name>do_heterogeneous_ice_nucleation</standard_name>
<units>flag</units>
<desc>
Switch to turn on heterogeneous freezing by classical nucleation theory.
Currently a stub in CAM-SIMA: the flag is propagated to downstream schemes
(nucleate_ice_ccpp, eventually PUMAS) but no hetfrz computation is performed.
Setting this to TRUE is supported for snapshot-testing flows where the flag
must match CAM; a warning is emitted at init time.
Default: FALSE; TRUE for CAM6 and CAM7.
</desc>
<values>
<value>.false.</value>
<value phys_suite="cam6">.true.</value>
<value phys_suite="cam7">.true.</value>
</values>
</entry>

</entry_id_pg>
422 changes: 422 additions & 0 deletions schemes/pumas/micro_pumas_ccpp_dimensions_post.F90

Large diffs are not rendered by default.

Loading
Loading