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
/Eigen/…/…/Eigen/Core:326

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 https://github.com/JCSDA/mpas-bundle 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.