schism-dev / schism

Semi-implicit Cross-scale Hydroscience Integrated System Model (SCHISM)
http://ccrm.vims.edu/schismweb/
Apache License 2.0
87 stars 86 forks source link

Cmmb #78

Closed pvelissariou1 closed 2 years ago

pvelissariou1 commented 2 years ago

I have modified the schism/src/CMakeLists.txt, schism/src/Driver/CMakeLists.txt and added the schism/cmake/module/FindParMETIS.cmake to allow the use of externally built ParMETIS/METIS/GKlib libraries. The user can supply from the CMake command line or from the environment one of the variables: PARMETIS[]HOME, PARMETIS[]ROOT, PARMETIS[_]PATH to supply the location of the pre-compiled ParMETIS libraries. If the libraries and headers are not found the compilation proceeds using the SCHISM's internal library as normal. If the above variables are not defined the compilation of SCHISM proceeds as usual. Read the notes for ParMETIS in schism/src/CMakeLists.txt and schism/cmake/module/FindParMETIS.cmake for additional information.

SCHISM has been successfully compiled using this configuration and the latest version of ParMETIS (https://github.com/KarypisLab/ParMETIS).

platipodium commented 2 years ago

Thx @pvelissariou1 . I am very much in FAVOR of using an external parametrische amd will test on my systems.
there were, however, good reasons for disabling the online partitioning with NOPARMETIS, so we need that flag to be reintroduced. As far as I was informed about their license terms, we cannot use online parmetis in production context . This problem might also affect WW3…

platipodium commented 2 years ago

The ParMETIS package is copyrighted by the Regents of the University of Minnesota. It can be freely used for educational and research purposes by non-profit institutions and US government agencies only. Other organizations are allowed to use ParMETIS only for evaluation purposes, and any further uses will require prior approval.

pvelissariou1 commented 2 years ago

Thank you @Lemmen, Carsten @.> , ParMETIS at this point affects both WW3 and SCHISM. WW3 developers are moving away from ParMETIS, I believe that are looking at PT-SCOTCH ( https://www.labri.fr/perso/pelegrin/scotch/, https://gitlab.inria.fr/scotch/scotch). Because of the license restrictions of ParMETIS, as you also mentioned, the library has been removed from CoastalApp. The build scripts in CoastalApp have been modified to allow the user to use externally compiled ParMETIS to be used with both WW3 and SCHISM (this is a temporary workaround for ParMETIS in CoastalApp). With this PR request for ParMETIS, SCHISM can also use an external ParMETIS without affecting its functionality or its capability to use the internal ParMETIS. My thinking was to allow the use of an external ParMETIS, in CoastalApp so the application can be used with the current status of WW3 and SCHISM + ParMETIS without issues to the user. @Lemmen, Carsten @.> , as you mentioned, ParMETIS should be removed. I am following the WW3 development status on this issue. @Y. Joseph Zhang @.> , @Carsten Lemmen @.> please check if this PR works in your side and I will also check if this work on our side with the SCHISM test cases we have (compilation goes smoothly and without errors). If everything goes well, please accept this PR.

Later today, I'll update CoastalApp with the latest build scripts. I'll keep you posted.

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.***

On Sun, Aug 28, 2022 at 7:36 AM Carsten Lemmen @.***> wrote:

The ParMETIS package is copyrighted by the Regents of the University of Minnesota. It can be freely used for educational and research purposes by non-profit institutions and US government agencies only. Other organizations are allowed to use ParMETIS only for evaluation purposes, and any further uses will require prior approval.

— Reply to this email directly, view it on GitHub https://github.com/schism-dev/schism/pull/78#issuecomment-1229448418, or unsubscribe https://github.com/notifications/unsubscribe-auth/APC7TPZ663L7GDOXSJBWY7LV3NMOBANCNFSM572KJFBA . You are receiving this because you were mentioned.Message ID: @.***>

pvelissariou1 commented 2 years ago

Thx Takis. The code will only look for the partition map (partition.prop) if NO_PARMETIS is on, so I think we'll have to add that flag if we want to bypass PM.

-Joseph

Joseph Zhang Office: (804) 684 7466 Web: schism.wiki

From: Panagiotis Velissariou - NOAA Affiliate @.> Sent: Sunday, August 28, 2022 10:59 AM To: schism-dev/schism @.>; Lemmen, Carsten @.>; Y. Joseph Zhang @.>; Carsten Lemmen @.> Cc: schism-dev/schism @.>; Mention @.***> Subject: Re: [schism-dev/schism] Cmmb (PR #78)

[EXTERNAL to VIMS received message]

Thank you @Lemmen, @.> , ParMETIS at this point affects both WW3 and SCHISM. WW3 developers are moving away from ParMETIS, I believe that are looking at PT-SCOTCH (https://www.labri.fr/perso/pelegrin/scotch/https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.labri.fr%2Fperso%2Fpelegrin%2Fscotch%2F&data=05%7C01%7Cyjzhang%40vims.edu%7Ce10fe96136084af2e61b08da8905ef0c%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637972955829513961%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=kLTe2qutWfVy%2BTToxa0mRtQyMONIj9R7tX%2Be9DSDzP8%3D&reserved=0, https://gitlab.inria.fr/scotch/scotchhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.inria.fr%2Fscotch%2Fscotch&data=05%7C01%7Cyjzhang%40vims.edu%7Ce10fe96136084af2e61b08da8905ef0c%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637972955829513961%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=7tEKvITJntcbqMaY0PZJ50TBDhVRbPCKZkBuOdwa2Q8%3D&reserved=0). Because of the license restrictions of ParMETIS, as you also mentioned, the library has been removed from CoastalApp. The build scripts in CoastalApp have been modified to allow the user to use externally compiled ParMETIS to be used with both WW3 and SCHISM (this is a temporary workaround for ParMETIS in CoastalApp). With this PR request for ParMETIS, SCHISM can also use an external ParMETIS without affecting its functionality or its capability to use the internal ParMETIS. My thinking was to allow the use of an external ParMETIS, in CoastalApp so the application can be used with the current status of WW3 and SCHISM + ParMETIS without issues to the user. @Lemmen, @.> , as you mentioned, ParMETIS should be removed. I am following the WW3 development status on this issue. @Y. Joseph @.> , @Carsten @.> please check if this PR works in your side and I will also check if this work on our side with the SCHISM test cases we have (compilation goes smoothly and without errors). If everything goes well, please accept this PR.

Later today, I'll update CoastalApp with the latest build scripts. I'll keep you posted.

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.**@.>

On Sun, Aug 28, 2022 at 7:36 AM Carsten Lemmen @.**@.>> wrote:

The ParMETIS package is copyrighted by the Regents of the University of Minnesota. It can be freely used for educational and research purposes by non-profit institutions and US government agencies only. Other organizations are allowed to use ParMETIS only for evaluation purposes, and any further uses will require prior approval.

- Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschism-dev%2Fschism%2Fpull%2F78%23issuecomment-1229448418&data=05%7C01%7Cyjzhang%40vims.edu%7Ce10fe96136084af2e61b08da8905ef0c%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637972955829513961%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Mtf6yYzbVKcKt2xO1mN4DCRVklHSRiOyscScz7R5r3I%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAPC7TPZ663L7GDOXSJBWY7LV3NMOBANCNFSM572KJFBA&data=05%7C01%7Cyjzhang%40vims.edu%7Ce10fe96136084af2e61b08da8905ef0c%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637972955829513961%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rJvcOumZCXKp7UnR24rxEeRyEPbXZfPE76jMW8Q2HX0%3D&reserved=0. You are receiving this because you were mentioned.Message ID: @.***>

pvelissariou1 commented 2 years ago

So, to understand. We can pass a NO_PARMETIS flag to cmake (may be to schism/src/CMakeLists.txt) to bypass ParMETIS all together. I understand that such a flag does not exist currently in the SCHISM code. At theend we will have the following options: a) NO_PARMETIS, b) to use an external ParMETIS and c) to use SCHISM's internal ParMETIS. In any case, I need to maintain the capability of allowing the use of an externally built ParMETIS in CoastalApp, otherwise the application will break (WW3 dependency). Your thoughts?

josephzhang8 commented 2 years ago

Hi Takis:

You can find NO_PARMETIS in cmake/SCHISM.local.build. I'm fine with any of the 3 options, as they should all work. Thx.

-Joseph

Joseph Zhang Office: (804) 684 7466 Web: schism.wiki

From: Panagiotis Velissariou @.> Sent: Sunday, August 28, 2022 12:17 PM To: schism-dev/schism @.> Cc: Y. Joseph Zhang @.>; Review requested @.> Subject: Re: [schism-dev/schism] Cmmb (PR #78)

[EXTERNAL to VIMS received message]

So, to understand. We can pass a NO_PARMETIS flag to cmake (may be to schism/src/CMakeLists.txt) to bypass ParMETIS all together. I understand that such a flag does not exist currently in the SCHISM code. At theend we will have the following options: a) NO_PARMETIS, b) to use an external ParMETIS and c) to use SCHISM's internal ParMETIS. In any case, I need to maintain the capability of allowing the use of an externally built ParMETIS in CoastalApp, otherwise the application will break (WW3 dependency). Your thoughts?

- Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschism-dev%2Fschism%2Fpull%2F78%23issuecomment-1229498609&data=05%7C01%7Cyjzhang%40vims.edu%7C36a70f802b744813ea4608da8910c862%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973002416049528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=HJSteCvzd1cjnn%2Bf5zm4lrgpe8f4imKroa6ojpNhJn4%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFBKNZ4PLTDYUID5GVLTU7LV3OGI7ANCNFSM572KJFBA&data=05%7C01%7Cyjzhang%40vims.edu%7C36a70f802b744813ea4608da8910c862%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973002416049528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WyRWKyG91PwsBYVEpqmjSTmiHPXVglk7OUr1U%2BWJ8HM%3D&reserved=0. You are receiving this because your review was requested.Message ID: @.**@.>>

pvelissariou1 commented 2 years ago

I fetched the latest sources and now I see the NO_PARMETIS option. I'll update the files in the PR to include the NO_PARMETIS option and in this case we will have all options available. I'll update CostalApp to use the latest version of schism as well. Thank you Joseph.

Takis

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.***

On Sun, Aug 28, 2022 at 1:10 PM Joseph Zhang @.***> wrote:

Hi Takis:

You can find NO_PARMETIS in cmake/SCHISM.local.build. I'm fine with any of the 3 options, as they should all work. Thx.

