Skip to content
Open
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
c61d9f1
- removed unused configuration variable
AndersJensen-NOAA Dec 1, 2025
4e732be
- cleaned up core_atmosphere registry for tempo
AndersJensen-NOAA Dec 2, 2025
b1f0da2
cleaned up mpas tempo driver call and removed tempo table build from …
AndersJensen-NOAA Dec 13, 2025
4f47418
v3.0.0 updates consistent with tempo refactor
AndersJensen-NOAA Jan 6, 2026
7306023
update pointer to tempo refactor
AndersJensen-NOAA Jan 6, 2026
50294c1
v3.0.0 tempo refactor with ml prediction for bl clouds
AndersJensen-NOAA Jan 7, 2026
abd6351
update tempo pointer
AndersJensen-NOAA Jan 7, 2026
563d91e
update tempo pointer
AndersJensen-NOAA Jan 7, 2026
39e1932
Merge branch 'gsl/develop' into tempo_v3.0.0_formatting
AndersJensen-NOAA Jan 7, 2026
4eec574
Merge branch 'gsl/develop' into tempo_v3.0.0_formatting
AndersJensen-NOAA Feb 5, 2026
df1e4d4
update point to tempo v3 and clean up code to better match NCAR imple…
AndersJensen-NOAA Feb 5, 2026
31057e4
Merge remote-tracking branch 'upstream/gsl/develop' into tempo_v3.0.0…
AndersJensen-NOAA Feb 11, 2026
0aa138b
Update CMakeList for tempo v3
AndersJensen-NOAA Feb 12, 2026
93f087f
fix the typo in CMakeList
AndersJensen-NOAA Feb 12, 2026
2f6b931
add compile option for tempo
AndersJensen-NOAA Feb 12, 2026
8f2f0b0
More updates to github runners for tempo v3
AndersJensen-NOAA Feb 12, 2026
5663e40
this might fix failing regression tests
AndersJensen-NOAA Feb 12, 2026
5a5d15e
update pointer to new test data fork
AndersJensen-NOAA Feb 12, 2026
76f84ba
change workflow to pull tempo v2 and v3 tables
AndersJensen-NOAA Feb 12, 2026
1da6374
change RT to debug
AndersJensen-NOAA Feb 13, 2026
f9760f9
revert debug testing in CI and update tempo pointer
AndersJensen-NOAA Feb 13, 2026
0b29d03
revert baseline runtime configs to original repo
AndersJensen-NOAA Feb 13, 2026
727a9c8
adds flag to turn on/off ability to calculate reflectivity from melti…
AndersJensen-NOAA Feb 19, 2026
c801f83
update pointer to tempo v3.0.2
AndersJensen-NOAA Feb 19, 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
52 changes: 19 additions & 33 deletions src/core_atmosphere/Registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -421,9 +421,9 @@
<package name="mp_kessler_in" description="parameterization of kessler microphysics."/>
<package name="mp_thompson_in" description="parameterization of Thompson cloud microphysics."/>
<package name="mp_thompson_aers_in" description="parameterization of aerosol-aware Thompson cloud microphysics."/>
<package name="mp_tempo_in" description="parameterization of TEMPO cloud microphysics."/>
<package name="tempo_aerosolaware_in" description="variables for TEMPO with aerosol-aware microphysics."/>
<package name="tempo_hailaware_in" description="variables for TEMPO hail-aware microphysics."/>
<package name="mp_tempo_in" description="parameterization of TEMPO cloud microphysics."/>
<package name="tempo_aerosolaware_in" description="variables for TEMPO with aerosol-aware microphysics."/>
<package name="tempo_hailaware_in" description="variables for TEMPO hail-aware microphysics."/>
<package name="mp_wsm6_in" description="parameterization of WSM6 cloud microphysics."/>
<package name="mp_nssl2m_in" description="parameterization of NSSL 2-moment microphysics."/>
<package name="nssl3m_in" description="variables for NSSL 3-moment microphysics."/>
Expand Down Expand Up @@ -2725,28 +2725,18 @@
description="configuration for cloud microphysics schemes"
possible_values="`suite',`mp_wsm6',`mp_tempo',`mp_thompson',`mp_thompson_aerosols', `mp_kessler',`mp_nssl2m',`off'"/>

<nml_option name="config_tempo_hailaware" type="logical" default_value="false" in_defaults="false"
units="-"
description="Logical flag to turn on/off prognostic graupel number concentration and rime density"
possible_values=".true. or .false."/>

<nml_option name="config_tempo_cldfra" type="logical" default_value="false" in_defaults="false"
units="-"
<nml_option name="config_tempo_cldfra" type="logical" default_value="false" in_defaults="false"
units="-"
description="Logical flag to turn on/off prognostic cloud fraction"
possible_values=".true. or .false."/>

