-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance MET to compile and link against the Atlas and ecKit libraries #2574
Comments
Note, based on a UGRID project meeting on 8/23/23, it may be the case that only the eckit library is need and not Atlas. Atlas depends on eckit but @hsoh-u may only actually be using eckit features rather than Atlas-specific add ons. At this time, recommend compiling against Proj and eckit. Note that ecKit contains tags (https://github.com/ecmwf/eckit/tags) but there are no corresponding releases created on GitHub. We'll need to note this detail in the METplus documentation. Will wait for direction from @hsoh-u as to whether or not Atlas is also required. |
Please add atlas library and eckit library. To use KDTree at eckit, more work for point data (what atlas does) should be done. |
Shifting from the beta1 cycle to beta2 since beta1 ends tomorrow. Would ideally like to complete this by the end of this week though. |
@hsoh-u I was going to take a crack at this but am wondering how I can be most helpful to you. Should I use a separate |
Either ways work. The duplicated works were done at |
Per @TaraJensen on 9/21/23, make Atlas and ecKit OPTIONAL dependencies rather than required. There is potential that we might need add an ESMF-based solution in the future. And we don't want to paint ourselves into a corner. |
During the METplus Governance Meeting on 9/27/23, @robdarvell from UK Met Office and @easatterfield from NRL both confirmed that making Atlas/ecKit optional rather than required is a good choice. This reinforces the decision last week from @TaraJensen. |
Which configuration option for ./configure?
This implies that the default is disabled |
Great question, @hsoh-u! I think my vote would be for "--enable-atlas", but I can see where one of the others would be preferred. I'm guessing that @TaraJensen and @JohnHalleyGotway would be better advisors than myself. I'm tagging them to help ensure they see your question. |
Thank you for the vote. Switching between
|
Adding @jprestop as an assignee since she'll work on updates to the |
From Downloading and building Atlas [ ecbuild ]
[ ecKit ]
Building eckit at seneca:
Note: MPI is not enabled (add [ Atlas ]
Building Atlas at seneca:
|
Reopening so that I can add the changes to the compile_MET_all.sh script. |
@jprestop is working on this on derecho. Still planning on doing this during the beta2 dev cycle by Nov 7th. |
…ince its declared as const. The GNU compiler on seneca errors out when constants are included in the shared list while the GNU compiler on my Mac laptop doesn't complain.
@hsoh-u I'm starting to update the compile_MET_all.sh script for ecKit and Atlas. I was looking in configure.ac in your branch to ensure that the environment variables were named MET_ECKIT and MET_ATLAS to specify the paths to the lib and include files and was checking for the -enable-ugrid option, but I don't see any of those in configure.ac. Do you have changes you haven't pushed yet or is that part of the work not completed yet? |
I built it yesterday from the feature branch (seneca:/d1/personal/hsoh/git/pull_request/MET_feature_2231_unstructured_grid). |
Thank you, @hsoh-u. It's good to know that I was looking in the wrong branch! I appreciate the help and the confirmation of those variables and option. |
Sorry, it's not merged into the develop branch yet (it's in review status) |
@hsoh-u No need to be sorry at all. Being in a feature branch is totally fine. I just needed to know where to find this information to confirm. :) |
…ld rather than the individual object fields. And compute pair intersection, union, and sym diff counts from the split field rather than the object fields. This avoid allocating memory for many, many copies of the input grid, which can be quite large depending on the resolution.
I have added eckit and atlas to the compilation script. I am testing on Derecho, but encountering problems with atlas being able to find ecbuild. I will be working on that today. |
That was an easy fix. On to the next problem which should also be an easy fix. Then I will check in the changes to my branch and will start updating the METbaseimage. |
Hi @hsoh-u. I checked out your branch, feature_2231_unstructured_grid, and ran bootstrap. I created a tar file to test with the changes to the compilation script. MET got through the "configure" step, the "make" step, the "make install" step, but failed on the "make test" step. I'm getting the following output in the make_test.log file:
I have attached the met.make_test.log file here: I'm not quite sure how to resolve this problem. |
The ugrid target is disabled for the "test" task. |
I am running ./build_docker_image.sh to test my changes in METbaseimage. It's taking a long time, but has been running well so far. |
This work was completed with PR #2737. |
Describe the New Feature
Adding support in MET for unstructured grids requires adding dependencies on the ecKit and/or Atlas libraries. These depend on the Proj library which is being added via MET#2669. This task is to install those libraries on the development machine, seneca, and update MET's configuration script and Makefiles to link to them. Basically, any Makefile currently linking to the vx_grid library should now also link to ecKit and/or Atlas.
Remember to update the development environment setup scripts in
MET/internal/scripts/environment
accordingly.Recommend coordinating with @jprestop to discuss the implications on the
compile_MET_all.sh
script and the various supported platforms.Recommend updating the User's Guide during this process as well to clarify the dependencies.
Acceptance Testing
List input data types and sources.
Describe tests required for new functionality.
Time Estimate
4 days?
Sub-Issues
Consider breaking the new feature down into sub-issues.
None
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
7705991 MPAS Participation
Define the Metadata
Assignee
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
New Feature Checklist
See the METplus Workflow for details.
Branch name:
feature_<Issue Number>_<Description>
Pull request:
feature <Issue Number> <Description>
Select: Reviewer(s) and Development issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version
The text was updated successfully, but these errors were encountered: