Bad environment-list "NPCOL_NPROW" in combine script

I ran CMAQ on NCAR Cheyenne.
I would like to execute combine script for CMAQ results.

In run script, I set
which are 4 nodes, 8 cores per node, 8 mpi processes per node

if ( $PROC == serial ) then
setenv NPCOL_NPROW “1 1”; set NPROCS = 1 # single processor setting
@ NPCOL = 4; @ NPROW = 8

The CMAQ results is good, but when I tried to combine the results of different days, the following errors occurred:

 Missing environment variable EXECUTION_ID

API Started
Value for IOAPI_ISPH not defined; returning defaultval ': ‘20’
Value for IOAPI_ISPH not defined; returning defaultval ': ‘20’
WARNING IOAPI_ISPH not set in script, using 20 (WRF-ARW sphere)
Id: modpdata.F90 437 2016-11-28 16:37:14Z coats
Value for NPCOL_NPROW not defined; returning defaultval ': ’ ’
Value for NPCOL_NPROW not defined; returning defaultval ': ’ ’

 Bad environment-list "NPCOL_NPROW"

I set select=4:ncpus=8:mpiprocs=8 in combine script as well.
I tried to search for similar issues, but there are no related posts.

None of the postprocessing programs in the ‘POST’ directory, including ‘combine’, are set up for parallel computing. Could you please try running ‘combine’ based on the sample run script provided with the code, i.e. without adding “select=4:ncpus=8:mpiprocs=8” to see if this solves your problem? If this still fails, please post your complete ‘combine’ run script and log file.

I tried to delete “select=4:ncpus=8:mpiprocs=8” but the machine does not accept a job without specified nodes and cores. I attached the run script, combine script, and combine log file here.
Meanwhile, I wrote a checkfilesize script to confirm CMAQ results and activate combine script, so it is unparalleled.

run_201601_R225.csh (35.6 KB)
C_201601_225.o5951713.txt (4.4 KB) combine_201601_R225.csh (4.7 KB)
checkfilesize.csh (627 Bytes)

Thank you.

The error seems to originate in I/O API modpdata.F90 which, based on the header, is used if you’re using parallel-netCDF in your I/O API build. I do not have experience with using parallel-netCDF, so my suggestion may not help, but you could try adding the following to your ‘combine’ run script:

setenv NPCOL_NPROW “1 1”
set NPROCS = 1
(the latter probably isn’t necessary since it doesn’t affect the environment)

These lines aren’t necessary for a non-parallel-netCDF I/O API build and aren’t part of our run scripts for ‘combine’ and other non-parallelized postprocessing tools, but might be necessary if you’ve compiled the post-processing tools with a parallel-netCDF I/O API build. If this is the root cause, @cjcoats would be a much better person than me to troubleshoot any problems you might continue to encounter with this setup.


I/O API Version 3.2 introduces support for distributed parallel I/O using PnetCDF from Argonne National Laboratory, for use in CMAQ-5.1 CCTM and later…
I/O API builds usiing PnetCDF are not link compatible with ordinary builds, and should be kept carefully separate from them.

Generally pNetCDF-enable I/O API should be used for the CMAQ CCTM only. That CMAQ’s bldmod system does not respect this is a bug/defect in the CMAQ build system.

Thanks, @cjcoats

I used Linux2_x86_64ifortmpi for CCTM compilation (CCTM_v532.exe) and used Linux2_x86_64ifort for /POST/combine compilation (combine_v532.exe). It works!