Skip to content
Open
Show file tree
Hide file tree
Changes from 8 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
9 changes: 9 additions & 0 deletions applications/lfric_atm/metadata/field_def_diags.xml
Original file line number Diff line number Diff line change
Expand Up @@ -676,6 +676,15 @@
<field id="turbulence__ent_t_frac_dsc" name="ent_t_frac_dsc" long_name="fraction_of_time_decoupled_stratocumulus_inversion_is_above_level" unit="1" domain_ref="face" axis_ref="entrainment_levels" />
<field id="turbulence__ent_zrzi" name="ent_zrzi" long_name="level_height_as_fraction_of_sml_inversion_height_above_mixed_layer_base" unit="1" domain_ref="face" axis_ref="entrainment_levels" />
<field id="turbulence__ent_zrzi_dsc" name="ent_zrzi_dsc" long_name="level_height_as_fraction_of_dsc_inversion_height_above_mixed_layer_base" unit="1" domain_ref="face" axis_ref="entrainment_levels" />
<!-- diffusion diagnostics -->
<field id="diffusion__dtheta_smag" name="dtheta_smag" long_name="theta_increment_from_smagorinsky_mixing" unit="K" grid_ref="full_level_face_grid" />
<field id="diffusion__dmv_smag" name="dmv_smag" long_name="vapour_increment_from_smagorinsky_mixing" unit="kg kg-1" grid_ref="full_level_face_grid" />
<field id="diffusion__dmcl_smag" name="dmcl_smag" long_name="liquid_water_increment_from_smagorinsky_mixing" unit="kg kg-1" grid_ref="full_level_face_grid" />
<field id="diffusion__dtheta_smag_pc2" name="dtheta_smag_pc2" long_name="theta_increment_from_smagorinsky_mixing_and_pc2_response" unit="K" grid_ref="full_level_face_grid" />
<field id="diffusion__dmv_smag_pc2" name="dmv_smag_pc2" long_name="vapour_increment_from_smagorinsky_mixing_and_pc2_response" unit="kg kg-1" grid_ref="full_level_face_grid" />
<field id="diffusion__dmcl_smag_pc2" name="dmcl_smag_pc2" long_name="liquid_water_increment_from_smagorinsky_mixing_and_pc2_response" unit="kg kg-1" grid_ref="full_level_face_grid" />
<field id="diffusion__dcfl_smag_pc2" name="dcfl_smag_pc2" long_name="liquid_cloud_fraction_increment_from_smagorinsky_mixing_and_pc2_response" unit="1" grid_ref="full_level_face_grid" />
<field id="diffusion__dbcf_smag_pc2" name="dbcf_smag_pc2" long_name="bulk_cloud_fraction_increment_from_smagorinsky_mixing_and_pc2_response" unit="1" grid_ref="full_level_face_grid" />
<!-- radiation diagnostics: model timestep -->
<field id="radiation__dtheta_rad" name="dtheta_rad" long_name="theta_increment_from_radiation" unit="K" grid_ref="full_level_face_grid" />
<field id="radiation__sw_temperature_incr" name="sw_temperature_incr" long_name="temperature_increment_from_sw_radiation" unit="K" grid_ref="full_level_face_grid" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,26 @@ sort-key=Panel-A02b
value-titles=Original,Smooth
values='original','smooth'

[namelist:cloud=pc2_turb_horiz]
Comment thread
MichaelWhitall marked this conversation as resolved.
compulsory=true
description=Do PC2 homogeneous forcing from horizontal turbulent mixing
help=If this is false, the vertical component of turbulent mixing
=(the 1D boundary-layer scheme) is treated as a homogeneous forcing
=process to compute corresponding increments to liquid cloud fraction
=and water content, but the horizontal component of turbulent mixing
=(active when using the 3D Smagorinsky or blended turbulence scheme)
=is neglected. Horizontal turbulent mixing is applied to vapour q,
=liquid water content qcl and theta, but liquid-cloud fraction is unaltered
=and so may become inconsistent with the other variables.
=
=If this is true, the horizontal turbulent mixing increments to
=q+qcl and Tl are computed and increments to qcl and cloud-fraction
=are calculated using the homogeneous forcing approach, consistent
=with the vertical mixing.
ns=namelist/Science/UM Cloud
sort-key=Panel-A02c
type=logical

[namelist:cloud=pc2ini]
compulsory=true
description=Method for doing PC2 initiation
Expand Down Expand Up @@ -572,6 +592,7 @@ trigger=namelist:cloud=mphys_erosion: 'pc2' ;
=namelist:cloud=max_sigmas: 'pc2', 'bimodal' ;
=namelist:cloud=min_sigx_ft: 'pc2', 'bimodal' ;
=namelist:cloud=turb_var_fac_bm: 'pc2', 'bimodal' ;
=namelist:cloud=pc2_turb_horiz: 'pc2';
=namelist:external_forcing=pc2_force_response: 'pc2';
value-titles=Smith, PC2, Bimodal
values='smith', 'pc2', 'bimodal'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,13 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
class vn31_t464(MacroUpgrade):
# Upgrade macro for #464 by Ian Boutle

BEFORE_TAG = "vn3.1"
AFTER_TAG = "vn3.1_t464"

def upgrade(self, config, meta_config=None):
# Add settings
self.add_setting(config, ["namelist:cloud","pc2_turb_horiz"], ".false.")
return config, self.reports
10 changes: 10 additions & 0 deletions rose-stem/app/lfric_atm/opt/rose-app-comorph_dev.conf
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ l_bm_tweaks=.true.
max_sigmas=2.0
min_sigx_ft=0.15
pc2_init_logic='smooth'
pc2_turb_horiz=.true.
turb_var_fac_bm=4.0

[namelist:convection]
Expand Down Expand Up @@ -53,6 +54,15 @@ i_update_precfrac='correl'
l_mcr_precfrac=.true.
l_proc_fluxes=.true.

[namelist:mixing]
method='2d_smag'
mix_factor=0.2
smag_l_calc='UseDx'
smagorinsky=.true.

[namelist:physics]
smagorinsky_placement='fast'

[namelist:radiation]
liu_aparam=0.093
liu_bparam=-0.13
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D8
Inner product checksum theta = 4D84DAFD
Inner product checksum u = 601AD40F
Inner product checksum mr1 = 3C825A8B
Inner product checksum mr2 = 33EB5DE2
Inner product checksum mr3 = 317D3117
Inner product checksum theta = 4D84DAF2
Inner product checksum u = 601AD40D
Inner product checksum mr1 = 3C827B12
Inner product checksum mr2 = 33F8A292
Inner product checksum mr3 = 31742424
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F50044
Inner product checksum theta = 4E044E7D
Inner product checksum u = 5FD4B116
Inner product checksum mr1 = 3CCA582B
Inner product checksum mr2 = 33C805E1
Inner product checksum mr3 = 30364C90
Inner product checksum mr4 = 2F0E3313
Inner product checksum theta = 4E044ECC
Inner product checksum u = 5FD94D35
Inner product checksum mr1 = 3CC89D22
Inner product checksum mr2 = 34109331
Inner product checksum mr3 = 3068F9CD
Inner product checksum mr4 = 2F196976
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 489A8379
Inner product checksum theta = 51BA505B
Inner product checksum u = 5F118CC2
Inner product checksum mr1 = 4187C6A4
Inner product checksum mr2 = 3AF39B2F
Inner product checksum mr3 = 34D56FED
Inner product checksum rho = 489A848F
Inner product checksum theta = 51BA502C
Inner product checksum u = 5F118A30
Inner product checksum mr1 = 41879646
Inner product checksum mr2 = 3AEB01C1
Inner product checksum mr3 = 34AF0E7F
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D832D6
Inner product checksum theta = 518BE1F6
Inner product checksum u = 6A86BC76
Inner product checksum mr1 = 3FD120E6
Inner product checksum mr2 = 37FAD7AC
Inner product checksum mr3 = 376811C0
Inner product checksum mr4 = 37BFF8BC
Inner product checksum mr5 = 3697AF6E
Inner product checksum rho = 46D831E7
Inner product checksum theta = 518BE196
Inner product checksum u = 6A868149
Inner product checksum mr1 = 3FD0E5D6
Inner product checksum mr2 = 37F54E32
Inner product checksum mr3 = 3772FB40
Inner product checksum mr4 = 37BEDA80
Inner product checksum mr5 = 36A1EB0A
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 483997DE
Inner product checksum rho = 483997E4
Inner product checksum theta = 51354909
Inner product checksum u = 612F5E11
Inner product checksum mr1 = 4090F5E4
Inner product checksum mr2 = 358EB0BA
Inner product checksum mr3 = 2FA519F0
Inner product checksum mr4 = 33F4FD57
Inner product checksum mr5 = BE85FEC
Inner product checksum u = 612F5E14
Inner product checksum mr1 = 4090F5FF
Inner product checksum mr2 = 359032DF
Inner product checksum mr3 = 2FA50E6C
Inner product checksum mr4 = 33F4FD6C
Inner product checksum mr5 = BE83A4C
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 483997E3
Inner product checksum theta = 51354900
Inner product checksum u = 612F5EB6
Inner product checksum mr1 = 40910DBB
Inner product checksum mr2 = 3600A9CC
Inner product checksum mr3 = 2FA77A9F
Inner product checksum mr4 = 33F4FFEC
Inner product checksum mr5 = BE04B21
Inner product checksum rho = 483997E8
Inner product checksum theta = 513548FE
Inner product checksum u = 612F5EC2
Inner product checksum mr1 = 40910DB9
Inner product checksum mr2 = 35E48BF9
Inner product checksum mr3 = 2FA740BC
Inner product checksum mr4 = 33F4FFD2
Inner product checksum mr5 = BE04B62
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 48398C6A
Inner product checksum rho = 48398C6F
Inner product checksum theta = 51354302
Inner product checksum u = 612EDCAC
Inner product checksum mr1 = 40910338
Inner product checksum mr2 = 35876274
Inner product checksum mr3 = 30010BB7
Inner product checksum mr4 = 3404AC2D
Inner product checksum mr5 = C14A22D
Inner product checksum u = 612EDCC7
Inner product checksum mr1 = 409102DC
Inner product checksum mr2 = 358E0F08
Inner product checksum mr3 = 30010952
Inner product checksum mr4 = 3404AC25
Inner product checksum mr5 = C14A228
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 4830B653
Inner product checksum theta = 513FD830
Inner product checksum u = 5F74B058
Inner product checksum mr1 = 4155BC4A
Inner product checksum mr2 = 3A3F75A2
Inner product checksum mr3 = 3088CA46
Inner product checksum rho = 4830B622
Inner product checksum theta = 513FD846
Inner product checksum u = 5F74C1E3
Inner product checksum mr1 = 4155AF32
Inner product checksum mr2 = 3A507FC4
Inner product checksum mr3 = 30A4D6EB
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D6
Inner product checksum theta = 4D84DAEF
Inner product checksum u = 601AD41A
Inner product checksum mr1 = 3C829C2B
Inner product checksum mr2 = 3407BDD6
Inner product checksum mr3 = 314F5B36
Inner product checksum theta = 4D84DAE3
Inner product checksum u = 601AD404
Inner product checksum mr1 = 3C828C14
Inner product checksum mr2 = 340F338C
Inner product checksum mr3 = 31A08E7D
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F50046
Inner product checksum theta = 4E044E4C
Inner product checksum u = 5FDD4323
Inner product checksum mr1 = 3CC7B2CE
Inner product checksum mr2 = 331179D2
Inner product checksum mr3 = 2FF24AD6
Inner product checksum mr4 = 2F26E792
Inner product checksum theta = 4E044ECC
Inner product checksum u = 5FD885C9
Inner product checksum mr1 = 3CC94724
Inner product checksum mr2 = 3395923A
Inner product checksum mr3 = 3042F5BA
Inner product checksum mr4 = 2ECF521E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ contains
!> @param[in] rho Density
!> @param[in] dt The model timestep length
subroutine mixing_alg(mr, theta, u, derived_fields, &
rho, dt)
cloud_fields, rho, exner, dt)

use constants_mod, only: i_def,r_def
use log_mod, only: log_event, &
Expand All @@ -47,7 +47,8 @@ contains
type( field_type ), intent(inout) :: mr ( nummr )

type( field_collection_type ), intent(in) :: derived_fields
type( field_type ), intent(in) :: rho
type( field_collection_type ), intent(in) :: cloud_fields
type( field_type ), intent(in) :: rho, exner

! Timestepping information
real( r_def ), intent(in) :: dt
Expand All @@ -68,7 +69,8 @@ contains
call du%initialise( u%get_function_space() )
call invoke( setval_c(dtheta, 0.0_r_def), &
setval_c(du, 0.0_r_def) )
call smagorinsky_alg(dtheta, du, mr, theta, u, derived_fields, rho, dt)
call smagorinsky_alg(dtheta, du, mr, theta, u, derived_fields, &
cloud_fields, rho, exner, dt)
call invoke( inc_X_plus_Y( theta, dtheta ), &
inc_X_plus_Y( u, du ) )

Expand Down
Loading
Loading