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
201 changes: 119 additions & 82 deletions applications/lfric_atm/example/configuration.nml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,8 @@ sort-key=Panel-A01
trigger=namelist:aerosol=activation_scheme: 'climatology','dust_and_clim' ;
=namelist:aerosol=l_radaer: 'climatology','ukca','dust_and_clim','radaer_test' ;
=namelist:aerosol=emissions: 'ukca' ;
=namelist:aerosol=ukca_scale_marine_pom_ems: 'ukca' ;
=namelist:aerosol=ukca_scale_sea_salt_ems: 'ukca' ;
=namelist:aerosol=horiz_d: 'ukca','dust_and_clim';
=namelist:aerosol=us_am: 'ukca','dust_and_clim';
value-titles=off,climatology,ukca,dust_and_clim,radaer_test
Expand Down Expand Up @@ -333,6 +335,51 @@ ns=namelist/Science/UM Aerosol
sort-key=Panel-A01
type=integer

[namelist:aerosol=ukca_scale_marine_pom_ems]
compulsory=true
description=Option to scale emission of marine particulate organic matter
help=This logical activates the scaling factor marine_pom_ems_scaling.
=There are large uncertainies in the absolute magnitude of marine
=particulate organic matter emissions. And emissions depend on the 10m
=wind speed, which are generally stronger at higher resolutions. Hence
=it maybe be necessary to scale emissions to gain agreement across
=resolutions.
!kind=default
sort-key=Panel-A02a
trigger=namelist:aerosol=marine_pom_ems_scaling: .true. ;
type=logical

[namelist:aerosol=ukca_scale_sea_salt_ems]
compulsory=true
description=Option to scale emission of sea salt
help=This logical activates the scaling factor sea_salt_ems_scaling.
=There are large uncertainies in the absolute magnitude of sea salt
=emissions. And emissions depend on the 10m wind speed, which are
=generally stronger at higher resolutions. Hence it maybe be necessary
=to scale emissions to gain agreement across resolutions.
!kind=default
sort-key=Panel-A02c
trigger=namelist:aerosol=sea_salt_ems_scaling: .true. ;
type=logical

[namelist:aerosol=marine_pom_ems_scaling]
compulsory=true
description=Marine POM emission scale factor
help=Scaling factor for marine particulate organic matter emission
!kind=double
range=0.0:10.0
sort-key=Panel-A02b
type=real

[namelist:aerosol=sea_salt_ems_scaling]
compulsory=true
description=Sea salt emission scale factor
help=Scaling factor for sea salt emission
!kind=double
range=0.0:10.0
sort-key=Panel-A02d
type=real

[namelist:aerosol=us_am]
compulsory=true
description=Multiplicative ustar correction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ def __repr__(self):

__str__ = __repr__

class vn31_t360(MacroUpgrade):
# Upgrade macro for #360 by Ian Boutle

"""
Copy this template and complete to add your macro

class vnXX_txxx(MacroUpgrade):
# Upgrade macro for <TICKET> by <Author>

BEFORE_TAG = "vnX.X"
AFTER_TAG = "vnX.X_txxx"
BEFORE_TAG = "vn3.1"
AFTER_TAG = "vn3.1_t360"

def upgrade(self, config, meta_config=None):
# Add settings
self.add_setting(config, ["namelist:aerosol","ukca_scale_marine_pom_ems"],".false.")
self.add_setting(config, ["namelist:aerosol","marine_pom_ems_scaling"],"1.0")
self.add_setting(config, ["namelist:aerosol","ukca_scale_sea_salt_ems"],".false.")
self.add_setting(config, ["namelist:aerosol","sea_salt_ems_scaling"],"1.0")
return config, self.reports
"""

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,19 @@ ns=namelist/Science/UM Convection
sort-key=Section-A06
title=Convection

[namelist:convection=c_mass_sh]
compulsory=true
description=Cloud-base closure scaling for shallow convection
help=In the 6A shallow convection scheme, the cloud-base mass-flux is given by
= Mb = c_mass_sh w*
= where w* is the surface-flux-based convective velocity scale,
= and c_mass_sh is an assumed cloud-base area fraction scaling.
= The published version of the scheme has this set to 0.03.
!kind=double
range=0.01:0.09
sort-key=Panel-03j
type=real

[namelist:convection=cape_timescale]
compulsory=true
description=Timescale in seconds for CAPE closure scheme
Expand All @@ -21,6 +34,54 @@ range=1:9999999
sort-key=Panel-03
type=real

[namelist:convection=cca_md_scaling]
compulsory=true
description=Mid level convective cloud settings: CCA scaling
!kind=double
range=0:10
sort-key=Panel-03g
type=real

[namelist:convection=conv_prog_dq]
compulsory=true
description=Applies time smoothing to the convective
=humidity increment and activates the 3D prognostic
=that holds the increment.
help=Applies time smoothing to the convective
=humidity increment and activates the 3D
=prognostic, conv_prog_dq, that holds the increment.
!kind=default
sort-key=Panel-09
type=logical

[namelist:convection=conv_prog_dtheta]
compulsory=true
description=Applies time smoothing to the convective potential
=temperature increment and activates the 3D prognostic
=that holds the increment.
help=Applies time smoothing to the convective
=potential temperature increment and activates the 3D
=prognostic, conv_prog_dtheta, that holds the increment.
!kind=default
sort-key=Panel-09
type=logical

[namelist:convection=cpress_term]
compulsory=true
description=Coefficient for pressure term relative to shear term
=in Gregory-Kershaw CMT
help=Coefficient for pressure term relative to shear term as in
=Kershaw & Gregory 1997. GK1997 recommended a value of 0.7.
=Controls the amount of momentum transferred from the
=environment to the updraught parcel due to the horizontal
=pressure gradient acting on the parcel. Larger values
=transfer more momentum and hence reduce the difference
=in winds between parcel and environment. 6a Only.
!kind=double
range=0.0:1.0
sort-key=Panel-03f
type=real

[namelist:convection=cv_scheme]
compulsory=true
description=Convection scheme
Expand All @@ -33,11 +94,23 @@ sort-key=Panel-01
trigger=namelist:convection=number_of_convection_substeps: 'gregory_rowntree';
=namelist:convection=cape_timescale: 'gregory_rowntree';
=namelist:convection=efrac: 'gregory_rowntree';
=namelist:convection=prog_ent_grad: 'gregory_rowntree';
=namelist:convection=prog_ent_int: 'gregory_rowntree';
=namelist:convection=prog_ent_max: 'gregory_rowntree';
=namelist:convection=prog_ent_min: 'gregory_rowntree';
=namelist:convection=orig_mdet_fac: 'gregory_rowntree';
=namelist:convection=r_det: 'gregory_rowntree';
=namelist:convection=cca_md_scaling: 'gregory_rowntree';
=namelist:convection=cpress_term: 'gregory_rowntree';
=namelist:convection=ent_fac_sh: 'gregory_rowntree';
=namelist:convection=thpixs_mid: 'gregory_rowntree';
=namelist:convection=c_mass_sh: 'gregory_rowntree';
=namelist:convection=conv_prog_dq: 'gregory_rowntree', 'comorph';
=namelist:convection=conv_prog_dtheta: 'gregory_rowntree', 'comorph';
=namelist:convection=par_gen_mass_fac: 'comorph';
=namelist:convection=par_gen_rhpert: 'comorph';
=namelist:convection=par_radius_ppn_max: 'comorph';
=namelist:convection=resdep_precipramp: 'comorph';
value-titles=GregoryRowntree, LambertLewis, Comorph
values='gregory_rowntree','lambert_lewis','comorph'

Expand Down Expand Up @@ -66,6 +139,16 @@ range=-10.0:10.0
sort-key=Panel-03b
type=real

[namelist:convection=ent_fac_sh]
compulsory=true
description=Controls shallow convection entrainment.
help=Factor multiplying entrainment expression.
= Only applies to 6A convection.
!kind=double
range=0.33:3.00
sort-key=Panel-03i
type=real

[namelist:convection=l_cvdiag_ctop_qmax]
compulsory=true
description=Revised check for well-mixed q-profile in convective diagnosis.
Expand All @@ -82,6 +165,24 @@ help=In the convective diagnosis "cumulus test", use a revised
sort-key=Panel-01
type=logical

[namelist:convection=mparwtr]
compulsory=true
description=Maximum critical cloud condensate
help=Maximum Critical Cloud Condensate
=
= This sets the maximum value of the critical cloud condensate profile.
= This is related to the option settings for
= namelist:run_convection=ccw_for_precip_opt .
= This will always be the maximum value for option 4.
= mparwtr will always be used in options 0-3 but because of the
= critical cloud depths (option 0) or other scalings (options 1-3)
= it will not always directly equate to the maximum value of the
= critical cloud condensate.
!kind=double
range=1e-5:1e-2
sort-key=Panel-03a
type=real

[namelist:convection=number_of_convection_substeps]
compulsory=true
description=Number of convection substeps per model time step
Expand Down Expand Up @@ -133,6 +234,43 @@ help=Scales the parcel initial radius, which determines the entrainment rate.
sort-key=Panel-06
type=real

