StateMod File Comparison
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.
If a command file is not provided, the program defaults to
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 (
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
# # 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