wget https://github.com/NCAR/ParallelIO/archive/pio1_9_23.tar.gz
tar xzvf pio1_9_23.tar.gz
cd ParallelIO-pio1_9_23
cd pio
export PIOSRC=`pwd`
git clone https://github.com/PARALLELIO/genf90.git bin
git clone https://github.com/CESM-Development/CMake_Fortran_utils.git cmake
cd ../..
export FC=mpif90
export CC=mpicc
mkdir pio-1.9.23
cd pio-1.9.23
cmake -DNETCDF_C_DIR=$NETCDF -DNETCDF_Fortran_DIR=$NETCDF -DPNETCDF_DIR=$PNETCDF -DCMAKE_VERBOSE_MAKEFILE=1 $PIOSRC
make
export PIO=`pwd`
Of course, you can change FC and CC to match the MPI Fortran and C compiler wrappers on your system, and you may also need to set the environment variables NETCDF and PNETCDF as well.
Wei