Download PDF
Download page MetInterp Control File.
MetInterp Control File
The MetInterp control file specifies the necessary settings for running MetInterp. Within this control file, each line may have a single argument, with an argument identifier and value separated by a ":" character. Any lines that start with a "*" character, or that are blank, are ignored. Also note that leading or trailing whitespaces are ignored in both the identifier and value.
The settings in the MetInterp file are generally broken up into five groups (although any order of arguments is accepted): General Settings, Gage Settings, Interpolation and Adjustment Settings, Output Settings, Disaggregation Patterns. The sections below describe these argument groups.
General Settings
| Identifier | Options | Default Value | Description |
|---|---|---|---|
| CreateAggregateImage | true, false | false | This tells MetInterp to create a single aggregate grid when set to true. When true, gage data is aggregated in time, then interpolated spatially. |
| StartTime | Date | None | This is the start date of the output grid(s). |
| EndTime | Date | None | This is the end date of the output grid(s). |
| TimeStep | Integer | 60 | Output grid time step in minutes. Ignored when "CreateAggregateImage: true", in which case a single image is created spanning StartTime to EndTime. |
| TimeZone | Time Zone ID | GMT | Time zone for writing the output grids. Supported time zone arguments described in Supported Time Zone. |
| Parameter | String | None | Name of the parameter for the output grid metadata. |
| DataType | PER-CUM, INST-VAL, PER-AVER, PER-MIN, PER-MAX | INVAL | The data type of the data. When using INST-VAL, all grids are treated as instantaneous in time, otherwise the grid duration is assumed equal to the TimeStep. |
| Units | String | None | Measurement units of the output grids (e.g. mm, in, deg f, deg c). |
| OutputGridOrigin | Float,Float | None | X,Y indices of the lower left grid cell of the output grid in the output coordinate system. X,Y indices can be determined by dividing the coordinate values of X,Y by the grid cell resolution in the same unit system. |
| OutputGridResolution | Float | None | Output grid's resolution. |
| OutputGridSize | Integer,Integer | None | Output grid's number of rows, number of columns. |
| OutputCoordinateSystem | String | None | Well Known Text representation of the coordinate system of the output grid. |
Gage Settings
Gage settings are broken up into two types: Aggregate Value and DSS Time Series. Aggregate value gages may be used to specify a storm total for a point gage, and a disaggregation pattern. Based on the disaggregation pattern, the specified storm total will be disaggregated to the TimeStep. Alternatively, a DSS time series is converted to the TimeStep (if necessary) with a uniform distribution (or interpolation in the case of instantaneous values).
Aggregate Value Gages
When specifying an Aggregate Value Gage, the identifier is AggregateValueGage.
Following the identifier, there arguments are in a comma separated list. An example line is below:
AggregateValueGage: true,P1,25,50,2000,1000,10,pattern1
The information in the AggregateValueGage are described below:
| Name | Options | Description |
|---|---|---|
| Is Active | true, false | When false, the gage is ignored. |
| Gage Name | String | Name of the gage. |
| X Coordinate | Float | X Coordinate of the point in the output coordinate system. |
| Y Coordinate | Float | Y Coordinate of the point in the output coordinate system. |
| Elevation | Float | Elevation in meters. This is only used when performing lapse adjustment. If not using lapse adjustment, the user can enter any number, or NaN. |
| Radius of Influence | Float | Radius of influence in km. |
| Value | Float | Value for this aggregate point in the units specified in the general settings. |
| Disaggregation Pattern | String | Name of the disaggregation pattern. See Disaggregation Pattern section below for more definition guidance. |
DSS Time Series Gages
When specifying a DSS Time Series Gage, the identifier is DssTimeSeriesGage. Following the identifier, there arguments are in a comma separated list. An example line is below:
DssTimeSeriesGage: true,TS1,2000,1000,Gages.dss,/BASIN/LOCATION/PRECIP-INC/01JAN2014/1HOUR/VERSION/
The information in the DssTimeSeriesGage are described below:
| Name | Options | Description |
|---|---|---|
| Is Active | true, false | When false, the gage is ignored |
| Gage Name | String | Name of the gage |
| Elevation | Float | Elevation in meters This is only used when performing lapse adjustment. |
| Radius of Influence | Float | Radius of influence in km |
| DSS File | String | DSS file containing the time series |
| DSS Record Pathname | String | DSS record pathname of the time series |
MetInterp requires that all DSS Time Series records include coordinate system definitions in their supplemental info.
Only the Geographic (i.e. lat/lon) Coordinate System is supported by MetInterp.
Missing Value Settings
| Identifier | Options | Default Value | Description |
|---|---|---|---|
| PercentAllowableMissingData | Float | 0 | Number of missing values allowed before computation fails. |
| DefaultValue | Float | NaN | Default value to use when time series has missing data. |
Interpolation and Adjustment Settings
Interpolation Settings
Interpolation settings are a list of interpolators, each of which has a name, spatial interpolation method, vertical adjustment method, and a temporal sampling method. Any number of interpolators my be specified, but each must have a unique name. An interpolator is defined by a single line, where Interpolator is the identifier. An example line is below:
Interpolator:IDW2,InverseDistanceSquared,None,None
The information in the Interpolator are described below:
| Name | Options | Description |
|---|---|---|
| Name | String | Unique name for this interpolator. When multiple interpolator options are used, then the f-part will be replaced with the interpolator name, ensuring that each interpolator creates unique results. |
| Spatial Interpolation Method | InverseDistance, InverseDistanceSquared, NearestNeighbor, Bilinear | Name of the spatial interpolation method. |
| Vertical Adjustment Method | None, Lapse, Bias | Name of the vertical adjustment method. When using lapse or bias method, a lapse or bias grid must be specified in the Adjustment Settings below. |
| Temporal Sampling Method | None, McCormick, Modified_McCormick | Temporal sampling method. Temporal sampling methods are used to account for the horizontal movement of storms. |
Multiple spatial interpolation methods can be computed at the same time by including in the control file one row for the "Interpolator" settings per desired method.
Temporal Sampling Methods are only intended to be used with precipitation, as it is a means to account for the spatial movement of a storm. Although it's only intended to be used with precipitation, MetInterp will not prevent the use of Temporal Sampling with other data.
Bilinear Extrapolation Distance
A special setting for the Bilinear interpolation method is required to specify the extrapolation distance. Other methods use a radius of influence, but the radius of influence concept is incompatible with bilinear interpolation. Since radius of influence is not used, controls over the extrapolation beyond the convex hull of the TIN. This is controlled by an extrapolation distance which is applied orthogonally from the TIN exterior.
| Identifier | Options | Default | Description |
|---|---|---|---|
| BilinearExtrapolationDistance | Float | 100 | Extrapolation distance in km |
Adjustment Settings
Vertical adjustments require settings to be implemented. For bias adjustment, a bias grid is required. For lapse adjustment, an elevation grid and lapse rate must be specified. Interpolation options are specified below:
| Identifier | Options | Default | Description |
|---|---|---|---|
| BiasGridFile | String | None | The bias grid filename. |
| BiasGridPath | String | None | The bias grid DSS record pathname (only necessary if BiasGridFile is a DSS file). |
| LapseGridFile | String | None | The lapse grid filename. |
| LapseGridPath | String | None | The lapse grid DSS record pathname (only necessary if LapseGridFile is a DSS file). |
| LapseRate | Number, Computed | NaN | The lapse rate in output units per meter, or "Computed". If "Computed" is specified, then the lapse rate is computed for each time step from the gage data. |
Output Settings
Output settings specify how the resulting grids will be written. These settings are described in the table below:
| Identifier | Options | Description |
|---|---|---|
| OutputProvider | String | Name of the provider used to write the grid (e.g. DSS, ASCII_Grid. See Grid and TIN Writing Arguments for all options). |
| OutputProviderType | String | Type to be written with the provider (e.g. SHG, HRAP, or WKT for DSS, ASC_GRID or FLT_Grid for ASCII_Grid. See Grid and TIN Writing Arguments for all options) |
| OutputFile | String | This filename of the output grids. When this is a non-DSS file, the file must use date masks to work properly, and the directory of the file will be altered to include the interpolator name, which ensures that results from each interpolator are separated into their own location. Alternatively, if this is a DSS file, then the OutputPath must be specified. |
| OutputPath | String | The DSS record pathname for the output path. If there are more than one interpolator, then the f-part will be versioned with the interpolator name, based on the user-specified VersionHandling, ensuring that each interpolator creates unique results. |
| VersionHandling | String | When using DSS and multiple interpolators in a single run, the versioning behavior needs to be specified. This versioning behavior will either replace the F-Part with the interpolator name, append the interpolator name onto the F-Part, or prepend the interpolator name onto the F-Part. The options are "Replace", "Append", and "Prepend". |
Disaggregation Pattern
Disaggregation patterns are only used when Aggregate Value Gages are used. These disaggregation patterns are used to distribute values (typically precipitation depths) over some time period in a non-uniform fashion. For example, a triangular pattern is common, where the majority of precipitation occurs in the middle of the time window. In order to specify these patterns, the "Pattern" identifier is used, followed by a name and array of values, following the example below:
Pattern: Pattern1,{.1, .1, .2, .3, .2, .1}
In the example above, the pattern name is "Pattern1", and the array has 6 values. If the storm is 6 hours in duration, and hourly grids are being created, then the aggregate value for a given gage will be multiplied by each value in the array. For example, if the aggregate value is 5in, the 4th hour will be 1.5in (1.5=5*.3). When the output time steps are not equal to the array length, these 6 values will be converted to the number of time steps necessary. For example, if the storm is 1Day in duration, and the output is hourly, these 6 values will be converted to 24. When converting the number of values, the mass is conserved, meaning that the sum of the resulting 24 values will be equals to the sum of the original 6 values. In the example of 24 hours, the array will be converted to {.025, .025, .025, .025, .025, .025, .025, .025, .05, .05, .05, .05, .075, .075, .075, .075, .05, .05, .05, .05, .025, .025, .025, .025}.