Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Building pio error!

When building pio in models/utils/pio without pnetcdf ,it give the wrong info:

Making dependencies for pio.F90 --> pio.d
Making dependencies for pio_kinds.F90 --> pio_kinds.d
Making dependencies for nf_mod.F90 --> nf_mod.d
Making dependencies for ionf_mod.F90 --> ionf_mod.d
Making dependencies for pio_types.F90 --> pio_types.d
Making dependencies for piolib_mod.F90 --> piolib_mod.d
Making dependencies for pio_mpi_utils.F90 --> pio_mpi_utils.d
Making dependencies for pio_nf_utils.F90 --> pio_nf_utils.d
Making dependencies for pio_utils.F90 --> pio_utils.d
Making dependencies for pio_quicksort.F90 --> pio_quicksort.d
Making dependencies for pionfatt_mod.F90 --> pionfatt_mod.d
Making dependencies for pionfread_mod.F90 --> pionfread_mod.d
Making dependencies for pionfwrite_mod.F90 --> pionfwrite_mod.d
Making dependencies for pionfput_mod.F90 --> pionfput_mod.d
Making dependencies for pionfget_mod.F90 --> pionfget_mod.d
Making dependencies for alloc_mod.F90 --> alloc_mod.d
Making dependencies for box_rearrange.F90 --> box_rearrange.d
Making dependencies for rearrange.F90 --> rearrange.d
Making dependencies for pio_support.F90 --> pio_support.d
Making dependencies for mct_rearrange.F90 --> mct_rearrange.d
Making dependencies for iompi_mod.F90 --> iompi_mod.d
Making dependencies for piodarray.F90 --> piodarray.d
Making dependencies for pio_spmd_utils.F90 --> pio_spmd_utils.d
Done updating dependencies
make[1]: Entering directory `/disk1/home/lp/li/CAM5/cam1/models/utils/pio'
mpicc -c -g -O2 -DFORTRAN_MANGLING_UNKNOWN -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/disk1/soft/netcdf-3.6.0-x64/include topology.c
mpicc -c -g -O2 -DFORTRAN_MANGLING_UNKNOWN -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/disk1/soft/netcdf-3.6.0-x64/include pnetcdfversion.c
mpif90 -c -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/disk1/soft/netcdf-3.6.0-x64/include pio_kinds.F90
In file mpif.h:439

Included at pio_kinds.F90:23

SAVE /MPIPRIV1/,/MPIPRIV2/
1
Warning: SAVE statement at (1) follows blanket SAVE statement
In file mpif.h:442

Included at pio_kinds.F90:23

SAVE /MPIPRIVC/
1
Warning: SAVE statement at (1) follows blanket SAVE statement
mpif90 -c -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/disk1/soft/netcdf-3.6.0-x64/include pio_types.F90
In file pio_types.F90:11

use netcdf ! _EXTERNAL
1
Fatal Error: File 'netcdf.mod' opened at (1) is not a GFORTRAN module file
make[1]: *** [pio_types.o] Error 1
make[1]: Leaving directory `/disk1/home/lp/li/CAM5/cam1/models/utils/pio'
make: *** [all] Error 2


and the netcdf is build by ifort ,where shoud I set the compiler to ifor/mpiifort instead of using gfortran ?
Thanks!
 

eaton

CSEG and Liaisons
To use ifort/mpiifort with the CESM scripts I assume that you're specifying one of the generic_*_intel machines to create_newcase. Look in the Macros file that corresponds to the machine. For example, if you use generic_linux_intel as the machine, look in the file scripts/ccsm_utils/Machines/Macros.generic_linux_intel. In that file you'll find settings for FC and CC to specify the fortran and C compilers (the fortran compiler is the one used for linking). These are set to mpif90 and mpicc by default. Change the setting for mpif90 to mpiifort, and be sure that mpiifort is in your $PATH.

Also, the warning message about the "blanket SAVE statement" is something that has been fixed in later pio versions.
 
Top