-Joseph

Joseph Zhang Office: (804) 684 7466 Web: schism.wiki

From: Panagiotis Velissariou @.> Sent: Sunday, August 28, 2022 12:17 PM To: schism-dev/schism @.> Cc: Y. Joseph Zhang @.>; Review requested @.> Subject: Re: [schism-dev/schism] Cmmb (PR #78)

[EXTERNAL to VIMS received message]

So, to understand. We can pass a NO_PARMETIS flag to cmake (may be to schism/src/CMakeLists.txt) to bypass ParMETIS all together. I understand that such a flag does not exist currently in the SCHISM code. At theend we will have the following options: a) NO_PARMETIS, b) to use an external ParMETIS and c) to use SCHISM's internal ParMETIS. In any case, I need to maintain the capability of allowing the use of an externally built ParMETIS in CoastalApp, otherwise the application will break (WW3 dependency). Your thoughts?

- Reply to this email directly, view it on GitHub< https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschism-dev%2Fschism%2Fpull%2F78%23issuecomment-1229498609&data=05%7C01%7Cyjzhang%40vims.edu%7C36a70f802b744813ea4608da8910c862%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973002416049528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=HJSteCvzd1cjnn%2Bf5zm4lrgpe8f4imKroa6ojpNhJn4%3D&reserved=0>, or unsubscribe< https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFBKNZ4PLTDYUID5GVLTU7LV3OGI7ANCNFSM572KJFBA&data=05%7C01%7Cyjzhang%40vims.edu%7C36a70f802b744813ea4608da8910c862%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973002416049528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WyRWKyG91PwsBYVEpqmjSTmiHPXVglk7OUr1U%2BWJ8HM%3D&reserved=0

. You are receiving this because your review was requested.Message ID: @.**@.>>

— Reply to this email directly, view it on GitHub https://github.com/schism-dev/schism/pull/78#issuecomment-1229522159, or unsubscribe https://github.com/notifications/unsubscribe-auth/APC7TP56C44CXAJS5SIVH43V3OTRVANCNFSM572KJFBA . You are receiving this because you were mentioned.Message ID: @.***>

