Skip to content
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

Error compiling the 'm4ago' module #474

Closed
YanchunHe opened this issue Feb 4, 2025 · 6 comments · Fixed by #475
Closed

Error compiling the 'm4ago' module #474

YanchunHe opened this issue Feb 4, 2025 · 6 comments · Fixed by #475
Assignees

Comments

@YanchunHe
Copy link
Collaborator

I am creating a case with NorESM2.3-develop branch. And seems it has problem linking the 'M4AGO' module in HAMOCC.

Maybe it links to this update: #468 ?

Some more error information:

./NorESM2.3/components/blom/hamocc/mo_hamocc_init.F90(69): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MO_M4AGO_HAMOCCINIT]

./NorESM2.3/components/blom/hamocc/mo_hamocc_init.F90(184): error #6406: Conflicting attributes or multiple declaration of name.   [INIT_M4AGO_NML_PARAMS]

./NorESM2.3/components/blom/hamocc/mo_hamocc_init.F90(185): error #6406: Conflicting attributes or multiple declaration of name.   [INIT_M4AGO_DERIVED_PARAMS]

./NorESM2.3/components/blom/hamocc/mo_hamocc_init.F90(69): error #6580: Name in only-list does not exist or is not accessible.   [INIT_M4AGO_NML_PARAMS]

./NorESM2.3/components/blom/hamocc/mo_hamocc_init.F90(69): error #6580: Name in only-list does not exist or is not accessible.   [INIT_M4AGO_DERIVED_PARAMS]

blom built in 170.232830 seconds
ERROR: BUILD FAIL: blom.buildlib failed, cat ./noresm/NHISTfrc2_OC25_20250203/bld/ocn.bldlog.250204-101945
xx@betzy:./NorESM2-MH/cases/NHISTfrc2_OC25_20250203

Some information on the model version.

$ git branch -a
* noresm2_3_develop
$ git log
commit 8e716d68838fd5b6f8ebb485338d7afc927dc52a (HEAD -> noresm2_3_develop, origin/noresm2_3_develop)
Author: Tomas Torsvik <[email protected]>
Date:   Fri Jan 3 14:25:14 2025 +0100

    Update BLOM tag to v1.6.6 (#621)

$ cat Externals.cfg
[blom]
tag = v1.6.7
protocol = git
repo_url = https://github.com/NorESMhub/BLOM
local_path = components/blom
externals = Externals_BLOM.cfg
required = True

Could you please have a look? Thanks in advance! @jmaerz @TomasTorsvik

@jmaerz
Copy link
Collaborator

jmaerz commented Feb 4, 2025

Hi @YanchunHe , could you enter ./components/blom/ and

  • show the BLOM Externals entry
  • have a look, what git status is telling you

My suspicion is that you probably need to carry out a git submodule update in ./components/blom/... - but it would be good to know, if something is wrong with the Externals BLOM file.

Maybe you can provide the path so that I can have a look.

@YanchunHe
Copy link
Collaborator Author

OK, thanks! @jmaerz

Looks indeed I need to do a submodule update.

The M4AGO is dev-1.0.1 instead of intented v1.1.1

But doing a git submodule update seems to be tricky until it is told so. Is this documented somewhere?

$ git status
HEAD detached at v1.6.7
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   pkgs/M4AGO-sinking-scheme (new commits)
$ cat Externals_BLOM.cfg
[CVMix]
tag = v0.98-beta
protocol = git
repo_url = https://github.com/CVMix/CVMix-src
local_path = pkgs/CVMix-src
required = True

[M4AGO]
tag = dev-1.0.1
protocol = git
repo_url = https://github.com/jmaerz/M4AGO-sinking-scheme
local_path = pkgs/M4AGO-sinking-scheme
required = True

[externals_description]
schema_version = 1.0.0

@jmaerz
Copy link
Collaborator

jmaerz commented Feb 4, 2025

Hi @YanchunHe , I don't know the internals of cime that well - I would have expected that there is an automated update check, somehow (e.g. re-running ./manage_externals/checkout_externals). Maybe @TomasTorsvik knows more, how that is supposed to work with cime. Other than that, in NorESM2.3, this can be achieved via git submodule commands. Note though, that in NorESM2.5, currently the git fleximod is used/applied instead (we try to support it via an entry in .gitmodules). This is little documented thus far.

@TomasTorsvik
Copy link
Contributor

@YanchunHe , @jmaerz
For NorESM2_3_develop we should still be using the manage_externals setup. We are planning to replace the v1.6.X tag with v1.7.X for NorESM2.3.1, but currently NorESM2_3_alpha01 is still using the v1.6.X tag.

For isopycnal BLOM configuration, v1.6.X and v1.7.0 should give same results.

@YanchunHe
Copy link
Collaborator Author

YanchunHe commented Feb 4, 2025

Oh, I forgot to mention, that I was using the NorESM2.3 tag, but manually changed blom from v1.6.6 to v1.6.7, which likely leads to the problem.

As we can see, git submodule update should not work, since in Externals_BLOM.cfg, M4AGO is still pointing to dev-1.0.1.

Is this v1.6.6-v1.6.7 update important? Otherwise, I should stick to just blom v1.6.6, right?

As I can understand, Externals_BLOM.cfg in BLOM v1.6.7 should be updated to point to M4AGO v1.1.1. (it is up-to-date in the BLOM master).

@TomasTorsvik
Copy link
Contributor

@YanchunHe - Yes, I think we should update BLOM v1.6.X with the M4AGO v1.1.1 tag as well. I will update the Externals_BLOM.cfg file and make a new tag.

The update from v1.6.6 to v.1.6.7 is not essential unless you work on something specific for M4AGO, as M4AGO is currently an optional addition (@jmaerz - please correct me if I'm wrong). You can safely use v1.6.6with NorESM2.3.

@TomasTorsvik TomasTorsvik linked a pull request Feb 4, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants