1
FAKULTÄT FÜR PHYSIK METEOROLOGIE LUDWIG- MAXIMILIANS- UNIVERSITÄT MÜNCHEN BEATBOX v1.0: Background Error Analysis Testbed with Box Models Christoph Knote 1 , Jérôme Barré 2 , and Max Eckl 1,a 1) Meteorological Institute, LMU, 80333 Munich, Germany 2) European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading, RG2 9AX, UK a) now at: Institute of Atmospheric Physics, DLR, 82234 Oberpfaffenhofen, Germany Sensitivity analyses sensitivity depends on selected DA method varies with chemical regime (over time) abrupt changes observed during regime transition What happens to atmospheric chemistry when we assimilate data? highly non-linear system important species (e.g. O 3 ) not observed strongly resolution- dependent (urban centers: VOC-limited, suburbs: NO x -limited) spatially and temporally variable 0.28 0.24 0.20 0.16 0.12 0.08 0.04 NO x (ppm) NMVOC (ppmC) 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 O 3 (ppm) 0.08 0.16 0.24 0.34 0.40 NMVOC NO x 8 1 Urban plume time (h) c(O 3 ) c(NO x ) c(CH 2 O) c(H 2 O 2 ) c(HNO 3 ) NO x emissions O 3 (ppbv) others (ppbv) 0 6 12 18 24 0 20 40 60 80 0 2 4 6 8 BOXMOX: tropospheric chemistry box model (Knote et al., Atm. Env, 2015) integrate set of stiff ordinary differential equations (e.g., photochemistry) over time box model processes (emissions, dilution, …) simple text file I/O based on Kinetic PreProcessor (Damian et al., 2002) creates standalone Linux executables, Python wrapper available References Damian, V., Sandu, A., Damian, M., Potra, F., and Carmichael, G.R. (2002). The Kinetic PreProcessor KPP -- A Software Environment for Solving Chemical Kinetics, Computers and Chemical Engineering, Vol. 26, No. 11, p. 1567-1579. Knote, C., Tuccella, P., Curci, G., Emmons, L., Orlando, J. J., Madronich, S., ... and Forkel, R. (2015). Influence of the choice of gas-phase mechanism on predictions of key gaseous pollutants during the AQMEII phase-2 intercomparison. Atmospheric Environment, 115, 553-568. Knote, C., Barré, J., & Eckl, M. (2018). BEATBOX v1. 0: Background Error Analysis Testbed with Box Models. Geoscientific Model Development, 11(2), 561-573. Conclusions Python-based data assimilation toy model developed OSSEs with different DA methods Test cases demonstrate insightful results Model freely available for the community Full documentation online https://boxmodeling.meteo.physik.uni-muenchen.de Effects on the unobserved chemical state of the atmosphere chosen DA method strongly influence outcome sensitive to localisation effects vary with chemical regime assimilating NO 2 has no influence on rest of state vector (not shown) O 3 OH CH 2 O (observed) CH 2 O only whole state vector localization How can we investigate this? Realistic 3D models with chemical data assimilation are expensive (ensemble) and/or complicated (variational) / www.lrz.de www.wikipedia.org Test case photochemistry in a jar urban air mass sample BEATBOX: data assimilation toy model using BOXMOX (Knote et al., GMD, 2018) Observing System Simulation Experiments Aircraft campaign data for test cases provided several DA methods included (ensemble, hybrid, variational) inflation, cycling, … Installation > pip install beatboxtestbed BEATBOX is a set of Python (v2) packages, available on Python Package Index (PyPI). BOXMOX is required. Configuration [Global] mech_nr = MCMv3_3 [genBOX] perturbspecies = CH2O rel_stdev_scaleic = 0.05 pert_distric = normal [BOXMOX] runtime = 3.0 dt = 180.0 [BEATBOX] state = NO2, O3, CH2O, OH obs = CH2O [Cycling] nfcst = 20 Simple text file. Making a simulation > make_BEATBOX_cycling_run CH2Oac settings_CH2Oac.cfg Settings defined in configuration file, conduct simulation with command line scripts. Parallelized execution through Python joblib package. Plotting results > archive_path = h.get_archive_path(‘CH2Oac') > fig, ax = plt.subplots() > fig = p.sensitivities(archive_path, fig) > fig.savefig(‘sensitivities.png') Python matplotlib plotting routines included. Documentation Available online. Control Run (CR) Nature Run (NR) Synthetic Observations Assimilation Run (AR) Data Assimilation evaluation & assessment evaluation & assessment Observation Simulator chemical regime “Commerce city” case

BEATBOX v1.0: Background Error Analysis Testbed with Box

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

FAKULTÄT FÜR PHYSIK

