Difference between revisions of "UKCA Chemistry and Aerosol vn10.4 Tutorial 7"

From UKCA
 
Line 325: Line 325:
   
 
These differences can be found in the file '''<code>/home/ukca/Tutorial/worked_solutions/Task7.1/task7.1.um.diff</code>''' on PUMA.
 
These differences can be found in the file '''<code>/home/ukca/Tutorial/worked_solutions/Task7.1/task7.1.um.diff</code>''' on PUMA.
  +
  +
If you open the '''.pk''' file in Xconv, you should still see the following fields:
  +
  +
0 : 192 144 36 1 O3 MASS MIXING RATIO
  +
1 : 192 144 36 1 Molar flux density
  +
2 : 192 144 85 1 O3 MASS MIXING RATIO
  +
3 : 192 144 85 1 Field code = 2164
  +
4 : 192 144 85 1 Field code = 2165
  +
  +
Sample output from this task can be found at '''<code>/work/n02/n02/ukca/Tutorial/vn10.4/sample_output/Task7.1/ai084a.pk19880901</code>''' on ARCHER.
   
 
[[UKCA Chemistry and Aerosol vn10.4 Tutorial 8|Tutorial 8]]
 
[[UKCA Chemistry and Aerosol vn10.4 Tutorial 8|Tutorial 8]]

Latest revision as of 16:52, 15 December 2016

UKCA Chemistry and Aerosol Tutorials at vn10.4

What you will learn in this Tutorial

In this tutorial you will learn how the two UKCA dry deposition schemes are implemented. You will then make changes to allow one of your new tracers to be dry-deposited.

Task 7.1: adding new dry deposition values

TASK 7.1: You should now add in the dry deposition of ALICE. This species deposits in a similar way to CO. The values for depvel_defs_strattrop are:

Surface Type Summer (day) Summer (night) Summer (24h ave) Winter (day) Winter (night) Winter (24h ave)
Water 0.00 0.00 0.00 0.00 0.00 0.00
Forest 0.03 0.03 0.03 0.03 0.03 0.03
Grass 0.03 0.03 0.03 0.03 0.03 0.03
Desert 0.03 0.03 0.03 0.03 0.03 0.03
Ice 0.00 0.00 0.00 0.00 0.00 0.00

i.e. the same as for CO.

Adding Dry Deposition

UKCA uses two different dry-deposition schemes:

  • A simple 2D parameterisation described by Giannakopoulos (1999)[1], Ganzeveld and Lelieveld (1995)[2], and Sander and Crutzen (1996)[3].
  • A more detailed interactive parameterisation, based on the Wesely scheme (Wesely, 1989; Sanderson 2007)[4,5]

The default scheme is the interactive scheme, which is chosen by setting l_ukca_intdd to true in the UKCA panel.

Note: If you are using the interactive scheme and wish to add new values to it, you will also need to add values to the 2D scheme as well, otherwise you will get an error.

During this tutorial you will be tasked with adding the dry deposition of one of your new tracers.

References

  1. Giannakopoulos, C., M. P. Chipperfield, K. S. Law, and J. A. Pyle (1999), Validation and intercomparison of wet and dry deposition schemes using 210Pb in a global three-dimensional off-line chemical transport model, J. Geophys. Res., 104(D19), 23761–23784, doi:10.1029/1999JD900392.
  2. Ganzeveld, L., and J. Lelieveld (1995), Dry deposition parameterization in a chemistry general circulation model and its influence on the distribution of reactive trace gases, J. Geophys. Res., 100(D10), 20999–21012, doi:10.1029/95JD02266.
  3. Sander, R., and P. J. Crutzen (1996), Model study indicating halogen activation and ozone destruction in polluted air masses transported to the sea, J. Geophys. Res., 101(D4), 9121–9138, doi:10.1029/95JD03793.
  4. M.L. Wesely, Parameterization of surface resistances to gaseous dry deposition in regional-scale numerical models, Atmospheric Environment (1967), Volume 23, Issue 6, 1989, Pages 1293-1304, ISSN 0004-6981, http://dx.doi.org/10.1016/0004-6981(89)90153-4.
  5. Sanderson, M. G., Collins, W. J., Hemming, D. L. and Betts, R. A. (2007), Stomatal conductance changes due to increasing carbon dioxide levels: Projected impact on surface ozone levels. Tellus B, 59: 404–411. doi: 10.1111/j.1600-0889.2007.00277.x