josephzhang8 commented 2 years ago

Thank you Takis!

-Joseph

Joseph Zhang Office: (804) 684 7466 Web: schism.wiki

From: Panagiotis Velissariou @.> Sent: Sunday, August 28, 2022 2:28 PM To: schism-dev/schism @.> Cc: Y. Joseph Zhang @.>; Review requested @.> Subject: Re: [schism-dev/schism] Cmmb (PR #78)

[EXTERNAL to VIMS received message]

I fetched the latest sources and now I see the NO_PARMETIS option. I'll update the files in the PR to include the NO_PARMETIS option and in this case we will have all options available. I'll update CostalApp to use the latest version of schism as well. Thank you Joseph.

Takis

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.<mailto:@.>

On Sun, Aug 28, 2022 at 1:10 PM Joseph Zhang @.<mailto:@.>> wrote:

Hi Takis:

You can find NO_PARMETIS in cmake/SCHISM.local.build. I'm fine with any of the 3 options, as they should all work. Thx.

-Joseph

Joseph Zhang Office: (804) 684 7466 Web: schism.wiki

From: Panagiotis Velissariou @.<mailto:@.>> Sent: Sunday, August 28, 2022 12:17 PM To: schism-dev/schism @.<mailto:@.>> Cc: Y. Joseph Zhang @.<mailto:@.>>; Review requested @.<mailto:@.>> Subject: Re: [schism-dev/schism] Cmmb (PR #78)

[EXTERNAL to VIMS received message]

So, to understand. We can pass a NO_PARMETIS flag to cmake (may be to schism/src/CMakeLists.txt) to bypass ParMETIS all together. I understand that such a flag does not exist currently in the SCHISM code. At theend we will have the following options: a) NO_PARMETIS, b) to use an external ParMETIS and c) to use SCHISM's internal ParMETIS. In any case, I need to maintain the capability of allowing the use of an externally built ParMETIS in CoastalApp, otherwise the application will break (WW3 dependency). Your thoughts?

- Reply to this email directly, view it on GitHub< https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschism-dev%2Fschism%2Fpull%2F78%23issuecomment-1229498609&data=05%7C01%7Cyjzhang%40vims.edu%7C36a70f802b744813ea4608da8910c862%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973002416049528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=HJSteCvzd1cjnn%2Bf5zm4lrgpe8f4imKroa6ojpNhJn4%3D&reserved=0>, or unsubscribe< https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFBKNZ4PLTDYUID5GVLTU7LV3OGI7ANCNFSM572KJFBA&data=05%7C01%7Cyjzhang%40vims.edu%7C36a70f802b744813ea4608da8910c862%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973002416049528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WyRWKyG91PwsBYVEpqmjSTmiHPXVglk7OUr1U%2BWJ8HM%3D&reserved=0

. You are receiving this because your review was requested.Message ID: @.**@.mailto:***@***.******@***.***>>

- Reply to this email directly, view it on GitHub https://github.com/schism-dev/schism/pull/78#issuecomment-1229522159, or unsubscribe https://github.com/notifications/unsubscribe-auth/APC7TP56C44CXAJS5SIVH43V3OTRVANCNFSM572KJFBA . You are receiving this because you were mentioned.Message ID: @.<mailto:@.>>

- Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschism-dev%2Fschism%2Fpull%2F78%23issuecomment-1229526027&data=05%7C01%7Cyjzhang%40vims.edu%7Cb191ea5935884cb77a7f08da89231198%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973080963808392%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=A2v1ZV4MlL9qU4lkMjc8yLU0zePem1WBC8Ak%2FIVakY8%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFBKNZ2NU5CZX4NKLYJKAR3V3OVTZANCNFSM572KJFBA&data=05%7C01%7Cyjzhang%40vims.edu%7Cb191ea5935884cb77a7f08da89231198%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973080963808392%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Q0iSJcNIAFRWfPi3B080lV2xP4E%2BT0SuzOSP8P3YgMs%3D&reserved=0. You are receiving this because your review was requested.Message ID: @.**@.>>

platipodium commented 2 years ago

Thanks Takis. Indeed we need the three options. We'll test this and report back.

pvelissariou1 commented 2 years ago

