Yannick opened by announcing that there were three presentations from Dan, BJ and Benjamin. 

Dan's Presentation

Dan gave a summary (see slides above) containing the motivation for using static B matrices, a brief summary of how they work, and the approaches that we are taking to evaluate and chose from several implementation options. A hybrid approach that combines a static B with a flow-dependent ensemble B has had proven success in improving forecast accuracy.  It's common practice to convert u, v (unbalanced) to stream function, velocity potential (more balanced), which eliminates cross covariances, as a step in the construction of the horizontal components of the static B matrix.  This is done through variable transformations represented by a series of K operators. The vertical component can be handled by BUMP. The u,v conversion involves a Poisson solver.

Currently, the MPAS-JEDI group is looking at doing the u,v conversion using FEniCS and NCL libraries; the FV3-JEDI group is looking at developing our own Poisson solver, based on the FEMPS library, to do the u,v conversion; and Benjamin has developed the ability to do vertical regressions using BUMP.

FEMPS code was refactored to fit into the JEDI framework and is running to completion, but not quite working properly yet. This work is in an FV3 repository and includes a unit test. Check the slides for details of the test and for timing information.

Chris S asked about spherical harmonics approach, which offers some advantages, and added that the Met Office is also interested this approach (seconded by Marek). Yannick and Dan both responded that the spherical harmonics approach will be investigated.

Chris S then asked about requirements of the FEMPS based solver in regard to ordering by lat, lon values. Dan replied that there is no specific ordering requirement inherent in the solver method, but the FEMPS implementation has some assumptions about ordering that need to be followed.

Tom asked how ATLAS can help and whether ATLAS has a Poisson solver. Dan responded that ATLAS could be useful for transforming unstructured grids, and that ATLAS does not provide a Poisson solver.  But ATLAS is working toward a spherical harmonic capability; currently they use proprietary FFTs for this (so the code is not public) but they have plans to implement FFTW.  If they do implement a spherical harmonic capability in their open-source code this could be another useful option for a Poisson solver.

In response to a question, Dan added that this code is not yet ready for GSI multivariate correlations. 

BJ's Presentation

BJ is taking a multivariate approach (psi, chi, T, ps, q). Check the slides for details of the method, and test results. BJ wrapped up his talk with some questions about BUMP capabilities, so please check his final slide for these questions.
It was asked if BJ had timing numbers for his tests. BJ responded by noting that FEniCS is slow due to using an LU solver, and that it can go for 200-300 iterations without convergence. BJ reported some timing numbers and it was determined that the speed of execution is comparable to Dan's FEMPS approach.

Benjamin's Presentation


Benjamin gave a summary of how the vertical balance operator works, along with its implementation in BUMP. Benjamin has a pull request (Technical developments in BUMP) under review in SABER containing this functionality plus more improvements in BUMP. Check his slides for information on new YAML configuration keywords, and where the vertical balance code is located. Benjamin wrapped up with the status of the vertical balance code, and future steps.

Tom asked if the length_scale parameter is ad-hoc. Benjamin responded, yes, and it came about from balancing different characteristics of the algorithm.  But, he added that the results are not very sensitive to the precise value of the averaging length scale, within a reasonable span of values.

Q & A

The ocean model (SOCA) has a static B implementation so some discussion ensued about what are the methods used by SOCA. Guillaume mentioned that their static B matrix is based on the physics of their particular models which led to a simpler solution. They may look into a more general solution in the future.  But, they are happy with the static B they currently have, which was done in collaboration with Benjamin and makes use of bump correlations.

It was asked if we plan to compare results with GSI, and if we are considering leveraging what is being done in GSI for static-B. Yannick and Tom responded to these comments saying that if the results in JEDI look similar to GSI, that is probably good enough. We want to avoid pushing for bit-wise matching. We are planning on comparing with GSI, and should be ready to do so around the beginning of 2020. We will want to do these comparisons and then act accordingly for any issues that come up.

Marek asked if anyone has done a change of variables with moisture quantities. Yannick replied that the infrastructure exists in JEDI to do this, but no one has actually tried moisture yet.

During a discussion about the need to parallelize the multigrid method in FEMPS, Tom added that this might be useful for other things as well - not just static B.



  • No labels