  Differential optical absorption spectroscopy (DOAS) is a powerful tool for
detecting and quantifying trace gases in atmospheric chemistry
\cite{Platt_Stutz08}. DOAS spectra consist of a linear combination of complex
multi-peak multi-scale structures. Most DOAS analysis routines in use today are
based on least squares techniques, for example, the approach developed in the
1970s uses polynomial fits to remove a slowly varying background, and known
reference spectra to retrieve the identity and concentrations of reference
gases. An open problem is to identify unknown gases in the fitting residuals
for complex atmospheric mixtures.
  In this work, we develop a novel three step semi-blind source separation
method. The first step uses a multi-resolution analysis to remove the
slow-varying and fast-varying components in the DOAS spectral data matrix $X$.
The second step decomposes the preprocessed data $\hat{X}$ in the first step
into a linear combination of the reference spectra plus a remainder, or
$\hat{X} = A\,S + R$, where columns of matrix $A$ are known reference spectra,
and the matrix $S$ contains the unknown non-negative coefficients that are
proportional to concentration. The second step is realized by a convex
minimization problem $S = \mathrm{arg} \min \mathrm{norm}\,(\hat{X} - A\,S)$,
where the norm is a hybrid $\ell_1/\ell_2$ norm (Huber estimator) that helps to
maintain the non-negativity of $S$. The third step performs a blind independent
component analysis of the remainder matrix $R$ to extract remnant gas
components. We first illustrate the proposed method in processing a set of DOAS
experimental data by a satisfactory blind extraction of an a-priori unknown
trace gas (ozone) from the remainder matrix. Numerical results also show that
the method can identify multiple trace gases from the residuals.
