UCVMC icon indicating copy to clipboard operation
UCVMC copied to clipboard

Failed to create projection

Open QuentinBrissaud opened this issue 5 years ago • 3 comments

Dear SCEC community,

I recently encountered a problem while setting up UCVM on my local computer (Ubuntu 20.04) using the default installation path. As described in the wiki, I followed the following steps:

  • git clone https://github.com/SCECcode/UCVMC.git
  • cd UCVMC/largefiles
  • ./get_large_files.py
  • ./check_largefiles_md5.py
  • ./stage_large_files.py
  • cd ..
  • ./ucvm_setup.py

However, once "ucvm_setup.py" successfully finished the installation of UCVM, the "make check" command showed an error while creating the UCVM projection:

Failed to create output UCVM projection +proj=aeqd +lat_0=36.0 +lon_0=-120.0 +x_0=0.0 +y_0=0.0
Proj.4 Error: major axis or radius = 0 or not given
Failed to setup proj +proj=aeqd +lat_0=36.0 +lon_0=-120.0 +x_0=0.0 +y_0=0.0.
Failed to initialize UCVM map

I went through the codes of both UCVM and the proj library to see where it originated (from top to bottom):

  1. p->opj = pj_init_plus(pstr); returns NULL (l. 17) in routine ucvm_proj_ucvm_init in "src/ucvm_proj_ucvm.c"
  2. err = pj_ellipsoid (PIN); is set to 2 (l. 594) in pj_init_ctx which eventually returns NULL (l. 600) in "proj-5/src/pj_init.c"
  3. the condition if (0 != ellps_size (P)) is True (l. 94) in pj_ellipsoid in "proj-5/src/pj_ell_set.c"

I did not go further and I still do not know if the problem I observed was only indirectly related to that condition on "ellps_size" but there seems to be an incompatibility of UCVMC, proj and my local configuration.

My configuration is the following:

  • Ubuntu 20.04 - kernel 5.4.0-050400rc1-lowlatency
  • libopenmpi libraries version 4.0.3-0ubuntu1
  • gcc/gfortran binaries version 9.3.0-1ubuntu2

Note that I also tried to install UCVM with downgraded versions for libopenmpi (3.1.3-11build1) and gcc/gfortran (8.4.0-3ubuntu2) but that did not solve the problem.

There is a similar problem mentioned in the wiki: http://scec.usc.edu/scecwiki/index.php?title=UCVM_User_Guide&redirect=no#Proj._4_Error:major_axis_or_radius.3D_0_or_not_given But in my case, the following is true: "--prefix directory is actually visible to the compute nodes". Therefore, I am not sure how it applies to my problem.

Do you have any idea where the problem could originate from?

Thank you a lot for your help.

QuentinBrissaud avatar May 11 '20 23:05 QuentinBrissaud

Hi,

Could you check if this might be the issue in your case ?

https://github.com/SCECcode/UCVMC/issues/116

Mei