Chemistry Scheme Specification

The default is to use the 2D scheme, although it is advisable to use the interactive scheme. Within the UKCA code, whether a species is dry deposited or not is controlled in the ukca_chem_scheme.F90 file. In the chch_defs_scheme array there are lines like

chch_t( 10,'HONO2     ',  1,'TR        ','          ',  1,  1,  0),  & !  10 DD: 7,WD: 4,       
chch_t( 11,'H2O2      ',  1,'TR        ','          ',  1,  1,  0),  & !  11 DD: 8,WD: 5,  

Where the 1 in the 6th column turns on dry deposition of that species (being 0 otherwise). You will need to change the 0 to a 1 for the species that you wish to now dry deposit.

2D Dry Deposition Scheme

The deposition velocities for the 2D scheme are defined in the depvel_defs_scheme array, which is held in the ukca_chem_scheme.F90 module. This is a large array made up of size (6,5) blocks. These blocks mean

Summer (day) velocity over water Summer (night) velocity over water Summer (24h ave.) velocity over water Winter (day) velocity over water Winter (night) velocity over water Winter (24h ave.) velocity over water
Summer (day) velocity over forest Summer (night) velocity over forest Summer (24h ave.) velocity over forest Winter (day) velocity over forest Winter (night) velocity over forest Winter (24h ave.) velocity over forest
Summer (day) velocity over grass Summer (night) velocity over grass Summer (24h ave.) velocity over grass Winter (day) velocity over grass Winter (night) velocity over grass Winter (24h ave.) velocity over grass
Summer (day) velocity over desert Summer (night) velocity over desert Summer (24h ave.) velocity over desert Winter (day) velocity over desert Winter (night) velocity over desert Winter (24h ave.) velocity over desert
Summer (day) velocity over ice Summer (night) velocity over ice Summer (24h ave.) velocity over ice Winter (day) velocity over ice Winter (night) velocity over ice Winter (24h ave.) velocity over ice

and are in cm/s. The desert category is not used, and only the day and night values are considered in the calculation of the dry-deposition velocities. Examples of these values are

