Difference between revisions of "UKCA Chemistry and Aerosol UMvn13.0 Tutorial 2"

From UKCA
Line 1,011: Line 1,011:
 
: <span style="font-size:20px">☐</span> Change the start time using <tt>model_basis_time</tt>
 
: <span style="font-size:20px">☐</span> Change the start time using <tt>model_basis_time</tt>
 
: <span style="font-size:20px">☐</span> Change the run length using <tt>run_target_end</tt>
 
: <span style="font-size:20px">☐</span> Change the run length using <tt>run_target_end</tt>
: <span style="font-size:20px">☐</span> Change the run length and timestep using <tt>steps_per_periodim</tt> and <tt>chem_timestep</tt>
+
: <span style="font-size:20px">☐</span> Change the timestep using <tt>steps_per_periodim</tt> and <tt>chem_timestep</tt>
 
: <span style="font-size:20px">☐</span> Change the environmental conditions using <tt>ukca_box_nml</tt>
 
: <span style="font-size:20px">☐</span> Change the environmental conditions using <tt>ukca_box_nml</tt>
 
: <span style="font-size:20px">☐</span> Change the chemistry scheme using <tt>i_ukca_chem</tt>
 
: <span style="font-size:20px">☐</span> Change the chemistry scheme using <tt>i_ukca_chem</tt>

Revision as of 14:27, 30 November 2022

UKCA Chemistry and Aerosol Tutorials at UMvn13.0

Difficulty MEDIUM
Time to Complete 1-2 hours
Video instructions

Remember to run mosrs-cache-password.

What you will do in this tutorial

In this tutorial you will learn how to change the time settings, meteorological conditions, tracer initialisations, chemistry, and aerosol options in the UKCA Box Model.

Changing the Box Model Time Settings

The time settings for the box model can be found in the ukca namelist Time Settings panel and the ukca namelist Science Settings Chemistry panel. The key variables are:

Panel Variable Description Example
Time Settings model_basis_time The nominal start time of the model, defined as YEAR, MONTH, DAY, HOUR, MINUTE, SECOND 1989,09,01,00,00,00 (i.e. midnight on 1st September 1989)
Time Settings run_target_end The run length of model, defined as YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS 0,0,1,0,0,0 (i.e. 1 day)
Time Settings steps_per_periodim The number of "dynamical" timesteps per "period" (a model day, containing the number of seconds given in the secs_per_periodim variable above) 24 (i.e. 1 hour)
Chemistry chem_timestep The number of seconds in a chemical timestep. This must be a multiple of the value of steps_per_periodim 3600 (i.e. 1 hour)

Task 2.1: Change the Start Time

O3 mass-mixing ratio when started from midday.

TASK 2.1: Change the start time of the model to begin at midday rather than midnight.

Once the run has finished, replot ozone and see how the graph has changed.

Worked Solution to Task 2.1

The changes to Rose are:

Index: app/ukca/rose-app.conf
===================================================================
--- app/ukca/rose-app.conf	(revision 236285)
+++ app/ukca/rose-app.conf	(revision 236400)
@@ -145,7 +145,7 @@
 ltimer=.true.
 !!ltimers_user=.false.
 model_analysis_mins=0
-model_basis_time=1981,09,01,00,00,00
+model_basis_time=1981,09,01,12,00,00
 num_albcs=0
 run_target_end=0,0,1,0,0,0

These differences can be found here:

Tutorials/UMvn13.0/worked_solutions/Task02.1/Task02.1_rose.patch

Sample output from this task can be found here:

Tutorials/UMvn13.0/sample_output/Task02.1/

Task 2.2: Increase the run-length

O3 mass-mixing ratio for a 5-day run.

TASK 2.2: Increase the run length of the box model to 5 days.

Once the run has finished, replot ozone and see how the graph has changed.

Worked Solution to Task 2.2

The changes to Rose are:

Index: app/ukca/rose-app.conf
===================================================================
--- app/ukca/rose-app.conf	(revision 236400)
+++ app/ukca/rose-app.conf	(revision 236409)
@@ -147,7 +147,7 @@
 model_analysis_mins=0
 model_basis_time=1981,09,01,12,00,00
 num_albcs=0
-run_target_end=0,0,1,0,0,0
+run_target_end=0,0,5,0,0,0
 
 [namelist:nlstcall_box_options]
 flux_out_filename='flux_out.csv'

These differences can be found here:

Tutorials/UMvn13.0/worked_solutions/Task02.2/Task02.2_rose.patch

Sample output from this task can be found here:

Tutorials/UMvn13.0/sample_output/Task02.2/

Task 2.3: Change the timestep

O3 mass-mixing ratio for a 5-day run with a 30-minute timestep.

TASK 2.3: Change the timestep to be 30 minutes.

Once the run has finished, replot ozone and see how the graph has changed.

Worked Solution to Task 2.3

The changes to Rose are:

Index: app/ukca/rose-app.conf
===================================================================
--- app/ukca/rose-app.conf	(revision 236409)
+++ app/ukca/rose-app.conf	(revision 236413)
@@ -178,7 +178,7 @@
 !!ppxm=1
 !!psum_filename_base='$DATAM/${RUNID}a_s'
 secs_per_periodim=86400
-steps_per_periodim=24
+steps_per_periodim=48
 
 [!!namelist:oasis_send_nml]
 !!hybrid_rmp_mapping='BILINEAR'
@@ -467,7 +467,7 @@
 
 [namelist:run_ukca]
 !!biom_aer_ems_scaling=2.0
-chem_timestep=3600
+chem_timestep=1800
 !!dir_strat_aer=
 !!dts0=300
 fastjx_mode=1

These differences can be found here:

Tutorials/UMvn13.0/worked_solutions/Task02.3/Task02.3_rose.patch

Sample output from this task can be found here:

Tutorials/UMvn13.0/sample_output/Task02.3/

Changing the Box Model Environmental Settings

The environmental conditions used by the box model are set by the variable ukca_box_nml in the ukca namelist Model Input and Output panel. The value corresponds to a Fortran namelist file held in the

[SUITE-ID]/app/ukca/file

directory. Currently 3 example files are provided:

File Description
nml_box_sfc A box with settings relevant for surface conditions
nml_box_tropopause A box with settings relevant for conditions around the tropopause
nml_box_strat A box with settings relevant for conditions in the stratosphere

You can make your own file and place it in the same directory, although remember to

fcm add nml_box_[YOUR FILE]

otherwise you will not be able to commit the file to the suite repository.

Example file: nml_box_sfc

!-----------------------------------------------
! Box-MODEL test NAMELIST - surface
!-----------------------------------------------

! Section to define environmental parameters for box model
&ENVIRONMENT_PARS
  latitude_1       = 30.     ! Latitude, degrees North, -90:90
  longitude_1      = 0.      ! Longitude, degrees East, 0:360
  t_theta_levels_1 = 288.15  ! Temperature, K
  p_theta_levels_1 = 100000. ! Pressure, Pa
  land_sea_mask_1  = .TRUE.  ! Land/sea mask, logical
  tstar_1          = 288.15  ! Tmperature at surface, K
  zbl_1            = 1000.   ! Height of boundary layer, m
  pstar_1          = 101325. ! Pressure at surface, Pa
  q_1              = 0.01    ! Mass fraction of water vapour in air
  qcf_1            = 0.0     ! Mass fraction of cloud ice in air
  qcl_1            = 0.0     ! Mass fraction of liquid cloud water in air
  surf_albedo_1    = 0.2     ! Surface albedo
/

! Section to define Offline Oxidant MMR values
! (only used if running with offline oxidants scheme)
&OFFLINE_OXIDANT_MMR
  O3             = 5.0000e-08
  OH             = 5.0000e-14
  HO2            = 5.0000e-12
  H2O2           = 5.0000e-10
  NO3            = 5.0000e-12
/

Task 2.4: Change the environmental conditions of the box

O3 mass-mixing ratio from a stratospheric box.

TASK 2.4: Change the environmental conditions to be in the stratosphere.

Once the run has finished, replot ozone and see how the graph has changed.

Worked Solution to Task 2.4

The changes to Rose are:

Index: app/ukca/rose-app.conf
===================================================================
--- app/ukca/rose-app.conf	(revision 236413)
+++ app/ukca/rose-app.conf	(revision 236419)
@@ -156,7 +156,7 @@
 tracer_in_filename='chem_tracer_pars_STwGMaero'
 tracer_nullval=1e-15
 tracer_out_filename='tracer_out.csv'
-ukca_box_nml='nml_box_sfc'
+ukca_box_nml='nml_box_strat'

 [namelist:nlstcgen]
 dump_filename_base='$DATAM/${RUNID}a.d%z%C'

These differences can be found here:

Tutorials/UMvn13.0/worked_solutions/Task02.4/Task02.4_rose.patch

Sample output from this task can be found here:

Tutorials/UMvn13.0/sample_output/Task02.4/

Changing the Box Model Chemistry Scheme

The model chemistry scheme used is set by the variable i_ukca_chem in the ukca namelist Science Settings panel. The following schemes can be used with the Box Model:

Scheme Value Description
Stratospheric+Tropospheric 51 A scheme with chemistry relevant for the troposphere and the stratosphere
This scheme is known as StratTrop
Offline Oxidants 54 A basic scheme used to drive the GLOMAP-mode aerosol scheme
This scheme is known as OffOx
CRI+Stratospheric 59 A scheme with chemistry relevant for the stratosphere with a more comprehensive tropospheric chemistry scheme included
This scheme is known as CRI-Strat

Task 2.5: Change the chemistry scheme

TASK 2.5: Use the offline-oxidants chemistry scheme to drive GLOMAP-mode

Once the run has finished, plot quantities such as SO2 and the Soluble Accumulation mode sulphate to see how the values evolve during the simulation.

Note that changing this setting will automatically make lots of other changes to variables within Rose. You do not need to worry about these additional changes.

Worked Solution to Task 2.5

The changes to Rose are:

Index: app/ukca/rose-app.conf
===================================================================
--- app/ukca/rose-app.conf	(revision 236419)
+++ app/ukca/rose-app.conf	(revision 236427)
@@ -470,9 +470,9 @@
 chem_timestep=1800
 !!dir_strat_aer=
 !!dts0=300
-fastjx_mode=1
-fastjx_numwl=18
-fastjx_prescutoff=20.0
+!!fastjx_mode=1
+!!fastjx_numwl=18
+!!fastjx_prescutoff=20.0
 !!file_strat_aer=
 !!i_ageair_reset_method=1
 !!i_inferno_emi=
@@ -480,33 +480,33 @@
 i_mode_nzts=15
 i_mode_setup=2
 i_ukca_activation_scheme=0
-i_ukca_chem=51
+i_ukca_chem=54
 i_ukca_chem_version=121
 i_ukca_conserve_method=3
 i_ukca_dms_flux=1
-i_ukca_hetconfig=0
+!!i_ukca_hetconfig=0
 !!i_ukca_hiorder_scheme=0
-i_ukca_light_param=1
+!!i_ukca_light_param=1
 !!i_ukca_nwbins=20
-i_ukca_photol=3
+!!i_ukca_photol=3
 !!i_ukca_quasinewton_end=3
 !!i_ukca_quasinewton_start=2
 !!i_ukca_sad_months=12
 !!i_ukca_sad_start_year=1
-i_ukca_scenario=0
-i_ukca_solcyc=0
+!!i_ukca_scenario=0
+!!i_ukca_solcyc=0
 !!i_ukca_solcyc_start_year=0
-i_ukca_topboundary=0
-jvscat_file=
+!!i_ukca_topboundary=0
+!!jvscat_file=
 !!jvsolar_file=
-jvspec_dir=
-jvspec_file=
+!!jvspec_dir=
+!!jvspec_file=
 !!l_bcoc_bf=.false.
 !!l_bcoc_bm=.false.
 !!l_bcoc_ff=.false.
 !!l_dust_slinn_impc_scav=.false.
-l_environ_jo2=.false.
-l_environ_jo2b=.false.
+!!l_environ_jo2=.false.
+!!l_environ_jo2b=.false.
 l_mode_bhn_on=.true.
 l_mode_bln_on=.false.
 l_ukca=.true.
@@ -522,51 +522,51 @@
 l_ukca_debug_asad=.true.
 l_ukca_dry_dep_so2wet=.false.
 !!l_ukca_dust=.false.
-l_ukca_emsdrvn_ch4=.false.
+!!l_ukca_emsdrvn_ch4=.false.
 !!l_ukca_fine_no3_prod=.true.
-l_ukca_h2o_feedback=.false.
-l_ukca_het_psc=.true.
-l_ukca_ibvoc=.false.
-l_ukca_inferno=.false.
+!!l_ukca_h2o_feedback=.false.
+!!l_ukca_het_psc=.true.
+!!l_ukca_ibvoc=.false.
+!!l_ukca_inferno=.false.
 !!l_ukca_inferno_ch4=.false.
 l_ukca_intdd=.true.
 l_ukca_intph=.false.
-l_ukca_limit_nat=.false.
-l_ukca_linox_scaling=.false.
+!!l_ukca_limit_nat=.false.
+!!l_ukca_linox_scaling=.false.
 l_ukca_mode=.true.
-l_ukca_prescribech4=.false.
+!!l_ukca_prescribech4=.false.
 !!l_ukca_prim_moc=.false.
 l_ukca_primbcoc=.false.
 !!l_ukca_primdu=.false.
 l_ukca_primss=.false.
 l_ukca_primsu=.false.
-l_ukca_qch4inter=.false.
+!!l_ukca_qch4inter=.false.
 l_ukca_quasinewton=.false.
 l_ukca_radaer=.false.
 !!l_ukca_radaer_sustrat=.false.
-l_ukca_radch4=.false.
-l_ukca_radf11=.false.
-l_ukca_radf113=.false.
-l_ukca_radf12=.false.
-l_ukca_radf22=.false.
-l_ukca_radn2o=.false.
-l_ukca_rado3=.false.
-l_ukca_ro2_ntp=.true.
-l_ukca_ro2_perm=.true.
-l_ukca_sa_clim=.false.
+!!l_ukca_radch4=.false.
+!!l_ukca_radf11=.false.
+!!l_ukca_radf113=.false.
+!!l_ukca_radf12=.false.
+!!l_ukca_radf22=.false.
+!!l_ukca_radn2o=.false.
+!!l_ukca_rado3=.false.
+!!l_ukca_ro2_ntp=.true.
+!!l_ukca_ro2_perm=.true.
+!!l_ukca_sa_clim=.false.
 l_ukca_scale_biom_aer_ems=.false.
 !!l_ukca_scale_marine_pom_ems=.false.
 !!l_ukca_scale_sea_salt_ems=.false.
 l_ukca_scale_seadms_ems=.false.
 l_ukca_scale_soa_yield=.true.