From: Quentin Brissaud [email protected] Sent: Monday, May 11, 2020 4:51 PM To: SCECcode/UCVMC [email protected] Cc: Subscribed [email protected] Subject: [SCECcode/UCVMC] Failed to create projection (#117)

Dear SCEC community,

I recently encountered a problem while setting up UCVM on my local computer (Ubuntu 20.04) using the default installation path. As described in the wiki, I followed the following steps:

However, once "ucvm_setup.py" successfully finished the installation of UCVM, the "make check" command showed an error while creating the UCVM projection:

Failed to create output UCVM projection +proj=aeqd +lat_0=36.0 +lon_0=-120.0 +x_0=0.0 +y_0=0.0 Proj.4 Error: major axis or radius = 0 or not given Failed to setup proj +proj=aeqd +lat_0=36.0 +lon_0=-120.0 +x_0=0.0 +y_0=0.0. Failed to initialize UCVM map

I went through the codes of both UCVM and the proj library to see where it originated (from top to bottom):

  1. p->opj = pj_init_plus(pstr); returns NULL (l. 17) in routine ucvm_proj_ucvm_init in "src/ucvm_proj_ucvm.c"
  2. err = pj_ellipsoid (PIN); is set to 2 (l. 594) in pj_init_ctx which eventually returns NULL (l. 600) in "proj-5/src/pj_init.c"
  3. the condition if (0 != ellps_size (P)) is True (l. 94) in pj_ellipsoid in "proj-5/src/pj_ell_set.c"

I did not go further and I still do not know if the problem I observed was only indirectly related to that condition on "ellps_size" but there seems to be an incompatibility of UCVMC, proj and my local configuration.

My configuration is the following:

  • Ubuntu 20.04 - kernel 5.4.0-050400rc1-lowlatency
  • libopenmpi libraries version 4.0.3-0ubuntu1
  • gcc/gfortran binaries version 9.3.0-1ubuntu2

Note that I also tried to install UCVM with downgraded versions for libopenmpi (3.1.3-11build1) and gcc/gfortran (8.4.0-3ubuntu2) but that did not solve the problem.

There is a similar problem mentioned in the wiki: http://scec.usc.edu/scecwiki/index.php?title=UCVM_User_Guide&redirect=no#Proj._4_Error:major_axis_or_radius.3D_0_or_not_given But in my case, the following is true: "--prefix directory is actually visible to the compute nodes". Therefore, I am not sure how it applies to my problem.

Do you have any idea where the problem could originate from?

Thank you a lot for your help.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/SCECcode/UCVMC/issues/117__;!!LIr3w8kk_Xxm!5NyuoL-1aPgCX6CaorfRgoRTpKdejnb2MJx2e57AjbRVt_nXyGtWteBUNnw$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ACE7UF5TE4BGHWO3CCNWTNDRRCFQZANCNFSM4M6LBWVA__;!!LIr3w8kk_Xxm!5NyuoL-1aPgCX6CaorfRgoRTpKdejnb2MJx2e57AjbRVt_nXyGtWsFeJvvs$.

meihuisu avatar May 12 '20 04:05 meihuisu

Hi Mei,

Thank you for your help. I actually had the same issue than in #116 , I had to unset the variable PROJ_LIB to make it work.

Additionally, with new mpi libraries such as the version 4.0.3 on Linux, the structure "MPI_Type_struct" does not exist anymore and make the compilation crash in "ue_mpi.c" and "um_mpi.c". Simply switch to "MPI_Type_create_struct" to resolve the issue.

Thank you again.

Quentin

QuentinBrissaud avatar May 12 '20 15:05 QuentinBrissaud

Glad that it worked out for you. Thank you for the MPI info. We will look into it.

Mei


From: Quentin Brissaud [email protected] Sent: Tuesday, May 12, 2020 8:14 AM To: SCECcode/UCVMC [email protected] Cc: Mei-Hui Su [email protected]; Comment [email protected] Subject: Re: [SCECcode/UCVMC] Failed to create projection (#117)

Hi Mei,

Thank you for your help. I actually had the same issue than in #116https://urldefense.com/v3/__https://github.com/SCECcode/UCVMC/issues/116__;!!LIr3w8kk_Xxm!7Hiogo9LrOCe2lbdpCxwn0agt4pP7w-xrAIKlfGkPOIQTNFy-oAnGYpyo2k$ , I had to unset the variable PROJ_LIB to make it work.

Additionally, with new mpi libraries such as the version 4.0.3 on Linux, the structure "MPI_Type_struct" does not exist anymore and make the compilation crash in "ue_mpi.c" and "um_mpi.c". Simply switch to "MPI_Type_create_struct" to resolve the issue.

Thank you again.

Quentin

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/SCECcode/UCVMC/issues/117*issuecomment-627409042__;Iw!!LIr3w8kk_Xxm!7Hiogo9LrOCe2lbdpCxwn0agt4pP7w-xrAIKlfGkPOIQTNFy-oAnsKWRM4k$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ACE7UFZANOQUA26HXIEVLR3RRFRXBANCNFSM4M6LBWVA__;!!LIr3w8kk_Xxm!7Hiogo9LrOCe2lbdpCxwn0agt4pP7w-xrAIKlfGkPOIQTNFy-oAn0xMb_fU$.

meihuisu avatar May 12 '20 16:05 meihuisu