The CAM-Chem model has been interfaced to the Data Assimilation Research Testbed (DART) in order to assimilate both chemical and meteorological observations.
In this case, the data assimilation scheme is an Ensemble Adjustment Kalman Filter (EAKF).
This requires an ensemble (or multiple instances) of CAM-Chem simulations, which is currently done within the multi-instance feature of the CESM coupler.
The DART documentation is available online and the code is on GitHub, below are some specifics needed for chemistry.
Adding a variable
If you want to add a variable to the sate vector for evaluation or assimilation. You have to define a DART quantity (QTY_XXX).
The interface between the model and DART for chemistry variables is define in chem_table_mod.f90.
For instance, if you want to add the ozone variable ('O3' in CAM-Chem), you will need to add this to the chem_table_mod.f90
call add_entry('O3', 47.9982_r8, 'QTY_O3')
The molecular weight (47.9982_r8) is used to convert the mass mixing ratio (in cam initial files) into volume mixing ratio.
The created quantity needs to be define in model_mod.f90 by adding:
obs_kind_mod, only: use QTY_O3
The quantity (QTY_O3) also needs to be define in ../../../assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90
The procedure to add a quantity in obs_kind_mod is explained in the DART documentation of the preprocess program.
A reanalysis of MOPITT Carbon Monoxide (2002-2013) has been performed (Gaubert et al., 2016; Gaubert et al., 2017) and monthly means outputs are available here.
Contact: Benjamin Gaubert