!  1  O3 (Ganzeveld & Lelieveld (1995) note 1 (modified to same as Guang)           
  0.05,  0.05,  0.05,  0.05,  0.05,  0.05,  & !      1.1
  0.85,  0.30,  0.65,  0.65,  0.25,  0.45,  & !      1.2
  0.65,  0.25,  0.45,  0.65,  0.25,  0.45,  & !      1.3
  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  & !      1.4
  0.05,  0.05,  0.05,  0.05,  0.05,  0.05,  & !      1.5
!  2  NO (inferred from NO2 - see Giannakopoulos (1998))                            
  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  & !      2.1
  0.14,  0.01,  0.07,  0.01,  0.01,  0.01,  & !      2.2
  0.10,  0.01,  0.06,  0.01,  0.01,  0.01,  & !      2.3
  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  & !      2.4
  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  & !      2.5

Note: When adding new deposition values you should be careful. UKCA assumes that the order of this array is the same as the order of the species in the chch_defs_scheme array. If you are adding values for a species in the middle of the list then you will need to make sure that you slot it in to the appropriate place in the existing depvel_defs_scheme array (and change the size of this array accordingly). Also note that the dry deposition of the species associated with the aerosol chemistry is held in a separate array which is treated slightly differently. You may find that you need to change the order of the tracers in the chch_defs array to accomodate this.

This scheme is controlled in ukca_ddeprt.F90. The deposition only occurs in the bottom (i.e. 'surface') layer.

Interactive Dry Deposition Scheme

Adding in new species to the interactive scheme is slightly more involved than for the 2D scheme. This scheme is controlled from the ukca_ddepctl.F90 routine which is called from ukca_chemistry_ctl.F90. The two routines ukca_aerod.F90 and ukca_surfddr.F90 contain species specific information, and it is these routines that need to be altered to add in values for a new species. Further details on this scheme can be found in the The UKCA UM documentation paper.

When using this scheme, dry deposition occurs throughout the boundary layer, rather than just in the lowest model (i.e. surface) layer.

Changes to ukca_aerod.F90

This routine calculates the aerodynamic and quasi-laminar surface resistances. The species dependant information that is needed is the diffusion coefficient, d0 (in units of ). By default this is set to -1 if the species is not deposited. If it is deposited, and there are no values for this coefficient in the literature, it is suggested that is calculated as

Where is the relative molecular mass of H2O, and is the relative molecular mass of the species being deposited, and is the diffusion coefficient for H2O (2.08E-5 ).

You should add in an appropriate value for the new species that you are depositing in the CASE statement in this routine. Examples of how this is already done are

           CASE ('O3        ','NO2       ','O3S       ','NO3       ')
             d0(j) = 1.4e-5
           CASE ('HONO      ')
             d0(j) = d_h2o * SQRT(m_h2o / m_hono)

Note: If you have not yet defined a M_species value for your new species, you will need to do this in ukca_constants.F90.

Changes to ukca_surfddr.F90

The Wesely scheme considers either 9 different surface types:

  1. Broadleaved trees
  2. Needleleaf trees
  3. C3 Grass
  4. C4 Grass
  5. Shrub
  6. Urban
  7. Water
  8. Bare Soil
  9. Ice

or 13 different surface types:

  1. Broadleaved deciduous trees
  2. Broadleaved evergreen tropical trees
  3. Broadleaved evergreen temperate trees
  4. Needleleaf deciduous trees
  5. Needleleaf evergreen trees
  6. C3 Grass
  7. C4 Grass
  8. Shrub deciduous
  9. Shrub evergreen
  10. Urban
  11. Water
  12. Bare Soil
  13. Ice

The examples below are given for 9 surface types, but you will need to make changes for both options.

ukca_surfddr.F90 sets the surface resistance (in ) for each of the species dry-deposited (rsurf)). If a species is not deposited onto a particular type of surface (but is deposited onto other types) then its resistance on this type can be set to a very large value (r_null). Often many species are assigned the same values. You will need to add in appropriate values for your species into the CASE statement within this routine.

Examples of how this is already done are

           CASE ('NO2       ','NO3       ')
       rsurf(:,n)=(/225.,225.,400.,400.,600.,1200.,2600.,1200.,       &
         3500. /)
           CASE ('CO        ')
       rsurf(:,n)=(/3700.,7300.,4550.,1960.,4550.0,r_null,r_null,     &
         4550.0,r_null /)  ! Shrub+bare soil set to C3 grass (guess)

Increase the value of JPDD

When you added a new chemical reaction you needed to increment a counter which gave the number of reactions, when adding new dry deposition of a species you will need to increase the size of the JPDD counter. This is done in the ukca_setup_chem_mod.F90 module.

Solution to Task 7.1: adding new dry deposition values

You were given the task

  • You should now add in the dry deposition of ALICE. This species deposits in a similar way to CO. The values for depvel_defs_strattrop are:
Surface Type Summer (day) Summer (night) Summer (24h ave) Winter (day) Winter (night) Winter (24h ave)
Water 0.00 0.00 0.00 0.00 0.00 0.00
Forest 0.03 0.03 0.03 0.03 0.03 0.03
Grass 0.03 0.03 0.03 0.03 0.03 0.03
Desert 0.03 0.03 0.03 0.03 0.03 0.03
Ice 0.00 0.00 0.00 0.00 0.00 0.00
i.e. the same as for CO.

You were given the hint:

  • You will need to make changes for both dry deposition schemes. The changes to ukca_surfddr.F90 can be made very easily by adding ALICE to the CO block in the CASE statement.

For a working Rose suite that has completed this task, please see u-ai084@26562

The specific Rose changes made are (this is just to update the branch revision number):