The files src/CMakeLists.txt src/Driver/CMakeLists.txt inclule the NO_PARMETIS flag. SCHISM compiles properly with no errors. In the project's languages CXX has been added.

platipodium commented 2 years ago

There seems to be a problem (maybe only in the diagnostic output) with ParMETIS @pvelissariou1

cmake ../src -DNO_PARMETIS=OFF

### Configuring Driver
-- Building SCHISM without ParMETIS lib

produces an exectutable that (correctly) includes parmetis refs. So the info message during CMake is wrong.

platipodium commented 2 years ago

I am confused @pvelissariou1 on how to set an external parmetis dir and how this affects the internal processing:

when I issue cmake -DCMAKE_PARMETIS_DIR=/usr/localthe setting does not propagate correctly to (child?) parmetis variables.

cat CMakecache.txt |grep -i metis
CMAKE_PARMETIS_DIR:UNINITIALIZED=/usr/local
GKLIB_PATH:PATH=/home/lemmen/devel/schism/schism/src/ParMetis-4.0.3/metis/GKlib
//path to METIS
METIS_PATH:PATH=/home/lemmen/devel/schism/schism/src/ParMetis-4.0.3/metis
NO_PARMETIS:BOOL=OFF
//Path to ParMetis which defaults to /src/PARMETIS_VER in the schism
PARMETIS_DIR:PATH=/home/lemmen/devel/schism/schism/src/ParMetis-4.0.3
PARMETIS_HOME:UNINITIALIZED=/usr/local
//Version and relative path to Parmetis library inside /src.
PARMETIS_VER:STRING=ParMetis-4.0.3
ParMETIS_BINARY_DIR:STATIC=/home/lemmen/devel/schism/schism/build/ParMetis-4.0.3
ParMETIS_IS_TOP_LEVEL:STATIC=OFF
ParMETIS_SOURCE_DIR:STATIC=/home/lemmen/devel/schism/schism/src/ParMetis-4.0.3
metis_LIB_DEPENDS:STATIC=general;m;
parmetis_LIB_DEPENDS:STATIC=general;metis;general;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so;general;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so;
josephzhang8 commented 2 years ago

@platipodium: NO_PARMETIS=OFF would turn ON PM (double negative).

platipodium commented 2 years ago

@platipodium: NO_PARMETIS=OFF would turn ON PM (double negative).

Certainly. So if ParMetis is on, why does the diagnostic report: "-- Building SCHISM without ParMETIS lib"

pvelissariou1 commented 2 years ago

@Lemmen, Carsten @.***> Let me check, it works here as expected.

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.***

On Mon, Aug 29, 2022 at 7:37 AM Carsten Lemmen @.***> wrote:

@platipodium https://github.com/platipodium: NO_PARMETIS=OFF would turn ON PM (double negative).

Certainly. So if ParMetis is on, why does the diagnostic report: "-- Building SCHISM without ParMETIS lib"

— Reply to this email directly, view it on GitHub https://github.com/schism-dev/schism/pull/78#issuecomment-1230229150, or unsubscribe https://github.com/notifications/unsubscribe-auth/APC7TP6IPQWHEIX3AEMU5F3V3SVGXANCNFSM572KJFBA . You are receiving this because you were mentioned.Message ID: @.***>

pvelissariou1 commented 2 years ago

@Lemmen, Carsten @.***> The variables starting with CMAKE are cmake's internal/reserved variables:

From the CMake documentation

CMake reserves identifiers that:

begin with CMAKE_ (upper-, lower-, or mixed-case), or

begin with _CMAKE_ (upper-, lower-, or mixed-case), or

begin with _ followed by the name of any CMake Command.

For ParMETIS in SCHISM I have setup the system as follows (from: schism/src/CMakeLists.txt)

The user can supply one of the following variables to provide the

full path

to the installed ParMETIS librarie(s):

IMPORTANT: In the language list I have added CXX (for ParMETIS) set(comp_lang_list C Fortran) project(SCHISM LANGUAGES ${comp_lang_list} CXX)

