Land UFS (Andy)

Andy provided the following report via email:

  • Land update:

    Presentations last week at AMS from Clara Draper, Youlong Xia and Jiarui Dong on their UFS developments, and a long with Mike, Azadeh and Zhichang - in a nutshell ->

    Completed towards the end of last year:

    1. Developed code to apply snow depth increments to Noah-MP model

    2. Developed a workflow to apply JEDI LETKF-OI increments within the UFS

    3. Developed a workflow to calculate and apply JEDI LETKF-OI increments in an offline version of Noah-MP

    Currently working on:

    1. Testing and evaluation of the above, then will test in Jeff's replay experiments

    2. Developing a workflow to calculate and apply JEDI  *ensemble* DA increments in an offline version of Noah-MP

    3. Development of workflow for *ensemble* forcing in offline version of Noah-MP

    4. early stages of SMAP soil moisture DA. With Zofia Stanley. Status: hofx, IODA converter (Youlong), initial obs. QC within JEDI

    On the WRF-Hydro side:

    Currently working on: 

    1. Soren is putting together a basic workflow using wrfhydropy

    2. Amir is investigating how to the port to the “snow disaggregation” code from the UFS efforts into this

    3. I’m dealing with a minor issue in a PR for the ioda-converter we use with the OWP snow obs

    4. Also falling a bit behind on SABER related PRs as we have a couple of test failures (which probably aren’t related to the SABER PRs, just some technical debt)

    5. Want to bring in the geometry iterator work into develop, really just need to sort out a test for that

Guillaume

  • Working on Dual-res static B (Kriti)
  • SOCA CI is broken
  • Mark Potts working on container to build UFS on JEDI
  • Build SOCA with MOMS 6 version

Jerome Barre

  • Gathering requirements from different agencies
  • Updated the convention table for IODA
  • Issued PR for new converter
  • Has entered some issues with converters, which are documented on Github

OBS Team

Ben Ruston

There are some upcoming important design meetings

  1. Regarding Extra dimension for Observations. Right now using channels for aerosols, but this isn’t ideal.
  2. Also, the issue from Jo Waller regarding variable transforms


OBS1

Testing different OBS types. Gathering data.

(Hui not present)


OBS2 (Francois V.)

  • Had a meeting with AWS to get help with integration
  • Working to resurrect the near-realtime website
  • Fabio has a PR that will be merged soon.

OBS3 (Ryan H.)

Email from Ryan:

I guess it was our turn to break soca this week. Apologies to Travis and Guillaume. We need better automated testing to ensure that this doesn't happen. Here's how we broke it: We have been adding the capability to validate obs files to make sure that they match the JEDI Data Conventions, and IODA now uses the udunits library as part of this validation. It's been a required part of the stack for over a year. However, a recent PR backfired because jedi-cmake needed a udunits find_package script for downstream packages like soca. We merged one PR as a quick fix to jedi-cmake, and may need one or two more to fully address.

We have been developing new unit-aware and missing value-aware math wrappers for Eigen arrays. We want to do this to simplify the logic in UFO's filters. Up until now, developers have had to manually check for missing values and correct units when writing filters and obs functions. This has been tedious, is bug-prone, and results in really long and hard to review code. An initial PR was merged in this week, and we expect to develop the feature further before we host a general OBS-wide filter cleanup later this year.

Chris Thomas' PRs to enable WYSIWYG filter ordering have been merged into oops and ufo. You now have the option of explicitly specifying "obs pre filters", "obs prior filters", and "obs post filters" in your YAML.

The UKMO had a sprint reversing the GeoVaLs vertical ordering. We've all heard about it plenty this month. As a sprint byproduct, though, the obs team have been discussing a proposed removal of the AtmSfcInterp operator. We've decided to keep the operator until a replacement is available.

For ioda-converters, Hailing made a PR to update our Fortran GNSS-RO converter to write IODA-v2 files. Now that this is in, ncar-bufr2ioda, gnss-ncdiag2ioda, and the viirs converters are the last converters in the repository that still writes IODA-v1. I'll note to everyone that in Fortran we do not use ioda to write out ioda files; we still need a ioda-Fortran capability for both converters and Fortran ObsOperators.


A discussion followed the above report from Ryan, regarding how to improve the depth of testing automation and protocols to prevent breaking the models


        Travis wants to consult with AWS to find best practices.

        Yannick says we have some testing capabilities in some repos that aren’t being used. And some tier 1 tests are too long. Maryam added that the testing capabilities need to be re-activated, as they have been disabled due to lack of use.

       Maryam also said we don’t know if we need ability to rebuild libraries as well as repositories.

       Ryan mentioned the lack of documentation of the testing capabilities. 

       Some mentioned the amount of time it takes for the automated tests to run, mostly due to how long it takes to rebuild everything. Dom mentioned that using jckit to reduce dependencies can help speed up build. Yannick mentioned forward declarations.