Index: trunk/app/fcm_make_um/rose-app.conf
===================================================================
--- trunk/app/fcm_make_um/rose-app.conf	(revision 26542)
+++ trunk/app/fcm_make_um/rose-app.conf	(revision 26562)
@@ -45,4 +45,4 @@
 stash_version=1A
 timer_version=3A
 um_rev=vn10.4
-um_sources=branches/dev/mohitdalvi/vn10.4_scale_lightning_nox@19623 branches/dev/stevenhardiman/vn10.4_ukca_tropopause_amendment@19627 branches/dev/alistairsellar/vn10.4_no_expvolc_so2@19808 branches/dev/marcuskoehler/vn10.4_ukca_fix_glomap_climatol_surfarea@24038 branches/dev/lukeabraham/vn10.4_UKCA_Tutorial_Solns@31335
+um_sources=branches/dev/mohitdalvi/vn10.4_scale_lightning_nox@19623 branches/dev/stevenhardiman/vn10.4_ukca_tropopause_amendment@19627 branches/dev/alistairsellar/vn10.4_no_expvolc_so2@19808 branches/dev/marcuskoehler/vn10.4_ukca_fix_glomap_climatol_surfarea@24038 branches/dev/lukeabraham/vn10.4_UKCA_Tutorial_Solns@31374

These differences can be found in the file /home/ukca/Tutorial/worked_solutions/Task7.1/task7.1.rose.diff on PUMA.

For a working UM branch that has completed this task, please see fcm:um.x_br/dev/lukeabraham/vn10.4_UKCA_Tutorial_Solns@31374

The specific UM changes made are:

Index: src/atmosphere/UKCA/ukca_surfddr.F90
===================================================================
--- src/atmosphere/UKCA/ukca_surfddr.F90	(revision 31335)
+++ src/atmosphere/UKCA/ukca_surfddr.F90	(revision 31374)
@@ -338,7 +338,7 @@
         CASE ('NH3       ')
            rsurf(:,n)=(/137.0,111.1,111.9,131.3,130.4,209.8,196.1,185.8,196.1, &
                         180.7,148.9,213.5,215.1 /)
-        CASE ('CO        ')
+        CASE ('CO        ','ALICE     ')
            rsurf(:,n)=(/3700.0,3700.0,3700.0,7300.0,7300.0,4550.0,1960.0,      &
                         4550.0,4550.0,r_null,r_null,4550.0,r_null /)  
            ! Shrub+bare soil set to C3 grass (guess)
@@ -418,7 +418,7 @@
                 500.0, 12500.0 /)
         CASE ('NH3       ')
            rsurf(:,n)=tenpointzero
-        CASE ('CO        ')
+        CASE ('CO        ','ALICE     ')
            rsurf(:,n)=(/3700.0,7300.0,4550.0,1960.0,4550.0,r_null,r_null,   &
                 4550.0,r_null /)  ! Shrub+bare soil set to C3 grass (guess)
         CASE ('CH4       ')
Index: src/atmosphere/UKCA/ukca_chem_strattrop.F90
===================================================================
--- src/atmosphere/UKCA/ukca_chem_strattrop.F90	(revision 31335)
+++ src/atmosphere/UKCA/ukca_chem_strattrop.F90	(revision 31374)
@@ -54,7 +54,7 @@
 INTEGER, PARAMETER, PUBLIC :: nhet_st_tpht   = 2         ! trophet rxns
 
 ! No of dry deposited species
-INTEGER, PARAMETER, PUBLIC :: ndry_strattrop = 36        ! Stratos chemistry
+INTEGER, PARAMETER, PUBLIC :: ndry_strattrop = 37        ! Stratos chemistry
 INTEGER, PARAMETER, PUBLIC :: ndry_st_aer    = 5         ! Aerosol chemistry
 
 ! No of wet deposited species
@@ -214,8 +214,8 @@
 chch_t( 74,'O2        ',  1,'CT        ','          ',  0,  0,  0),  &
 !  75
 chch_t( 75,'N2        ',  1,'CT        ','          ',  0,  0,  0),  &