-l_ukca_set_trace_gases=.true.
+!!l_ukca_set_trace_gases=.true.
 !!l_ukca_sfix=.false.
 l_ukca_so2ems_expvolc=.false.
 !!l_ukca_src_in_conservation=.true.
-l_ukca_trophet=.false.
+!!l_ukca_trophet=.false.
 !!l_ukca_tune_bc=.false.
 !!l_ukca_use_background_aerosol=.false.
-lightnox_scale_fac=0.5
+!!lightnox_scale_fac=0.5
 !!marine_pom_ems_scaling=0
 !!max_ageair_reset_height=0.0
 !!max_ageair_reset_level=0
@@ -584,25 +584,25 @@
 !!seadms_ems_scaling=1.0
 soa_yield_scaling=2.0
 !!tc_lbc_ukca=150*0
-ukca_ccl4mmr=0.00
-ukca_cfc115mmr=0.00
-ukca_ch2br2mmr=0.00
-ukca_cosmmr=0.00
+!!ukca_ccl4mmr=0.00
+!!ukca_cfc115mmr=0.00
+!!ukca_ch2br2mmr=0.00
+!!ukca_cosmmr=0.00
 ukca_em_dir=
 ukca_em_files=
-ukca_h1202mmr=0.00
-ukca_h1211mmr=0.00
-ukca_h1301mmr=0.00
-ukca_h2402mmr=0.00
-ukca_h2mmr=0.0
-ukca_hcfc141bmmr=0.00
-ukca_hcfc142bmmr=0.00
-ukca_mebrmmr=0.00
-ukca_meccl3mmr=0.00
-ukca_meclmmr=0.00
-ukca_n2mmr=7.547e-01
-!!ukca_offline_dir=
-!!ukca_offline_files=
+!!ukca_h1202mmr=0.00
+!!ukca_h1211mmr=0.00
+!!ukca_h1301mmr=0.00
+!!ukca_h2402mmr=0.00
+!!ukca_h2mmr=0.0
+!!ukca_hcfc141bmmr=0.00
+!!ukca_hcfc142bmmr=0.00
+!!ukca_mebrmmr=0.00
+!!ukca_meccl3mmr=0.00
+!!ukca_meclmmr=0.00
+!!ukca_n2mmr=7.547e-01
+ukca_offline_dir=
+ukca_offline_files=
 !!ukca_rcpdir=
 !!ukca_rcpfile=
 !!ukcaaclw=
@@ -625,7 +625,7 @@
 l_fix_ukca_h2dd_x=.false.
 l_fix_ukca_h2so4_ystore=.true.
 l_fix_ukca_impscav=.false.
-l_fix_ukca_meoh_emiss_input=.false.
+!!l_fix_ukca_meoh_emiss_input=.false.
 !!l_fix_ukca_offox_h2o_fac=.false.
 l_improve_aero_drydep=.false.
 !!l_improve_cv_cons=.false.

These differences can be found here:

Tutorials/UMvn13.0/worked_solutions/Task02.5/Task02.5_rose.patch

Sample output from this task can be found here:

Tutorials/UMvn13.0/sample_output/Task02.5/

Changing the Box Model Tracer Initial Values

The initial tracer values used by the box model are set by the variable tracer_in_filename in the ukca namelist Model Input and Output panel. The value corresponds to a Fortran namelist file held in the

[SUITE-ID]/app/ukca/file

directory. There are several example files provided, including

File Description
chem_tracer_pars_OffOx Aerosol and aerosol precursor initial condition base case for running with offline oxidents
chem_tracer_pars_OffOx_LowAero Aerosol and aerosol precursor initial conditions for running with offline oxidents with initial aerosol concentrations reduced by a factor of 10
chem_tracer_pars_ST_basic Initial tracer MMR values for basic StratTrop setup - only a few species MMRs defined with values typical for clean background troposphere conditions
chem_tracer_pars_ST_urban Initial MMR values for all gas-phase species in StratTrop typical of clean tropospheric conditions
chem_tracer_pars_STwGMaero Basic StratTrop initial gas phase concentrations with aerosol and aerosol precurser values the same as Offline Oxident base case
chem_tracer_pars_STwGMaero_EqTropopause StratTrop initial gas phase concentrations typical of equatorial tropopause with aerosol and aerosol precurser values the same as Offline Oxident base case

The current file used is chem_tracer_pars_STwGMaero.

Any species that does not have a value set in one of the initial condition files is automatically set to the value given by the tracer_nullval parameter (found in the same panel), which is currently set to 1e-15.

Emissions, Deposition, and Photolysis

Currently the UKCA Box Model does not run with emissions, wet or dry deposition of chemical or aerosol species, or a photolysis scheme. The necessary photolysis rates used by the box model are set by the variable photol_jrate_in_filename in the ukca namelist Model Input and Output panel. The value corresponds to a Fortran namelist file held in the

[SUITE-ID]/app/ukca/file

directory. Currently one file is provided for use, djrat_0lat_12z_969hPa_v2.txt.

Task 2.6: Change the chemistry scheme, box location, and initial conditions

Now we will combine several changes in one.

O3 mass-mixing ratio from a box in the equatorial tropopause region.

TASK 2.6: Change the box to use the Stratosphere-Troposphere scheme around the equatorial tropopause.

Once the run has finished, replot ozone and see how the graph has changed.

Note that changing these setting will automatically make lots of other changes to variables within Rose. You do not need to worry about these additional changes.

Worked Solution to Task 2.6

The changes to Rose are:

Index: app/ukca/rose-app.conf
===================================================================
--- app/ukca/rose-app.conf	(revision 236427)
+++ app/ukca/rose-app.conf	(revision 236436)
@@ -153,10 +153,10 @@
 flux_out_filename='flux_out.csv'
 photol_jrate_in_filename='djrat_0lat_12z_969hPa_v2.txt'
 rate_out_filename='rate_out.csv'
-tracer_in_filename='chem_tracer_pars_STwGMaero'
+tracer_in_filename='chem_tracer_pars_STwGMaero_EqTropopause'
 tracer_nullval=1e-15
 tracer_out_filename='tracer_out.csv'
-ukca_box_nml='nml_box_strat'
+ukca_box_nml='nml_box_tropopause'
 
 [namelist:nlstcgen]
 dump_filename_base='$DATAM/${RUNID}a.d%z%C'
@@ -470,9 +470,9 @@
 chem_timestep=1800
 !!dir_strat_aer=
 !!dts0=300
-!!fastjx_mode=1
-!!fastjx_numwl=18
-!!fastjx_prescutoff=20.0
+fastjx_mode=1
+fastjx_numwl=18
+fastjx_prescutoff=20.0
 !!file_strat_aer=
 !!i_ageair_reset_method=1
 !!i_inferno_emi=
@@ -480,33 +480,33 @@
 i_mode_nzts=15
 i_mode_setup=2
 i_ukca_activation_scheme=0
-i_ukca_chem=54
+i_ukca_chem=51
 i_ukca_chem_version=121
 i_ukca_conserve_method=3
 i_ukca_dms_flux=1
-!!i_ukca_hetconfig=0
+i_ukca_hetconfig=0
 !!i_ukca_hiorder_scheme=0
-!!i_ukca_light_param=1
+i_ukca_light_param=1
 !!i_ukca_nwbins=20
-!!i_ukca_photol=3
+i_ukca_photol=3
 !!i_ukca_quasinewton_end=3
 !!i_ukca_quasinewton_start=2
 !!i_ukca_sad_months=12
 !!i_ukca_sad_start_year=1
-!!i_ukca_scenario=0
-!!i_ukca_solcyc=0
+i_ukca_scenario=0
+i_ukca_solcyc=0
 !!i_ukca_solcyc_start_year=0
-!!i_ukca_topboundary=0
-!!jvscat_file=
+i_ukca_topboundary=0
+jvscat_file=
 !!jvsolar_file=
-!!jvspec_dir=
-!!jvspec_file=
+jvspec_dir=
+jvspec_file=
 !!l_bcoc_bf=.false.
 !!l_bcoc_bm=.false.
 !!l_bcoc_ff=.false.
 !!l_dust_slinn_impc_scav=.false.
-!!l_environ_jo2=.false.
-!!l_environ_jo2b=.false.
+l_environ_jo2=.false.
+l_environ_jo2b=.false.
 l_mode_bhn_on=.true.
 l_mode_bln_on=.false.
 l_ukca=.true.
@@ -522,51 +522,51 @@
 l_ukca_debug_asad=.true.
 l_ukca_dry_dep_so2wet=.false.
 !!l_ukca_dust=.false.
-!!l_ukca_emsdrvn_ch4=.false.
+l_ukca_emsdrvn_ch4=.false.
 !!l_ukca_fine_no3_prod=.true.
-!!l_ukca_h2o_feedback=.false.
-!!l_ukca_het_psc=.true.
-!!l_ukca_ibvoc=.false.
-!!l_ukca_inferno=.false.
+l_ukca_h2o_feedback=.false.
+l_ukca_het_psc=.true.
+l_ukca_ibvoc=.false.
+l_ukca_inferno=.false.
 !!l_ukca_inferno_ch4=.false.
 l_ukca_intdd=.true.
 l_ukca_intph=.false.
-!!l_ukca_limit_nat=.false.
-!!l_ukca_linox_scaling=.false.
+l_ukca_limit_nat=.false.
+l_ukca_linox_scaling=.false.
 l_ukca_mode=.true.
-!!l_ukca_prescribech4=.false.
+l_ukca_prescribech4=.false.
 !!l_ukca_prim_moc=.false.
 l_ukca_primbcoc=.false.
 !!l_ukca_primdu=.false.
 l_ukca_primss=.false.
 l_ukca_primsu=.false.
-!!l_ukca_qch4inter=.false.
+l_ukca_qch4inter=.false.
 l_ukca_quasinewton=.false.
 l_ukca_radaer=.false.
 !!l_ukca_radaer_sustrat=.false.
-!!l_ukca_radch4=.false.
-!!l_ukca_radf11=.false.
-!!l_ukca_radf113=.false.
-!!l_ukca_radf12=.false.
-!!l_ukca_radf22=.false.
-!!l_ukca_radn2o=.false.
-!!l_ukca_rado3=.false.
-!!l_ukca_ro2_ntp=.true.
-!!l_ukca_ro2_perm=.true.
-!!l_ukca_sa_clim=.false.
+l_ukca_radch4=.false.
+l_ukca_radf11=.false.
+l_ukca_radf113=.false.
+l_ukca_radf12=.false.
+l_ukca_radf22=.false.
+l_ukca_radn2o=.false.
+l_ukca_rado3=.false.
+l_ukca_ro2_ntp=.true.
+l_ukca_ro2_perm=.true.
+l_ukca_sa_clim=.false.
 l_ukca_scale_biom_aer_ems=.false.
 !!l_ukca_scale_marine_pom_ems=.false.
 !!l_ukca_scale_sea_salt_ems=.false.
 l_ukca_scale_seadms_ems=.false.
 l_ukca_scale_soa_yield=.true.
-!!l_ukca_set_trace_gases=.true.
+l_ukca_set_trace_gases=.true.
 !!l_ukca_sfix=.false.
 l_ukca_so2ems_expvolc=.false.
 !!l_ukca_src_in_conservation=.true.
-!!l_ukca_trophet=.false.
+l_ukca_trophet=.false.
 !!l_ukca_tune_bc=.false.
 !!l_ukca_use_background_aerosol=.false.
-!!lightnox_scale_fac=0.5
+lightnox_scale_fac=0.5
 !!marine_pom_ems_scaling=0
 !!max_ageair_reset_height=0.0
 !!max_ageair_reset_level=0
@@ -584,25 +584,25 @@
 !!seadms_ems_scaling=1.0
 soa_yield_scaling=2.0
 !!tc_lbc_ukca=150*0
-!!ukca_ccl4mmr=0.00
-!!ukca_cfc115mmr=0.00
-!!ukca_ch2br2mmr=0.00
-!!ukca_cosmmr=0.00
+ukca_ccl4mmr=0.00
+ukca_cfc115mmr=0.00
+ukca_ch2br2mmr=0.00
+ukca_cosmmr=0.00
 ukca_em_dir=
 ukca_em_files=
-!!ukca_h1202mmr=0.00
-!!ukca_h1211mmr=0.00
-!!ukca_h1301mmr=0.00
-!!ukca_h2402mmr=0.00
-!!ukca_h2mmr=0.0
-!!ukca_hcfc141bmmr=0.00
-!!ukca_hcfc142bmmr=0.00
-!!ukca_mebrmmr=0.00
-!!ukca_meccl3mmr=0.00
-!!ukca_meclmmr=0.00
-!!ukca_n2mmr=7.547e-01
-ukca_offline_dir=
-ukca_offline_files=
+ukca_h1202mmr=0.00
+ukca_h1211mmr=0.00
+ukca_h1301mmr=0.00
+ukca_h2402mmr=0.00
+ukca_h2mmr=0.0
+ukca_hcfc141bmmr=0.00
+ukca_hcfc142bmmr=0.00
+ukca_mebrmmr=0.00
+ukca_meccl3mmr=0.00
+ukca_meclmmr=0.00
+ukca_n2mmr=7.547e-01
+!!ukca_offline_dir=
+!!ukca_offline_files=
 !!ukca_rcpdir=
 !!ukca_rcpfile=
 !!ukcaaclw=
@@ -625,7 +625,7 @@
 l_fix_ukca_h2dd_x=.false.
 l_fix_ukca_h2so4_ystore=.true.
 l_fix_ukca_impscav=.false.
-!!l_fix_ukca_meoh_emiss_input=.false.
+l_fix_ukca_meoh_emiss_input=.false.
 !!l_fix_ukca_offox_h2o_fac=.false.
 l_improve_aero_drydep=.false.
 !!l_improve_cv_cons=.false.

These differences can be found here:

Tutorials/UMvn13.0/worked_solutions/Task02.6/Task02.6_rose.patch

Sample output from this task can be found here:

