NREL / ROSCO

A Reference Open Source Controller for Wind Turbines
https://rosco.readthedocs.io/en/latest/
Apache License 2.0
106 stars 92 forks source link

Flang support #306

Open marchdf opened 8 months ago

marchdf commented 8 months ago

Hi, I was using the flang compiler on Frontier today (which I was using for openfast) but I got errors in ROSCO when using the same compiler. I noticed in the cmake that ROSCO only supports GNU and Intel compilers: https://github.com/NREL/ROSCO/blob/b994e4de67c423ff598a4bb354657b62ff61a50d/rosco/controller/CMakeLists.txt#L44. I was hoping there was a path towards supporting flang so that I don't have to mix compilers. Thanks!

dzalkind commented 8 months ago

Hi,

Interesting! I'm not that familiar with Flang and may not have the bandwidth to tackle (and, mainly, test a fix for) this issue very soon, but there's definitely a path towards its support. The process should be

I hope this helps. I'll leave this open until we're supporting Flang. If you're able to get to it before we do, we'd greatly appreciate any tips or a PR.

Best, Dan

marchdf commented 8 months ago

Thanks for answering so quickly! If I get a chance I might give your suggestion a shot.

marchdf commented 8 months ago

@dzalkind I needed this for frontier and I have a working version. But it's for ROSCO 2.7 because those are the input files I was given. Here's the branch: https://github.com/marchdf/ROSCO/tree/rosco-27-flang. Let me know if that "looks" ok and I can try doing the same for the dev version of ROSCO and submit a PR.

dzalkind commented 7 months ago

Thanks, Marc! It looks okay to me. Ideally, we'd figure out how to keep these lines as they are ROSCO's main debugging output.

Apparently there are a bunch of Flang flavors out there, with a new one due in March. Maybe it will resolve the issue you raised. Which Flang compiler you are using on frontier?

marchdf commented 7 months ago

Yes I definitely think the eventual PR should have those lines in there. I am going to work with someone who knows fortran/flang better than me and see if we can resolve this. I am a bit confused by the flang landscape. Let me get back to on what kind of version I am using.