Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

MPAS-A installation failed due to pio1.f90 and pio2.f90

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

Each invocation of the compiler is generating the following warning:
f951: Warning: Nonexistent include directory ‘-I/usr/local/pnetcdf-1.8.1_mpich-3.2/include’ [-Wmissing-include-dirs]
and the final linking step is generating a large number of undefined references, e.g.,
./libframework.a(mpas_io.o): In function `__mpas_io_MOD_mpas_io_finalize':
mpas_io.F:(.text+0x6dd): undefined reference to `__piolib_mod_MOD_freedecomp_ios'
mpas_io.F:(.text+0x72e): undefined reference to `__piolib_mod_MOD_finalize'
./libframework.a(mpas_io.o): In function `__mpas_io_MOD_mpas_io_put_att_text':
mpas_io.F:(.text+0x1391): undefined reference to `__pionfatt_mod_MOD_put_att_vid_text'
mpas_io.F:(.text+0x13c6): undefined reference to `__pio_nf_MOD_redef_desc'
mpas_io.F:(.text+0x13ff): undefined reference to `__pionfatt_mod_MOD_put_att_vid_text'
mpas_io.F:(.text+0x140f): undefined reference to `__pio_nf_MOD_enddef_desc'

Which netCDF and PnetCDF libraries have you installed, and which environment variables have you set before trying to compile the atmosphere core?

As an aside, it may be easier for others to view your log file if you could provide it as a simple text (.txt) file rather than as, e.g., a .odt file.
 
I compiled pio- 2.5.2.
Still I get the similar errors while compiling mpas-7.0.
Log files of mpas compile.log, pio config.log, pnetcdf config.log are attached.
 

Attachments

  • mpascompile.log
    5.7 KB · Views: 54
  • pioconfig.log
    44.2 KB · Views: 52
  • pnetcdfconfig.log
    157.2 KB · Views: 49
The first error in your MPAS compilation log is
mpas_derived_types.F:30:7:

use pio
1
Fatal Error: Can't open module file ‘pio.mod’ for reading at (1): No such file or directory

From your compilation log, it looks like you may have installed PIO in /home/metdu/allmodel/pio . Can you list the /home/metdu/allmodel/pio/include directory and see whether there is a file named "pio.mod" there?
 
There is also a known issue with the PIO 2.5.2 library in MPAS; see MPAS-Model Issue #695 and the fix in PR #707 . There are a couple of ways that you could work around this in MPAS v7.0:
  1. You could install PIO 2.4.4 rather than PIO 2.5.2
  2. You could locally merge the changes from PR #707 onto the MPAS v7.0 release branch.
 
mgduda said:
The first error in your MPAS compilation log is
mpas_derived_types.F:30:7:

use pio
1
Fatal Error: Can't open module file ‘pio.mod’ for reading at (1): No such file or directory

From your compilation log, it looks like you may have installed PIO in /home/metdu/allmodel/pio . Can you list the /home/metdu/allmodel/pio/include directory and see whether there is a file named "pio.mod" there?

No there is no pio.mod in /home/metdu/allmodel/pio/include. There are only pio.h pio_meta.h uthash.h.
 
It seems that the PIO library hasn't been installed properly (or perhaps didn't include the Fortran interface layer, if it's even possible to exclude that during configuration). You may want to try reinstalling PIO; here's a set of commands that may help in doing so:
Code:
git clone https://github.com/NCAR/ParallelIO
cd ParallelIO
git checkout -b pio-2.5.2 pio2_5_2
export PIOSRC=`pwd`
cd ..
mkdir pio
cd pio
export CC=$MPI_CC
export FC=$MPI_FC
cmake -DNetCDF_C_PATH=$NETCDF -DNetCDF_Fortran_PATH=$NETCDF -DPnetCDF_PATH=$PNETCDF -DHDF5_PATH=$NETCDF -DCMAKE_INSTALL_PREFIX=$LIBBASE -DPIO_USE_MALLOC=ON -DCMAKE_VERBOSE_MAKEFILE=1 -DPIO_ENABLE_TIMING=OFF $PIOSRC
make
make install
cd ..
rm -rf pio ParallelIO
export PIO=$LIBBASE
The above assumes that you've set environment variables MPI_CC, MPI_FC, NETCDF, PNETCDF, and LIBBASE; in case the expected values for any of these aren't clear, please don't hesitate to follow-up and I'll be glad to help.
 
Top