<div dir="ltr"><div>Hi Kunal<br></div><div><br></div><div>You can choose the optfile that genmake2 will use</div><div>with genmake2 -of path_to_the_optfile (keep the -mpi flag also).</div><div>The optifiles are in the tools/build_options directory.<br></div><div>You can either use one of the existing optfiles, or take one of them and modify to <br></div><div>fit your computer (the compiler, MPI, and netCDF library that you have).</div><div>You seem to have the only gfortran compiler right?</div><div>However, you are using an optfile that requires the PGI compiler.</div><div>I'd suggest to switch to an optifile based on gfortran instead.</div><div>This will also make it easier to use a netCDF library from Linux packages,</div><div>which are consistent with gfortran, but may not be consistent with PGI.<br></div><div><br></div><div>In general you can also make modifications to the code in a "code" directory/folder,</div><div>where you put the modified code files. Normally this includes packages.conf (to choose which</div><div>packages will be compiled and included in the MITgcm executable), <br></div><div>SIZE.h (to set up the MITgcm MPI domain decomposition), and other code files appropriate to your experiment.</div><div>These are .F90 and .h files that you normally copy from the packages (pkg) directories, and/or from the main</div><div>model and eesupp directories, and then make small modifications to adapt them to your experiment.</div><div>For this to work you need to add</div><div>-mods path_to_the_code_modification_directory <br></div><div>to your genmake2 command line.<br></div><div><br></div><div>Take a closer look at the examples in the MITgcm "verification" directory,</div><div>as they may help clarify the way you set up,</div><div>compile, and run an MITgcm experiment.</div><div><a href="http://lxr.mitgcm.org/lxr2/source/MITgcm/verification/">http://lxr.mitgcm.org/lxr2/source/MITgcm/verification/</a></div><div>The global_ocean.90x40x15 experiment is a good starting point.</div><div><br></div><div>The error you're getting suggests that you either don't have a netCDF library installed,</div><div>or the optfile you are using does not point to the correct location of your netCDF library.</div><div>If you are using Linux, it is easy to get a netCDF library from your Linux distribution packages</div><div>(something like "yum install netcdf", or "dnf install netcdf", or "apt-get netcdf", depending on the distribution).</div><div>You may also need the "netcdf-devel" and "netcdf-fortran" packages.</div><div>You can list all that are available with something like "yum list | grep netcdf", then make your choices of what to install.</div><div><br></div><div>In any case, check the optfile you have, make a copy of it with a modified name,</div><div>and check if the variables NETCDF_ROOT, NETCDF_HOME, NETCDF_INC, NETCDF_LIB,</div><div>point to the correct location where your netCDF library is installed.</div><div><br></div><div>Likewise, you need to have an MPI library installed in your computer, if you don't have one yet.<br></div><div>For example, you can get OpenMPI from Linux packages.</div><div><br></div><div>All suggestions above depend very much on the computer you are using, if it is your own desktop,</div><div>or a laptop, or your university cluster, etc.</div><div>If you provide more details about the computer (type, operating system (Linux?) and distribution,</div><div>if it has MPI and netCDF installed, which compiler you have and/or want to use, etc, that may help</div><div>you get more specific suggestions.<br></div><div><br></div><div>I hope this helps,</div><div>Gus Correa<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020 at 11:53 AM kunal madkaiker <<a href="mailto:kunal.madkaiker02@gmail.com">kunal.madkaiker02@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Dear All,<br></div><div><br></div><div>Am sorry for the confusion. I meant the "optfiles" instead of modules.</div><div>I haven't added any modules so far, and was just trying to compile using the already provided optfiles.</div><div><br></div><div>Also, Tried to run compile.sh using... <br></div><div>.../tools/genmake2 -mpi<br>make depend<br>make</div><div><br></div><div>When run on a local machine, it chooses gfortran and mpi77 as the suitable combination. But not in the case for HPC</div><div>===  Searching for possible settings for OPTFILE  ===<br>  The platform appears to be:  linux_amd64<br>  The possible FORTRAN compilers found in your path are:  gfortran f95<br>  Setting OPTFILE to: ../../../../tools/build_options/linux_amd64_gfortran<br>    using OPTFILE="../../../../tools/build_options/linux_amd64_gfortran"<br>../../../../tools/build_options/linux_amd64_gfortran: line 131: nf-config: command not found<br>Package ompi was not found in the pkg-config search path.<br>Perhaps you should add the directory containing `ompi.pc'<br>to the PKG_CONFIG_PATH environment variable<br>No package 'ompi' found<br>MPI_HOME is not set and pkg-config not available, aborting<br>make: *** No rule to make target `depend'.  Stop.<br>make: *** No targets specified and no makefile found.  Stop.</div><div><br></div><div>Kindly assist as to what changes I need to make, in this case, linux_amd64_gfortran optfile.</div><div>I apologise for my lack of knowledge, since I have just started handling HPC.</div><div><br></div><div>Regards</div><div>Kunal</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 27, 2020 at 4:35 AM Michael Schaferkotter <<a href="mailto:schaferk@bellsouth.net" target="_blank">schaferk@bellsouth.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">you using (in the first case) pgi build options, yet gfortran (gcc) is the compiler. <br>
you need the compiler to be ifort. no telling what modules you have loaded.<br>
<br>
report what ‘module list’ returns.<br>
<br>
<br>
Sent from Here3.<br>
<br>
> On Aug 26, 2020, at 17:10, kunal madkaiker <<a href="mailto:kunal.madkaiker02@gmail.com" target="_blank">kunal.madkaiker02@gmail.com</a>> wrote:<br>
> <br>
> Dear MITgcm users,<br>
> <br>
> I am trying to run the model on hpc. In order to compile, I am using the available modules from MITgcm/tools/build_options.<br>
> Tried with 2 of the modules i.e. linux_amd64_pgf90+mpi_xd1 and linux_amd64_ifort+impi, but getting compilation error from both. I am using the MITgcm_c67f version<br>
> <br>
> My compiling script is:<br>
> /home/adrao/Model/MITgcm_c67f/MITgcm/tools/genmake2 --optfile=/home/adrao/Model/MITgcm_c67f/MITgcm/tools/build_options/linux_amd64_pgf90+mpi_xd1 -mpi<br>
> make depend<br>
> make<br>
> ---------<br>
> The error that I get for linux_amd64_pgf90+mpi_xd1 is,<br>
> <br>
> cat chksum_tiled.F |  /usr/bin/cpp -P -traditional -DWORDLENGTH=4 -DALLOW_USE_MPI  -I/sopt/mpi/mpich/pgi/include -I/sopt/netcdf/netcdf3-gcc-serial/include | ../../../../tools/set64bitConst.sh  > chksum_tiled.f<br>
> mpif90 -byteswapio -Mnodclchk -O2 -Munroll  -c chksum_tiled.f<br>
> gfortran: error: unrecognized command line option ‘-byteswapio’<br>
> gfortran: error: unrecognized command line option ‘-Mnodclchk’<br>
> gfortran: error: unrecognized command line option ‘-Munroll’<br>
> Makefile:1484: recipe for target 'chksum_tiled.o' failed<br>
> make[1]: *** [chksum_tiled.o] Error 1<br>
> make[1]: Leaving directory '/home/adrao/Model/MITgcm_c67f/MITgcm/verification/kunal_RUNTESTRUN/test_trial/testing_mpi_compiler'<br>
> Makefile:1392: recipe for target 'fwd_exe_target' failed<br>
> make: *** [fwd_exe_target] Error 2<br>
> ---------<br>
> Whereas, for linux_amd64_ifort+impi is,<br>
> cat chksum_tiled.F |  cpp -traditional -P -DWORDLENGTH=4 -DALLOW_USE_MPI  -I/usr/local/netcdf3/include -I/usr/local/bin/mpich/include | ../../../../tools/set64bitConst.sh  > chksum_tiled.f<br>
> mpiifort -m64 -convert big_endian -assume byterecl -mcmodel=medium -O2 -align -ip -fp-model source -xHost  -c chksum_tiled.f<br>
> make[1]: mpiifort: Command not found<br>
> Makefile:1491: recipe for target 'chksum_tiled.o' failed<br>
> make[1]: *** [chksum_tiled.o] Error 127<br>
> make[1]: Leaving directory '/home/adrao/Model/MITgcm_c67f/MITgcm/verification/kunal_RUNTESTRUN/test_trial/testing_mpi_compiler'<br>
> Makefile:1399: recipe for target 'fwd_exe_target' failed<br>
> make: *** [fwd_exe_target] Error 2<br>
> <br>
> Also, attaching genmake2, genmake.log files for both.<br>
> Kindly assist in case I need to edit the modules, or if an alternative is available. Thanks!<br>
> <br>
> Regards<br>
> Kunal<br>
> <genmake2><br>
> <ifort_impi_genmake.log><br>
> <linux_amd64_pgf90+mpi_xd1_genmake.log><br>
> _______________________________________________<br>
> MITgcm-support mailing list<br>
> <a href="mailto:MITgcm-support@mitgcm.org" target="_blank">MITgcm-support@mitgcm.org</a><br>
> <a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" rel="noreferrer" target="_blank">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support</a><br>
<br>
_______________________________________________<br>
MITgcm-support mailing list<br>
<a href="mailto:MITgcm-support@mitgcm.org" target="_blank">MITgcm-support@mitgcm.org</a><br>
<a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" rel="noreferrer" target="_blank">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support</a><br>
</blockquote></div>
_______________________________________________<br>
MITgcm-support mailing list<br>
<a href="mailto:MITgcm-support@mitgcm.org" target="_blank">MITgcm-support@mitgcm.org</a><br>
<a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" rel="noreferrer" target="_blank">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support</a><br>
</blockquote></div>