[namelist:convection=prog_ent_grad]
compulsory=true
description=Gradient used to calculate entrainment scaling from prognostic field
help=Gradient term used to calculate entrainment scaling from
= 3d prognostic field based on surface precipitation. Usually negative
= because a greater precipitation implies smaller entrainment rates.
= 6a scheme only. Used under ent_opt_md,ent_opt_dp=6 or 7 and needs
= l_conv_prog_precip=T.
!kind=double
range=-3.0:0.0
sort-key=Panel-03c
type=real

[namelist:convection=prog_ent_int]
compulsory=true
description=Intercept used to calculate entrainment scaling from prognostic field
help=Intercept term used to calculate entrainment scaling from
= 3d prognostic field based on surface precipitation.
= 6a scheme only. Used under ent_opt_md,ent_opt_dp=6 or 7 and needs
= l_conv_prog_precip=T.
!kind=double
range=-5.0:5.0
sort-key=Panel-03c
type=real

[namelist:convection=prog_ent_max]
compulsory=true
description=Maximum scaling when calculating entrainment from prognostic field
help=Maximum scaling applied when calculating entrainment scaling from
= 3d prognostic field based on surface precipitation.
= 6a scheme only. Used under ent_opt_md,ent_opt_dp=6 or 7 and needs
= l_conv_prog_precip=T.
!kind=double
range=0.0:5.0
sort-key=Panel-03c
type=real

[namelist:convection=prog_ent_min]
compulsory=true
description=Minimum scaling when calculating entrainment from prognostic field
Expand All @@ -159,6 +297,14 @@ range=0:1e-3
sort-key=Panel-03a
type=real

[namelist:convection=r_det]
compulsory=true
description=Adaptive detrainment control parameter
!kind=double
range=0:1
sort-key=Panel-03e
type=real

[namelist:convection=resdep_precipramp]
compulsory=true
description=Include grid-length dependence in Comorph A parcel radius precip ramp
Expand All @@ -167,4 +313,20 @@ help=Option to make the CoMorph A parcel radius dependence on the
=the ability to resolve higher precip rates at higher resolution.
!kind=default
sort-key=Panel-07
trigger=namelist:convection=dx_ref: .true.;
type=logical

[namelist:convection=thpixs_mid]
compulsory=true
description=The initial mid-level parcel potential temperature perturbation (K)
help=The initial mid-level temperature perturbation prior to any scaling.
=For md_pert_opt option 0 this just sets the temperature perturbation prior
=to pressure scaling.
=For md_pert_opt options 1 and 2 this ultimately results in a
=buoyancy perturbation of thpixs_mid scaled with pressure thickness,
=with the split between humidity and temperature being controlled via
=the parameter efrac (options 1 and 2) and the surface fluxes (option 2).
!kind=double
range=0.0:2.0
sort-key=Panel-03h
type=real
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,32 @@ def __repr__(self):
__str__ = __repr__


"""
Copy this template and complete to add your macro
class vn31_t360(MacroUpgrade):
# Upgrade macro for #360 by Ian Boutle

class vnXX_txxx(MacroUpgrade):
# Upgrade macro for <TICKET> by <Author>

BEFORE_TAG = "vnX.X"
AFTER_TAG = "vnX.X_txxx"
BEFORE_TAG = "vn3.1"
AFTER_TAG = "vn3.1_t360"

def upgrade(self, config, meta_config=None):
# Add settings
# 0.66 and 1.2 are tuned GC6 values (0.5 and 0.8 originally)
self.add_setting(config, ["namelist:convection","r_det"],"0.5")
self.add_setting(config, ["namelist:convection","cca_md_scaling"],"0.8")
# These settings are unchanged
self.add_setting(config, ["namelist:convection","prog_ent_grad"],"-1.1")
self.add_setting(config, ["namelist:convection","prog_ent_int"],"-2.9")
self.add_setting(config, ["namelist:convection","prog_ent_max"],"2.5")
self.add_setting(config, ["namelist:convection","cpress_term"],"0.3")
self.add_setting(config, ["namelist:convection","ent_fac_sh"],"1.0")
self.add_setting(config, ["namelist:convection","mparwtr"],"1.0e-3")
self.add_setting(config, ["namelist:convection","thpixs_mid"],"0.5")
self.add_setting(config, ["namelist:convection","c_mass_sh"],"0.03")
cv_scheme = self.get_setting_value(config, ["namelist:convection", "cv_scheme"])
if cv_scheme == "'comorph'":
self.add_setting(config, ["namelist:convection","conv_prog_dtheta"],".false.")
self.add_setting(config, ["namelist:convection","conv_prog_dq"],".false.")
else:
self.add_setting(config, ["namelist:convection","conv_prog_dtheta"],".true.")
self.add_setting(config, ["namelist:convection","conv_prog_dq"],".true.")
return config, self.reports
"""

Loading
Loading