UKCA Chemistry and Aerosol vn10.4 Tutorial 5
From UKCA
UKCA Chemistry and Aerosol Tutorials at vn10.4
You can use Iris on ARCHER by
module load anaconda
if you then
conda list
you will see that Iris is available:
iris 1.8.0 nppy27_1 scitools
when using python, a good alias to use is
alias pylab='ipython --pylab --logfile=ipython-`date +"%Y%m%d-%H%M%S"`.py'
Use python script supplied to create emissions netCDF from supplied 0.5x0.5 emissions dataset.
Do not need to write script from scratch, just read-through script and try to understand what it does, and why.
Then include in Rose, and also make branch changes:
[16:10:16 luke@puma vn10.4_UKCA_Tutorials]$ fcm diff https://code.metoffice.gov.uk/svn/um/main/branches/dev/lukeabraham/vn10.4_UKCA_Tutorials@28917 https://code.metoffice.gov.uk/svn/um/main/branches/dev/lukeabraham/vn10.4_UKCA_Tutorials@29446 Index: src/atmosphere/UKCA/ukca_setd1defs.F90 =================================================================== --- src/atmosphere/UKCA/ukca_setd1defs.F90 (revision 28917) +++ src/atmosphere/UKCA/ukca_setd1defs.F90 (revision 29446) @@ -301,7 +301,7 @@ nr_phot = 38 END IF ELSE IF (L_ukca_strattrop .AND. .NOT. L_ukca_achem) THEN - n_chem_emissions = 9 + n_chem_emissions = 10 n_3d_emissions = 1 ! aircraft NOX n_aero_tracers = 0 ALLOCATE(em_chem_spec(n_chem_emissions+n_3d_emissions)) @@ -308,19 +308,20 @@ em_chem_spec = & (/'NO ','CH4 ','CO ','HCHO ', & 'C2H6 ','C3H8 ','Me2CO ','MeCHO ', & - 'C5H8 ','NO_aircrft'/) + 'C5H8 ','ALICE ','NO_aircrft'/) n_chem_tracers = 73 ! No chem tracers nr_therm = 220 ! thermal reactions nr_phot = 55 ! photolytic (ATA) ELSE IF (L_ukca_strattrop .AND. L_ukca_achem) THEN - n_chem_emissions = 19 ! em_chem_spec below + n_chem_emissions = 20 ! em_chem_spec below n_3d_emissions = 4 ! BC, OC, volc SO2 & aircraft NOX ALLOCATE(em_chem_spec(n_chem_emissions+n_3d_emissions)) em_chem_spec = & (/'NO ','CH4 ','CO ','HCHO ', & 'C2H6 ','C3H8 ','Me2CO ','MeCHO ', & - 'C5H8 ','BC_fossil ','BC_biofuel','OC_fossil ', & + 'C5H8 ','ALICE ', & + 'BC_fossil ','BC_biofuel','OC_fossil ', & 'OC_biofuel','Monoterp ','NVOC ','SO2_low ', & 'SO2_high ','NH3 ','DMS ','SO2_nat ', & 'BC_biomass','OC_biomass','NO_aircrft'/) @@ -715,6 +716,8 @@ UkcaD1Codes(j+i)%item = 314 ELSE IF (em_chem_spec(i) == 'NVOC ') THEN UkcaD1Codes(j+i)%item = 315 + ELSE IF (em_chem_spec(i) == 'ALICE ') THEN + UkcaD1Codes(j+i)%item = 316 ELSE IF (em_chem_spec(i) == 'BC_biomass') THEN UkcaD1Codes(j+i)%item = 322 UkcaD1Codes(j+i)%len_dim3 = tr_levels Index: src/atmosphere/UKCA/get_molmass_mod.F90 =================================================================== --- src/atmosphere/UKCA/get_molmass_mod.F90 (revision 28917) +++ src/atmosphere/UKCA/get_molmass_mod.F90 (revision 29446) @@ -242,6 +242,9 @@ CASE ('BrCl ') get_molmass = m_brcl +CASE ('ALICE ') + get_molmass = m_ALICE + ! ----------------------------------------- ! Others (report warning) CASE ('AGE ') Index: src/atmosphere/UKCA/ukca_constants.F90 =================================================================== --- src/atmosphere/UKCA/ukca_constants.F90 (revision 28917) +++ src/atmosphere/UKCA/ukca_constants.F90 (revision 29446) @@ -390,6 +390,9 @@ REAL, PARAMETER :: m_aromooh = 130.0 REAL, PARAMETER :: m_mekooh = 104.0 +! UKCA Tutorial tracers - only ALICE is emitted +REAL, PARAMETER :: m_ALICE = 1.0000 + ! The mass of organic nitrate is an approximation, ! calculated as the average of ORGNIT formed by two ! reacs. in UKCA_CHEMCO_RAQ: Index: src/atmosphere/UKCA/ukca_chem_strattrop.F90 =================================================================== --- src/atmosphere/UKCA/ukca_chem_strattrop.F90 (revision 28917) +++ src/atmosphere/UKCA/ukca_chem_strattrop.F90 (revision 29446) @@ -215,7 +215,7 @@ ! 75 chch_t( 75,'N2 ', 1,'CT ',' ', 0, 0, 0), & ! 76 -chch_t( 88,'ALICE ', 1,'TR ',' ', 0, 0, 0), & +chch_t( 88,'ALICE ', 1,'TR ',' ', 0, 0, 1), & ! 77 chch_t( 89,'BOB ', 1,'TR ',' ', 0, 0, 0) & /) @@ -372,7 +372,7 @@ ! 75 chch_t( 75,'N2 ', 1,'CT ',' ', 0, 0, 0), & ! 76 -chch_t( 88,'ALICE ', 1,'TR ',' ', 0, 0, 0), & +chch_t( 88,'ALICE ', 1,'TR ',' ', 0, 0, 1), & ! 77 chch_t( 89,'BOB ', 1,'TR ',' ', 0, 0, 0), & ! 78
Note: may also need to technically make changes to old emissions routines. However, job runs as is. May not need to make changes to STASH block in ukca_setd1defs.F90, as this is for old scheme.