SWAT Pre-adapter
...
The pre-adapter
...
processes the following NetCDF files from FEWS to be used in the model run.
- Meteorological forcing data:
- hmd.nc (SWAT file: hmd.hmd)
- pcp1.nc (SWAT file: pcp1.pcp)
- pet.nc (SWAT file: pet.txt)
- slr.nc (SWAT file: slr.slr)
- tmp1.nc (SWAT file: tmp1.tmp)
- wnd.nc (SWAT file: wnd.wnd)
Point source forcing data (written to SWAT file #p.dat):
- WQ_BACTLPCNST.nc
- WQ_BACTPCNST.nc
- WQ_CBODCNST.nc
- WQ_CHLACNST.nc
- WQ_CMTL1CNST.nc
- WQ_CMTL2CNST.nc
- WQ_CMTL3CNST.nc
- WQ_DISOXCNST.nc
- WQ_FLOCNST.nc
- WQ_MINPCNST.nc
- WQ_NH3CNST.nc
- WQ_NO2CNST.nc
- WQ_NO3CNST.nc
- WQ_ORGNCNST.nc
- WQ_ORGPCNST.nc
- WQ_SEDCNST.nc
- WQ_SOLPSTCNST.nc
- WQ_SRBPSTCNST.nc
The pre-adapter also updates the SWAT master file (i.e. writing starttime and endtime, read from the run_info.xml).
- file.cio
SWAT Post-adapter
The post-adapter uses the following files and the results of the model run to create NetCDF files to load into FEWS.
- file.cio (master file)
- schema.ini
- this file contains information on how to read the model's output files because the column width's aren't fixed and can differ per modelset
(output.rch > reach.nc, output.sed > sediment.nc, output.sub > subbasin.nc)
- this file contains information on how to read the model's output files because the column width's aren't fixed and can differ per modelset
GeneralAdapterRun Example Configuration
The following gives an example of how to set up the GeneralAdapterRun file for SWAT in FEWS using the SWAT model pre and post-adapters. The GeneralAdapterRun file follows the general structure as described here.
General
This section specifies general information regarding the module such as version number, file directories, missing values, and time zone information.
GeneralAdapterRun Example Configuration
The following gives an example of how to set up the GeneralAdapterRun file for SWAT in FEWS using the SWAT model pre and post-adapters. The GeneralAdapterRun file follows the general structure as described here.
General
This section specifies general information regarding the module such as version number, file directories, missing values, and time zone information.
Code Block | ||||
---|---|---|---|---|
| ||||
<general>
<description>SWAT Model for $BASIN$</description>
<piVersion>1.8</piVersion>
<rootDir>%REGION_HOME%/Modules/SWAT/$BASIN$</rootDir>
<workDir>%ROOT_DIR%/work-dir</workDir>
<exportDir>%ROOT_DIR%/export-dir</exportDir>
<exportDataSetDir>%ROOT_DIR%</exportDataSetDir>
<exportIdMap>IdExportSWAT</exportIdMap>
<importDir>%ROOT_DIR%/import-dir</importDir>
<importIdMap>IdImportSWAT</importIdMap>
<dumpFileDir>$GA_DUMPFILEDIR$</dumpFileDir>
<dumpDir>%ROOT_DIR%</dumpDir>
<diagnosticFile>%ROOT_DIR%/swat_adapter_log.xml</diagnosticFile>
<missVal>-999.0</missVal>
<timeZone>
<timeZoneName>MST</timeZoneName>
</timeZone>
</general> |
Start-Up Activities
This section can be used to clear data from previous runs.
Code Block | ||||
---|---|---|---|---|
| ||||
<startUpActivities>
<purgeActivity>
<filter>%ROOT_DIR%/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/work-dir/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/import-dir/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/export-dir/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/TablesOut/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/TablesIn/*.*</filter>
</purgeActivity>
</startUpActivities> |
Export Activities
This section specifies the data to be exported from FEWS as input to the module and properties to run the model. Properties include the file.cio and schema.ini as reference to input files and the file locations the model should output.
Code Block | |||||
---|---|---|---|---|---|
| |||||
<general>
<description>SWAT Model for $BASIN$</description>
<piVersion>1.8</piVersion>
<rootDir>%REGION_HOME%/Modules/SWAT/$BASIN$</rootDir>
<workDir>%ROOT_DIR%/work-dir</workDir>
<exportDir>%ROOT_DIR%/export-dir</exportDir>
<exportDataSetDir>%ROOT_DIR%</exportDataSetDir>
<exportIdMap>IdExportSWAT</exportIdMap>
<importDir>%ROOT_DIR%/import-dir</importDir>
<importIdMap>IdImportSWAT</importIdMap>
<dumpFileDir>$GA_DUMPFILEDIR$</dumpFileDir>
<dumpDir>%ROOT_DIR%</dumpDir>
<diagnosticFile>%ROOT_DIR%/swat_adapter_log.xml</diagnosticFile>
<missVal>-999.0</missVal>
<timeZone>
<timeZoneName>MST</timeZoneName>
</timeZone>
</general> |
Start-Up Activities
This section can be used to clear data from previous runs.
Code Block | ||||
---|---|---|---|---|
| ||||
<startUpActivities>
<purgeActivity>
<filter>%ROOT_DIR%/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/work-dir/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/import-dir/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/export-dir/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/TablesOut/*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%/TablesIn/*.*</filter>
</purgeActivity>
</startUpActivities> |
Export Activities
This section specifies the data to be exported from FEWS as input to the module and properties to run the model. Properties include the file.cio and schema.ini as reference to input files and the file locations the model should output.
Code Block | ||||
---|---|---|---|---|
| ||||
<exportActivities> <exportDataSetActivity> <moduleInstanceId>SWAT_$BASIN$</moduleInstanceId> </exportDataSetActivity> <!-- --> <exportActivities> <exportDataSetActivity> <moduleInstanceId>SWAT_$BASIN$</moduleInstanceId> </exportDataSetActivity> <!-- --> <exportNetcdfActivity> <exportFile>pcp1.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PC.obs</parameterId> <locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>tmp1.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <valueType>scalar</valueType> <parameterId>TA.obs</parameterId> <locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>hmd.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <valueType>scalar</valueType> <parameterId>XR.obs</parameterId> <locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>wnd.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <valueType>scalar</valueType> <parameterId>US.obs</parameterId> <locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>slr.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessACISScalar_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>RW.obs.day</parameterId> <locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>pet.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessSWAT</moduleInstanceId> <valueType>scalar</valueType> <parameterId>EA.obs</parameterId> <locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <!-- WQ data exports --> <exportNetcdfActivity> <exportFile>WQ_FLOCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_SEDCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_ORGNCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_ORGPCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_NO3CNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_NH3CNST<exportFile>pcp1.nc</exportFile> <timeSeriesSets> <timeSeriesSet><timeSeriesSet> <moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <moduleInstanceId>PreprocessWQ_historical<<valueType>scalar</moduleInstanceId>valueType> <valueType>scalar<<parameterId>PC.obs</valueType>parameterId> <parameterId>PTO4<<locationId>3036086</parameterId>locationId> <locationSetId>WQ_Stations<<locationId>3036205</locationSetId>locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_NO2CNST<exportFile>tmp1.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical<<moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>TA.obs</parameterId> <locationSetId>WQ_Stations</locationSetId><locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_MINPCNST<exportFile>hmd.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical<<moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <valueType>scalar</valueType>/valueType> <parameterId>XR.obs</parameterId> <parameterId>PTO4<<locationId>3036086</parameterId>locationId> <locationSetId>WQ_Stations<<locationId>3036205</locationSetId>locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_CBODCNST<exportFile>wnd.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical<<moduleInstanceId>PreprocessACISScalar</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>US.obs</parameterId> <locationId>3036086</locationId> <locationSetId>WQ_Stations<<locationId>3036205</locationSetId>locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_DISOXCNST<exportFile>slr.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ<moduleInstanceId>PreprocessACISScalar_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>RW.obs.day</parameterId> <locationSetId>WQ_Stations</locationSetId><locationId>3036086</locationId> <locationId>3036205</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_CHLACNST<exportFile>pet.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical<<moduleInstanceId>PreprocessSWAT</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>EA.obs</parameterId> <locationId>3036086</locationId> <locationSetId>WQ_Stations<<locationId>3036205</locationSetId>locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <!-- WQ data exports --> <exportNetcdfActivity> <exportFile>WQ_SOLPSTCNSTFLOCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>Q.sim</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_SRBPSTCNSTSEDCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>SuspSed</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_BACTPCNSTNO3CNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>NO3</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_BACTLPCNSTCBODCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>CBOD</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_CMTL1CNSTDISOXCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>DO</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_CMTL2CNSTCHLACNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4<<parameterId>CHLA</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportNetcdfActivity> <exportFile>WQ_CMTL3CNSTSOLPSTCNST.nc</exportFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>PreprocessWQ_historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>PTO4</parameterId> <locationSetId>WQ_Stations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep id="day_MST"/> <relativeViewPeriod unit="day" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </timeSeriesSets> </exportNetcdfActivity> <exportRunFileActivity> <exportFile>%ROOT_DIR%/run_info.xml</exportFile> <properties> <string key="master-watershed" value="%WORK_DIR%/file.cio"/> <string key="schema" value="%WORK_DIR%/schema.ini"/> <string key="reach" value="%WORK_DIR%/output.rch"/> <string key="reach-output" value="%ROOT_DIR%/export-dir/reach.nc"/> <string key="sediment" value="%WORK_DIR%/output.sed"/> <string key="sediment-output" value="%ROOT_DIR%/export-dir/sediment.nc"/> <string key="subbasin" value="%WORK_DIR%/output.sub"/> <string key="subbasin-output" value="%ROOT_DIR%/export-dir/subbasin.nc"/> </properties> </exportRunFileActivity> </exportActivities> |
...