ufs-community / UFS_UTILS

Utilities for the NCEP models.
Other
21 stars 105 forks source link

Port ufs_utils for GEFSv12 to WCOSS2/Acorn #552

Closed XianwuXue-NOAA closed 2 years ago

XianwuXue-NOAA commented 3 years ago

Port based on tag: ops-gefsv12.1

edwardhartnett commented 3 years ago

Not sure what "port based on tag" means. Are there changes that will be merged to master?

Instead of a tag, we need to do a proper release.

XianwuXue-NOAA commented 3 years ago

Yes, the tag is for GEFS v12.1. It is better to create a release branch (release/gefsv12) for the porting. Regarding merging into master, after I ported to acorn, you can decide whether it is merged to master or not. BTW, the lib name was changed in acorn. So if you want to merge into master, we should make it more general to be compatible with all machines.

edwardhartnett commented 3 years ago

We must do a release, and it must be done in a backwards-compatible way. If you wish to have an extra tag, that's fine, but it also needs to be a versioned release.

What library name was changed?

XianwuXue-NOAA commented 3 years ago

I agree. Please create a release branch for us based on tag: ops-gefsv12.1

On acorn, some libs do not have libName_4, such as gfsio, sfcio, bacio, and sigio, maybe NCO will install it later. So I modified the CMakeLists.txt files to delete the _4. In CMakeModules, the "versioned_libname" is changed to ${name} instead the original "${name}${version}". However, since this is the first try, I may find other better method to make it work. Welcome all suggestions for this porting. I will push my changes tomorrow and then you will see my changes.

edwardhartnett commented 3 years ago

@GeorgeGayno-NOAA looks like this will be the 1.6.0 release. We need to point the tag and the release at the same hash in the repo. Best would be to do a release, then add the extra tag.

XianwuXue-NOAA commented 2 years ago

@GeorgeGayno-NOAA 1) Based on your the issue "Can we remove wgrib2 from the dependencies? #591", so I should remove wgrib2 and use g2, however, this will make some code changes from your repo. Should I do this? 2) I found the latest ufs_utils does not use submodule "CMakeModules" and just have a copy in the branch, can I also remove the CMakeModules submodule and add the copy of CMakeModules as "cmake" folder?

GeorgeGayno-NOAA commented 2 years ago

@GeorgeGayno-NOAA 1) Based on your the issue "Can we remove wgrib2 from the dependencies? #591", so I should remove wgrib2 and use g2, however, this will make some code changes from your repo. Should I do this? 2) I found the latest ufs_utils does not use submodule "CMakeModules" and just have a copy in the branch, can I also remove the CMakeModules submodule and add the copy of CMakeModules as "cmake" folder?

To answer (1), I am currently working to convert chgres_cube to use g2. It is a lot of work. So I would not worry about it.

GeorgeGayno-NOAA commented 2 years ago

@GeorgeGayno-NOAA 1) Based on your the issue "Can we remove wgrib2 from the dependencies? #591", so I should remove wgrib2 and use g2, however, this will make some code changes from your repo. Should I do this? 2) I found the latest ufs_utils does not use submodule "CMakeModules" and just have a copy in the branch, can I also remove the CMakeModules submodule and add the copy of CMakeModules as "cmake" folder?

To answer (2), you are welcome to change the build if it makes the port easier. Will this WOCSS2 'tag' be used on other machines? If so, you will need to test the updated build on all required machines.

XianwuXue-NOAA commented 2 years ago

@GeorgeGayno-NOAA Thanks. OK. That means I don't need to change g2 for this time. I think the WCOSS2 tag only for WCOSS2 machine. I didn't change the confirmation for other machines. However, some changes for FindXX maybe affect other machines. Since Kyle closed my issue https://github.com/NOAA-EMC/CMakeModules/issues/53 and think my branch used the out-of-date version of CMakeModules, so I'd like to keep the copy of CMakeModules as cmake folder in the repo.

XianwuXue-NOAA commented 2 years ago

@edwardhartnett @GeorgeGayno-NOAA Could you create a branch release/gefs_v12 based on tag: ops-gefsv12.1? I'd like to submit PR to this branch. Thanks a lot in advance.

GeorgeGayno-NOAA commented 2 years ago

@edwardhartnett @GeorgeGayno-NOAA Could you create a branch release/gefs_v12 based on tag: ops-gefsv12.1? I'd like to submit PR to this branch. Thanks a lot in advance.

Thanks. Let me discuss with @edwardhartnett about how to best do this.

GeorgeGayno-NOAA commented 2 years ago

Not sure what "port based on tag" means. Are there changes that will be merged to master?

Instead of a tag, we need to do a proper release.

@edwardhartnett Agreed. The original tag was created from an old version of 'develop' and used our old naming convention, which included the name of the process it supported. In this case, the GEFS. Once it is ported to WCOSS2, we can create a new release. How should we name this releases. Something like ops-gefsv12.2?

GeorgeGayno-NOAA commented 2 years ago

@XianwuXue-NOAA I see two branches in your fork - feature/port2acorn_ops-gesfv12.1 and feature/port2acorn_ops-gesfv12.1_cmake2. What do you want tagged?

XianwuXue-NOAA commented 2 years ago

@GeorgeGayno-NOAA could you create a new branch as "release/ops-gefsv12.2" based on tag "ops-gefsv12.1" (commit id: "1b44601" on "Tue Oct 6 20:21:33 2020 +0000"). Then I will submit a PR to merge my branch "feature/port2acorn_ops-gesfv12.1" into the new created branch "release/ops-gefsv12.2". After the PR approved, then create a new tag "ops-gefsv12.2" based on the merged branch "release/ops-gefsv12.2". Thanks.

GeorgeGayno-NOAA commented 2 years ago

@GeorgeGayno-NOAA could you create a new branch as "release/ops-gefsv12.2" based on tag "ops-gefsv12.1" (commit id: "1b44601" on "Tue Oct 6 20:21:33 2020 +0000"). Then I will submit a PR to merge my branch "feature/port2acorn_ops-gesfv12.1" into the new created branch "release/ops-gefsv12.2". After the PR approved, then create a new tag "ops-gefsv12.2" based on the merged branch "release/ops-gefsv12.2". Thanks.

I created the release branch.

XianwuXue-NOAA commented 2 years ago

Awesome. Thanks. @GeorgeGayno-NOAA

GeorgeGayno-NOAA commented 2 years ago

@XianwuXue-NOAA Your tag is here:

https://github.com/ufs-community/UFS_UTILS/releases/tag/ops-gefsv12.2