The user can pass either from the cmake command line or from the environment one of the variables in red. To compile SCHISM I used: cmake -S ~/CSDL/Repos/del/CoastalApp/SCHISM/schism/src -B ~/CSDL/Repos/del/CoastalApp/SCHISM/build -DCMAKE_VERBOSE_MAKEFILE=TRUE -DCMAKE_Fortran_COMPILER=mpifort -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc -DOLDIO=ON -DUSE_WW3=ON -DPREC_EVAP=OFF -DPARMETIS_HOME=~/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL

and in the build/CMakeCache.txt the following are defined: //ParMETIS GKlib include directory //ParMETIS METIS include directory METIS_INCLUDE_FILE:FILEPATH=/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/include/metis.h //METIS library METIS_LIBRARY:STRING=/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/lib/libmetis.a NO_PARMETIS:BOOL=OFF //Path to already compiled ParMetis external library. PARMETIS_DIR:PATH=/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL PARMETIS_HOME:UNINITIALIZED=~/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL //ParMETIS Found ParMETIS_FOUND:BOOL=TRUE //ParMETIS include paths ParMETIS_INCLUDE_DIRS:STRING=/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/include //ParMETIS ParMETIS include directory ParMETIS_INCLUDE_FILE:FILEPATH=/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/include/parmetis.h //ParMETIS library paths ParMETIS_LIBRARIES:STRING=/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/lib/libparmetis.a;/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/lib/libmetis.a;/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/lib/libGKlib.a //ParMETIS library ParMETIS_LIBRARY:STRING=/home/takis/CSDL/Repos/del/CoastalApp/THIRDPARTY_INSTALL/lib/libparmetis.a //ADVANCED property for variable: METIS_INCLUDE_FILE METIS_INCLUDE_FILE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: METIS_LIBRARY METIS_LIBRARY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ParMETIS_INCLUDE_FILE ParMETIS_INCLUDE_FILE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ParMETIS_LIBRARY ParMETIS_LIBRARY-ADVANCED:INTERNAL=1

I have also built SCHISM with the "NO_PARMETIS=ON" option Everything seems to work as expected. I hope this explanation helps. Maybe this can be included in the documentation?

Takis

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.***

On Mon, Aug 29, 2022 at 8:52 AM Panagiotis Velissariou - NOAA Affiliate < @.***> wrote:

@Lemmen, Carsten @.***> Let me check, it works here as expected.

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.***

On Mon, Aug 29, 2022 at 7:37 AM Carsten Lemmen @.***> wrote:

@platipodium https://github.com/platipodium: NO_PARMETIS=OFF would turn ON PM (double negative).

Certainly. So if ParMetis is on, why does the diagnostic report: "-- Building SCHISM without ParMETIS lib"

— Reply to this email directly, view it on GitHub https://github.com/schism-dev/schism/pull/78#issuecomment-1230229150, or unsubscribe https://github.com/notifications/unsubscribe-auth/APC7TP6IPQWHEIX3AEMU5F3V3SVGXANCNFSM572KJFBA . You are receiving this because you were mentioned.Message ID: @.***>

platipodium commented 2 years ago

@pvelissariou1 OK, got it working.

josephzhang8 commented 2 years ago

Thx, Takis, Carsten! I've used git cmd's to merge this PR into master. Plz re-test. Thx.

pvelissariou1 commented 2 years ago

Hello Joseph

Please remove the lines: line 83: cp $(SCHISM_BUILD_DIR)/lib/libmetis.a $(DESTDIR) line 84: cp $(SCHISM_BUILD_DIR)/lib/libparmetis.a $(DESTDIR) from the schism-esmf/Makefile. I have submitted a PR to schism-esmf

Takis

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.***

On Wed, Aug 31, 2022 at 8:46 AM Joseph Zhang @.***> wrote:

Thx, Takis, Carsten! I've used git cmd's to merge this PR into master. Plz re-test. Thx.

— Reply to this email directly, view it on GitHub https://github.com/schism-dev/schism/pull/78#issuecomment-1232960774, or unsubscribe https://github.com/notifications/unsubscribe-auth/APC7TP25FQBGPLXB3MQCLTLV35O2DANCNFSM572KJFBA . You are receiving this because you were mentioned.Message ID: @.***>

josephzhang8 commented 1 year ago

I see. In the future, we may avoid the confusion by changing it to PARMETIS=..., but I agree with u.

-Joseph

Y. Joseph Zhang Web: schism.wiki Office: 804 684 7466