-!  76 
-chch_t( 76,'ALICE     ',  1,'TR        ','          ',  0,  0,  1),  &
+!  76 DD:37
+chch_t( 76,'ALICE     ',  1,'TR        ','          ',  1,  0,  1),  &
 !  77 
 chch_t( 77,'BOB       ',  1,'TR        ','          ',  0,  0,  0)   &
   /)
@@ -371,8 +371,8 @@
 chch_t( 74,'O2        ',  1,'CT        ','          ',  0,  0,  0),  &
 !  75
 chch_t( 75,'N2        ',  1,'CT        ','          ',  0,  0,  0),  &
-!  76 
-chch_t( 76,'ALICE     ',  1,'TR        ','          ',  0,  0,  1),  &
+!  76 DD:37
+chch_t( 76,'ALICE     ',  1,'TR        ','          ',  1,  0,  1),  &
 !  77 
 chch_t( 77,'BOB       ',  1,'TR        ','          ',  0,  0,  0),  &
 !  78
@@ -1020,7 +1020,7 @@
 
 REAL :: depvel_defs_strattrop01(360)
 REAL :: depvel_defs_strattrop02(360)
-REAL :: depvel_defs_strattrop03(360)
+REAL :: depvel_defs_strattrop03(390)
 
 INTEGER(KIND=jpim), PARAMETER :: zhook_in  = 0
 INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
@@ -2580,7 +2580,13 @@
   0.83,  0.04,  0.44,  0.06,  0.05,  0.06,  & !     36.2
   0.63,  0.06,  0.35,  0.08,  0.06,  0.07,  & !     36.3
   0.03,  0.03,  0.03,  0.03,  0.03,  0.03,  & !     36.4
-  0.01,  0.01,  0.01,  0.01,  0.01,  0.01   & !     36.5
+  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  & !     36.5
+! 37 ALICE as CO (see Giannokopoulos (1998))                                                
+  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  & !     37.1
+  0.03,  0.03,  0.03,  0.03,  0.03,  0.03,  & !     37.2
+  0.03,  0.03,  0.03,  0.03,  0.03,  0.03,  & !     37.3
+  0.03,  0.03,  0.03,  0.03,  0.03,  0.03,  & !     37.4
+  0.00,  0.00,  0.00,  0.00,  0.00,  0.00   & !     37.5
   /)
 
 
Index: src/atmosphere/UKCA/ukca_aerod.F90
===================================================================
--- src/atmosphere/UKCA/ukca_aerod.F90	(revision 31335)
+++ src/atmosphere/UKCA/ukca_aerod.F90	(revision 31374)
@@ -224,6 +224,8 @@
       d0(j) = d_h2o * SQRT(m_h2o / m_meoh)
     CASE ('Monoterp  ')
       d0(j) = d_h2o * SQRT(m_h2o / m_monoterp)
+    CASE ('ALICE     ')
+      d0(j) = d_h2o * SQRT(m_h2o / m_ALICE)
     END SELECT
   END DO
   !
Index: src/atmosphere/UKCA/ukca_setup_chem_mod.F90
===================================================================
--- src/atmosphere/UKCA/ukca_setup_chem_mod.F90	(revision 31335)
+++ src/atmosphere/UKCA/ukca_setup_chem_mod.F90	(revision 31374)
@@ -254,7 +254,7 @@
   jptk            = 24
   jppj            = 56
   jphk            = 0
-  jpdd            = 36
+  jpdd            = 37
   jpdw            = 29
   ! If aerosol chemistry on, add additional reactions
   IF (l_ukca_chem_aero) THEN

These differences can be found in the file /home/ukca/Tutorial/worked_solutions/Task7.1/task7.1.um.diff on PUMA.

If you open the .pk file in Xconv, you should still see the following fields:

 0    : 192   144   36    1     O3 MASS MIXING RATIO
 1    : 192   144   36    1     Molar flux density
 2    : 192   144   85    1     O3 MASS MIXING RATIO
 3    : 192   144   85    1     Field code =  2164
 4    : 192   144   85    1     Field code =  2165

Sample output from this task can be found at /work/n02/n02/ukca/Tutorial/vn10.4/sample_output/Task7.1/ai084a.pk19880901 on ARCHER.

Tutorial 8


Written by Luke Abraham 2016