setenv <synchfile> <path name> or "NONE"
setenv <matrixfile> <path name>
setenv <infile> <path name>
setenv <outfile> <path name>
setenv GRIDDESC <path name>
m3cple <and respond to the prompts>
where infile, matrixfile, outfile, and
the optional synchfile are the
logical names of the input data,
input sparse-matrix transform
file, and output data files.
The MTXCPLE program extracts all
variables for a specified time step sequence
from one I/O API file, infile, transforms them to a
new grid using the specified transform matrix,, and writes them to a
different I/O API file, outfile, under the optional
control of a synchfile. Any combination of physical or virtual files is supported.
The normal use of MTXCPLE with a synchfile
is to fit into a system of coupled models exchanging data via the
I/O API coupling mode, and
extract/interpolate data either from a virtual file to a physical
file, or vice versa.
Requires Fortran-90 for compilation.
Before you run the program, you need to assign logical names to the physical file names of both files and to the GRIDDESC file, according to Models-3 conventions, using the UNIX csh command-line operation
"setenv <lname> <pname>"
The program will prompt you for the logical names you
have chosen for the input data file, the input matrix transform file,
for the input and output grids, for the output file type, and for the
time step sequence to process. The prompts have default responses
indicated in square brackets [LIKE THIS], which can be
accepted by hitting <RETURN>. The specification of starting
date and time, target date and time, and number of time step records
for the run follow Models-3 date and time
conventions.
Versions of the program are available for each supported architecture (workstation versions are currently in the directories /env/proj/ppar/(SunOS5f90 | IRIX6n32f90 | IRIX64f90)/bin.
If you want to run this program in batch mode (from a script), the recommended way to develop the script is to run the program once interactively noting the pattern of responses to prompts which generate the particular analysis you want. The pattern of responses then becomes either a command-input file which you may redirect into the program in the script, or may become a "here-document" fed into the execution by the script. One such script, to interpolate from a time-independent emissions file on one grid to an output emissions file on another grid is given below:
#!/bin/csh
#
# Script to run /env/proj/ppar/smoke/Run.mtxcple for the
# INNOGY UK108_25X28 test case
#
# Location of the executable:
#
setenv BIN /env/proj/ppar/IRIX6n32f90
#
setenv DATA /env/data/innogy/UK108_25X28/emep97/area/
setenv INDIR /env/data/innogy/inventory/emep97/area/
#
setenv GRIDDESC ${DATA}/GRIDDESC.EU
setenv FRACTIONS ${DATA}/EU_coeffs.UK108_25X28
setenv MATRIX_FILE ${DATA}/EU_to_UK108_25X28.matrix.ncf
setenv IN_DATA ${INDIR}/emep_ann.1997.eu50.ncf
setenv OUT_DATA ${DATA}/emep_ann.1997.UK108_25X28.ncf
#
unsetenv LOGFILE
set UI=/tmp/mtxcple.$$
echo "Yes, continue with program" > ${UI}
echo "NONE" >> ${UI} # do not use any synch-file
echo "MATRIX_FILE" >> ${UI} # input sparse transform-matrix
echo "IN_DATA" >> ${UI} # input data file
echo "1997001" >> ${UI} # starting date
echo "0" >> ${UI} # starting time
echo "87600000" >> ${UI} # timestep
echo "1" >> ${UI} # number of output time steps
echo "1" >> ${UI} # output file type
echo "OUT_DATA" >> ${UI} # output data file
echo " " >> ${UI}
echo '------------------------------------------------------------------'
env
echo '------------------------------------------------------------------'
echo "UI command-line input:"
cat ${UI}
echo '------------------------------------------------------------------'
${BIN}/mtxcple < ${UI}
set errornum=${status}
echo '------------------------------------------------------------------'
rm ${UI}
if ( ${errornum} != 0 ) echo "ERROR ${errornum} on program "
exit ( ${errornum} )
See Also:
To: Models-3/EDSS I/O API: The Help Pages