From: Carsten Lemmen @.> Sent: Monday, August 29, 2022 8:37 AM To: schism-dev/schism @.> Cc: Y. Joseph Zhang @.>; Review requested @.> Subject: Re: [schism-dev/schism] Cmmb (PR #78)

[EXTERNAL to VIMS received message]

@platipodiumhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fplatipodium&data=05%7C01%7Cyjzhang%40vims.edu%7Cdc4940c64dc24f81967f08da89bb2afb%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973734225143504%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IVQzoocSZt%2Fpyv7k%2FPMscdTrMZJoym1h%2FPFImUBBnNI%3D&reserved=0: NO_PARMETIS=OFF would turn ON PM (double negative).

Certainly. So if ParMetis is on, why does the diagnostic report: "-- Building SCHISM without ParMETIS lib"

- Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschism-dev%2Fschism%2Fpull%2F78%23issuecomment-1230229150&data=05%7C01%7Cyjzhang%40vims.edu%7Cdc4940c64dc24f81967f08da89bb2afb%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973734225143504%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=k6YUuicdhLtf9gYoDMckPGlDic%2FQp%2FHCi4L9G1vqdu8%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFBKNZ4WGVFKC7XQPQYIO7TV3SVGXANCNFSM572KJFBA&data=05%7C01%7Cyjzhang%40vims.edu%7Cdc4940c64dc24f81967f08da89bb2afb%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637973734225143504%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=W6uqhKRbRPVMPOdQj1KA%2BXWVinxTjYD%2Fv%2F3Pbi7%2F5Oo%3D&reserved=0. You are receiving this because your review was requested.Message ID: @.**@.>>

josephzhang8 commented 1 year ago

I think Carsten has done that.

-Joseph

Joseph Zhang Office: (804) 684 7466 Web: schism.wiki

From: Panagiotis Velissariou @.> Sent: Wednesday, August 31, 2022 11:03 AM To: schism-dev/schism @.> Cc: Y. Joseph Zhang @.>; State change @.> Subject: Re: [schism-dev/schism] Cmmb (PR #78)

[EXTERNAL to VIMS received message]

Hello Joseph

Please remove the lines: line 83: cp $(SCHISM_BUILD_DIR)/lib/libmetis.a $(DESTDIR) line 84: cp $(SCHISM_BUILD_DIR)/lib/libparmetis.a $(DESTDIR) from the schism-esmf/Makefile. I have submitted a PR to schism-esmf

Takis

Panagiotis Velissariou, Ph.D., P.E. UCAR Scientist National Ocean and Atmospheric Administration National Ocean Service Office of Coast Survey CSDL/CMMB Project Lead - Coastal Coupling cell: (205) 227-9141 email: @.<mailto:@.>

On Wed, Aug 31, 2022 at 8:46 AM Joseph Zhang @.<mailto:@.>> wrote:

Thx, Takis, Carsten! I've used git cmd's to merge this PR into master. Plz re-test. Thx.

- Reply to this email directly, view it on GitHub https://github.com/schism-dev/schism/pull/78#issuecomment-1232960774, or unsubscribe https://github.com/notifications/unsubscribe-auth/APC7TP25FQBGPLXB3MQCLTLV35O2DANCNFSM572KJFBA . You are receiving this because you were mentioned.Message ID: @.<mailto:@.>>

- Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschism-dev%2Fschism%2Fpull%2F78%23issuecomment-1233057729&data=05%7C01%7Cyjzhang%40vims.edu%7Ca96a11879e9542403e9908da8b61e022%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637975549742055836%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OnQws22tdd1ThIz6EDb8mJSwvcg8OoK1CPUPQmW2Dvc%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFBKNZZHFPI5KMW3E6JDXLLV35XZVANCNFSM572KJFBA&data=05%7C01%7Cyjzhang%40vims.edu%7Ca96a11879e9542403e9908da8b61e022%7C8cbcddd9588d4e3b9c1e2367dbdf1740%7C0%7C0%7C637975549742055836%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TLZR9sAaQn2tjmd0Dmm9UkNCzVeSI68IT3ceq%2BKQ%2Bx4%3D&reserved=0. You are receiving this because you modified the open/close state.Message ID: @.**@.>>