Yannick opened the meeting announcing this week will be a general update. He added a response from a request made last week to record the special topic meetings. Yannick explained that he is reluctant to start recording these sessions because he wants the format to remain informal plus there are some logistical issues such as getting permission from everyone to make the recording. He is concerned that if we start recording sessions that might discourage people from making comments and asking questions. However, Yannick offered to reconsider this position if there are strong arguments to make the recordings and, if that is the case, please contact Yannick to discuss this further.

Yannick announced that when we do general updates, the first part of the meeting will be expanded to include updates from all the project leads (outside of the JEDI AOP categories).

JEDI 1 (Infrastructure)

Mark M presented the following summary.

JEDI 1 Summary

We had a meeting yesterday of the JEDI 1 core team (Steve, Maryam, Mark O, Mark M).  The main agenda item was a presentation by Mark O on his work profiling the fv3-jedi Hofx application on S4.  Profiling tools that he is assessing include Vtune, Callgrind (an offshoot of valgrind that tracks where, when, and how often functions and subroutines are called), and Massif (another valgrind offshoot that tracks heap memory usage).  These are useful tools for deep dives into performance for moderate runs with a limited number of MPI tasks.  But, he is also assessing other potential tools that can be scaled to thousands of MPI tasks and that are portable across HPC systems.  We will have a focused topic discussion at some point in the future on this optimization work.

In other updates, Mark, Maryam, and Claude (maybe others?) have been attending the ECMWF Workshop on Weather and Climate in the Cloud this week.

Maryam is also working on how best to implement the new handling of test data through the ioda-data and ufo-data repositories.  At issue is whether to do this with explicit git calls in get_test_data scripts or to handle it through cmake in the bundles.  We'll discuss this further and make a decision on how to proceed at the next JEDI 1 meeting.

Steve continues to work on performance issues with the ioda-engines integration, as covered in the JEDI 2 update.

The issue and pull request templates in GitHub/ZenHub are broken.
New templates have been defined for the JCSDA-internal GitHub organization.  The issue templates include explicit fields to be filled out when you create a general issue or report a bug.  You'll see these if you create an issue from GitHub.  However, ZenHub does not recognize organization-wide issue templates using the new GitHub format.  The issue has been raised with ZenHub, but we don't expect this to be fixed any time soon.  So, we may have to copy these issue templates into each repository for them to become effective.

Since pull requests are typically created from GitHub rather than ZenHub, the organization templates *should* work.  But, it seems they do not, so Mark M will look into debugging this.

Chris H commented that some users will leave in the prompts (instead of replacing them) in the pull request template. There isn't an automatic method for cleaning up the prompts, but Travis suggested that there might be a way to look for certain keywords that would indicate the prompt was left in and notification could be sent (via a webhook). The primary way to deal with this is for everyone to get into the habit of replacing the prompts with their responses to the prompts.

Mark M added that there exists a repo (https://github.com/JCSDA-internal/.github) that contains the PR and issue templates. The .github folder in this repo can be copied to other repos in order to get the templating to work again.

JEDI 2 (Observations)

Ryan gave the following summary.

JEDI 2 Summary

JEDI2 met yesterday. Meeting notes are at [1]. There were two parts to this meeting. First, Steve presented draft guidelines for writing IODA converters [2]. The guidelines focus mostly on technical details, such as how to best write strings, appropriate data types for variables, and setting appropriate dimensions for data. This should eventually become part of the schema defining the organization of a valid ioda file.

For the remainder of the meeting, we looked at ZenHub roadmaps to see where we are in terms of the ioda release and to see which issues are best moved to AOP21.

Several group members reported contributions, which are summarized here:
        • Anna created a converter to turn gsi's satbias_in files into ioda files. This gets rid of iostream code in ufo and allows us to refer to bias predictors by their proper names. Previously, names were hardcoded whether they were valid or not.
        • Anna also has propagated the bias correction code inside of the ObsOperator::simulateObs function. This means that our HofX output fields now contain the result of a particular observation operator plus any bias correction. Formerly, the raw output and bias were computed and stored separately.
        • Steve has submitted a draft PR linking ObsSpaces with ioda engines, and is halfway through optimizing the code. He has also produced bug fixes for the Halo obs distribution and other parts of ioda.
        • August has been working on option-parsing code for the ODB engine. He will look at the EMC bufr code in ioda_converters and see if the parsing code can be adapted for his purpose. If so, then this code could be generalized and moved into ioda.
        • Chris has two pull requests for profile vertical averaging. One is merged, and one is in review.
        • Neill's PR on profile background checks is now merged.
        • Wojciech has added a new action to the UFO QC code. This action, "accept", is the opposite of "reject". He also added support in the ObsDiagnostics code for storing background error estimates, and also created a new, composite, observation operator that acts as a wrapper for multiple operators.

Links:
[1] - https://docs.google.com/document/d/10nhcaKYcYM9_B6yO6c2rJQUINmfH9f7-5aoeOdyyiGQ
[2] - https://docs.google.com/document/d/1pLV5P5R_AtEDgwNDWQcWmoTk9ksd9J9SQiiMt4CgA_U2 Attachments


David S commented that the new bias correction code give access to O-minus-B with correction applied. He then asked if we can also get access to the uncorrected O-minus-B. There was some discussion and it was confirmed that, although the uncorrected O-minus-B itself was not available, the bias correction is available giving you the ability to work out the uncorrected O-minus-B from the available pieces.

JEDI 3 (Models)

Since Dan was on paternity leave, Yannick asked for updates from the model teams. However, none were given.

JEDI 4 (DA Methods)

Clementine gave the following summary.

JEDI 4 Summary

Benjamin: working on a way to parallelize vertical balance estimation for large ensembles for long periods of time. Has PRs in saber and model repositories introducing barycentric Lagrange interpolation

BJ: issued PR for linear variable change in mpas-jedi, converting pseudo RH to specific humidity (so pseudoRH could be used for covariances). Nancy added that NRL uses pseudoRH as the humidity variable, and they are open to discussion on this. Nancy also noted that the disadvantage of using pseudoRH is that it introduces background dependency.
BJ: has a PR in oops adding an option to skip the nonlinear Jb evaluation.

Clementine: working on some minimizer bug fixes, and diagnostics for block Lanczos minimizer.

JJ: running experiments with EDA with mpas-jedi.

Marek: has added time interpolation in um-jedi. Plans to add a generic time interpolation in oops; probably not until late March-April.

Nancy and Sarah: work on neptune refactoring, and catching up to changes in JEDI interfaces.

Olly: works on code for transfering atlas fields from a functionspace partitioned in one way to a functionspace partitioned in the other way.

Sergey: discussed plans for a reanalysis configuration; the initial runs would use JEDI in the ocean, LETKF-JEDI in the atmosphere and JEDI land data assimilation. Continuing to work on Halo distribution update in oops.
Wei and Sergey are also looking at LETKF performance and are profiling LETKF code.

JEDI 5 (Documentation, Support, Training)

No update at this point.

CRTM

Ben Johnson announced that CRTM v2.4 is now released. This expands upon v2.3 including features such as OpenMP over profile loop (OpenMP over channels loop is coming next), corrections, bug fixes and science enhancements. See the following link for more details about the v2.4 release: https://www.jcsda.org/crtm-release.

SOCA

Guillaume gave the following summary.

SOCA Summary

The Travis-CI build/test flow is broken. The GSL library is not being found. One thing to note about the SOCA build is that the components ufo and ioda are built in separate bundles and this issue is related to that fact. Because of this, the other model CI build/test flows are not impacted. (Note, since this meeting, this issue has been resolved.)

Travis is working on an EWOK for SOCA flow. He is anticipating results related to reanalysis by the end of March.

EMC is helping with GEOS CICE interface development.

Hamideh is working on CRTM related development for ocean obs.

UFO QC and Filter flows are being developed for ocean obs.

Yannick suggested that the SOCA team solicit help from the OBS team with methods for verifying their ocean obs UFO and QC filters. 

LAND DA

Andy F expressed gratitude for this forum which has been most helpful in exchanging information between his team and other teams during their development of the National Water Model interface. He also presented the following summary.

LAND DA Summary

The Water Model interface is making good progress with activities including B-Matrix localization, grid simulation, Travis-CI configuration, and ioda converters for land obs ingest.

Youlong has developed land obs ioda converters (Python scripts).

Sergey has helped with the integration of surface elevation into land obs, primarily for downstream LETKF analysis.

Next steps include UFO operators for snow pack and UFO QC for snow depth.

OBS

Dick D gave the following summary.

OBS Summary

Three weeks ago, results from the large OBS code sprint effort were presented in the Thursday special topics meeting. (See https://wiki.ucar.edu/display/JEDI/2021-01-21%3A+OBS+Update for details.) These results show ability to replicate what GSI does starting with GSI ncdiag output. The next step is to move upstream and ingest obs provider data directly (bypassing the ncdiag path). This will involve ioda converter development.

Work is under way related to the NOAA Data Lake project. This is a project that provides public facing data sets. Different cloud storage options are being investigated, including Amazon, Microsoft and Google clouds. R2D2 will be able to connect to this, and will provide obs data. A method of grabbing data and converting on the fly is being investigated.

A new hire, Rachel Schweiker, is working on diagnostic tools. She will be consolidating various existing solutions into a Jupyter notebook based diagnostics system.

Greg is working on ioda converters for conventional obs. Greg acknowledged that Ron McLaren (EMC) has provided a solid foundation for a common BUFR converter. Ron has focused on radiance obs types, and Greg will expand on Ron's converter to add in conventional obs types. Nan is working on adding in more radiance obs types to Ron's converter.

Chris S asked if prepBUFR is being considered with Greg and Nan's work. Greg responded yes, and mentioned that Ron's converter can be configured to handle prepBUFR. Greg added that the tricky part with BUFR conversion is that the names and layout are not standardized. For example there are three different ways to specify station elevation (which results in three different mnemonics in the BUFR files).

General questions and updates

The reports from the JEDI AOP and project leads had concluded, so Yannick opened the floor to anyone in the group.

Chris S asked if both EWOK and R2D2 will be covered in next week's special topic discussion. The answer is yes. Chris then mentioned that NCAR is especially interested in EWOK and wanted to make sure there was enough time for questions on EWOK. Yannick responded that we will dedicate more time for EWOK in the session.

At this point there were no more questions or updates, so Yannick closed the meeting. Yannick reminded everyone that next Thursday is a special topic discussion covering EWOK and R2D2. 

  • No labels