Tutorials/UMvn13.0/sample_output/Task02.6/

Turning off GLOMAP-mode and the aerosol chemistry

As well as being able to run UKCA with the cut-down offline-oxidants scheme to drive GLOMAP-mode, it is also possible to turn off GLOMAP-mode and not use the aerosol chemistry, just running a chemistry scheme without aerosols. These are controlled by the logicals l_ukca_chem_aero and l_ukca_mode in the ukca namelist Science Settings panel.

Logical Description
l_ukca_chem_aero If True, the aerosol chemistry needed to drive GLOMAP-mode is included in the chemical mechanism. If False, it is not possible to use GLOMAP-mode.
l_ukca_mode If True, use GLOMAP-mode aerosols.

Heterogenous Chemistry

The GLOMAP-mode aerosols couple to the Chemistry via the heterogeneous chemistry that occurs on aerosol surfaces. In a model such as the Unified Model, UKCA can either run with a climatology of aerosol surface area, or take this quantity from GLOMAP. This is controlled by the logical l_ukca_sa_clim in the ukca namelist Science Settings Chemistry HetChem panel. The box model is currently set to take this from GLOMAP as this logical is set to False. When we turn off GLOMAP-mode we either need to turn this logical on (and provide other settings), or turn off heterogeneous chemistry altogether, which is controlled by the l_ukca_het_psc logical on the same panel.