<nml_option name="config_tempo_ml_nc_pbl" type="logical" default_value="false" in_defaults="false"
units="-"
description="Logical flag to turn on/off ML prediction of boundary layer cloud number concentrations"
possible_values=".true. or .false."/>

<nml_option name="config_tempo_ml_nc" type="logical" default_value="false" in_defaults="false"
units="-"
<nml_option name="config_tempo_ml_nc" type="logical" default_value="false" in_defaults="false"
units="-"
description="Logical flag to turn on/off ML prediction of microphysics cloud number concentrations"
possible_values=".true. or .false."/>

<nml_option name="config_tempo_ml_nr" type="logical" default_value="false" in_defaults="false"
units="-"
<nml_option name="config_tempo_ml_nr" type="logical" default_value="false" in_defaults="false"
units="-"
description="Logical flag to turn on/off ML prediction of microphysics rain number concentrations"
possible_values=".true. or .false."/>

Expand Down Expand Up @@ -2947,11 +2937,6 @@
description="configuration for spp boundary layer"
possible_values="`0: off',`1: activated'"/>

<nml_option name="config_tempo_aerosolaware" type="logical" default_value="true" in_defaults="false"
units="-"
description="Logical flag to turn on/off prognostic cloud droplet and aerosol number concentrations"
possible_values=".true. or .false."/>

<nml_option name="config_bucket_radt" type="real" default_value="1.0e9" in_defaults="false"
units="-"
description="threshold above which accumulated radiation diagnostics are reset"
Expand Down Expand Up @@ -3018,20 +3003,20 @@
<!-- ... PARAMETERIZATION OF CLOUD MICROPHYSICS: -->
<!-- ================================================================================================== -->

<var name="max_hail_diameter_sfc" type="real" dimensions="nCells Time" units="mm"
description="Maximum hail diameter at the surface"
<var name="max_hail_diameter_sfc" type="real" dimensions="nCells Time" units="mm"
description="Instantaneous maximum hail diameter at the surface"
packages="mp_tempo_in"/>

<var name="max_hail_diameter_column" type="real" dimensions="nCells Time" units="mm"
description="Maximum hail diameter in the vertical column"
<var name="max_hail_diameter_column" type="real" dimensions="nCells Time" units="mm"
description="Instantaneous maximum hail diameter in the vertical column"
packages="mp_tempo_in"/>

<var name="max_hail_diameter_column_acc" type="real" dimensions="nCells Time" units="mm"
description="Maximum hail diameter in the vertical column accumulated over diagnostic output"
<var name="max_hail_diameter_sfc_acc" type="real" dimensions="nCells Time" units="mm"
description="Maximum hail diameter at the surface during the diagnostic output time window"
packages="mp_tempo_in"/>

<var name="max_hail_diameter_sfc_acc" type="real" dimensions="nCells Time" units="mm"
description="Maximum hail diameter at the surface accumulated over diagnostic output"
<var name="max_hail_diameter_column_acc" type="real" dimensions="nCells Time" units="mm"
description="Maximum hail diameter in the vertical column during the diagnostic output time window"
packages="mp_tempo_in"/>

<var name="do_diag_dbz" type="integer" dimensions="" units = ""
Expand Down Expand Up @@ -4675,6 +4660,7 @@

#ifdef DO_PHYSICS
#include "physics/Registry_noahmp.xml"
#include "physics/Registry_tempo.xml"
#include "physics/registry.chemistry.xml"
#endif
</registry>
1 change: 0 additions & 1 deletion src/core_atmosphere/mpas_atm_core.F
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,6 @@ subroutine atm_mpas_init_block(dminfo, stream_manager, block, mesh, dt)
!initialization of all physics:
call physics_init(dminfo, stream_manager, clock, block % configs, mesh, diag, tend, state, 1, &
diag_physics, diag_physics_noahmp, ngw_input, atm_input, sfc_input, output_noahmp)
call tempo_ml_init(block % configs)
endif
#endif

Expand Down
4 changes: 2 additions & 2 deletions src/core_atmosphere/physics/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ core_physics_mmm: core_physics_init
(cd physics_mmm; $(MAKE) -f Makefile.mpas all)

core_microphysics: core_physics_init core_physics_mmm
(cd physics_noaa/TEMPO; cp ./drivers/mpas/module_mp_tempo.F90 .; $(MAKE) all COREDEF="$(COREDEF)")
(cd physics_noaa/TEMPO; $(MAKE) -f Makefile.mpas)

