Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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