Building jedi-mpas - error in Eigen operator *

I’m trying to build jedi-mpas and have hit on an error regarding Eigen as follows:

Error message – /home/me/jedi/src/mpas-bundle/oops/src/oops/assimilation/MinimizerUtil
s.h:119:21: error: no match for ‘operator*’ (operand)

line causing the error is:
temp *= eigenvecT(jj, nn - 1 - ii);
In file included from /home/EIGEN-latest/include/eigen3/unsupported

First I did ‘ecbuild …/src/mpas-bundle’ which ran successfully.
Now ‘make -j6’ is failing as mentioned above.

Any ideas appreciated!

You are likely building with Eigen3.4.0+ version of Eigen. This is a known bug with oops and Eigen3.4.0. The bugfix came after jedi-mpas release and is not part of that release (but is part of develop).
A couple of options to fix this:

  • build jedi-mpas release with an earlier version of Eigen (Eigen3.3.* should work)
  • use jedi-mpas develop branches (this may not work well with tutorials that were written for the release version).

Thanks very much for letting me know about this bug. I’m thinking I would like to try the development branch, but not being well versed in github, I don’t know how to pull the development branch. I have been going to and then going to the green “Code” button and then on the command line, “git clone (the address that shows under the Code button)”. Please let me know how I can grab the development branch. TIA.

Would the development branch for JEDI-MPAS happen to be under ‘Releases’ where it says 1.0.1 and has a button for ‘Latest’?

The develop branch is here: GitHub - JCSDA/mpas-bundle at develop
If you are not very familiar with github, I would advise to try the other option. You can either reinstall an earlier Eigen version and rebuild jedi-mpas with that, or use a JCSDA singularity container for building the code (the container would have the versions of the libraries that work with jedi-mpas release version).

OK - I see that is not the link to the development branch of JEDI-MPAS, but just an improved README. So my question still stands - how can I pull the ‘development’ release of JEDI-MPAS, which should have the bug fix for EIGEN3.4.0+? TIA.

If you already cloned GitHub - JCSDA/mpas-bundle: CMake build configuration for JEDI-MPAS application, you can run
git checkout develop
inside the cloned bundle to change to the develop branch of the mpas-bundle.
I would not recommend using develop since it is constantly evolving and isn’t tested with tutorials.

OK - that sounds good to me. I’ll go ahead and step back to Eigen3.3.9 for now. Is there any timeline for an ‘official’ release of JEDI-MPAS that will work with Eigen3.4.0?

To my knowledge, we do not have a next planned release for JEDI-MPAS. @shlyaeva may know more about general releases for the rest of JEDI.