METEOROLOGIELUDWIG-MAXIMILIANS-UNIVERSITÄT MÜNCHEN

BEATBOX v1.0: Background Error Analysis Testbed with Box Models Christoph Knote1, Jérôme Barré2, and Max Eckl1,a

1)Meteorological Institute, LMU, 80333 Munich, Germany 2)European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading, RG2 9AX, UK

a)now at: Institute of Atmospheric Physics, DLR, 82234 Oberpfaffenhofen, Germany

Sensitivity analyses • sensitivity depends on

selected DA method

• varies with chemical regime (over time)

• abrupt changes observed during regime transition

What happens to atmospheric chemistry when we assimilate data?

• highly non-linear system

• important species(e.g. O3) not observed

• strongly resolution-dependent (urban centers: VOC-limited, suburbs: NOx-limited)

• spatially and temporally variable

0.28

0.24

0.20

0.16

0.12

0.08

0.04

NO

x (

pp

m)

NMVOC (ppmC)

0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0

O3 (ppm) 0.08 0.16 0.24 0.34 0.40NMVOC

NOx

8

1≈

Urban plume

time (h)

c(O3)c(NOx)

c(CH2O)c(H2O2)

c(HNO3)NOx emissions

O3 (ppbv) others (ppbv)

0 6 12 18 24

0

20

40

60

80

0

2

4

6

8

BOXMOX: tropospheric chemistry box model (Knote et al., Atm. Env, 2015)

integrate set of stiff ordinary differential equations (e.g., photochemistry) over time

box model processes (emissions, dilution, …)

simple text file I/O

based on Kinetic PreProcessor (Damian et al., 2002)

creates standalone Linux executables, Python wrapper available

References Damian, V., Sandu, A., Damian, M., Potra, F., and Carmichael, G.R. (2002). The Kinetic PreProcessor KPP -- A Software Environment for Solving Chemical Kinetics, Computers and Chemical Engineering, Vol. 26, No. 11, p. 1567-1579. Knote, C., Tuccella, P., Curci, G., Emmons, L., Orlando, J. J., Madronich, S., ... and Forkel, R. (2015). Influence of the choice of gas-phase mechanism on predictions of key gaseous pollutants during the AQMEII phase-2 intercomparison. Atmospheric Environment, 115, 553-568. Knote, C., Barré, J., & Eckl, M. (2018). BEATBOX v1. 0: Background Error Analysis Testbed with Box Models. Geoscientific Model Development, 11(2), 561-573.

Conclusions

• Python-based data assimilation toy model developed • OSSEs with different DA methods • Test cases demonstrate insightful results • Model freely available for the community • Full documentation online

https://boxmodeling.meteo.physik.uni-muenchen.de

Effects on the unobserved chemical state of the atmosphere

• chosen DA method strongly influence outcome

• sensitive to localisation

• effects vary with chemical regime

• assimilating NO2 has no influence on rest of state vector (not shown)

O3

OH

CH2O (observed)

CH2O only whole state vectorlocalization

How can we investigate this?

Realistic 3D models with chemical data assimilation are expensive (ensemble) and/or complicated (variational)

/www.lrz.de www.wikipedia.org

Test case

• photochemistry in a jar

• urban air mass sample

BEATBOX: data assimilation toy model using BOXMOX (Knote et al., GMD, 2018)

• Observing System Simulation Experiments

• Aircraft campaign data for test cases provided

• several DA methods included (ensemble, hybrid, variational)

• inflation, cycling, …

Installation > pip install beatboxtestbed

BEATBOX is a set of Python (v2) packages, available on Python Package Index (PyPI). BOXMOX is required.

Configuration [Global] mech_nr = MCMv3_3 …

[genBOX] perturbspecies = CH2O rel_stdev_scaleic = 0.05 pert_distric = normal …

[BOXMOX] runtime = 3.0 dt = 180.0

[BEATBOX] state = NO2, O3, CH2O, OH obs = CH2O …

[Cycling] nfcst = 20

Simple text file.

Making a simulation > make_BEATBOX_cycling_run CH2Oac settings_CH2Oac.cfg

Settings defined in configuration file, conduct simulation with command line scripts. Parallelized execution through Python joblib package.

Plotting results > archive_path = h.get_archive_path(‘CH2Oac') > fig, ax = plt.subplots() > fig = p.sensitivities(archive_path, fig) > fig.savefig(‘sensitivities.png')

Python matplotlib plotting routines included.

Documentation

Available online.

Control Run (CR)

Nature Run (NR)

Synthetic Observations

Assimilation Run (AR)

Data Assimilation

evaluation&

assessment

evaluation&

assessment

ObservationSimulator

chemical regime“Commerce city”

case