This is the code used for the experiment described in
Ruckstuhl, Y. Janjic, T. & Rasp, S. Training a convolutional neural network to conserve mass in data assimilation, Nonlinear Processes in Geophysics Discussions, 2020, 2020, 1-15
https://npg.copernicus.org/preprints/npg-2020-38/npg-2020-38.pdf
This project aims to constrain mass and positivity of hydrometeors during data assimilation using a convolutional neural network.
Twin experiments are performed with the modified shallow water model (Würsch and Craig, 2014), where the expensive quadratic programming ensemble (QPEns; Janji ́c et al., 2014) is used
to generate constrained analyses. A CNN is trained to learn the difference between the unconstrained analysis generated by the Ensemble Kalman Filter (EnKF)
and the constrained analysis.
twin experiments
- parameters.py: contains parameters to set by users
- msw_model.py: contains the modified shallow water model
- assimilation.py: contains the data assimilation routines
- nn_assim.py: Applies CNN to EnKF analysis
- main.py: Peforms twin experiments and generated training data for the CNN
training the CNN
- networks.py: defines the architecture of the CNN as well as the loss function
- train_nn.py: trains the CNN
references
- Würsch, M. and Craig, G. C.: A simple dynamical model of cumulus convection for data assimilation research, Meteorologische Zeitschrift,23, 483–490, 2014
- Janji ́c, T., McLaughlin, D., Cohn, S. E., and Verlaan, M.: Conservation of mass and preservation of positivity with ensemble-type Kalmanfilter algorithms, Mon. Wea. Rev., 142, 755–773, 2014