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

cmake build failure under few scenarios #1309

Open
stefanzieger opened this issue Oct 23, 2024 · 3 comments
Open

cmake build failure under few scenarios #1309

stefanzieger opened this issue Oct 23, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@stefanzieger
Copy link

stefanzieger commented Oct 23, 2024

Describe the bug
Under few scenarios cmake build system fails.

  1. Missing dependency - METIS and ParMETIS libraries build from git repository require in addition GKlib.
  2. Unable to locate file - mod_oasis.mod cannot be located when running FindOASOS.cmake
  3. Switch error - OASIS only allows FLX0 (i.e., source terms ST3 or ST4). Enhance build system to allow any combination of source terms when coupling with OASIS.
  4. Switch error - switches for sea-state dependent air-sea fluxes FLD1 and FLD2 require source terms ST3 or ST4. Proposed solution is to move the namelist parameter ALPHA0 (minimum charnock coefficient) to namelist FLD1 and FLD2 respectively.
@stefanzieger stefanzieger added the bug Something isn't working label Oct 23, 2024
@aliabdolali
Copy link
Contributor

@stefanzieger regarding missing dependency for METIS and PARMETIS, please follow instruction from the following link https://github.com/erdc/WW3/wiki/FAQs%E2%80%90page#how-to-install-Metis-and-Parmetis. We still use PARMETIS 4.3.0 and the recent version from its authoritative repo is not supported by WW3. Alternatively, you can use SCOTCH https://github.com/erdc/WW3/wiki/FAQs%E2%80%90page#how-to-install-scotch

stefanzieger added a commit to stefanzieger/WW3 that referenced this issue Oct 25, 2024
Changes
-------
 [x] GKLIB is required by METIS, and ParMETIS libraries.
 [x] FindGKLIB.cmake added.
 [x] METIS depentencies for target linker library updated.
@stefanzieger
Copy link
Author

stefanzieger commented Oct 25, 2024

@aliabdolali Thank you for highlighting instructions on how to use SCOTCH library. Reverting back to v7.0.3 worked for me. In v7.0.5 they changed the prefix for fortran libraries from "SCOTCH_" to "SCOTCHF". In WW3 this will cause a linker error in yowpdlibmain.F90: call SCOTCH_ParMETIS_V3_PartGeomKway. SCOTCH documentation is not quite clear on how to set the fortran prefix. See 3.3 (Re)naming library objects. Something that will become an issue in future release.

@aliabdolali
Copy link
Contributor

@aliabdolali Thank you for highlighting instructions on how to use SCOTCH library. Reverting back to v7.0.3 worked for me. In v7.0.5 they changed the prefix for fortran libraries from "SCOTCH_" to "SCOTCHF". In WW3 this will cause a linker error in yowpdlibmain.F90: call SCOTCH_ParMETIS_V3_PartGeomKway. SCOTCH documentation is not quite clear on how to set the fortran prefix. See 3.3 (Re)naming library objects. Something that will become an issue in future release.

Happy to help. thanks @stefanzieger for pointing changes in new versions of SCOTCH.

stefanzieger added a commit to stefanzieger/WW3 that referenced this issue Oct 28, 2024
Older versions of ParMETIS have METIS and GKLIB included
with the source code. Static link libraries libmetis.a
contains GKLib object files. CMake configuration was
updated to only link against GKLIB is the library is
found in METIS_PATH.

Changes
-------
 [x] FindGKLIB.cmake is optional with METIS depentencies for
     target linker library being added when found.
stefanzieger added a commit to stefanzieger/WW3 that referenced this issue Oct 31, 2024
to any input/dissipation term (Ticket: NOAA-EMC#1309)

Changes
-------
 [x] Add namelist parameter FALPHA to `&FLD1` and `&FLD2`.
 [x] Default value for &FLD[12] FALPHA is set to &SIN4 ALPHA0=0.0095
     if ST4 is selected, otherwise FALPHA=0.0095 in `w3gridmd.F90`.
 [x] Passed regression test `ww3_ts3`. A new namelist parameter is
      printed in equivalent namelist in ww3_grid standard output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants