NOAA-EMC / WW3

WAVEWATCH III
Other
267 stars 545 forks source link

cmake build failure under few scenarios #1309

Open stefanzieger opened 1 month ago

stefanzieger commented 1 month ago

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.
aliabdolali commented 1 month ago

@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 commented 1 month ago

@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 commented 1 month ago

@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.