JEDI1 (Dom)

Dom submitted the following report via email:

JEDI STACK
- Work on spack stack continues, fv3-bundle and ufs-bundle build and run on macOS with apple-clang+gfortran + mpich; same for Cheyenne/Orion/S4 with intel+intel-mpi
- Current jedi-stack: new ECMWF components installed in all places, but default modulefiles point to the old versions
    - When do we switch the default modules to the new versions?
- Putting out lots of fires with current jedi-stack
    - Rebuilt on discover with Intel 2021.4.0 because sysadmins phased out support for previously used Intel 19.1.0.166
    - Something broke with JEDI on Hera for Cory M., Dom couldn't reproduce it with fv3-bundle
    - “New” dependency udunits for ioda - broke soca - needs PRs in jedi-cmake (https://github.com/JCSDA-internal/jedi-cmake/pull/15; merged) and IODA (https://github.com/JCSDA-internal/ioda/pull/587; changes requested)
- ioda-bundle recently updated with newer ecmwf versions; UK MetOffice (Yas) will update ufo-bundle with newer ecmwf versions
- PRs that need review:
    - https://github.com/JCSDA-internal/ioda/pull/585 (from Dom)
    - https://github.com/JCSDA-internal/jedi-stack/pull/155 (from Dom)
    - https://github.com/JCSDA-internal/fv3-jedi/pull/305 (from Maryam)
    - https://github.com/JCSDA-internal/ioda-converters/pull/771 (from Steve; Dom needs to test)

CONTAINERS/CI
- Updated UK MetOffice container, now based on our GNU container and using jedi-stack
- Currently updating the cdash server; cdash now has its own docker containers that we should consider using

IODA I/O
- Work progresses on IODA file I/O enhancements, starting with write, then look at reader
    - Output netCDF will follow JEDI conventions (which are based on CF conventions, but need many more variable names than what CF has): https://jointcenterforsatellitedataassimilation-jedi-docs.readthedocs-hosted.com/en/latest/inside/conventions/index.html
        - scitools-iris python package requires netCDF data to follow CF conventions; need to check if that works with JEDI conventions
    - MetOffice will start working on ODB writer anytime soon (plan to finish end of March)

DOCUMENTATION
- Issues with doxygen documentation: looks fine when building directly for one repository (ioda, oops), but the structure is different when building in bundle
    - We are looking into this; suggestion: tie in doxygen builds with nightly fv3-bundle builds? But building documentation takes 30-40mins.
- Documentation issue on ioda-bundle - https://github.com/JCSDA-internal/ioda-bundle/issues/31


JEDI4 (Yannick)

Testing Workflow/cycling 3DVar for FV3 GFS

Will test with Beta users this month. Plan to open it up to other users in March. Still needs documentation.

Mentioned that 3DVar is just the start and then will add more capabilities.

JEDI2/3 (Anna)

Anna submitted the following report via email:

JEDI2/3 meeting on Jan 31 hosted a focused discussion on the state of DA experiments with JEDI, and the top obstacles, with presentations by Nancy Baker, Sergey Frolov, Cory Martin, Chris Snyder, Guillaume Vernieres, followed by a discussion.
Several common issues were brought up and discussed:
- Fast rate of the JEDI generic development affecting model repositories. Some of the things touched upon in the discussion were: improving on dev/ops pipeline, testing downstream repos, more frequent releases, releases including the containers.
- Difficulty of creating/maintaining/changing YAMLs for the tests and experiments. Some of the things discussed were tools for generating yamls and yaml validation.
- Need for the common diagnostics packages.

The slides from the 1/31 presentations are attached:



Recent developments in JEDI2/3:
- Several LETKF refactorings and a fix introducing prior inflation into all the LETKF-type solvers. (Sergey Frolov)
- 3D iterator for LETKF in fv3-jedi (Wei Huang)
- Change in Geometry:atlasFunctionSpace interface affecting all models implementing this method (Benjamin Menetrier: https://github.com/JCSDA-internal/oops/pull/1610)
- Anisotropic functions in BUMP (Benjamin Menetrier: https://github.com/JCSDA-internal/saber/pull/164)
- Issue on passing configuration/parameters of the variable change used in H(x) (Francois Hebert and Anna Shlyaeva: https://github.com/JCSDA-internal/oops/issues/1611)


  • No labels