StateMod File Comparison
The smfc
program is written in FORTRAN and expects a command file with data. Smfc
does the following for StateMod applications:
- Reads and compares 2 or more StateMod input or output files. The user has the ability to:
- Compare all StateMod input files associated with a run if the file to be compared is a response (*.rsp) file.
- Compare just one file if the file to be compares is anything except a response file (e.g. *.dds, *.res, *.xpl, etc.).
Constraints used by the model include:
StateMod allows a unit response (*.urm, *.urd, or *.dly) file data to be provided in a free format. In order for SmFc
to differentiate
between an ID and data, columns 1-12 of a unit response file should be reserved for an ID. See below for an example free format *.urm
file where the ID is URM_1
, 12 unit response values of 10 are provided as input, and columns 1-12 are reserved for the ID designation.
URM_1 12 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10
StateMod allows an operating rule (*.opr) file to be provided in free format. In order for SmLink
to differentiate between an ID and data,
columns 1-12 should be reserved for an ID. See below for an example free format operating rule file with monthly on off switch.
Opr_Mead.01 Opr_Meadow_D&S_01 100.00000 12. 1
1 1 1 1 -15 0 0 0 0 0 0 0 (on/off data begins in column 13)
It is common for a well water right to be assigned more than one structure and a well plan to include many wells. Therefore when comparing a well right file or a well plan file, differences may be expected.
Options
If a command file is not provided, the program defaults to smfc.rsp
.
If a response (*.rsp) file is provided on the file to compare (line 2) then the code will compare all files contained in the response files.
If any file other than a response if provided then it only compares those two files.
Has the option to print all lines in a comparison (iprint=0
) or only lines where differences occur (iprint=1
).
Following is the information in a typical command file:
Line 1: Print control (iprint) 0=print all; 1=print only delta
Line 2: Comparison control (e.g. .rsp, .dds, etc)
Line 3: Output file name
Line 4: File 1 to compare
Line 5: File 2 to compare
Example
#
# Smfc.rsp; response file to smfc.for; StateMod file compare
#
# 1. iprint 0=print all; 1=print only delta
1
#
# 2. Files to compare (.rsp = all)
.rsp
#
# 3. Output File name
SmFc.out
#
# 4. File 1 to compare
/usr2/crdsswork/statemod/white/whiteH.rsp
#
# 5. File 2 to compare
/usr2/crdsswork/statemod/whiteT/whiteTH.rsp