Logical Description
l_ukca_het_psc If True, include heterogenous chemistry reactions relevant for the stratosphere on aerosols and polar stratospheric clouds (PSCs). If False, do not include these reactions.
l_ukca_sa_clim If True, use a climatology for the aerosol surface area in the stratosphere (note that this is not used in the box model. If False, use GLOMAP-mode aerosol surface area instead.

Task 2.7: Turn off the GLOMAP-mode aerosol scheme and additional aerosol chemistry

CRI O3 mass-mixing ratio from a box in the equatorial tropopause region when GLOMAP-mode is not used.

TASK 2.7: Change the box to use CRI+Stratospheric chemistry and stop using the GLOMAP-mode aerosol scheme and additional aerosol chemistry. You should also turn off heterogeneous chemistry.

Once the run has finished, replot ozone and see how the graph has changed.

Note that changing these setting will automatically make lots of other changes to variables within Rose. You do not need to worry about these additional changes.

Worked Solution to Task 2.7

The changes to Rose are:

Index: app/ukca/rose-app.conf
===================================================================
--- app/ukca/rose-app.conf	(revision 236436)
+++ app/ukca/rose-app.conf	(revision 236496)
@@ -477,14 +477,14 @@
 !!i_ageair_reset_method=1
 !!i_inferno_emi=
 !!i_mode_bln_param_method=0
-i_mode_nzts=15
-i_mode_setup=2
-i_ukca_activation_scheme=0
-i_ukca_chem=51
+!!i_mode_nzts=15
+!!i_mode_setup=2
+!!i_ukca_activation_scheme=0
+i_ukca_chem=59
 i_ukca_chem_version=121
 i_ukca_conserve_method=3
-i_ukca_dms_flux=1
-i_ukca_hetconfig=0
+!!i_ukca_dms_flux=1
+!!i_ukca_hetconfig=0
 !!i_ukca_hiorder_scheme=0
 i_ukca_light_param=1
 !!i_ukca_nwbins=20
@@ -507,14 +507,14 @@
 !!l_dust_slinn_impc_scav=.false.
 l_environ_jo2=.false.
 l_environ_jo2b=.false.
-l_mode_bhn_on=.true.
-l_mode_bln_on=.false.
+!!l_mode_bhn_on=.true.
+!!l_mode_bln_on=.false.
 l_ukca=.true.
 l_ukca_ageair=.false.
 !!l_ukca_aie1=.false.
 !!l_ukca_aie2=.false.
 l_ukca_asad_columns=.true.
-l_ukca_chem_aero=.true.
+l_ukca_chem_aero=.false.
 !!l_ukca_classic_hetchem=.false.
 !!l_ukca_coarse_no3_prod=.true.
 l_ukca_ddep_lev1=.false.
@@ -522,48 +522,48 @@
 l_ukca_debug_asad=.true.
 l_ukca_dry_dep_so2wet=.false.
 !!l_ukca_dust=.false.
-l_ukca_emsdrvn_ch4=.false.
+!!l_ukca_emsdrvn_ch4=.false.
 !!l_ukca_fine_no3_prod=.true.
 l_ukca_h2o_feedback=.false.
-l_ukca_het_psc=.true.
+l_ukca_het_psc=.false.
 l_ukca_ibvoc=.false.
-l_ukca_inferno=.false.
+!!l_ukca_inferno=.false.
 !!l_ukca_inferno_ch4=.false.
 l_ukca_intdd=.true.
 l_ukca_intph=.false.
-l_ukca_limit_nat=.false.
+!!l_ukca_limit_nat=.false.
 l_ukca_linox_scaling=.false.
-l_ukca_mode=.true.
+!!l_ukca_mode=.false.
 l_ukca_prescribech4=.false.
 !!l_ukca_prim_moc=.false.
-l_ukca_primbcoc=.false.
+!!l_ukca_primbcoc=.false.
 !!l_ukca_primdu=.false.
-l_ukca_primss=.false.
-l_ukca_primsu=.false.
+!!l_ukca_primss=.false.
+!!l_ukca_primsu=.false.
 l_ukca_qch4inter=.false.
 l_ukca_quasinewton=.false.
-l_ukca_radaer=.false.
+!!l_ukca_radaer=.false.
 !!l_ukca_radaer_sustrat=.false.
 l_ukca_radch4=.false.
-l_ukca_radf11=.false.
-l_ukca_radf113=.false.
-l_ukca_radf12=.false.
-l_ukca_radf22=.false.
+!!l_ukca_radf11=.false.
+!!l_ukca_radf113=.false.
+!!l_ukca_radf12=.false.
+!!l_ukca_radf22=.false.
 l_ukca_radn2o=.false.
 l_ukca_rado3=.false.
 l_ukca_ro2_ntp=.true.
 l_ukca_ro2_perm=.true.
-l_ukca_sa_clim=.false.
-l_ukca_scale_biom_aer_ems=.false.
+!!l_ukca_sa_clim=.false.
+!!l_ukca_scale_biom_aer_ems=.false.
 !!l_ukca_scale_marine_pom_ems=.false.
 !!l_ukca_scale_sea_salt_ems=.false.
-l_ukca_scale_seadms_ems=.false.
-l_ukca_scale_soa_yield=.true.
+!!l_ukca_scale_seadms_ems=.false.
+!!l_ukca_scale_soa_yield=.true.
 l_ukca_set_trace_gases=.true.
 !!l_ukca_sfix=.false.
-l_ukca_so2ems_expvolc=.false.
+!!l_ukca_so2ems_expvolc=.false.
 !!l_ukca_src_in_conservation=.true.
-l_ukca_trophet=.false.
+!!l_ukca_trophet=.false.
 !!l_ukca_tune_bc=.false.
 !!l_ukca_use_background_aerosol=.false.
 lightnox_scale_fac=0.5
@@ -570,10 +570,10 @@
 !!marine_pom_ems_scaling=0
 !!max_ageair_reset_height=0.0
 !!max_ageair_reset_level=0
-mode_activation_dryr=37.5
-mode_aitsol_cvscav=0.5
-mode_incld_so2_rfrac=0.25
-mode_parfrac=2.5
+!!mode_activation_dryr=37.5
+!!mode_aitsol_cvscav=0.5
+!!mode_incld_so2_rfrac=0.25
+!!mode_parfrac=2.5
 !!nit=0
 nrsteps=45
 !!ph_fit_coeff_a=0
@@ -582,7 +582,7 @@
 !!phot2d_dir=
 !!sea_salt_ems_scaling=0
 !!seadms_ems_scaling=1.0
-soa_yield_scaling=2.0
+!!soa_yield_scaling=2.0
 !!tc_lbc_ukca=150*0
 ukca_ccl4mmr=0.00
 ukca_cfc115mmr=0.00
@@ -625,9 +625,9 @@
 l_fix_ukca_h2dd_x=.false.
 l_fix_ukca_h2so4_ystore=.true.
 l_fix_ukca_impscav=.false.
-l_fix_ukca_meoh_emiss_input=.false.
+!!l_fix_ukca_meoh_emiss_input=.false.
 !!l_fix_ukca_offox_h2o_fac=.false.
-l_improve_aero_drydep=.false.
+!!l_improve_aero_drydep=.false.
 !!l_improve_cv_cons=.false.
 l_methox_fix=.true.
 
@@ -636,5 +636,5 @@
 !!a_convect_segments=-99
 !!a_convect_trac_seg_size=1
 ukca_chem_seg_size=1
-ukca_mode_seg_size=1
+!!ukca_mode_seg_size=1
 ussp_seg_size=1

These differences can be found here:

Tutorials/UMvn13.0/worked_solutions/Task02.7/Task02.7_rose.patch

Sample output from this task can be found here:

Tutorials/UMvn13.0/sample_output/Task02.7/

Checklist

Change the start time using model_basis_time
Change the run length using run_target_end
Change the timestep using steps_per_periodim and chem_timestep
Change the environmental conditions using ukca_box_nml
Change the chemistry scheme using i_ukca_chem
Change the tracer initial conditions using tracer_in_filename
Control the use of GLOMAP-mode using l_ukca_mode
Control the use of aerosol chemistry using l_ukca_chem_aero
Control the use of stratospheric heterogeneous chemistry using l_ukca_het_psc


Tutorial 3

UKCA Chemistry and Aerosol Tutorials at UMvn13.0


Written by Luke Abraham 2022