Skip to content

wavestoweather/MSW_DA_ML

Repository files navigation

MSW_DA_ML

DOI

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