Yannick opened the meeting announcing that today will be a general update.

Yannick announced that he is planning on having a miniature virtual code sprint next week for synchronizing models with a number of PRs in the queue. He mentioned that an email has gone out to folks announcing this, and that he will send another email soon with the agenda for the code sprint. Later in the meeting it was noted that next week is Easter week which is a holiday in the UK, and it was asked if the sprint would include the task of updating models to the new getValues class structure. The getValues update is enough work that it might warrant a separate instructional meeting or mini code sprint. The mini code sprint will take place over a single day, and Yannick will set up a Doodle to poll people on when the best day in the near future will be to hold the sprint. Yannick also mentioned that the tasks for code sprint should be independent of each other (ie, they don't have to go in any particular order).

We then went around and collected updates from everyone.

David S (Met Office) asked about the status of ODB. ECMWF has recently released ODC (C++, Fortran API giving access to ODB files) and pyodc (Python API, access to ODB files). These are public repos on the ECMWF public github site. We still have both netcdf and ODB working in the system. The meeting to decide between netcdf or ODB should occur in the near future.

Steve H reported that recent PRs (oops, ufo) accidentally introduced incorrect results in departure values and consequently broke some model tests. This involves ioda test files that contain variables with "@ObsBias" group names. Note that tests which are assimilating AMSU-A, Sonde, Satwind, or IASI data are subject to this fault. For the short term, there are two sets of PRs in ufo and ioda that will fix this. The first set has already been merged in and the second set will likely be submitted today. In the long term, the solution is to get the automated model testing feature enabled in the JEDI continuous integration flow. See this posting in the github jedi-models discussion group for details and instructions.

Kristin (Met Office) is working on updating LFRic to use the new getValues classes. She asked about a good starting point in the repos, given the issue with the ioda test files. It was determined that since her work will be in LFRic related repos, that she can use the feature branches associated with the second PR mentioned above as a starting place. Instructions have been posted in the jedi-models posting mentioned above.

Steve V is working on the modifications in MPAS for the new getValues classes.

Anna asked if it would be helpful to have a meeting for those working with the new getValues classes where the work of updating model interfaces could be discussed. Chris H is starting to look at this with the shallow water model, and he expressed that such a meeting could be useful. Steve V added that a one-day code sprint might also be useful.

Chris H has a PR under review that contains improvements to background covariances with the shallow water model. He is moving from a diagonal covariance matrix to one containing intra-variable covariances with a Gaussian rolloff. Chris asked for help with reviewing the PR, especially if someone knows of a particularly suitable reviewer to please assign them.

Chris asked for help/advice with the shallow water initialization. The shallow water model exhibits damping (non-ergodic), and he needs to initialize the fields such that they won't attenuate too much by the time the DA cycle completes.

BJ is working on multivariate background covariances with MPAS. He asked for the status of the fix for an issue in BUMP when calculating cross variable covariance. BJ is also working on diagnostics with a 20 member ensemble using radiosonde observations. He is experimenting with length scale and getting somewhat reasonable results, which require more validation. He plans to increase the number of members, and is focused on making the diagnostics more robust. Yannick added that we need to develop a means for sharing diagnostics between multiple models.

Sergey is working toward two PRs that enable LETKF in SOCA first (this week), followed by FV3 (next week). Chris S asked why there are model updates when LETKF should be independent of models. Sergey answered that the primary piece that is model dependent is enabling a grid iterator class, which helps with horizontal (working now) and vertical selection (to be added in the future) of obs. 

Sergey asked for an update with the real time H(x) application. Yannick and Mark O responded by reporting that we are days away from having the initial functionality working with FV3-GFS and FV3-GEOS. The real time H(x) app can accommodate any model that can provide a background. Travis is helping get SOCA integrated, and the plan is to do MPAS after that. Later in the meeting it was mentioned that we want to get WRF integrated as well. Sergey mentioned that he would like to get UFS integrated, and Mark O responded that a JEDI interface for UFS and the ability to provide a background would be required.

Ming is comparing H(x) between using WRF in JEDI and the GSI Observer. He is running into crashes when the grid gets large (400 x 400 is completing, 1800 x 1006 is crashing). Ming mentioned that the model is using 50 levels, and the crash appears to be occurring in "geo setup" where BUMP is allocating fields. Yannick recommended to have Benjamin help Ming debug this issue. Chris S asked Ming to submit a ZenHub issue about this so others could follow along. Mark O mentioned to Ming to let Mark know when WRF is working so that Mark can help with getting WRF integrated into the real time H(x) application.

Jake is working on the C++ interface to RTTOV. He has forward operator and "O minus B" running. He is stuck at the adjoint and asked for help with C++ initialization. Some discussion ensued and it was noted that we currently don't allocate GeoVaLs at the critical point in the flow because the number of model levels is not available (to GeoVaLs) via C++. There are some C++ methods that need to be added to fix this, and this is work in progress.

Steve S is developing ensemble H(x) test for LFRic, and has run into an MPI related issue. When initializing the model through the Geometry class, there is no access to which ensemble member is currently being initialized. Steve mentioned that the problem is occurring in a "run" method in the model initialization. Clementine responded that the same issue came up in FV3 where the first run doesn't know the MPI partitions. Clementine offered to help Steve with getting this issue resolved.

Marek is working on halo exchange code which needs more testing. It is working for the non-linear case and Marek wants to make sure the adjoint is working since the adjoint has additional conditions that need to considered (e.g., make sure that race conditions do not occur).

Mark M announced that modules are now working on Discover using the new SLES12 operating system, and the Discover IT team is encouraging everyone to switch to the SLES12 OS. Instructions on how to access the SLES12 OS are in a PR in jedi-docs, and will be available soon (update: they are now published).

Mark M is also working on a HPC (multi-node) Singularity container for Intel compilers which is not quite ready yet.

Yannick closed the meeting announcing that next week will be a special topics meeting. Wojciech will present his new Parameter classes including examples of how to use it. Yannick reminded anyone with a special topic idea to send that to a core team member, or submit a "weekly meeting" ZenHub issue in jedi-docs.

  • No labels