Hello,
I am trying to install SMOKEV4.7 by following this https://www.cmascenter.org/smoke/documentation/4.7/manual_smokev47.pdf . As my system already has netcdf4.7 and iopai 3.2 installed (used pgf90 compiler), I tried to follow section 12.4 from the installation guide. Here is what I did:
I downloaded and unzipped the ‘smoke_v47.Linux2_x86_64ifort.tar.gz’ and ‘smoke_v47.nctox.data.tar.gz’, which gave me ’ data’ and ‘subsys’ directories.
Then I copied ‘iopai’ directory to $SMK_HOME/subsys
I modified /subsys/smoke/assigns/ASSIGNS.nctox.cmaq.cb05_soa.us12-nc file as my $BIN was built in ioapi directory as Linux3 (Makeinclude.Linux3). Only modification is in assign file is setenv BIN Linux3
(attached ASSIGNS.nctox.cmaq.cb05_soa.us12-nc.txt (22.8 KB) ). And then I use this command: source ASSIGNS.nctox.cmaq.cb05_soa.us12-nc
which was successful.
Then I modified Makeinclude file (attached Makeinclude.txt (3.9 KB) in /subys/smoke/src directory. Then when I tried ‘make’, It is giving me following error:
This is a compiler-licensing issue. PGI offers one-year-only free licenses, and it would seem you have one of those; you can either get a new compiler-setup from them and install it, or use an alternate compiler (GNU gfortran/gcc is always freely available for Linux systems; Oracle (Sun) compilers are freely available “for commercial and non-commercial use”; see https://docs.oracle.com/cd/E19205-01/820-3999/, and Intel’s compilers are available without charge for certain developers (I don’t know whether you’d qualify; you’d have to check).
Once you have a properly installed and licensed compiler set, you can go from there…
I can compile all of the software such as CAMx, IOAPI3.2, AMET etc. using this expired license.
that’s why I am not sure, if it is a expired license issue.
Along with what @cjcoats mentioned, you also need to set BIN with a proper name. Not just Linux3. You need to pick out the name based on your compiler as well as system. As an example, Linux2_x86_64ifort is designed for 64-bit intel compiler for x86 system
So, I selected ‘Linux Portland Group Fortran 90’ in ‘what compiler will you use’ option while downloading SMOKE from https://www.cmascenter.org/download.
But The downloaded file is ’ smoke_v47.Linux2_x86_64ifort.tar.gz’.
While I was installing iopaiv3.2, I had used ‘Makeinclude.Linux2_x86_64pg’ and renamed it as ’ Makeinclude.Linux3’ and my $BIN was Linux3.
That’s why I set BIN as Linux3 in SMOKE ASSIGN file .
Is that what you suggesting? Sorry, If I am not understading clearly.
Also, I can compile other software (AMET, COMBINE, CAMx etc.) by using pgf90 expired license.
Okay, I did that. Now, It is giving me the same problem:
PGF90-S-0034-Syntax error at or near & (/home/IqbalHossan/Documents/SMOKE/SMK/subsys/ioapi/ioapi/fixed_src/PARMS3.EXT: 104) PGF90-S-0134-Illegal attribute - duplicate parameter (/home/IqbalHossan/Documents/SMOKE/SMK/subsys/ioapi/ioapi/fixed_src/PARMS3.EXT: 109) PGF90-S-0038-Symbol, m3types, has not been explicitly declared (/home/IqbalHossan/Documents/SMOKE/SMK/subsys/smoke/src/lib/alocatbl.f)
** 0 inform, 0 warnings, 3 severes, 0 fatal for alocatbl** make: *** [alocatbl.o] Error 2
I tried to find out the problem in /fixed_src/PARMS3.EXT file (line 104 and line 109), but couldn’t find out. Following are the lines (104-109) from PARMS3.EXT