Wednesday A: FGAT and 4D-Var

In this practical we will expand on the work during the first practical, where we ran the 3DVar data assimilation.

Part I - Modify the 3DVar

  1. Add more iterations to the inner loops of the 3DVar until you are satisfied that the system has converged.

    Tips: ninner controls the number of inner loops and convergence.py is used to check convergence.

  2. Add a third outer loop and determine if it produced a better fit to the observations.

    Tips: The outer loops appear as a list at the end of the yaml file. In Yaml lists are denoted with dashes. The fit to observations can be determined by looking at Jo/n in the log, by plotting convergence of Jo and looking at innovations.

  3. How are these results affected by removing AMSU-A from the assimilation?

    Tips: In order to plot the increment again you will need to rerun the diff states test to do analysis minus background.

Part II - Convert the hyb-3DVar.yaml to FGAT

  1. Starting from the hyb-3dvar_gfs.yaml configuration convert the script to run FGAT. FGAT is like 4DVar in the way the nonlinear model is used in the cost function and like 3DVar in the way the increment is handled.
Tips: The cost function is “4D-Var”. The background and ensemble time need to be shifted backward by 3 hours (from 2018-04-15 000000 to 2018-04-14 210000), as does the window beginning time. The model time step should be reduced to 1 hour. Change the output names to avoid overwriting your 3DVar experiment.
  1. Experiment rerunning all the diagnostics you ran for 3DVar bearing in mind the different time that the analysis is valid.
Tips: You need to modify the Yaml before differencing the states.

Part III - Convert FGAT to 4D-Var

  1. The difference between FGAT and 4DVar is only in the linear model and the variable change needed to go from the increment to the variables needed by the TLM and adjoint. You have to turn on the proper versions of these. The Yaml configuration for the actual linear model is:
linearmodel
  varchange: 'Analysis2Model'
  name: 'FV3JEDITLM'
  version: FV3JEDITLM
  nml_file: Data/fv3files/input_gfs_c12.nml
  trc_file: Data/fv3files/field_table
  nml_file_pert: Data/fv3files/inputpert_4dvar.nml
  tstep: PT1H
  variables: ["ud","vd","ua","va","t","delp","q","qi","ql","o3mr"]
  lm_do_dyn: 1
  lm_do_trb: 0
  lm_do_mst: 0
  trajectory:
    variables: ["ud","vd","ua","va","t","delp","q","qi","ql","o3mr"]
  1. Again generate the increment files and run the diagnostics to compare with the 3DVar and FGAT type systems.

Part IV (optional) - add more radiances

If you get done with the above and have time, experiment with adding more radiances to one of your variational applications. Following the AMSU-A example look through the UFO test files and try to work out how to assimilate observations of one of the infrared instruments, e.g. AIRS or IASI in the variational application.