core_SMOKE: core_physics_init
(cd physics_noaa/SMOKE; cp ./MPAS/Makefile .; cp ./MPAS/mpas_smoke_wrapper.F90 .; $(MAKE) all)
Expand Down Expand Up @@ -286,7 +286,7 @@ clean:
( cd physics_noahmp/drivers/mpas; $(MAKE) clean )
( cd physics_noahmp/src; $(MAKE) clean )
( cd physics_noahmp/utility; $(MAKE) clean )
( if [ -d physics_noaa/TEMPO ]; then cd physics_noaa/TEMPO; $(MAKE) clean; fi )
( if [ -d physics_noaa/TEMPO ]; then cd physics_noaa/TEMPO; $(MAKE) -f Makefile.mpas clean; fi )
( if [ -d physics_noaa/UGWP ]; then cd physics_noaa/UGWP; $(MAKE) clean; fi )
( if [ -d physics_noaa/RUCLSM ]; then cd physics_noaa/RUCLSM; $(MAKE) -f MPAS/Makefile clean; fi )
( if [ -d physics_noaa/MYNN-EDMF ]; then cd physics_noaa/MYNN-EDMF; cp ./MPAS/Makefile .; $(MAKE) clean; fi )
Expand Down
24 changes: 24 additions & 0 deletions src/core_atmosphere/physics/Registry_tempo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<!-- ========================================================================================================= -->
<!-- ARRAYS SPECIFIC TO TEMPO: -->
<!-- ========================================================================================================= -->

<nml_record name="physics_mp_tempo" in_defaults="true">

<nml_option name="config_tempo_aerosolaware" type="logical" default_value="true" in_defaults="false"
units="-"
description="Logical flag to turn on/off prognostic cloud droplet and aerosol number concentrations"
possible_values=".true. or .false."/>

<nml_option name="config_tempo_hailaware" type="logical" default_value="true" in_defaults="false"
units="-"
description="Logical flag to turn on/off prognostic graupel number concentration and rime density"
possible_values=".true. or .false."/>

<nml_option name="config_tempo_ml_for_bl_nc" type="logical" default_value="false" in_defaults="false"
units="-"
description="Logical flag to turn on/off ML prediction of boundary layer cloud number concentrations"
possible_values=".true. or .false."/>

</nml_record>

<!-- ========================================================================================================= -->
31 changes: 0 additions & 31 deletions src/core_atmosphere/physics/mpas_atmphys_control.F
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,6 @@ subroutine physics_tables_init(dminfo,configs)

!local variables:
character(len=StrKIND),pointer:: config_microp_scheme
logical,pointer:: config_tempo_hailaware
logical:: l_qr_acr_qg,l_qr_acr_qs,l_qi_aut_qs,l_freezeH2O

!-----------------------------------------------------------------------------------------------------------------
Expand All @@ -473,37 +472,8 @@ subroutine physics_tables_init(dminfo,configs)

call mpas_pool_get_config(configs,'config_microp_scheme',config_microp_scheme)
if(config_microp_scheme /= "mp_thompson" .or. &
config_microp_scheme /= "mp_tempo" .or. &
config_microp_scheme /= "mp_thompson_aerosols") return

if (config_microp_scheme == "mp_tempo") then
l_qr_acr_qg = .false.
l_qr_acr_qs = .false.
l_qi_aut_qs = .false.
l_freezeH2O = .false.

! hailaware scheme needs hailaware table, non hailaware scheme can use either table
call mpas_pool_get_config(configs,'config_tempo_hailaware',config_tempo_hailaware)
if (config_tempo_hailaware) then
inquire(file='MP_TEMPO_HAILAWARE_QRacrQG_DATA.DBL' ,exist=l_qr_acr_qg)
else
inquire(file='MP_TEMPO_HAILAWARE_QRacrQG_DATA.DBL' ,exist=l_qr_acr_qg)
if (.not. l_qr_acr_qg) then
inquire(file='MP_TEMPO_QRacrQG_DATA.DBL' ,exist=l_qr_acr_qg)
endif
endif
inquire(file='MP_TEMPO_QRacrQS_DATA.DBL' ,exist=l_qr_acr_qs)
inquire(file='MP_TEMPO_QIautQS_DATA.DBL' ,exist=l_qi_aut_qs)
inquire(file='MP_TEMPO_freezeH2O_DATA.DBL',exist=l_freezeH2O)

if(.not. (l_qr_acr_qg .and. l_qr_acr_qs .and. l_qi_aut_qs .and. l_freezeH2O)) then
write(mpas_err_message,'(A)') &
'--- tables to run the TEMPO cloud microphysics do not exist: run build_tables_tempo first.'
call physics_error_fatal(mpas_err_message)
endif
! call mpas_log_write('l_mp_tables = $l',logicArgs=(/l_mp_tables/))
else

l_qr_acr_qg = .false.
l_qr_acr_qs = .false.
l_qi_aut_qs = .false.
Expand All @@ -527,7 +497,6 @@ subroutine physics_tables_init(dminfo,configs)
call physics_error_fatal(mpas_err_message)
endif
! call mpas_log_write('l_mp_tables = $l',logicArgs=(/l_mp_tables/))
endif

endif

Expand Down
Loading
Loading