diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.json index abadf23b..ae4d004a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.json @@ -97,7 +97,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "chf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.toml index 94bfb045..8a1948f3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.toml @@ -87,6 +87,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "chf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.yaml index 4d173be2..e3de9ebb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cdb.yaml @@ -100,6 +100,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: chf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.json index 45fce318..7eb21535 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.json @@ -50,6 +50,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once.", "tagged": false, + "index": true, "pk": true }, "nxspoints": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.toml index 30853422..224dddd0 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.toml @@ -41,6 +41,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.nxspoints] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.yaml index 56170ff3..f7ed53ca 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-cxs.yaml @@ -46,6 +46,7 @@ blocks: with an error. The program will also terminate with an error if information for a section is specified more than once. tagged: false + index: true pk: true nxspoints: type: integer diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.json index 1abd8597..1401ded7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.json @@ -81,6 +81,7 @@ "type": "array", "longname": "mannings roughness coefficient", "description": "mannings roughness coefficient", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -92,6 +93,8 @@ "description": "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide.", "optional": true, "dtype": "integer", + "index": true, + "fk": "chf-cxs.packagedata.idcxs", "shape": [ "nodes" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.toml index 28d2363b..97ee78b0 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.toml @@ -72,6 +72,7 @@ developmode = true type = "array" longname = "mannings roughness coefficient" description = "mannings roughness coefficient" +optional = true dtype = "double" shape = [ "nodes", @@ -83,6 +84,8 @@ longname = "cross section number" description = "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide." optional = true dtype = "integer" +index = true +fk = "chf-cxs.packagedata.idcxs" shape = [ "nodes", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.yaml index 71d9e7e6..4ac42915 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-dfw.yaml @@ -90,6 +90,7 @@ blocks: type: array longname: mannings roughness coefficient description: mannings roughness coefficient + optional: true dtype: double shape: - nodes @@ -100,5 +101,7 @@ blocks: that applies to the reach. If not provided then reach will be treated as hydraulically wide. optional: true dtype: integer + index: true + fk: chf-cxs.packagedata.idcxs shape: - nodes diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.json index 2ef5486b..be3f8f16 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.json @@ -105,6 +105,7 @@ "type": "array", "longname": "width", "description": "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -114,6 +115,7 @@ "type": "array", "longname": "bottom elevation for the one-dimensional cell", "description": "bottom elevation for the one-dimensional cell.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -143,7 +145,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -177,7 +181,9 @@ "type": "integer", "longname": "cell1d number", "description": "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "fdc": { "type": "double", @@ -197,6 +203,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.toml index 54d67807..3124ae56 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.toml @@ -90,6 +90,7 @@ optional = true type = "array" longname = "width" description = "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values." +optional = true dtype = "double" shape = [ "nodes", @@ -99,6 +100,7 @@ shape = [ type = "array" longname = "bottom elevation for the one-dimensional cell" description = "bottom elevation for the one-dimensional cell." +optional = true dtype = "double" shape = [ "nodes", @@ -129,6 +131,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -157,6 +161,8 @@ type = "integer" longname = "cell1d number" description = "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell1d.fields.cell1d.item.fields.fdc] type = "double" @@ -176,6 +182,7 @@ longname = "number of cell vertices" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.yaml index cd14bc73..c21fb1ba 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-disv1d.yaml @@ -101,6 +101,7 @@ blocks: description: real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values. + optional: true dtype: double shape: - nodes @@ -108,6 +109,7 @@ blocks: type: array longname: bottom elevation for the one-dimensional cell description: bottom elevation for the one-dimensional cell. + optional: true dtype: double shape: - nodes @@ -137,6 +139,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -163,6 +167,8 @@ blocks: description: is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true fdc: type: double longname: fractional distance to the cell center @@ -187,6 +193,7 @@ blocks: is calculated using the ZV of the first and last vertex point and FDC. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.json index 1551d634..a2cba42c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.json @@ -98,17 +98,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.toml index 03373d30..c89c8397 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.toml @@ -88,16 +88,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.yaml index e615af5d..f151bf38 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-oc.yaml @@ -81,14 +81,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.json index a47099ef..bc1d11d0 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.json @@ -115,7 +115,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "chf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.toml index b62bff3f..0ddc31ee 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.toml @@ -103,6 +103,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "chf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.yaml index 0bc52b95..3ff891c3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/chf-zdg.yaml @@ -116,6 +116,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: chf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.json index 42f7cf08..aa2de63b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.json @@ -73,13 +73,17 @@ "type": "integer", "longname": "cellid of cell in surface water model", "description": "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of cell in groundwater model", "description": "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "bedleak": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.toml index 329c5b10..7bbbd7c5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.toml @@ -63,12 +63,16 @@ type = "integer" longname = "cellid of cell in surface water model" description = "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of cell in groundwater model" description = "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.bedleak] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.yaml index bff3b203..64763265 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-chfgwf.yaml @@ -69,6 +69,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of cell in groundwater model @@ -78,6 +80,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true bedleak: type: double longname: bed leakance diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.json index 1111ca2b..4bcc064d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.json @@ -146,13 +146,17 @@ "type": "integer", "longname": "cellid of first cell", "description": "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of second cell", "description": "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "ihc": { "type": "integer", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.toml index 0a352ae7..e0ed0c6b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.toml @@ -134,12 +134,16 @@ type = "integer" longname = "cellid of first cell" description = "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of second cell" description = "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.ihc] type = "integer" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.yaml index 2687a713..569c8529 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwegwe.yaml @@ -148,6 +148,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of second cell @@ -157,6 +159,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true ihc: type: integer longname: integer flag for connection type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.json index 5836f99d..b5a9b990 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.json @@ -173,13 +173,17 @@ "type": "integer", "longname": "cellid of first cell", "description": "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of second cell", "description": "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "ihc": { "type": "integer", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.toml index ec950330..e200e1b2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.toml @@ -157,12 +157,16 @@ type = "integer" longname = "cellid of first cell" description = "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of second cell" description = "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.ihc] type = "integer" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.yaml index c10c5191..6a0700c3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwfgwf.yaml @@ -193,6 +193,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of second cell @@ -202,6 +204,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true ihc: type: integer longname: integer flag for connection type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.json index 1f53c332..005db502 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.json @@ -146,13 +146,17 @@ "type": "integer", "longname": "cellid of first cell", "description": "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of second cell", "description": "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "ihc": { "type": "integer", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.toml index 056033de..f8e668ac 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.toml @@ -134,12 +134,16 @@ type = "integer" longname = "cellid of first cell" description = "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of second cell" description = "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.ihc] type = "integer" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.yaml index be30a96c..5cb12c75 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-gwtgwt.yaml @@ -146,6 +146,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of second cell @@ -155,6 +157,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true ihc: type: integer longname: integer flag for connection type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.json index 306cfe95..489bb4c6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.json @@ -73,13 +73,17 @@ "type": "integer", "longname": "cellid of cell in surface water model", "description": "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of cell in groundwater model", "description": "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "bedleak": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.toml index 201303de..f2ce0fdf 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.toml @@ -63,12 +63,16 @@ type = "integer" longname = "cellid of cell in surface water model" description = "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of cell in groundwater model" description = "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.bedleak] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.yaml index 6b1bd5e1..5c383f04 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/exg-olfgwf.yaml @@ -69,6 +69,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of cell in groundwater model @@ -78,6 +80,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true bedleak: type: double longname: bed leakance diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.json index 15c36b4e..78e8d7e1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.json @@ -172,6 +172,7 @@ "longname": "grid connectivity", "description": "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWE cells and their connections to the other GWE cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code.", "dtype": "integer", + "index": true, "shape": [ "nja" ] @@ -227,7 +228,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -261,7 +264,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -287,6 +292,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.toml index 71868161..d3502205 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.toml @@ -153,6 +153,7 @@ type = "array" longname = "grid connectivity" description = "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWE cells and their connections to the other GWE cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code." dtype = "integer" +index = true shape = [ "nja", ] @@ -209,6 +210,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -237,6 +240,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -262,6 +267,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.yaml index bf0975c3..0131bbad 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disu.yaml @@ -177,6 +177,7 @@ blocks: cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. dtype: integer + index: true shape: - nja ihc: @@ -245,6 +246,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -271,6 +274,8 @@ blocks: description: is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -294,6 +299,7 @@ blocks: used to define the cell. Vertices must be listed in clockwise order. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.json index 9bb9900b..a5516ccb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.json @@ -186,7 +186,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -220,7 +222,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -246,6 +250,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.toml index f7bf5d9f..da6349fd 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.toml @@ -170,6 +170,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -198,6 +200,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -223,6 +227,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.yaml index 1bbf8826..54a084cd 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-disv.yaml @@ -178,6 +178,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -204,6 +206,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -228,6 +232,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.json index abcab31c..794c0cf9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.json @@ -165,6 +165,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the lake number associated with the specified PACKAGEDATA data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -221,6 +222,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the lake number associated with the specified PERIOD data on the line. LAKENO must be greater than zero and less than or equal to NLAKES.", "tagged": false, + "index": true, "fk": "packagedata.lakeno" }, "laksetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.toml index 76b88f0a..bd077a96 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.toml @@ -147,6 +147,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the lake number associated with the specified PACKAGEDATA data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -197,6 +198,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the lake number associated with the specified PERIOD data on the line. LAKENO must be greater than zero and less than or equal to NLAKES." tagged = false +index = true fk = "packagedata.lakeno" [blocks.period.fields.lakeperioddata.item.fields.laksetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.yaml index 326bebfd..d875c483 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-lke.yaml @@ -162,6 +162,7 @@ blocks: program will also terminate with an error if information for a lake is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -216,6 +217,7 @@ blocks: description: integer value that defines the lake number associated with the specified PERIOD data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. tagged: false + index: true fk: packagedata.lakeno laksetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.json index f5ddc905..dbe362b2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.json @@ -165,6 +165,7 @@ "longname": "well number for this entry", "description": "integer value that defines the well number associated with the specified PACKAGEDATA data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -221,6 +222,7 @@ "longname": "well number for this entry", "description": "integer value that defines the well number associated with the specified PERIOD data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS.", "tagged": false, + "index": true, "fk": "packagedata.mawno" }, "mwesetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.toml index 9f779cbe..f2b3b5cf 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.toml @@ -147,6 +147,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the well number associated with the specified PACKAGEDATA data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -197,6 +198,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the well number associated with the specified PERIOD data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS." tagged = false +index = true fk = "packagedata.mawno" [blocks.period.fields.mweperioddata.item.fields.mwesetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.yaml index bc268e51..f14d350d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-mwe.yaml @@ -162,6 +162,7 @@ blocks: error. The program will also terminate with an error if information for a well is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -216,6 +217,7 @@ blocks: description: integer value that defines the well number associated with the specified PERIOD data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. tagged: false + index: true fk: packagedata.mawno mwesetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.json index 089cdaba..1a166b2e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.json @@ -80,17 +80,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.toml index 673872f5..f0a6c0f5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.toml @@ -72,16 +72,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.temperatureprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.temperatureprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.temperatureprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.yaml index c03f2b25..22e39d75 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-oc.yaml @@ -67,14 +67,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.json index 17a18479..b2c579df 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.json @@ -165,6 +165,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the reach number associated with the specified PACKAGEDATA data on the line. RNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -221,6 +222,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the reach number associated with the specified PERIOD data on the line. RNO must be greater than zero and less than or equal to NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.rno" }, "reachsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.toml index 24a26465..ec3326e8 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.toml @@ -147,6 +147,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the reach number associated with the specified PACKAGEDATA data on the line. RNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -197,6 +198,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the reach number associated with the specified PERIOD data on the line. RNO must be greater than zero and less than or equal to NREACHES." tagged = false +index = true fk = "packagedata.rno" [blocks.period.fields.reachperioddata.item.fields.reachsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.yaml index a2367b2e..55d94516 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-sfe.yaml @@ -163,6 +163,7 @@ blocks: program will also terminate with an error if information for a reach is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -217,6 +218,7 @@ blocks: description: integer value that defines the reach number associated with the specified PERIOD data on the line. RNO must be greater than zero and less than or equal to NREACHES. tagged: false + index: true fk: packagedata.rno reachsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.json index 9e86b21f..03d4bfd7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.json @@ -165,6 +165,7 @@ "longname": "UZF cell number for this entry", "description": "integer value that defines the UZF cell number associated with the specified PACKAGEDATA data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program also will terminate with an error if information for a UZF cell is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -209,6 +210,7 @@ "longname": "unsaturated zone flow cell number for this entry", "description": "integer value that defines the UZF cell number associated with the specified PERIOD data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS.", "tagged": false, + "index": true, "fk": "packagedata.uzfno" }, "uzesetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.toml index f306757c..c12894ca 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.toml @@ -147,6 +147,7 @@ type = "integer" longname = "UZF cell number for this entry" description = "integer value that defines the UZF cell number associated with the specified PACKAGEDATA data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program also will terminate with an error if information for a UZF cell is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -185,6 +186,7 @@ type = "integer" longname = "unsaturated zone flow cell number for this entry" description = "integer value that defines the UZF cell number associated with the specified PERIOD data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS." tagged = false +index = true fk = "packagedata.uzfno" [blocks.period.fields.uzeperioddata.item.fields.uzesetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.yaml index 3078fa9c..a7600726 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwe-uze.yaml @@ -163,6 +163,7 @@ blocks: program will terminate with an error. The program also will terminate with an error if information for a UZF cell is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -206,6 +207,7 @@ blocks: description: integer value that defines the UZF cell number associated with the specified PERIOD data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS. tagged: false + index: true fk: packagedata.uzfno uzesetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.json index afe07904..ca5d4c94 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.json @@ -73,6 +73,7 @@ "longname": "species number for this entry", "description": "integer value that defines the species number associated with the specified PACKAGEDATA data on the line. IRHOSPECIES must be greater than zero and less than or equal to NRHOSPECIES. Information must be specified for each of the NRHOSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once.", "tagged": false, + "index": true, "pk": true }, "drhodc": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.toml index 2eac90c5..0b7a4f1c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.toml @@ -62,6 +62,7 @@ type = "integer" longname = "species number for this entry" description = "integer value that defines the species number associated with the specified PACKAGEDATA data on the line. IRHOSPECIES must be greater than zero and less than or equal to NRHOSPECIES. Information must be specified for each of the NRHOSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.drhodc] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.yaml index 0bae73b3..35a13662 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-buy.yaml @@ -71,6 +71,7 @@ blocks: program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once. tagged: false + index: true pk: true drhodc: type: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.json index fa7894bb..becf53f2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.json @@ -387,6 +387,7 @@ "longname": "CSUB id number for this entry", "description": "integer value that defines the CSUB interbed number associated with the specified PACKAGEDATA data on the line. CSUBNO must be greater than zero and less than or equal to NINTERBEDS. CSUB information must be specified for every CSUB cell or the program will terminate with an error. The program will also terminate with an error if information for a CSUB interbed number is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.toml index d46cfdcd..273ebd69 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.toml @@ -352,6 +352,7 @@ type = "integer" longname = "CSUB id number for this entry" description = "integer value that defines the CSUB interbed number associated with the specified PACKAGEDATA data on the line. CSUBNO must be greater than zero and less than or equal to NINTERBEDS. CSUB information must be specified for every CSUB cell or the program will terminate with an error. The program will also terminate with an error if information for a CSUB interbed number is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.yaml index 2da9ae05..b900beb8 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-csub.yaml @@ -372,6 +372,7 @@ blocks: will terminate with an error. The program will also terminate with an error if information for a CSUB interbed number is specified more than once. tagged: false + index: true pk: true cellid: type: array diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.json index bca862ed..23866203 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.json @@ -172,6 +172,7 @@ "longname": "grid connectivity", "description": "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWF cells and their connections to the other GWF cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code.", "dtype": "integer", + "index": true, "shape": [ "nja" ] @@ -228,7 +229,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -263,7 +266,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -289,6 +294,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.toml index f96c687f..462a37f4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.toml @@ -153,6 +153,7 @@ type = "array" longname = "grid connectivity" description = "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWF cells and their connections to the other GWF cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code." dtype = "integer" +index = true shape = [ "nja", ] @@ -210,6 +211,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -239,6 +242,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -264,6 +269,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.yaml index f6d5d665..4d81225d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disu.yaml @@ -177,6 +177,7 @@ blocks: cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. dtype: integer + index: true shape: - nja ihc: @@ -246,6 +247,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -273,6 +276,8 @@ blocks: description: is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -296,6 +301,7 @@ blocks: used to define the cell. Vertices must be listed in clockwise order. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.json index 3e8c6114..8b3bc3d8 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.json @@ -186,7 +186,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -220,7 +222,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -246,6 +250,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.toml index 44af7726..be6d7ae9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.toml @@ -170,6 +170,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -198,6 +200,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -223,6 +227,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.yaml index 370982a3..c59048cb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-disv.yaml @@ -178,6 +178,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -204,6 +206,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -228,6 +232,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.json index 3e5ee5bf..8feb507f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.json @@ -109,6 +109,7 @@ "optional": true, "netcdf": true, "dtype": "integer", + "index": true, "shape": [ "ncpl" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.toml index f324d12d..d18e5aa9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.toml @@ -96,6 +96,7 @@ description = "IEVT is the layer number that defines the layer in each vertical optional = true netcdf = true dtype = "integer" +index = true shape = [ "ncpl", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.yaml index 64d68f19..84b01337 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-evta.yaml @@ -115,6 +115,7 @@ blocks: optional: true netcdf: true dtype: integer + index: true shape: - ncpl surface: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.json index 746b5c68..b3687690 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.json @@ -61,13 +61,17 @@ "type": "integer", "longname": "GNC cellid n", "description": "is the cellid of the cell, $n$, in which the ghost node is located. For a structured grid that uses the DIS input file, CELLIDN is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDN is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDN is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm": { "type": "integer", "longname": "GNC cellid n", "description": "is the cellid of the connecting cell, $m$, to which flow occurs from the ghost node. For a structured grid that uses the DIS input file, CELLIDM is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidsj": { "type": "array", @@ -75,6 +79,7 @@ "description": "is the array of CELLIDS for the contributing j cells, which contribute to the interpolated head value at the ghost node. This item contains one CELLID for each of the contributing cells of the ghost node. Note that if the number of actual contributing cells needed by the user is less than NUMALPHAJ for any ghost node, then a dummy CELLID of zero(s) should be inserted with an associated contributing factor of zero. For a structured grid that uses the DIS input file, CELLID is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLID is the layer number and cell2d number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLID is the node number for the cell.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "numalphaj" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.toml index e8542cd3..a4923d82 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.toml @@ -53,12 +53,16 @@ type = "integer" longname = "GNC cellid n" description = "is the cellid of the cell, $n$, in which the ghost node is located. For a structured grid that uses the DIS input file, CELLIDN is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDN is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDN is the node number for the cell." tagged = false +index = true +node = true [blocks.gncdata.fields.gncdata.item.fields.cellidm] type = "integer" longname = "GNC cellid n" description = "is the cellid of the connecting cell, $m$, to which flow occurs from the ghost node. For a structured grid that uses the DIS input file, CELLIDM is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM is the node number for the cell." tagged = false +index = true +node = true [blocks.gncdata.fields.gncdata.item.fields.cellidsj] type = "array" @@ -66,6 +70,7 @@ longname = "GNC contributing cells" description = "is the array of CELLIDS for the contributing j cells, which contribute to the interpolated head value at the ghost node. This item contains one CELLID for each of the contributing cells of the ghost node. Note that if the number of actual contributing cells needed by the user is less than NUMALPHAJ for any ghost node, then a dummy CELLID of zero(s) should be inserted with an associated contributing factor of zero. For a structured grid that uses the DIS input file, CELLID is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLID is the layer number and cell2d number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLID is the node number for the cell." tagged = false dtype = "integer" +index = true shape = [ "numalphaj", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.yaml index 93a0de08..aaee6b77 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-gnc.yaml @@ -63,6 +63,8 @@ blocks: number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDN is the node number for the cell. tagged: false + index: true + node: true cellidm: type: integer longname: GNC cellid n @@ -72,6 +74,8 @@ blocks: layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM is the node number for the cell. tagged: false + index: true + node: true cellidsj: type: array longname: GNC contributing cells @@ -86,6 +90,7 @@ blocks: CELLID is the node number for the cell. tagged: false dtype: integer + index: true shape: - numalphaj alphasj: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.json index 598ed9a9..da6c110e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.json @@ -241,6 +241,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -294,13 +295,15 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake connection information must be specified for every lake connection to the GWF model (NLAKECONN) or the program will terminate with an error. The program will also terminate with an error if connection information for a lake connection to the GWF model is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "iconn": { "type": "integer", "longname": "connection number for this entry", "description": "integer value that defines the GWF connection number for this lake connection entry. ICONN must be greater than zero and less than or equal to NLAKECONN for lake IFNO.", - "tagged": false + "tagged": false, + "index": true }, "cellid": { "type": "array", @@ -368,6 +371,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified TABLES data on the line. IFNO must be greater than zero and less than or equal to NLAKES. The program will terminate with an error if table information for a lake is specified more than once or the number of specified tables is less than NTABLES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "tab6": { @@ -407,6 +411,7 @@ "longname": "outlet number for this entry", "description": "integer value that defines the outlet number associated with the specified OUTLETS data on the line. OUTLETNO must be greater than zero and less than or equal to NOUTLETS. Outlet information must be specified for every outlet or the program will terminate with an error. The program will also terminate with an error if information for a outlet is specified more than once.", "tagged": false, + "index": true, "pk": true }, "lakein": { @@ -414,6 +419,7 @@ "longname": "lake number for upstream lake", "description": "integer value that defines the lake number that outlet is connected to. LAKEIN must be greater than zero and less than or equal to NLAKES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "lakeout": { @@ -421,6 +427,7 @@ "longname": "lake number for downstream lake", "description": "integer value that defines the lake number that outlet discharge from lake outlet OUTLETNO is routed to. LAKEOUT must be greater than or equal to zero and less than or equal to NLAKES. If LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is discharged to an external boundary.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "couttype": { @@ -484,6 +491,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "status": { @@ -501,6 +509,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "stage": { @@ -519,6 +528,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "rainfall": { @@ -537,6 +547,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "evaporation": { @@ -555,6 +566,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "runoff": { @@ -573,6 +585,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "inflow": { @@ -591,6 +604,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "withdrawal": { @@ -609,6 +623,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "rate": { @@ -627,6 +642,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "invert": { @@ -645,6 +661,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "width": { @@ -663,6 +680,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "slope": { @@ -681,6 +699,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "rough": { @@ -699,6 +718,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "auxiliary": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.toml index 59b8029d..0daa79ee 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.toml @@ -220,6 +220,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -267,6 +268,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake connection information must be specified for every lake connection to the GWF model (NLAKECONN) or the program will terminate with an error. The program will also terminate with an error if connection information for a lake connection to the GWF model is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.connectiondata.fields.connectiondata.item.fields.iconn] @@ -274,6 +276,7 @@ type = "integer" longname = "connection number for this entry" description = "integer value that defines the GWF connection number for this lake connection entry. ICONN must be greater than zero and less than or equal to NLAKECONN for lake IFNO." tagged = false +index = true [blocks.connectiondata.fields.connectiondata.item.fields.cellid] type = "array" @@ -335,6 +338,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified TABLES data on the line. IFNO must be greater than zero and less than or equal to NLAKES. The program will terminate with an error if table information for a lake is specified more than once or the number of specified tables is less than NTABLES." tagged = false +index = true fk = "packagedata.ifno" [blocks.tables.fields.tables.item.fields.tab6] @@ -368,6 +372,7 @@ type = "integer" longname = "outlet number for this entry" description = "integer value that defines the outlet number associated with the specified OUTLETS data on the line. OUTLETNO must be greater than zero and less than or equal to NOUTLETS. Outlet information must be specified for every outlet or the program will terminate with an error. The program will also terminate with an error if information for a outlet is specified more than once." tagged = false +index = true pk = true [blocks.outlets.fields.outlets.item.fields.lakein] @@ -375,6 +380,7 @@ type = "integer" longname = "lake number for upstream lake" description = "integer value that defines the lake number that outlet is connected to. LAKEIN must be greater than zero and less than or equal to NLAKES." tagged = false +index = true fk = "packagedata.ifno" [blocks.outlets.fields.outlets.item.fields.lakeout] @@ -382,6 +388,7 @@ type = "integer" longname = "lake number for downstream lake" description = "integer value that defines the lake number that outlet discharge from lake outlet OUTLETNO is routed to. LAKEOUT must be greater than or equal to zero and less than or equal to NLAKES. If LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is discharged to an external boundary." tagged = false +index = true fk = "packagedata.ifno" [blocks.outlets.fields.outlets.item.fields.couttype] @@ -436,6 +443,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.status.fields.status] @@ -451,6 +459,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.stage.fields.stage] @@ -467,6 +476,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.rainfall.fields.rainfall] @@ -483,6 +493,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.evaporation.fields.evaporation] @@ -499,6 +510,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.runoff.fields.runoff] @@ -515,6 +527,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.inflow.fields.inflow] @@ -531,6 +544,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.withdrawal.fields.withdrawal] @@ -547,6 +561,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.rate.fields.rate] @@ -563,6 +578,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.invert.fields.invert] @@ -579,6 +595,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.width.fields.width] @@ -595,6 +612,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.slope.fields.slope] @@ -611,6 +629,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.rough.fields.rough] @@ -627,6 +646,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.auxiliaryrecord.fields.auxiliary] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.yaml index 982a1a40..d533a1a3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-lak.yaml @@ -238,6 +238,7 @@ blocks: with an error. The program will also terminate with an error if information for a lake is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -293,6 +294,7 @@ blocks: also terminate with an error if connection information for a lake connection to the GWF model is specified more than once. tagged: false + index: true fk: packagedata.ifno iconn: type: integer @@ -300,6 +302,7 @@ blocks: description: integer value that defines the GWF connection number for this lake connection entry. ICONN must be greater than zero and less than or equal to NLAKECONN for lake IFNO. tagged: false + index: true cellid: type: array longname: cell identifier @@ -391,6 +394,7 @@ blocks: The program will terminate with an error if table information for a lake is specified more than once or the number of specified tables is less than NTABLES. tagged: false + index: true fk: packagedata.ifno tab6: type: keyword @@ -429,6 +433,7 @@ blocks: with an error. The program will also terminate with an error if information for a outlet is specified more than once. tagged: false + index: true pk: true lakein: type: integer @@ -436,6 +441,7 @@ blocks: description: integer value that defines the lake number that outlet is connected to. LAKEIN must be greater than zero and less than or equal to NLAKES. tagged: false + index: true fk: packagedata.ifno lakeout: type: integer @@ -445,6 +451,7 @@ blocks: or equal to NLAKES. If LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is discharged to an external boundary. tagged: false + index: true fk: packagedata.ifno couttype: type: string @@ -519,6 +526,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno status: type: string @@ -536,6 +544,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno stage: type: string @@ -557,6 +566,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno rainfall: type: string @@ -578,6 +588,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno evaporation: type: string @@ -599,6 +610,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno runoff: type: string @@ -620,6 +632,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno inflow: type: string @@ -641,6 +654,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno withdrawal: type: string @@ -662,6 +676,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno rate: type: string @@ -686,6 +701,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno invert: type: string @@ -707,6 +723,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno width: type: string @@ -728,6 +745,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno slope: type: string @@ -749,6 +767,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno rough: type: string @@ -770,6 +789,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno auxiliary: type: keyword diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.json index 62d77758..f6187413 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.json @@ -219,6 +219,7 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well information must be specified for every multi-aquifer well or the program will terminate with an error. The program will also terminate with an error if information for a multi-aquifer well is specified more than once.", "tagged": false, + "index": true, "pk": true }, "radius": { @@ -290,13 +291,15 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well connection information must be specified for every multi-aquifer well connection to the GWF model (NGWFNODES) or the program will terminate with an error. The program will also terminate with an error if connection information for a multi-aquifer well connection to the GWF model is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "icon": { "type": "integer", "longname": "connection number", "description": "integer value that defines the GWF connection number for this multi-aquifer well connection entry. ICONN must be greater than zero and less than or equal to NGWFNODES for multi-aquifer well IFNO.", - "tagged": false + "tagged": false, + "index": true }, "cellid": { "type": "array", @@ -349,6 +352,7 @@ "longname": "well number for this entry", "description": "integer value that defines the well number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "mawsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.toml index 26dbb4ba..9929dd9a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.toml @@ -198,6 +198,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well information must be specified for every multi-aquifer well or the program will terminate with an error. The program will also terminate with an error if information for a multi-aquifer well is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.radius] @@ -260,6 +261,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well connection information must be specified for every multi-aquifer well connection to the GWF model (NGWFNODES) or the program will terminate with an error. The program will also terminate with an error if connection information for a multi-aquifer well connection to the GWF model is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.connectiondata.fields.connectiondata.item.fields.icon] @@ -267,6 +269,7 @@ type = "integer" longname = "connection number" description = "integer value that defines the GWF connection number for this multi-aquifer well connection entry. ICONN must be greater than zero and less than or equal to NGWFNODES for multi-aquifer well IFNO." tagged = false +index = true [blocks.connectiondata.fields.connectiondata.item.fields.cellid] type = "array" @@ -313,6 +316,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the well number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.mawsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.yaml index 13c8c61c..9d0c3f8b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-maw.yaml @@ -225,6 +225,7 @@ blocks: or the program will terminate with an error. The program will also terminate with an error if information for a multi-aquifer well is specified more than once. tagged: false + index: true pk: true radius: type: double @@ -319,6 +320,7 @@ blocks: program will also terminate with an error if connection information for a multi-aquifer well connection to the GWF model is specified more than once. tagged: false + index: true fk: packagedata.ifno icon: type: integer @@ -327,6 +329,7 @@ blocks: well connection entry. ICONN must be greater than zero and less than or equal to NGWFNODES for multi-aquifer well IFNO. tagged: false + index: true cellid: type: array longname: cell identifier @@ -397,6 +400,7 @@ blocks: description: integer value that defines the well number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. tagged: false + index: true fk: packagedata.ifno mawsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.json index 4ce936fa..686372f4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.json @@ -137,7 +137,8 @@ "type": "integer", "longname": "provider reach", "description": "is the identifier for the provider. For the standard boundary packages, the provider identifier is the number of the boundary as it is listed in the package input file. (Note that the order of these boundaries may change by stress period, which must be accounted for in the Mover Package.) So the first well has an identifier of one. The second is two, and so forth. For the advanced packages, the identifier is the reach number (SFR Package), well number (MAW Package), or UZF cell number. For the Lake Package, ID1 is the lake outlet number. Thus, outflows from a single lake can be routed to different streams, for example.", - "tagged": false + "tagged": false, + "index": true }, "mname2": { "type": "string", @@ -156,7 +157,8 @@ "type": "integer", "longname": "receiver reach", "description": "is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake number (LAK Package), well number (MAW Package), or UZF cell number.", - "tagged": false + "tagged": false, + "index": true }, "mvrtype": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.toml index 6b38a185..0b6c4138 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.toml @@ -116,6 +116,7 @@ type = "integer" longname = "provider reach" description = "is the identifier for the provider. For the standard boundary packages, the provider identifier is the number of the boundary as it is listed in the package input file. (Note that the order of these boundaries may change by stress period, which must be accounted for in the Mover Package.) So the first well has an identifier of one. The second is two, and so forth. For the advanced packages, the identifier is the reach number (SFR Package), well number (MAW Package), or UZF cell number. For the Lake Package, ID1 is the lake outlet number. Thus, outflows from a single lake can be routed to different streams, for example." tagged = false +index = true [blocks.period.fields.perioddata.item.fields.mname2] type = "string" @@ -135,6 +136,7 @@ type = "integer" longname = "receiver reach" description = "is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake number (LAK Package), well number (MAW Package), or UZF cell number." tagged = false +index = true [blocks.period.fields.perioddata.item.fields.mvrtype] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.yaml index 75ab9312..9baa408e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-mvr.yaml @@ -131,6 +131,7 @@ blocks: is the lake outlet number. Thus, outflows from a single lake can be routed to different streams, for example. tagged: false + index: true mname2: type: string description: name of model containing the package, PNAME2. @@ -150,6 +151,7 @@ blocks: description: is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake number (LAK Package), well number (MAW Package), or UZF cell number. tagged: false + index: true mvrtype: type: string longname: mover type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.json index 8b730454..81999035 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.json @@ -187,6 +187,7 @@ "type": "array", "longname": "confined or convertible indicator", "description": "flag for each cell that specifies how saturated thickness is treated. 0 means saturated thickness is held constant; $>$0 means saturated thickness varies with computed head when head is below the cell top; $<$0 means saturated thickness varies with computed head unless the THICKSTRT option is in effect. When THICKSTRT is in effect, a negative value for ICELLTYPE indicates that the saturated thickness value used in conductance calculations in the NPF Package will be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one.", + "optional": true, "default": 0, "netcdf": true, "dtype": "integer", @@ -199,6 +200,7 @@ "type": "array", "longname": "hydraulic conductivity (L/T)", "description": "is the hydraulic conductivity. For the common case in which the user would like to specify the horizontal hydraulic conductivity and the vertical hydraulic conductivity, then K should be assigned as the horizontal hydraulic conductivity, K33 should be assigned as the vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero.", + "optional": true, "default": 1.0, "netcdf": true, "dtype": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.toml index 2ee1d616..fca5b6dd 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.toml @@ -172,6 +172,7 @@ developmode = true type = "array" longname = "confined or convertible indicator" description = "flag for each cell that specifies how saturated thickness is treated. 0 means saturated thickness is held constant; $>$0 means saturated thickness varies with computed head when head is below the cell top; $<$0 means saturated thickness varies with computed head unless the THICKSTRT option is in effect. When THICKSTRT is in effect, a negative value for ICELLTYPE indicates that the saturated thickness value used in conductance calculations in the NPF Package will be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one." +optional = true default = 0 netcdf = true dtype = "integer" @@ -184,6 +185,7 @@ shape = [ type = "array" longname = "hydraulic conductivity (L/T)" description = "is the hydraulic conductivity. For the common case in which the user would like to specify the horizontal hydraulic conductivity and the vertical hydraulic conductivity, then K should be assigned as the horizontal hydraulic conductivity, K33 should be assigned as the vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero." +optional = true default = 1.0 netcdf = true dtype = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.yaml index 2a8aab93..b0c4ce4c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-npf.yaml @@ -228,6 +228,7 @@ blocks: be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one. + optional: true default: 0 netcdf: true dtype: integer @@ -243,6 +244,7 @@ blocks: vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero. + optional: true default: 1.0 netcdf: true dtype: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.json index 12ff22f0..6b9ee4e7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.json @@ -80,17 +80,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.toml index 40422bfd..4a7e0980 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.toml @@ -72,16 +72,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.headprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.headprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.headprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.yaml index 1d3cc8a1..51e223f3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-oc.yaml @@ -67,14 +67,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.json index 64bb4898..9ef2f2b2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.json @@ -109,6 +109,7 @@ "optional": true, "netcdf": true, "dtype": "integer", + "index": true, "shape": [ "ncpl" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.toml index ec311806..4dfd6477 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.toml @@ -96,6 +96,7 @@ description = "IRCH is the layer number that defines the layer in each vertical optional = true netcdf = true dtype = "integer" +index = true shape = [ "ncpl", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.yaml index af3be5ea..9a8d27eb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-rcha.yaml @@ -115,6 +115,7 @@ blocks: optional: true netcdf: true dtype: integer + index: true shape: - ncpl recharge: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.json index 9d5d0f79..690d817c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.json @@ -239,6 +239,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { @@ -353,6 +354,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified cross-section table file on the line. IFNO must be greater than zero and less than or equal to NREACHES. The program will also terminate with an error if table information for a reach is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "tab6": { @@ -389,6 +391,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach connection information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if connection information for a reach is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "ic": { @@ -398,6 +401,7 @@ "optional": true, "tagged": false, "dtype": "integer", + "index": true, "shape": [ "packagedata.ncon(ifno)" ] @@ -419,19 +423,23 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified DIVERSIONS data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach diversion information must be specified for every reach with a NDV value greater than 0 or the program will terminate with an error. The program will also terminate with an error if diversion information for a given reach diversion is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "idv": { "type": "integer", "longname": "downstream diversion number", "description": "integer value that defines the downstream diversion number for the diversion for reach IFNO. IDV must be greater than zero and less than or equal to NDV for reach IFNO.", - "tagged": false + "tagged": false, + "index": true }, "iconr": { "type": "integer", "longname": "downstream reach number for diversion", "description": "integer value that defines the downstream reach that will receive the diverted water. IDV must be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a downstream connection for reach IFNO.", - "tagged": false + "tagged": false, + "index": true, + "fk": "packagedata.ifno" }, "cprior": { "type": "string", @@ -456,6 +464,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified initial stage. Initial stage data must be specified for every reach or the program will terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "initialstage": { @@ -481,6 +490,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "sfrsetting": { @@ -546,7 +556,8 @@ "type": "integer", "longname": "diversion number", "description": "an integer value specifying which diversion of reach IFNO that DIVFLOW is being specified for. Must be less or equal to ndv for the current reach (IFNO).", - "tagged": false + "tagged": false, + "index": true }, "divflow": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.toml index 6b790a4b..a701ad34 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.toml @@ -218,6 +218,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] @@ -323,6 +324,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified cross-section table file on the line. IFNO must be greater than zero and less than or equal to NREACHES. The program will also terminate with an error if table information for a reach is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.crosssections.fields.crosssections.item.fields.tab6] @@ -353,6 +355,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach connection information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if connection information for a reach is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.connectiondata.fields.connectiondata.item.fields.ic] @@ -362,6 +365,7 @@ description = "integer value that defines the reach number of the reach connecte optional = true tagged = false dtype = "integer" +index = true shape = [ "packagedata.ncon(ifno)", ] @@ -377,6 +381,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified DIVERSIONS data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach diversion information must be specified for every reach with a NDV value greater than 0 or the program will terminate with an error. The program will also terminate with an error if diversion information for a given reach diversion is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.diversions.fields.diversions.item.fields.idv] @@ -384,12 +389,15 @@ type = "integer" longname = "downstream diversion number" description = "integer value that defines the downstream diversion number for the diversion for reach IFNO. IDV must be greater than zero and less than or equal to NDV for reach IFNO." tagged = false +index = true [blocks.diversions.fields.diversions.item.fields.iconr] type = "integer" longname = "downstream reach number for diversion" description = "integer value that defines the downstream reach that will receive the diverted water. IDV must be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a downstream connection for reach IFNO." tagged = false +index = true +fk = "packagedata.ifno" [blocks.diversions.fields.diversions.item.fields.cprior] type = "string" @@ -408,6 +416,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified initial stage. Initial stage data must be specified for every reach or the program will terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES." tagged = false +index = true fk = "packagedata.ifno" [blocks.initialstages.fields.initialstages.item.fields.initialstage] @@ -427,6 +436,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.sfrsetting] @@ -493,6 +503,7 @@ type = "integer" longname = "diversion number" description = "an integer value specifying which diversion of reach IFNO that DIVFLOW is being specified for. Must be less or equal to ndv for the current reach (IFNO)." tagged = false +index = true [blocks.period.fields.perioddata.item.fields.sfrsetting.arms.diversionrecord.fields.divflow] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.yaml index ee53ea13..928f501a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-sfr.yaml @@ -244,6 +244,7 @@ blocks: with an error. The program will also terminate with an error if information for a reach is specified more than once. tagged: false + index: true pk: true cellid: type: array @@ -372,6 +373,7 @@ blocks: equal to NREACHES. The program will also terminate with an error if table information for a reach is specified more than once. tagged: false + index: true fk: packagedata.ifno tab6: type: keyword @@ -407,6 +409,7 @@ blocks: will terminate with an error. The program will also terminate with an error if connection information for a reach is specified more than once. tagged: false + index: true fk: packagedata.ifno ic: type: array @@ -421,6 +424,7 @@ blocks: optional: true tagged: false dtype: integer + index: true shape: - packagedata.ncon(ifno) diversions: @@ -440,6 +444,7 @@ blocks: with an error if diversion information for a given reach diversion is specified more than once. tagged: false + index: true fk: packagedata.ifno idv: type: integer @@ -448,6 +453,7 @@ blocks: for reach IFNO. IDV must be greater than zero and less than or equal to NDV for reach IFNO. tagged: false + index: true iconr: type: integer longname: downstream reach number for diversion @@ -455,6 +461,8 @@ blocks: water. IDV must be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a downstream connection for reach IFNO. tagged: false + index: true + fk: packagedata.ifno cprior: type: string longname: iprior code @@ -493,6 +501,7 @@ blocks: terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES. tagged: false + index: true fk: packagedata.ifno initialstage: type: double @@ -516,6 +525,7 @@ blocks: description: integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES. tagged: false + index: true fk: packagedata.ifno sfrsetting: type: union @@ -621,6 +631,7 @@ blocks: description: an integer value specifying which diversion of reach IFNO that DIVFLOW is being specified for. Must be less or equal to ndv for the current reach (IFNO). tagged: false + index: true divflow: type: double longname: volumetric diversion flow rate diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.json index ff42b9ca..e9d2aab3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.json @@ -245,6 +245,7 @@ "longname": "uzf id number for this entry", "description": "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. UZF information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { @@ -267,7 +268,9 @@ "type": "integer", "longname": "vertical connection flag", "description": "integer value set to specify underlying UZF cell that receives water flowing to bottom of cell. If unsaturated zone flow reaches the water table before the cell bottom, then water is added to the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is not connected to an underlying UZF cell.", - "tagged": false + "tagged": false, + "index": true, + "fk": "packagedata.ifno" }, "surfdep": { "type": "double", @@ -332,6 +335,7 @@ "longname": "UZF id number", "description": "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "finf": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.toml index 3bf1a9c4..bbb74c0c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.toml @@ -224,6 +224,7 @@ type = "integer" longname = "uzf id number for this entry" description = "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. UZF information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] @@ -247,6 +248,8 @@ type = "integer" longname = "vertical connection flag" description = "integer value set to specify underlying UZF cell that receives water flowing to bottom of cell. If unsaturated zone flow reaches the water table before the cell bottom, then water is added to the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is not connected to an underlying UZF cell." tagged = false +index = true +fk = "packagedata.ifno" [blocks.packagedata.fields.packagedata.item.fields.surfdep] type = "double" @@ -302,6 +305,7 @@ type = "integer" longname = "UZF id number" description = "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.finf] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.yaml index 9910c70f..162d19bb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-uzf.yaml @@ -240,6 +240,7 @@ blocks: will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once. tagged: false + index: true pk: true cellid: type: array @@ -268,6 +269,8 @@ blocks: then water is added to the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is not connected to an underlying UZF cell. tagged: false + index: true + fk: packagedata.ifno surfdep: type: double longname: surface depression depth @@ -330,6 +333,7 @@ blocks: description: integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line. tagged: false + index: true fk: packagedata.ifno finf: type: string diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.json index 03d5a3e6..65aa6237 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.json @@ -97,6 +97,7 @@ "longname": "species number for this entry", "description": "integer value that defines the species number associated with the specified PACKAGEDATA data entered on each line. IVISCSPECIES must be greater than zero and less than or equal to NVISCSPECIES. Information must be specified for each of the NVISCSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once.", "tagged": false, + "index": true, "pk": true }, "dviscdc": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.toml index b6e07adf..0f8bcfb9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.toml @@ -86,6 +86,7 @@ type = "integer" longname = "species number for this entry" description = "integer value that defines the species number associated with the specified PACKAGEDATA data entered on each line. IVISCSPECIES must be greater than zero and less than or equal to NVISCSPECIES. Information must be specified for each of the NVISCSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.dviscdc] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.yaml index 10bc101e..5cf12daf 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwf-vsc.yaml @@ -97,6 +97,7 @@ blocks: species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once. tagged: false + index: true pk: true dviscdc: type: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.json index 2dc372b9..d3c8ed37 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.json @@ -172,6 +172,7 @@ "longname": "grid connectivity", "description": "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWT cells and their connections to the other GWT cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code.", "dtype": "integer", + "index": true, "shape": [ "nja" ] @@ -228,7 +229,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -263,7 +266,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -289,6 +294,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.toml index 9ab8922a..3249a7e2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.toml @@ -153,6 +153,7 @@ type = "array" longname = "grid connectivity" description = "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWT cells and their connections to the other GWT cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code." dtype = "integer" +index = true shape = [ "nja", ] @@ -210,6 +211,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -239,6 +242,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -264,6 +269,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.yaml index f44d7ba1..a339e0a1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disu.yaml @@ -177,6 +177,7 @@ blocks: cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. dtype: integer + index: true shape: - nja ihc: @@ -246,6 +247,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -273,6 +276,8 @@ blocks: description: is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -296,6 +301,7 @@ blocks: used to define the cell. Vertices must be listed in clockwise order. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.json index ae0eafd5..d0e552c6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.json @@ -186,7 +186,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -220,7 +222,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -246,6 +250,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.toml index b3d08e78..6a2b0da2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.toml @@ -170,6 +170,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -198,6 +200,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -223,6 +227,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.yaml index 98bea1e3..c2d04035 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-disv.yaml @@ -178,6 +178,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -204,6 +206,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -228,6 +232,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.json index 2f63b264..fde2b128 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.json @@ -110,17 +110,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.toml index ef3dd46a..5bbba0b1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.toml @@ -102,16 +102,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.cimprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.cimprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.cimprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.yaml index b5cb6193..7bf04404 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-ist.yaml @@ -103,14 +103,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.json index 76bb9f3f..38774d4c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.json @@ -165,6 +165,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -209,6 +210,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NLAKES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "laksetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.toml index 49dd61c4..63f175f7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.toml @@ -147,6 +147,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -185,6 +186,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NLAKES." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.lakeperioddata.item.fields.laksetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.yaml index 4a4f3743..d9fea94a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-lkt.yaml @@ -162,6 +162,7 @@ blocks: with an error. The program will also terminate with an error if information for a lake is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -204,6 +205,7 @@ blocks: description: integer value that defines the feature (lake) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NLAKES. tagged: false + index: true fk: packagedata.ifno laksetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.json index 50ca0508..2f6a8d70 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.json @@ -165,6 +165,7 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -209,6 +210,7 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "mwtsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.toml index d4d4106a..5dced353 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.toml @@ -147,6 +147,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -185,6 +186,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.mwtperioddata.item.fields.mwtsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.yaml index 7fcff2e8..f94df3fe 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-mwt.yaml @@ -162,6 +162,7 @@ blocks: with an error. The program will also terminate with an error if information for a well is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -204,6 +205,7 @@ blocks: description: integer value that defines the feature (well) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. tagged: false + index: true fk: packagedata.ifno mwtsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.json index 9759163a..1902ab42 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.json @@ -80,17 +80,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.toml index ce81cee0..ecc64ac7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.toml @@ -72,16 +72,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.concentrationprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.concentrationprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.concentrationprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.yaml index 1cbfa031..bf943bbf 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-oc.yaml @@ -67,14 +67,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.json index ecc1199f..f9e97848 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.json @@ -165,6 +165,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -209,6 +210,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "reachsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.toml index 7373da20..dac3fde2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.toml @@ -147,6 +147,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -185,6 +186,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.reachperioddata.item.fields.reachsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.yaml index 1005becc..e1ba6791 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-sft.yaml @@ -162,6 +162,7 @@ blocks: with an error. The program will also terminate with an error if information for a reach is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -204,6 +205,7 @@ blocks: description: integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES. tagged: false + index: true fk: packagedata.ifno reachsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.json index a76449d1..fa41568a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.json @@ -165,6 +165,7 @@ "longname": "UZF cell number for this entry", "description": "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -209,6 +210,7 @@ "longname": "unsaturated zone flow cell number for this entry", "description": "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "uztsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.toml index 34d74c51..3bb5c7aa 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.toml @@ -147,6 +147,7 @@ type = "integer" longname = "UZF cell number for this entry" description = "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -185,6 +186,7 @@ type = "integer" longname = "unsaturated zone flow cell number for this entry" description = "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.uztperioddata.item.fields.uztsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.yaml index 522a18b1..8b39c1a5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/gwt-uzt.yaml @@ -163,6 +163,7 @@ blocks: cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -207,6 +208,7 @@ blocks: the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. tagged: false + index: true fk: packagedata.ifno uztsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.json index f98432e6..b1b5e423 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.json @@ -97,7 +97,8 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.toml index 6e0a6740..720007e6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.toml @@ -87,6 +87,7 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.yaml index 246c7056..337a346b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cdb.yaml @@ -100,6 +100,7 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.json index d93184e6..2b4d9260 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.json @@ -50,6 +50,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once.", "tagged": false, + "index": true, "pk": true }, "nxspoints": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.toml index 7aec3698..56a82c5c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.toml @@ -41,6 +41,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.nxspoints] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.yaml index 48c92e86..8a536525 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-cxs.yaml @@ -46,6 +46,7 @@ blocks: with an error. The program will also terminate with an error if information for a section is specified more than once. tagged: false + index: true pk: true nxspoints: type: integer diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.json index 1bfd262d..27460c9e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.json @@ -81,6 +81,7 @@ "type": "array", "longname": "mannings roughness coefficient", "description": "mannings roughness coefficient", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -92,6 +93,8 @@ "description": "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide.", "optional": true, "dtype": "integer", + "index": true, + "fk": "olf-cxs.packagedata.idcxs", "shape": [ "nodes" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.toml index 3b6d3186..5f6dac79 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.toml @@ -72,6 +72,7 @@ developmode = true type = "array" longname = "mannings roughness coefficient" description = "mannings roughness coefficient" +optional = true dtype = "double" shape = [ "nodes", @@ -83,6 +84,8 @@ longname = "cross section number" description = "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide." optional = true dtype = "integer" +index = true +fk = "olf-cxs.packagedata.idcxs" shape = [ "nodes", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.yaml index e705fcb0..8d1085dc 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-dfw.yaml @@ -90,6 +90,7 @@ blocks: type: array longname: mannings roughness coefficient description: mannings roughness coefficient + optional: true dtype: double shape: - nodes @@ -100,5 +101,7 @@ blocks: that applies to the reach. If not provided then reach will be treated as hydraulically wide. optional: true dtype: integer + index: true + fk: olf-cxs.packagedata.idcxs shape: - nodes diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.json index b4340505..9eca4770 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.json @@ -105,6 +105,7 @@ "type": "array", "longname": "length", "description": "length for each one-dimensional cell", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -114,6 +115,7 @@ "type": "array", "longname": "width", "description": "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -123,6 +125,7 @@ "type": "array", "longname": "bottom elevation for the one-dimensional cell", "description": "bottom elevation for the one-dimensional cell.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -152,7 +155,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -186,7 +191,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the cell2d block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "fdc": { "type": "double", @@ -206,6 +213,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.toml index c9db8ca2..8c5abc49 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.toml @@ -90,6 +90,7 @@ optional = true type = "array" longname = "length" description = "length for each one-dimensional cell" +optional = true dtype = "double" shape = [ "nodes", @@ -99,6 +100,7 @@ shape = [ type = "array" longname = "width" description = "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values." +optional = true dtype = "double" shape = [ "nodes", @@ -108,6 +110,7 @@ shape = [ type = "array" longname = "bottom elevation for the one-dimensional cell" description = "bottom elevation for the one-dimensional cell." +optional = true dtype = "double" shape = [ "nodes", @@ -138,6 +141,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -166,6 +171,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the cell2d block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.fdc] type = "double" @@ -185,6 +192,7 @@ longname = "number of cell vertices" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.yaml index be77e4a3..8a69baa2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv1d.yaml @@ -99,6 +99,7 @@ blocks: type: array longname: length description: length for each one-dimensional cell + optional: true dtype: double shape: - nodes @@ -108,6 +109,7 @@ blocks: description: real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values. + optional: true dtype: double shape: - nodes @@ -115,6 +117,7 @@ blocks: type: array longname: bottom elevation for the one-dimensional cell description: bottom elevation for the one-dimensional cell. + optional: true dtype: double shape: - nodes @@ -144,6 +147,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -170,6 +175,8 @@ blocks: description: is the cell2d number. Records in the cell2d block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true fdc: type: double longname: fractional distance to the cell center @@ -194,6 +201,7 @@ blocks: is calculated using the ZV of the first and last vertex point and FDC. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.json index b98b8540..a2b43209 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.json @@ -133,7 +133,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -167,7 +169,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -193,6 +197,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.toml index 1b9714c7..546c80d7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.toml @@ -119,6 +119,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -147,6 +149,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -172,6 +176,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.yaml index 4530b260..cb899954 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-disv2d.yaml @@ -130,6 +130,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -156,6 +158,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -180,6 +184,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.json index 46f7ca9b..625af0ae 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.json @@ -98,17 +98,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.toml index 1c41a1cc..564566b0 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.toml @@ -88,16 +88,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.yaml index 0482420c..2379db55 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-oc.yaml @@ -81,14 +81,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.json index a7ba2e0e..55dc481c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.json @@ -115,7 +115,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "olf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.toml index 2e3ddb03..5e3780ab 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.toml @@ -103,6 +103,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "olf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.yaml index e7a1aeae..99e1f380 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/olf-zdg.yaml @@ -116,6 +116,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: olf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.json index b10c9506..a429f485 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.json @@ -183,7 +183,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -217,7 +219,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -243,6 +247,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.toml index b0f991d9..bed4b83e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.toml @@ -167,6 +167,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -195,6 +197,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -220,6 +224,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.yaml index a6d69f1f..b62dbe9a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-disv.yaml @@ -174,6 +174,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -200,6 +202,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -224,6 +228,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.json index 8e10de45..22852d31 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.json @@ -236,6 +236,7 @@ "longname": "PRP id number for release point", "description": "integer value that defines the PRP release point number associated with the specified PACKAGEDATA data on the line. IRPTNO must be greater than zero and less than or equal to NRELEASEPTS. The program will terminate with an error if information for a PRP release point number is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.toml index 51d195e5..721f133f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.toml @@ -219,6 +219,7 @@ type = "integer" longname = "PRP id number for release point" description = "integer value that defines the PRP release point number associated with the specified PACKAGEDATA data on the line. IRPTNO must be greater than zero and less than or equal to NRELEASEPTS. The program will terminate with an error if information for a PRP release point number is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.yaml index ec7ddbb1..02382856 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/prt-prp.yaml @@ -253,6 +253,7 @@ blocks: or equal to NRELEASEPTS. The program will terminate with an error if information for a PRP release point number is specified more than once. tagged: false + index: true pk: true cellid: type: array diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.json index 45348c93..603425c9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.json @@ -68,6 +68,7 @@ "type": "string", "longname": "name of tdis input file", "description": "is the name of the Temporal Discretization (TDIS) Input File.", + "optional": true, "case_sensitive": true } } @@ -78,6 +79,7 @@ "type": "list", "longname": "list of models", "description": "is the list of model types, model name files, and model names.", + "optional": true, "item": { "type": "record", "description": "is the record of model types, model name files, and model names.", @@ -112,6 +114,7 @@ "type": "list", "longname": "list of exchanges", "description": "is the list of exchange types, exchange files, and model names.", + "optional": true, "item": { "type": "record", "description": "is the record of exchange types, exchange files, and model names.", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.toml index fefdb06c..4f94445e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.toml @@ -59,12 +59,14 @@ direction = "in" type = "string" longname = "name of tdis input file" description = "is the name of the Temporal Discretization (TDIS) Input File." +optional = true case_sensitive = true [blocks.models.fields.models] type = "list" longname = "list of models" description = "is the list of model types, model name files, and model names." +optional = true [blocks.models.fields.models.item] type = "record" @@ -93,6 +95,7 @@ tagged = false type = "list" longname = "list of exchanges" description = "is the list of exchange types, exchange files, and model names." +optional = true [blocks.exchanges.fields.exchanges.item] type = "record" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.yaml index a7a02493..5008491c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/sim-nam.yaml @@ -67,6 +67,7 @@ blocks: type: string longname: name of tdis input file description: is the name of the Temporal Discretization (TDIS) Input File. + optional: true case_sensitive: true models: fields: @@ -74,6 +75,7 @@ blocks: type: list longname: list of models description: is the list of model types, model name files, and model names. + optional: true item: type: record description: is the record of model types, model name files, and model names. @@ -102,6 +104,7 @@ blocks: type: list longname: list of exchanges description: is the list of exchange types, exchange files, and model names. + optional: true item: type: record description: is the record of exchange types, exchange files, and model names. diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.json index defe76d9..b61e5d12 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.json @@ -97,7 +97,8 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.toml index c615681c..97b407e0 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.toml @@ -87,6 +87,7 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.yaml index 97ca1c8e..2eb20c39 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cdb.yaml @@ -101,6 +101,7 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.json index 72422e5b..f14bcaad 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.json @@ -50,6 +50,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once.", "tagged": false, + "index": true, "pk": true }, "nxspoints": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.toml index 3bab57b8..d7de3976 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.toml @@ -41,6 +41,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.nxspoints] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.yaml index 16c3d36f..66bca50f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-cxs.yaml @@ -46,6 +46,7 @@ blocks: with an error. The program will also terminate with an error if information for a section is specified more than once. tagged: false + index: true pk: true nxspoints: type: integer diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.json index 5c7d6ec8..3769ea16 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.json @@ -81,6 +81,7 @@ "type": "array", "longname": "mannings roughness coefficient", "description": "mannings roughness coefficient", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -92,6 +93,8 @@ "description": "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide.", "optional": true, "dtype": "integer", + "index": true, + "fk": "swf-cxs.packagedata.idcxs", "shape": [ "nodes" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.toml index a0dc1a50..d218b4d5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.toml @@ -72,6 +72,7 @@ developmode = true type = "array" longname = "mannings roughness coefficient" description = "mannings roughness coefficient" +optional = true dtype = "double" shape = [ "nodes", @@ -83,6 +84,8 @@ longname = "cross section number" description = "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide." optional = true dtype = "integer" +index = true +fk = "swf-cxs.packagedata.idcxs" shape = [ "nodes", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.yaml index 57d8d347..86d47e23 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-dfw.yaml @@ -90,6 +90,7 @@ blocks: type: array longname: mannings roughness coefficient description: mannings roughness coefficient + optional: true dtype: double shape: - nodes @@ -100,5 +101,7 @@ blocks: that applies to the reach. If not provided then reach will be treated as hydraulically wide. optional: true dtype: integer + index: true + fk: swf-cxs.packagedata.idcxs shape: - nodes diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.json index 63265483..10dd3446 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.json @@ -105,6 +105,7 @@ "type": "array", "longname": "width", "description": "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -114,6 +115,7 @@ "type": "array", "longname": "bottom elevation for the one-dimensional cell", "description": "bottom elevation for the one-dimensional cell.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -143,7 +145,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -177,7 +181,9 @@ "type": "integer", "longname": "cell1d number", "description": "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "fdc": { "type": "double", @@ -197,6 +203,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.toml index 06f11f4f..e3aecc57 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.toml @@ -90,6 +90,7 @@ optional = true type = "array" longname = "width" description = "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values." +optional = true dtype = "double" shape = [ "nodes", @@ -99,6 +100,7 @@ shape = [ type = "array" longname = "bottom elevation for the one-dimensional cell" description = "bottom elevation for the one-dimensional cell." +optional = true dtype = "double" shape = [ "nodes", @@ -129,6 +131,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -157,6 +161,8 @@ type = "integer" longname = "cell1d number" description = "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell1d.fields.cell1d.item.fields.fdc] type = "double" @@ -176,6 +182,7 @@ longname = "number of cell vertices" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.yaml index 2a8b9d5d..bee9abfe 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv1d.yaml @@ -101,6 +101,7 @@ blocks: description: real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values. + optional: true dtype: double shape: - nodes @@ -108,6 +109,7 @@ blocks: type: array longname: bottom elevation for the one-dimensional cell description: bottom elevation for the one-dimensional cell. + optional: true dtype: double shape: - nodes @@ -137,6 +139,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -163,6 +167,8 @@ blocks: description: is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true fdc: type: double longname: fractional distance to the cell center @@ -187,6 +193,7 @@ blocks: is calculated using the ZV of the first and last vertex point and FDC. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.json index 7adf38f3..0351df0d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.json @@ -133,7 +133,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -167,7 +169,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -193,6 +197,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.toml index 0e9cd323..4f1ed4b6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.toml @@ -119,6 +119,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -147,6 +149,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -172,6 +176,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.yaml index bbd16948..e0f7f85f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-disv2d.yaml @@ -130,6 +130,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -156,6 +158,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -180,6 +184,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.json index 156cd2e5..06334f5e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.json @@ -98,17 +98,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.toml index c7f5b810..182cb266 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.toml @@ -88,16 +88,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.yaml index ff05a2e5..65bc3496 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-oc.yaml @@ -81,14 +81,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.json index 68bb1847..7d982e4e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.json @@ -115,7 +115,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "swf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.toml index 6f1ff3a5..e5822dec 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.toml @@ -103,6 +103,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "swf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.yaml index c20c90f9..a121828c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/swf-zdg.yaml @@ -117,6 +117,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: swf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.json index 756ccdcc..7b17bd1c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.json @@ -34,6 +34,7 @@ "longname": "stress period indicator", "description": "is the period number to apply the adaptive time stepping. Adaptive time stepping is only activated for those periods with a corresponding iperats entry in the perioddata block. The remaining ATS values on this line will apply to period iperats. iperats must be greater than zero. A warning is printed if iperats is greater than nper.", "tagged": false, + "index": true, "pk": true }, "dt0": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.toml index f0a7b508..d02c2806 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.toml @@ -26,6 +26,7 @@ type = "integer" longname = "stress period indicator" description = "is the period number to apply the adaptive time stepping. Adaptive time stepping is only activated for those periods with a corresponding iperats entry in the perioddata block. The remaining ATS values on this line will apply to period iperats. iperats must be greater than zero. A warning is printed if iperats is greater than nper." tagged = false +index = true pk = true [blocks.perioddata.fields.perioddata.item.fields.dt0] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.yaml index 718eff39..ef66c81d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-ats.yaml @@ -32,6 +32,7 @@ blocks: block. The remaining ATS values on this line will apply to period iperats. iperats must be greater than zero. A warning is printed if iperats is greater than nper. tagged: false + index: true pk: true dt0: type: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.json b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.json index 9762bffe..a450fe4e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.json @@ -60,7 +60,9 @@ "type": "integer", "longname": "bound number for this entry", "description": "integer value that defines the boundary package feature number associated with the specified PERIOD data on the line. BNDNO must be greater than zero and less than or equal to MAXBOUND.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "spcsetting": { "type": "union", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.toml index 5605d3e2..d3954fd7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.toml @@ -50,6 +50,8 @@ type = "integer" longname = "bound number for this entry" description = "integer value that defines the boundary package feature number associated with the specified PERIOD data on the line. BNDNO must be greater than zero and less than or equal to MAXBOUND." tagged = false +index = true +pk = true [blocks.period.fields.perioddata.item.fields.spcsetting] type = "union" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.yaml index ce53abf0..eb4fd3d9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev2/utl-spc.yaml @@ -54,6 +54,8 @@ blocks: the specified PERIOD data on the line. BNDNO must be greater than zero and less than or equal to MAXBOUND. tagged: false + index: true + pk: true spcsetting: type: union description: 'line of information that is parsed into a keyword and values. Keyword values diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.json index e6969f31..ee41dbcf 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.json @@ -106,7 +106,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "chf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.toml index 0b5390cb..7983624f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.toml @@ -96,6 +96,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "chf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.yaml index 3cbcf911..d725ae79 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cdb.yaml @@ -106,6 +106,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: chf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.json index 1df8dd7d..b66841e7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.json @@ -50,6 +50,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once.", "tagged": false, + "index": true, "pk": true }, "nxspoints": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.toml index a8c87a6c..d4158728 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.toml @@ -41,6 +41,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.nxspoints] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.yaml index b0f91302..7fc39dab 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-cxs.yaml @@ -46,6 +46,7 @@ blocks: with an error. The program will also terminate with an error if information for a section is specified more than once. tagged: false + index: true pk: true nxspoints: type: integer diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.json index 7ac429ef..f60d8d04 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.json @@ -86,6 +86,7 @@ "type": "array", "longname": "mannings roughness coefficient", "description": "mannings roughness coefficient", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -97,6 +98,8 @@ "description": "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide.", "optional": true, "dtype": "integer", + "index": true, + "fk": "chf-cxs.packagedata.idcxs", "shape": [ "nodes" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.toml index 074d7bb4..8558b6e4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.toml @@ -75,6 +75,7 @@ developmode = true type = "array" longname = "mannings roughness coefficient" description = "mannings roughness coefficient" +optional = true dtype = "double" shape = [ "nodes", @@ -86,6 +87,8 @@ longname = "cross section number" description = "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide." optional = true dtype = "integer" +index = true +fk = "chf-cxs.packagedata.idcxs" shape = [ "nodes", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.yaml index 081a6e59..9349526d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-dfw.yaml @@ -93,6 +93,7 @@ blocks: type: array longname: mannings roughness coefficient description: mannings roughness coefficient + optional: true dtype: double shape: - nodes @@ -103,6 +104,8 @@ blocks: that applies to the reach. If not provided then reach will be treated as hydraulically wide. optional: true dtype: integer + index: true + fk: chf-cxs.packagedata.idcxs shape: - nodes memory: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.json index f9fbc782..89f687eb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.json @@ -105,6 +105,7 @@ "type": "array", "longname": "width", "description": "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -114,6 +115,7 @@ "type": "array", "longname": "bottom elevation for the one-dimensional cell", "description": "bottom elevation for the one-dimensional cell.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -143,7 +145,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -177,7 +181,9 @@ "type": "integer", "longname": "cell1d number", "description": "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "fdc": { "type": "double", @@ -197,6 +203,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.toml index c9a5c2b2..955ab44a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.toml @@ -90,6 +90,7 @@ optional = true type = "array" longname = "width" description = "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values." +optional = true dtype = "double" shape = [ "nodes", @@ -99,6 +100,7 @@ shape = [ type = "array" longname = "bottom elevation for the one-dimensional cell" description = "bottom elevation for the one-dimensional cell." +optional = true dtype = "double" shape = [ "nodes", @@ -129,6 +131,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -157,6 +161,8 @@ type = "integer" longname = "cell1d number" description = "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell1d.fields.cell1d.item.fields.fdc] type = "double" @@ -176,6 +182,7 @@ longname = "number of cell vertices" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.yaml index e7db1da9..5317b78a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-disv1d.yaml @@ -101,6 +101,7 @@ blocks: description: real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values. + optional: true dtype: double shape: - nodes @@ -108,6 +109,7 @@ blocks: type: array longname: bottom elevation for the one-dimensional cell description: bottom elevation for the one-dimensional cell. + optional: true dtype: double shape: - nodes @@ -137,6 +139,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -163,6 +167,8 @@ blocks: description: is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true fdc: type: double longname: fractional distance to the cell center @@ -187,6 +193,7 @@ blocks: is calculated using the ZV of the first and last vertex point and FDC. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.json index 1cb60622..d278b22a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.json @@ -98,17 +98,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.toml index dac07aa4..482fe660 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.toml @@ -88,16 +88,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.yaml index 7d282e77..2174c041 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-oc.yaml @@ -81,14 +81,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.json index 3bb79933..fab945af 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.json @@ -124,7 +124,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "chf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.toml index 25524317..6b1e60ba 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.toml @@ -112,6 +112,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "chf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.yaml index bb89214c..51eb2150 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/chf-zdg.yaml @@ -122,6 +122,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: chf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.json index 0c9bb637..b1791313 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.json @@ -73,13 +73,17 @@ "type": "integer", "longname": "cellid of cell in surface water model", "description": "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of cell in groundwater model", "description": "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "bedleak": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.toml index a8bbc890..81421dd1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.toml @@ -63,12 +63,16 @@ type = "integer" longname = "cellid of cell in surface water model" description = "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of cell in groundwater model" description = "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.bedleak] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.yaml index 71bbd298..6e5962f6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-chfgwf.yaml @@ -69,6 +69,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of cell in groundwater model @@ -78,6 +80,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true bedleak: type: double longname: bed leakance diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.json index e1503513..ce647472 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.json @@ -149,13 +149,17 @@ "type": "integer", "longname": "cellid of first cell", "description": "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of second cell", "description": "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "ihc": { "type": "integer", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.toml index bf8765d9..5bc23804 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.toml @@ -137,12 +137,16 @@ type = "integer" longname = "cellid of first cell" description = "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of second cell" description = "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.ihc] type = "integer" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.yaml index b7e00f6b..8093d576 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwegwe.yaml @@ -150,6 +150,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of second cell @@ -159,6 +161,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true ihc: type: integer longname: integer flag for connection type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.json index 1d82f46a..97a0b56d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.json @@ -176,13 +176,17 @@ "type": "integer", "longname": "cellid of first cell", "description": "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of second cell", "description": "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "ihc": { "type": "integer", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.toml index 8170dcb9..d9824871 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.toml @@ -160,12 +160,16 @@ type = "integer" longname = "cellid of first cell" description = "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of second cell" description = "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.ihc] type = "integer" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.yaml index 69976659..e0027d62 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwfgwf.yaml @@ -195,6 +195,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of second cell @@ -204,6 +206,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true ihc: type: integer longname: integer flag for connection type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.json index f675993a..1db10058 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.json @@ -149,13 +149,17 @@ "type": "integer", "longname": "cellid of first cell", "description": "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of second cell", "description": "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "ihc": { "type": "integer", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.toml index 133746e1..fda9d90f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.toml @@ -137,12 +137,16 @@ type = "integer" longname = "cellid of first cell" description = "is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of second cell" description = "is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.ihc] type = "integer" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.yaml index 0f9a2f14..4ea0952b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-gwtgwt.yaml @@ -148,6 +148,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of second cell @@ -157,6 +159,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true ihc: type: integer longname: integer flag for connection type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.json index 91d78e4c..e41a3455 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.json @@ -73,13 +73,17 @@ "type": "integer", "longname": "cellid of cell in surface water model", "description": "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm2": { "type": "integer", "longname": "cellid of cell in groundwater model", "description": "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "bedleak": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.toml index 4d25d015..b2abfa2b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.toml @@ -63,12 +63,16 @@ type = "integer" longname = "cellid of cell in surface water model" description = "is the cellid of the cell in model 1, which must be the surface water model. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.cellidm2] type = "integer" longname = "cellid of cell in groundwater model" description = "is the cellid of the cell in model 2, which must be the groundwater model. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell." tagged = false +index = true +node = true [blocks.exchangedata.fields.exchangedata.item.fields.bedleak] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.yaml index dd14a5ed..2390253a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/exg-olfgwf.yaml @@ -69,6 +69,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. tagged: false + index: true + node: true cellidm2: type: integer longname: cellid of cell in groundwater model @@ -78,6 +80,8 @@ blocks: number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. tagged: false + index: true + node: true bedleak: type: double longname: bed leakance diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.json index b257dd7b..f3c6375d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.json @@ -175,6 +175,7 @@ "longname": "grid connectivity", "description": "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWE cells and their connections to the other GWE cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code.", "dtype": "integer", + "index": true, "shape": [ "nja" ] @@ -230,7 +231,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -264,7 +267,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -290,6 +295,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.toml index 8589b45d..b522e1a7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.toml @@ -156,6 +156,7 @@ type = "array" longname = "grid connectivity" description = "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWE cells and their connections to the other GWE cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code." dtype = "integer" +index = true shape = [ "nja", ] @@ -212,6 +213,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -240,6 +243,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -265,6 +270,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.yaml index f1e0b01d..5155c096 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disu.yaml @@ -179,6 +179,7 @@ blocks: cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. dtype: integer + index: true shape: - nja ihc: @@ -247,6 +248,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -273,6 +276,8 @@ blocks: description: is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -296,6 +301,7 @@ blocks: used to define the cell. Vertices must be listed in clockwise order. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.json index b95a184c..07d7ff4b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.json @@ -186,7 +186,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -220,7 +222,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -246,6 +250,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.toml index c12caa01..0d81cbd2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.toml @@ -170,6 +170,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -198,6 +200,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -223,6 +227,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.yaml index c0894511..aed6f089 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-disv.yaml @@ -178,6 +178,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -204,6 +206,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -228,6 +232,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.json index 388e3be7..b49d12c4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.json @@ -168,6 +168,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the lake number associated with the specified PACKAGEDATA data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -224,6 +225,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the lake number associated with the specified PERIOD data on the line. LAKENO must be greater than zero and less than or equal to NLAKES.", "tagged": false, + "index": true, "fk": "packagedata.lakeno" }, "laksetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.toml index 0d331bf9..08611de0 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.toml @@ -150,6 +150,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the lake number associated with the specified PACKAGEDATA data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -200,6 +201,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the lake number associated with the specified PERIOD data on the line. LAKENO must be greater than zero and less than or equal to NLAKES." tagged = false +index = true fk = "packagedata.lakeno" [blocks.period.fields.lakeperioddata.item.fields.laksetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.yaml index 23bcba9e..a4f7df81 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-lke.yaml @@ -164,6 +164,7 @@ blocks: program will also terminate with an error if information for a lake is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -218,6 +219,7 @@ blocks: description: integer value that defines the lake number associated with the specified PERIOD data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. tagged: false + index: true fk: packagedata.lakeno laksetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.json index b203f5f1..b6b39d4c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.json @@ -168,6 +168,7 @@ "longname": "well number for this entry", "description": "integer value that defines the well number associated with the specified PACKAGEDATA data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -224,6 +225,7 @@ "longname": "well number for this entry", "description": "integer value that defines the well number associated with the specified PERIOD data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS.", "tagged": false, + "index": true, "fk": "packagedata.mawno" }, "mwesetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.toml index 4a83b912..2d5ef2df 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.toml @@ -150,6 +150,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the well number associated with the specified PACKAGEDATA data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -200,6 +201,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the well number associated with the specified PERIOD data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS." tagged = false +index = true fk = "packagedata.mawno" [blocks.period.fields.mweperioddata.item.fields.mwesetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.yaml index 809bcf9a..7b9eafd6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-mwe.yaml @@ -164,6 +164,7 @@ blocks: error. The program will also terminate with an error if information for a well is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -218,6 +219,7 @@ blocks: description: integer value that defines the well number associated with the specified PERIOD data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. tagged: false + index: true fk: packagedata.mawno mwesetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.json index 1fdd7e50..3d754e79 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.json @@ -80,17 +80,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.toml index c43d7b12..3f28f92f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.toml @@ -72,16 +72,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.temperatureprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.temperatureprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.temperatureprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.yaml index fd31cdf5..ef02e701 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-oc.yaml @@ -67,14 +67,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.json index 1e31246a..84ed1e57 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.json @@ -168,6 +168,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the reach number associated with the specified PACKAGEDATA data on the line. RNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -224,6 +225,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the reach number associated with the specified PERIOD data on the line. RNO must be greater than zero and less than or equal to NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.rno" }, "reachsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.toml index c457c05e..d9354e79 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.toml @@ -150,6 +150,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the reach number associated with the specified PACKAGEDATA data on the line. RNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -200,6 +201,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the reach number associated with the specified PERIOD data on the line. RNO must be greater than zero and less than or equal to NREACHES." tagged = false +index = true fk = "packagedata.rno" [blocks.period.fields.reachperioddata.item.fields.reachsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.yaml index 8a6a26be..77c59894 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-sfe.yaml @@ -165,6 +165,7 @@ blocks: program will also terminate with an error if information for a reach is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -219,6 +220,7 @@ blocks: description: integer value that defines the reach number associated with the specified PERIOD data on the line. RNO must be greater than zero and less than or equal to NREACHES. tagged: false + index: true fk: packagedata.rno reachsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.json index cabd0daf..41aa7a4b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.json @@ -168,6 +168,7 @@ "longname": "UZF cell number for this entry", "description": "integer value that defines the UZF cell number associated with the specified PACKAGEDATA data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program also will terminate with an error if information for a UZF cell is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -212,6 +213,7 @@ "longname": "unsaturated zone flow cell number for this entry", "description": "integer value that defines the UZF cell number associated with the specified PERIOD data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS.", "tagged": false, + "index": true, "fk": "packagedata.uzfno" }, "uzesetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.toml index 0ea59483..cdb636cf 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.toml @@ -150,6 +150,7 @@ type = "integer" longname = "UZF cell number for this entry" description = "integer value that defines the UZF cell number associated with the specified PACKAGEDATA data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program also will terminate with an error if information for a UZF cell is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -188,6 +189,7 @@ type = "integer" longname = "unsaturated zone flow cell number for this entry" description = "integer value that defines the UZF cell number associated with the specified PERIOD data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS." tagged = false +index = true fk = "packagedata.uzfno" [blocks.period.fields.uzeperioddata.item.fields.uzesetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.yaml index 9a35ce61..63056a0b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwe-uze.yaml @@ -165,6 +165,7 @@ blocks: program will terminate with an error. The program also will terminate with an error if information for a UZF cell is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -208,6 +209,7 @@ blocks: description: integer value that defines the UZF cell number associated with the specified PERIOD data on the line. UZFNO must be greater than zero and less than or equal to NUZFCELLS. tagged: false + index: true fk: packagedata.uzfno uzesetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.json index 8426d48a..f3cd04a4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.json @@ -73,6 +73,7 @@ "longname": "species number for this entry", "description": "integer value that defines the species number associated with the specified PACKAGEDATA data on the line. IRHOSPECIES must be greater than zero and less than or equal to NRHOSPECIES. Information must be specified for each of the NRHOSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once.", "tagged": false, + "index": true, "pk": true }, "drhodc": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.toml index dc45f78a..4b6b0870 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.toml @@ -62,6 +62,7 @@ type = "integer" longname = "species number for this entry" description = "integer value that defines the species number associated with the specified PACKAGEDATA data on the line. IRHOSPECIES must be greater than zero and less than or equal to NRHOSPECIES. Information must be specified for each of the NRHOSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.drhodc] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.yaml index f3fd6d1d..a70db235 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-buy.yaml @@ -71,6 +71,7 @@ blocks: program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once. tagged: false + index: true pk: true drhodc: type: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.json index 50daefed..d9388898 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.json @@ -393,6 +393,7 @@ "longname": "CSUB id number for this entry", "description": "integer value that defines the CSUB interbed number associated with the specified PACKAGEDATA data on the line. CSUBNO must be greater than zero and less than or equal to NINTERBEDS. CSUB information must be specified for every CSUB cell or the program will terminate with an error. The program will also terminate with an error if information for a CSUB interbed number is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.toml index 06cc926e..f221431d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.toml @@ -358,6 +358,7 @@ type = "integer" longname = "CSUB id number for this entry" description = "integer value that defines the CSUB interbed number associated with the specified PACKAGEDATA data on the line. CSUBNO must be greater than zero and less than or equal to NINTERBEDS. CSUB information must be specified for every CSUB cell or the program will terminate with an error. The program will also terminate with an error if information for a CSUB interbed number is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.yaml index 20f0504f..370d7491 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-csub.yaml @@ -376,6 +376,7 @@ blocks: will terminate with an error. The program will also terminate with an error if information for a CSUB interbed number is specified more than once. tagged: false + index: true pk: true cellid: type: array diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.json index 31a12a20..51366d45 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.json @@ -175,6 +175,7 @@ "longname": "grid connectivity", "description": "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWF cells and their connections to the other GWF cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code.", "dtype": "integer", + "index": true, "shape": [ "nja" ] @@ -231,7 +232,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -266,7 +269,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -292,6 +297,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.toml index d8e98ec0..cbf8e357 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.toml @@ -156,6 +156,7 @@ type = "array" longname = "grid connectivity" description = "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWF cells and their connections to the other GWF cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code." dtype = "integer" +index = true shape = [ "nja", ] @@ -213,6 +214,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -242,6 +245,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -267,6 +272,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.yaml index 6db044e7..243a1ce1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disu.yaml @@ -179,6 +179,7 @@ blocks: cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. dtype: integer + index: true shape: - nja ihc: @@ -248,6 +249,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -275,6 +278,8 @@ blocks: description: is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -298,6 +303,7 @@ blocks: used to define the cell. Vertices must be listed in clockwise order. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.json index 6de02950..be8607d5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.json @@ -186,7 +186,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -220,7 +222,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -246,6 +250,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.toml index 29a3046b..e2def104 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.toml @@ -170,6 +170,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -198,6 +200,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -223,6 +227,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.yaml index b78fd480..76e29f07 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-disv.yaml @@ -178,6 +178,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -204,6 +206,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -228,6 +232,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.json index 0959a1da..c3b07ae7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.json @@ -118,6 +118,7 @@ "optional": true, "netcdf": true, "dtype": "integer", + "index": true, "shape": [ "ncpl" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.toml index 2f0e12d9..c406a481 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.toml @@ -105,6 +105,7 @@ description = "IEVT is the layer number that defines the layer in each vertical optional = true netcdf = true dtype = "integer" +index = true shape = [ "ncpl", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.yaml index 4fdfb886..e4b425c5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-evta.yaml @@ -121,6 +121,7 @@ blocks: optional: true netcdf: true dtype: integer + index: true shape: - ncpl surface: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.json index 12df9976..baebee2c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.json @@ -61,13 +61,17 @@ "type": "integer", "longname": "GNC cellid n", "description": "is the cellid of the cell, $n$, in which the ghost node is located. For a structured grid that uses the DIS input file, CELLIDN is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDN is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDN is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidm": { "type": "integer", "longname": "GNC cellid n", "description": "is the cellid of the connecting cell, $m$, to which flow occurs from the ghost node. For a structured grid that uses the DIS input file, CELLIDM is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM is the node number for the cell.", - "tagged": false + "tagged": false, + "index": true, + "node": true }, "cellidsj": { "type": "array", @@ -75,6 +79,7 @@ "description": "is the array of CELLIDS for the contributing j cells, which contribute to the interpolated head value at the ghost node. This item contains one CELLID for each of the contributing cells of the ghost node. Note that if the number of actual contributing cells needed by the user is less than NUMALPHAJ for any ghost node, then a dummy CELLID of zero(s) should be inserted with an associated contributing factor of zero. For a structured grid that uses the DIS input file, CELLID is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLID is the layer number and cell2d number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLID is the node number for the cell.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "numalphaj" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.toml index 74d3443d..c39f9ba5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.toml @@ -53,12 +53,16 @@ type = "integer" longname = "GNC cellid n" description = "is the cellid of the cell, $n$, in which the ghost node is located. For a structured grid that uses the DIS input file, CELLIDN is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDN is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDN is the node number for the cell." tagged = false +index = true +node = true [blocks.gncdata.fields.gncdata.item.fields.cellidm] type = "integer" longname = "GNC cellid n" description = "is the cellid of the connecting cell, $m$, to which flow occurs from the ghost node. For a structured grid that uses the DIS input file, CELLIDM is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM is the node number for the cell." tagged = false +index = true +node = true [blocks.gncdata.fields.gncdata.item.fields.cellidsj] type = "array" @@ -66,6 +70,7 @@ longname = "GNC contributing cells" description = "is the array of CELLIDS for the contributing j cells, which contribute to the interpolated head value at the ghost node. This item contains one CELLID for each of the contributing cells of the ghost node. Note that if the number of actual contributing cells needed by the user is less than NUMALPHAJ for any ghost node, then a dummy CELLID of zero(s) should be inserted with an associated contributing factor of zero. For a structured grid that uses the DIS input file, CELLID is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLID is the layer number and cell2d number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLID is the node number for the cell." tagged = false dtype = "integer" +index = true shape = [ "numalphaj", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.yaml index c6adedf0..75674869 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-gnc.yaml @@ -63,6 +63,8 @@ blocks: number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDN is the node number for the cell. tagged: false + index: true + node: true cellidm: type: integer longname: GNC cellid n @@ -72,6 +74,8 @@ blocks: layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM is the node number for the cell. tagged: false + index: true + node: true cellidsj: type: array longname: GNC contributing cells @@ -86,6 +90,7 @@ blocks: CELLID is the node number for the cell. tagged: false dtype: integer + index: true shape: - numalphaj alphasj: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.json index c772b8f3..d743da2f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.json @@ -241,6 +241,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -294,13 +295,15 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake connection information must be specified for every lake connection to the GWF model (NLAKECONN) or the program will terminate with an error. The program will also terminate with an error if connection information for a lake connection to the GWF model is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "iconn": { "type": "integer", "longname": "connection number for this entry", "description": "integer value that defines the GWF connection number for this lake connection entry. ICONN must be greater than zero and less than or equal to NLAKECONN for lake IFNO.", - "tagged": false + "tagged": false, + "index": true }, "cellid": { "type": "array", @@ -368,6 +371,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified TABLES data on the line. IFNO must be greater than zero and less than or equal to NLAKES. The program will terminate with an error if table information for a lake is specified more than once or the number of specified tables is less than NTABLES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "tab6": { @@ -407,6 +411,7 @@ "longname": "outlet number for this entry", "description": "integer value that defines the outlet number associated with the specified OUTLETS data on the line. OUTLETNO must be greater than zero and less than or equal to NOUTLETS. Outlet information must be specified for every outlet or the program will terminate with an error. The program will also terminate with an error if information for a outlet is specified more than once.", "tagged": false, + "index": true, "pk": true }, "lakein": { @@ -414,6 +419,7 @@ "longname": "lake number for upstream lake", "description": "integer value that defines the lake number that outlet is connected to. LAKEIN must be greater than zero and less than or equal to NLAKES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "lakeout": { @@ -421,6 +427,7 @@ "longname": "lake number for downstream lake", "description": "integer value that defines the lake number that outlet discharge from lake outlet OUTLETNO is routed to. LAKEOUT must be greater than or equal to zero and less than or equal to NLAKES. If LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is discharged to an external boundary.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "couttype": { @@ -484,6 +491,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "status": { @@ -501,6 +509,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "stage": { @@ -519,6 +528,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "rainfall": { @@ -537,6 +547,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "evaporation": { @@ -555,6 +566,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "runoff": { @@ -573,6 +585,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "inflow": { @@ -591,6 +604,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "withdrawal": { @@ -609,6 +623,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "rate": { @@ -627,6 +642,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "invert": { @@ -645,6 +661,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "width": { @@ -663,6 +680,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "slope": { @@ -681,6 +699,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "outlets.outletno" }, "rough": { @@ -699,6 +718,7 @@ "longname": "lake or outlet number for this entry", "description": "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "auxiliary": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.toml index cf7c321b..98ff2dde 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.toml @@ -220,6 +220,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -267,6 +268,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake connection information must be specified for every lake connection to the GWF model (NLAKECONN) or the program will terminate with an error. The program will also terminate with an error if connection information for a lake connection to the GWF model is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.connectiondata.fields.connectiondata.item.fields.iconn] @@ -274,6 +276,7 @@ type = "integer" longname = "connection number for this entry" description = "integer value that defines the GWF connection number for this lake connection entry. ICONN must be greater than zero and less than or equal to NLAKECONN for lake IFNO." tagged = false +index = true [blocks.connectiondata.fields.connectiondata.item.fields.cellid] type = "array" @@ -335,6 +338,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified TABLES data on the line. IFNO must be greater than zero and less than or equal to NLAKES. The program will terminate with an error if table information for a lake is specified more than once or the number of specified tables is less than NTABLES." tagged = false +index = true fk = "packagedata.ifno" [blocks.tables.fields.tables.item.fields.tab6] @@ -368,6 +372,7 @@ type = "integer" longname = "outlet number for this entry" description = "integer value that defines the outlet number associated with the specified OUTLETS data on the line. OUTLETNO must be greater than zero and less than or equal to NOUTLETS. Outlet information must be specified for every outlet or the program will terminate with an error. The program will also terminate with an error if information for a outlet is specified more than once." tagged = false +index = true pk = true [blocks.outlets.fields.outlets.item.fields.lakein] @@ -375,6 +380,7 @@ type = "integer" longname = "lake number for upstream lake" description = "integer value that defines the lake number that outlet is connected to. LAKEIN must be greater than zero and less than or equal to NLAKES." tagged = false +index = true fk = "packagedata.ifno" [blocks.outlets.fields.outlets.item.fields.lakeout] @@ -382,6 +388,7 @@ type = "integer" longname = "lake number for downstream lake" description = "integer value that defines the lake number that outlet discharge from lake outlet OUTLETNO is routed to. LAKEOUT must be greater than or equal to zero and less than or equal to NLAKES. If LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is discharged to an external boundary." tagged = false +index = true fk = "packagedata.ifno" [blocks.outlets.fields.outlets.item.fields.couttype] @@ -436,6 +443,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.status.fields.status] @@ -451,6 +459,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.stage.fields.stage] @@ -467,6 +476,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.rainfall.fields.rainfall] @@ -483,6 +493,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.evaporation.fields.evaporation] @@ -499,6 +510,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.runoff.fields.runoff] @@ -515,6 +527,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.inflow.fields.inflow] @@ -531,6 +544,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.withdrawal.fields.withdrawal] @@ -547,6 +561,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.rate.fields.rate] @@ -563,6 +578,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.invert.fields.invert] @@ -579,6 +595,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.width.fields.width] @@ -595,6 +612,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.slope.fields.slope] @@ -611,6 +629,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "outlets.outletno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.rough.fields.rough] @@ -627,6 +646,7 @@ type = "integer" longname = "lake or outlet number for this entry" description = "integer value that defines the lake or outlet number associated with the specified PERIOD data on the line. NUMBER must be greater than zero and less than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.laksetting.arms.auxiliaryrecord.fields.auxiliary] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.yaml index 7a7a768f..7b8c2326 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-lak.yaml @@ -238,6 +238,7 @@ blocks: with an error. The program will also terminate with an error if information for a lake is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -293,6 +294,7 @@ blocks: also terminate with an error if connection information for a lake connection to the GWF model is specified more than once. tagged: false + index: true fk: packagedata.ifno iconn: type: integer @@ -300,6 +302,7 @@ blocks: description: integer value that defines the GWF connection number for this lake connection entry. ICONN must be greater than zero and less than or equal to NLAKECONN for lake IFNO. tagged: false + index: true cellid: type: array longname: cell identifier @@ -391,6 +394,7 @@ blocks: The program will terminate with an error if table information for a lake is specified more than once or the number of specified tables is less than NTABLES. tagged: false + index: true fk: packagedata.ifno tab6: type: keyword @@ -429,6 +433,7 @@ blocks: with an error. The program will also terminate with an error if information for a outlet is specified more than once. tagged: false + index: true pk: true lakein: type: integer @@ -436,6 +441,7 @@ blocks: description: integer value that defines the lake number that outlet is connected to. LAKEIN must be greater than zero and less than or equal to NLAKES. tagged: false + index: true fk: packagedata.ifno lakeout: type: integer @@ -445,6 +451,7 @@ blocks: or equal to NLAKES. If LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is discharged to an external boundary. tagged: false + index: true fk: packagedata.ifno couttype: type: string @@ -519,6 +526,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno status: type: string @@ -536,6 +544,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno stage: type: string @@ -557,6 +566,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno rainfall: type: string @@ -578,6 +588,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno evaporation: type: string @@ -599,6 +610,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno runoff: type: string @@ -620,6 +632,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno inflow: type: string @@ -641,6 +654,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno withdrawal: type: string @@ -662,6 +676,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno rate: type: string @@ -686,6 +701,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno invert: type: string @@ -707,6 +723,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno width: type: string @@ -728,6 +745,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno slope: type: string @@ -749,6 +767,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: outlets.outletno rough: type: string @@ -770,6 +789,7 @@ blocks: than or equal to NLAKES for a lake number and less than or equal to NOUTLETS for an outlet number. tagged: false + index: true fk: packagedata.ifno auxiliary: type: keyword diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.json index 50979bba..bb350b8d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.json @@ -219,6 +219,7 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well information must be specified for every multi-aquifer well or the program will terminate with an error. The program will also terminate with an error if information for a multi-aquifer well is specified more than once.", "tagged": false, + "index": true, "pk": true }, "radius": { @@ -290,13 +291,15 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well connection information must be specified for every multi-aquifer well connection to the GWF model (NGWFNODES) or the program will terminate with an error. The program will also terminate with an error if connection information for a multi-aquifer well connection to the GWF model is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "icon": { "type": "integer", "longname": "connection number", "description": "integer value that defines the GWF connection number for this multi-aquifer well connection entry. ICONN must be greater than zero and less than or equal to NGWFNODES for multi-aquifer well IFNO.", - "tagged": false + "tagged": false, + "index": true }, "cellid": { "type": "array", @@ -349,6 +352,7 @@ "longname": "well number for this entry", "description": "integer value that defines the well number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "mawsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.toml index ad23b399..57acd8f9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.toml @@ -198,6 +198,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well information must be specified for every multi-aquifer well or the program will terminate with an error. The program will also terminate with an error if information for a multi-aquifer well is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.radius] @@ -260,6 +261,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Multi-aquifer well connection information must be specified for every multi-aquifer well connection to the GWF model (NGWFNODES) or the program will terminate with an error. The program will also terminate with an error if connection information for a multi-aquifer well connection to the GWF model is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.connectiondata.fields.connectiondata.item.fields.icon] @@ -267,6 +269,7 @@ type = "integer" longname = "connection number" description = "integer value that defines the GWF connection number for this multi-aquifer well connection entry. ICONN must be greater than zero and less than or equal to NGWFNODES for multi-aquifer well IFNO." tagged = false +index = true [blocks.connectiondata.fields.connectiondata.item.fields.cellid] type = "array" @@ -313,6 +316,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the well number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.mawsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.yaml index 8a15b4c8..97e35dd5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-maw.yaml @@ -225,6 +225,7 @@ blocks: or the program will terminate with an error. The program will also terminate with an error if information for a multi-aquifer well is specified more than once. tagged: false + index: true pk: true radius: type: double @@ -319,6 +320,7 @@ blocks: program will also terminate with an error if connection information for a multi-aquifer well connection to the GWF model is specified more than once. tagged: false + index: true fk: packagedata.ifno icon: type: integer @@ -327,6 +329,7 @@ blocks: well connection entry. ICONN must be greater than zero and less than or equal to NGWFNODES for multi-aquifer well IFNO. tagged: false + index: true cellid: type: array longname: cell identifier @@ -397,6 +400,7 @@ blocks: description: integer value that defines the well number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. tagged: false + index: true fk: packagedata.ifno mawsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.json index 67e89dd1..af45726a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.json @@ -137,7 +137,8 @@ "type": "integer", "longname": "provider reach", "description": "is the identifier for the provider. For the standard boundary packages, the provider identifier is the number of the boundary as it is listed in the package input file. (Note that the order of these boundaries may change by stress period, which must be accounted for in the Mover Package.) So the first well has an identifier of one. The second is two, and so forth. For the advanced packages, the identifier is the reach number (SFR Package), well number (MAW Package), or UZF cell number. For the Lake Package, ID1 is the lake outlet number. Thus, outflows from a single lake can be routed to different streams, for example.", - "tagged": false + "tagged": false, + "index": true }, "mname2": { "type": "string", @@ -156,7 +157,8 @@ "type": "integer", "longname": "receiver reach", "description": "is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake number (LAK Package), well number (MAW Package), or UZF cell number.", - "tagged": false + "tagged": false, + "index": true }, "mvrtype": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.toml index fcc6cd19..c4706e7c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.toml @@ -116,6 +116,7 @@ type = "integer" longname = "provider reach" description = "is the identifier for the provider. For the standard boundary packages, the provider identifier is the number of the boundary as it is listed in the package input file. (Note that the order of these boundaries may change by stress period, which must be accounted for in the Mover Package.) So the first well has an identifier of one. The second is two, and so forth. For the advanced packages, the identifier is the reach number (SFR Package), well number (MAW Package), or UZF cell number. For the Lake Package, ID1 is the lake outlet number. Thus, outflows from a single lake can be routed to different streams, for example." tagged = false +index = true [blocks.period.fields.perioddata.item.fields.mname2] type = "string" @@ -135,6 +136,7 @@ type = "integer" longname = "receiver reach" description = "is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake number (LAK Package), well number (MAW Package), or UZF cell number." tagged = false +index = true [blocks.period.fields.perioddata.item.fields.mvrtype] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.yaml index 2c134db8..3809e22f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-mvr.yaml @@ -131,6 +131,7 @@ blocks: is the lake outlet number. Thus, outflows from a single lake can be routed to different streams, for example. tagged: false + index: true mname2: type: string description: name of model containing the package, PNAME2. @@ -150,6 +151,7 @@ blocks: description: is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake number (LAK Package), well number (MAW Package), or UZF cell number. tagged: false + index: true mvrtype: type: string longname: mover type diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.json index 6a1746f8..201b1e88 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.json @@ -195,6 +195,7 @@ "type": "array", "longname": "confined or convertible indicator", "description": "flag for each cell that specifies how saturated thickness is treated. 0 means saturated thickness is held constant; $>$0 means saturated thickness varies with computed head when head is below the cell top; $<$0 means saturated thickness varies with computed head unless the THICKSTRT option is in effect. When THICKSTRT is in effect, a negative value for ICELLTYPE indicates that the saturated thickness value used in conductance calculations in the NPF Package will be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one.", + "optional": true, "default": 0, "netcdf": true, "dtype": "integer", @@ -207,6 +208,7 @@ "type": "array", "longname": "hydraulic conductivity (L/T)", "description": "is the hydraulic conductivity. For the common case in which the user would like to specify the horizontal hydraulic conductivity and the vertical hydraulic conductivity, then K should be assigned as the horizontal hydraulic conductivity, K33 should be assigned as the vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero.", + "optional": true, "default": 1.0, "netcdf": true, "dtype": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.toml index 6fb54828..52d8a613 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.toml @@ -178,6 +178,7 @@ developmode = true type = "array" longname = "confined or convertible indicator" description = "flag for each cell that specifies how saturated thickness is treated. 0 means saturated thickness is held constant; $>$0 means saturated thickness varies with computed head when head is below the cell top; $<$0 means saturated thickness varies with computed head unless the THICKSTRT option is in effect. When THICKSTRT is in effect, a negative value for ICELLTYPE indicates that the saturated thickness value used in conductance calculations in the NPF Package will be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one." +optional = true default = 0 netcdf = true dtype = "integer" @@ -190,6 +191,7 @@ shape = [ type = "array" longname = "hydraulic conductivity (L/T)" description = "is the hydraulic conductivity. For the common case in which the user would like to specify the horizontal hydraulic conductivity and the vertical hydraulic conductivity, then K should be assigned as the horizontal hydraulic conductivity, K33 should be assigned as the vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero." +optional = true default = 1.0 netcdf = true dtype = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.yaml index d183a09a..182ed1d1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-npf.yaml @@ -233,6 +233,7 @@ blocks: be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one. + optional: true default: 0 netcdf: true dtype: integer @@ -248,6 +249,7 @@ blocks: vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero. + optional: true default: 1.0 netcdf: true dtype: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.json index 92f02313..c578b24a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.json @@ -80,17 +80,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.toml index 0e2732bd..5da69214 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.toml @@ -72,16 +72,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.headprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.headprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.headprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.yaml index 52eec131..e7769a4b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-oc.yaml @@ -67,14 +67,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.json index a66eed59..a818e29e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.json @@ -118,6 +118,7 @@ "optional": true, "netcdf": true, "dtype": "integer", + "index": true, "shape": [ "ncpl" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.toml index 30feb88d..d679d8a4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.toml @@ -105,6 +105,7 @@ description = "IRCH is the layer number that defines the layer in each vertical optional = true netcdf = true dtype = "integer" +index = true shape = [ "ncpl", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.yaml index 0a19346e..ed5d1c9a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-rcha.yaml @@ -121,6 +121,7 @@ blocks: optional: true netcdf: true dtype: integer + index: true shape: - ncpl recharge: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.json index ecc8f9bb..a4e970ce 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.json @@ -242,6 +242,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { @@ -356,6 +357,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified cross-section table file on the line. IFNO must be greater than zero and less than or equal to NREACHES. The program will also terminate with an error if table information for a reach is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "tab6": { @@ -392,6 +394,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach connection information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if connection information for a reach is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "ic": { @@ -401,6 +404,7 @@ "optional": true, "tagged": false, "dtype": "integer", + "index": true, "shape": [ "packagedata.ncon(ifno)" ] @@ -422,19 +426,23 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified DIVERSIONS data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach diversion information must be specified for every reach with a NDV value greater than 0 or the program will terminate with an error. The program will also terminate with an error if diversion information for a given reach diversion is specified more than once.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "idv": { "type": "integer", "longname": "downstream diversion number", "description": "integer value that defines the downstream diversion number for the diversion for reach IFNO. IDV must be greater than zero and less than or equal to NDV for reach IFNO.", - "tagged": false + "tagged": false, + "index": true }, "iconr": { "type": "integer", "longname": "downstream reach number for diversion", "description": "integer value that defines the downstream reach that will receive the diverted water. IDV must be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a downstream connection for reach IFNO.", - "tagged": false + "tagged": false, + "index": true, + "fk": "packagedata.ifno" }, "cprior": { "type": "string", @@ -459,6 +467,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified initial stage. Initial stage data must be specified for every reach or the program will terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "initialstage": { @@ -484,6 +493,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "sfrsetting": { @@ -549,7 +559,8 @@ "type": "integer", "longname": "diversion number", "description": "an integer value specifying which diversion of reach IFNO that DIVFLOW is being specified for. Must be less or equal to ndv for the current reach (IFNO).", - "tagged": false + "tagged": false, + "index": true }, "divflow": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.toml index be2fab4b..71c4b242 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.toml @@ -221,6 +221,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] @@ -326,6 +327,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified cross-section table file on the line. IFNO must be greater than zero and less than or equal to NREACHES. The program will also terminate with an error if table information for a reach is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.crosssections.fields.crosssections.item.fields.tab6] @@ -356,6 +358,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach connection information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if connection information for a reach is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.connectiondata.fields.connectiondata.item.fields.ic] @@ -365,6 +368,7 @@ description = "integer value that defines the reach number of the reach connecte optional = true tagged = false dtype = "integer" +index = true shape = [ "packagedata.ncon(ifno)", ] @@ -380,6 +384,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified DIVERSIONS data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach diversion information must be specified for every reach with a NDV value greater than 0 or the program will terminate with an error. The program will also terminate with an error if diversion information for a given reach diversion is specified more than once." tagged = false +index = true fk = "packagedata.ifno" [blocks.diversions.fields.diversions.item.fields.idv] @@ -387,12 +392,15 @@ type = "integer" longname = "downstream diversion number" description = "integer value that defines the downstream diversion number for the diversion for reach IFNO. IDV must be greater than zero and less than or equal to NDV for reach IFNO." tagged = false +index = true [blocks.diversions.fields.diversions.item.fields.iconr] type = "integer" longname = "downstream reach number for diversion" description = "integer value that defines the downstream reach that will receive the diverted water. IDV must be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a downstream connection for reach IFNO." tagged = false +index = true +fk = "packagedata.ifno" [blocks.diversions.fields.diversions.item.fields.cprior] type = "string" @@ -411,6 +419,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified initial stage. Initial stage data must be specified for every reach or the program will terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES." tagged = false +index = true fk = "packagedata.ifno" [blocks.initialstages.fields.initialstages.item.fields.initialstage] @@ -430,6 +439,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.sfrsetting] @@ -496,6 +506,7 @@ type = "integer" longname = "diversion number" description = "an integer value specifying which diversion of reach IFNO that DIVFLOW is being specified for. Must be less or equal to ndv for the current reach (IFNO)." tagged = false +index = true [blocks.period.fields.perioddata.item.fields.sfrsetting.arms.diversionrecord.fields.divflow] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.yaml index 8acb8442..26859915 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-sfr.yaml @@ -246,6 +246,7 @@ blocks: with an error. The program will also terminate with an error if information for a reach is specified more than once. tagged: false + index: true pk: true cellid: type: array @@ -374,6 +375,7 @@ blocks: equal to NREACHES. The program will also terminate with an error if table information for a reach is specified more than once. tagged: false + index: true fk: packagedata.ifno tab6: type: keyword @@ -409,6 +411,7 @@ blocks: will terminate with an error. The program will also terminate with an error if connection information for a reach is specified more than once. tagged: false + index: true fk: packagedata.ifno ic: type: array @@ -423,6 +426,7 @@ blocks: optional: true tagged: false dtype: integer + index: true shape: - packagedata.ncon(ifno) diversions: @@ -442,6 +446,7 @@ blocks: with an error if diversion information for a given reach diversion is specified more than once. tagged: false + index: true fk: packagedata.ifno idv: type: integer @@ -450,6 +455,7 @@ blocks: for reach IFNO. IDV must be greater than zero and less than or equal to NDV for reach IFNO. tagged: false + index: true iconr: type: integer longname: downstream reach number for diversion @@ -457,6 +463,8 @@ blocks: water. IDV must be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a downstream connection for reach IFNO. tagged: false + index: true + fk: packagedata.ifno cprior: type: string longname: iprior code @@ -495,6 +503,7 @@ blocks: terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES. tagged: false + index: true fk: packagedata.ifno initialstage: type: double @@ -518,6 +527,7 @@ blocks: description: integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES. tagged: false + index: true fk: packagedata.ifno sfrsetting: type: union @@ -623,6 +633,7 @@ blocks: description: an integer value specifying which diversion of reach IFNO that DIVFLOW is being specified for. Must be less or equal to ndv for the current reach (IFNO). tagged: false + index: true divflow: type: double longname: volumetric diversion flow rate diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.json index a4cd651c..9651ce25 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.json @@ -245,6 +245,7 @@ "longname": "uzf id number for this entry", "description": "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. UZF information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { @@ -267,7 +268,9 @@ "type": "integer", "longname": "vertical connection flag", "description": "integer value set to specify underlying UZF cell that receives water flowing to bottom of cell. If unsaturated zone flow reaches the water table before the cell bottom, then water is added to the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is not connected to an underlying UZF cell.", - "tagged": false + "tagged": false, + "index": true, + "fk": "packagedata.ifno" }, "surfdep": { "type": "double", @@ -332,6 +335,7 @@ "longname": "UZF id number", "description": "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "finf": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.toml index 64532d05..732aeaff 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.toml @@ -224,6 +224,7 @@ type = "integer" longname = "uzf id number for this entry" description = "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. UZF information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] @@ -247,6 +248,8 @@ type = "integer" longname = "vertical connection flag" description = "integer value set to specify underlying UZF cell that receives water flowing to bottom of cell. If unsaturated zone flow reaches the water table before the cell bottom, then water is added to the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is not connected to an underlying UZF cell." tagged = false +index = true +fk = "packagedata.ifno" [blocks.packagedata.fields.packagedata.item.fields.surfdep] type = "double" @@ -302,6 +305,7 @@ type = "integer" longname = "UZF id number" description = "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.perioddata.item.fields.finf] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.yaml index e9026608..adc0a30b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-uzf.yaml @@ -240,6 +240,7 @@ blocks: will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once. tagged: false + index: true pk: true cellid: type: array @@ -268,6 +269,8 @@ blocks: then water is added to the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is not connected to an underlying UZF cell. tagged: false + index: true + fk: packagedata.ifno surfdep: type: double longname: surface depression depth @@ -330,6 +333,7 @@ blocks: description: integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line. tagged: false + index: true fk: packagedata.ifno finf: type: string diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.json index c4b80c52..60e92f13 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.json @@ -97,6 +97,7 @@ "longname": "species number for this entry", "description": "integer value that defines the species number associated with the specified PACKAGEDATA data entered on each line. IVISCSPECIES must be greater than zero and less than or equal to NVISCSPECIES. Information must be specified for each of the NVISCSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once.", "tagged": false, + "index": true, "pk": true }, "dviscdc": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.toml index f22ed59d..dd04b930 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.toml @@ -86,6 +86,7 @@ type = "integer" longname = "species number for this entry" description = "integer value that defines the species number associated with the specified PACKAGEDATA data entered on each line. IVISCSPECIES must be greater than zero and less than or equal to NVISCSPECIES. Information must be specified for each of the NVISCSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.dviscdc] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.yaml index 162aaf61..7be0f8f2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwf-vsc.yaml @@ -97,6 +97,7 @@ blocks: species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once. tagged: false + index: true pk: true dviscdc: type: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.json index 112ca6b8..ad4b2fdb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.json @@ -175,6 +175,7 @@ "longname": "grid connectivity", "description": "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWT cells and their connections to the other GWT cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code.", "dtype": "integer", + "index": true, "shape": [ "nja" ] @@ -231,7 +232,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -266,7 +269,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -292,6 +297,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.toml index 707b0326..1c81ca49 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.toml @@ -156,6 +156,7 @@ type = "array" longname = "grid connectivity" description = "is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWT cells and their connections to the other GWT cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code." dtype = "integer" +index = true shape = [ "nja", ] @@ -213,6 +214,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -242,6 +245,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -267,6 +272,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.yaml index c31e2772..703cecc0 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disu.yaml @@ -179,6 +179,7 @@ blocks: cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. dtype: integer + index: true shape: - nja ihc: @@ -248,6 +249,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -275,6 +278,8 @@ blocks: description: is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -298,6 +303,7 @@ blocks: used to define the cell. Vertices must be listed in clockwise order. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.json index b91448bb..ec4d43e5 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.json @@ -186,7 +186,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -220,7 +222,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -246,6 +250,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.toml index a5abdea6..2e1726d8 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.toml @@ -170,6 +170,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -198,6 +200,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -223,6 +227,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.yaml index 6eee1636..da88a410 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-disv.yaml @@ -178,6 +178,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -204,6 +206,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -228,6 +232,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.json index 2ef806e5..26e0510a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.json @@ -115,17 +115,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.toml index 2c7dce40..38d47ea3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.toml @@ -105,16 +105,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.cimprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.cimprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.cimprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.yaml index e409914a..d1941cce 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-ist.yaml @@ -106,14 +106,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.json index 28b89648..e4d62309 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.json @@ -168,6 +168,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -212,6 +213,7 @@ "longname": "lake number for this entry", "description": "integer value that defines the feature (lake) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NLAKES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "laksetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.toml index 76d56a5f..4417055a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.toml @@ -150,6 +150,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -188,6 +189,7 @@ type = "integer" longname = "lake number for this entry" description = "integer value that defines the feature (lake) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NLAKES." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.lakeperioddata.item.fields.laksetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.yaml index 5799bedc..3985de41 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-lkt.yaml @@ -164,6 +164,7 @@ blocks: with an error. The program will also terminate with an error if information for a lake is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -206,6 +207,7 @@ blocks: description: integer value that defines the feature (lake) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NLAKES. tagged: false + index: true fk: packagedata.ifno laksetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.json index cdaad4f0..c693a28d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.json @@ -168,6 +168,7 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -212,6 +213,7 @@ "longname": "well number for this entry", "description": "integer value that defines the feature (well) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "mwtsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.toml index 941e0a21..62276bab 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.toml @@ -150,6 +150,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -188,6 +189,7 @@ type = "integer" longname = "well number for this entry" description = "integer value that defines the feature (well) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.mwtperioddata.item.fields.mwtsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.yaml index c323ab91..317f4ee6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-mwt.yaml @@ -164,6 +164,7 @@ blocks: with an error. The program will also terminate with an error if information for a well is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -206,6 +207,7 @@ blocks: description: integer value that defines the feature (well) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. tagged: false + index: true fk: packagedata.ifno mwtsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.json index dd4133bc..d7f22e3f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.json @@ -80,17 +80,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.toml index cccfd4df..61fd5732 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.toml @@ -72,16 +72,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.concentrationprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.concentrationprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.concentrationprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.yaml index 12f7b2f1..7e9a440a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-oc.yaml @@ -67,14 +67,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.json index de13534b..b17316b7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.json @@ -168,6 +168,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -212,6 +213,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "reachsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.toml index 9e255183..2ae30283 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.toml @@ -150,6 +150,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -188,6 +189,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.reachperioddata.item.fields.reachsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.yaml index 9326f14f..ef626754 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-sft.yaml @@ -164,6 +164,7 @@ blocks: with an error. The program will also terminate with an error if information for a reach is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -206,6 +207,7 @@ blocks: description: integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES. tagged: false + index: true fk: packagedata.ifno reachsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.json index a2ac828b..6fcb9d2d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.json @@ -168,6 +168,7 @@ "longname": "UZF cell number for this entry", "description": "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once.", "tagged": false, + "index": true, "pk": true }, "strt": { @@ -212,6 +213,7 @@ "longname": "unsaturated zone flow cell number for this entry", "description": "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS.", "tagged": false, + "index": true, "fk": "packagedata.ifno" }, "uztsetting": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.toml index fd9918f0..a4927862 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.toml @@ -150,6 +150,7 @@ type = "integer" longname = "UZF cell number for this entry" description = "integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. Unsaturated zone flow information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.strt] @@ -188,6 +189,7 @@ type = "integer" longname = "unsaturated zone flow cell number for this entry" description = "integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS." tagged = false +index = true fk = "packagedata.ifno" [blocks.period.fields.uztperioddata.item.fields.uztsetting] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.yaml index 64d763fb..266ca3cb 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/gwt-uzt.yaml @@ -165,6 +165,7 @@ blocks: cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once. tagged: false + index: true pk: true strt: type: double @@ -209,6 +210,7 @@ blocks: the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. tagged: false + index: true fk: packagedata.ifno uztsetting: type: union diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.json index ccb8ff95..4270d69d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.json @@ -106,7 +106,8 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.toml index f1f0d0d2..8499ca3f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.toml @@ -96,6 +96,7 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.yaml index a4e533f2..3d724b77 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cdb.yaml @@ -106,6 +106,7 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.json index 5be5d4e3..26db24c4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.json @@ -50,6 +50,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once.", "tagged": false, + "index": true, "pk": true }, "nxspoints": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.toml index eea83ead..942703bd 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.toml @@ -41,6 +41,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.nxspoints] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.yaml index 55895edf..d91cf8aa 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-cxs.yaml @@ -46,6 +46,7 @@ blocks: with an error. The program will also terminate with an error if information for a section is specified more than once. tagged: false + index: true pk: true nxspoints: type: integer diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.json index d53e9f3a..c7ff0356 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.json @@ -86,6 +86,7 @@ "type": "array", "longname": "mannings roughness coefficient", "description": "mannings roughness coefficient", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -97,6 +98,8 @@ "description": "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide.", "optional": true, "dtype": "integer", + "index": true, + "fk": "olf-cxs.packagedata.idcxs", "shape": [ "nodes" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.toml index 48c512e9..1b34786a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.toml @@ -75,6 +75,7 @@ developmode = true type = "array" longname = "mannings roughness coefficient" description = "mannings roughness coefficient" +optional = true dtype = "double" shape = [ "nodes", @@ -86,6 +87,8 @@ longname = "cross section number" description = "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide." optional = true dtype = "integer" +index = true +fk = "olf-cxs.packagedata.idcxs" shape = [ "nodes", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.yaml index ace64bb8..92042520 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-dfw.yaml @@ -93,6 +93,7 @@ blocks: type: array longname: mannings roughness coefficient description: mannings roughness coefficient + optional: true dtype: double shape: - nodes @@ -103,6 +104,8 @@ blocks: that applies to the reach. If not provided then reach will be treated as hydraulically wide. optional: true dtype: integer + index: true + fk: olf-cxs.packagedata.idcxs shape: - nodes memory: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.json index 864a5948..bb2ef1be 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.json @@ -105,6 +105,7 @@ "type": "array", "longname": "length", "description": "length for each one-dimensional cell", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -114,6 +115,7 @@ "type": "array", "longname": "width", "description": "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -123,6 +125,7 @@ "type": "array", "longname": "bottom elevation for the one-dimensional cell", "description": "bottom elevation for the one-dimensional cell.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -152,7 +155,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -186,7 +191,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the cell2d number. Records in the cell2d block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "fdc": { "type": "double", @@ -206,6 +213,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.toml index 45007456..f2b93ec6 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.toml @@ -90,6 +90,7 @@ optional = true type = "array" longname = "length" description = "length for each one-dimensional cell" +optional = true dtype = "double" shape = [ "nodes", @@ -99,6 +100,7 @@ shape = [ type = "array" longname = "width" description = "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values." +optional = true dtype = "double" shape = [ "nodes", @@ -108,6 +110,7 @@ shape = [ type = "array" longname = "bottom elevation for the one-dimensional cell" description = "bottom elevation for the one-dimensional cell." +optional = true dtype = "double" shape = [ "nodes", @@ -138,6 +141,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -166,6 +171,8 @@ type = "integer" longname = "cell2d number" description = "is the cell2d number. Records in the cell2d block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.fdc] type = "double" @@ -185,6 +192,7 @@ longname = "number of cell vertices" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.yaml index 29a595b4..f1f49a1a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv1d.yaml @@ -99,6 +99,7 @@ blocks: type: array longname: length description: length for each one-dimensional cell + optional: true dtype: double shape: - nodes @@ -108,6 +109,7 @@ blocks: description: real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values. + optional: true dtype: double shape: - nodes @@ -115,6 +117,7 @@ blocks: type: array longname: bottom elevation for the one-dimensional cell description: bottom elevation for the one-dimensional cell. + optional: true dtype: double shape: - nodes @@ -144,6 +147,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -170,6 +175,8 @@ blocks: description: is the cell2d number. Records in the cell2d block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true fdc: type: double longname: fractional distance to the cell center @@ -194,6 +201,7 @@ blocks: is calculated using the ZV of the first and last vertex point and FDC. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.json index 70fe9821..f5822d56 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.json @@ -133,7 +133,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -167,7 +169,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -193,6 +197,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.toml index f1e5c89f..201f8e25 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.toml @@ -119,6 +119,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -147,6 +149,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -172,6 +176,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.yaml index dc0ddbd9..59b68d16 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-disv2d.yaml @@ -130,6 +130,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -156,6 +158,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -180,6 +184,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.json index b089e94b..63aa2ba1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.json @@ -98,17 +98,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.toml index ab008992..ca90b4bd 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.toml @@ -88,16 +88,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.yaml index de8858a6..ee6c61b7 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-oc.yaml @@ -81,14 +81,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.json index b7985d1b..fb1eaf13 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.json @@ -124,7 +124,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "olf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.toml index 99e2913e..137901fe 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.toml @@ -112,6 +112,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "olf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.yaml index 7d65a70e..50194010 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/olf-zdg.yaml @@ -122,6 +122,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: olf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.json index a9fb5d7b..3f6f603f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.json @@ -183,7 +183,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -217,7 +219,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -243,6 +247,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.toml index 84e0714e..1facaa43 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.toml @@ -167,6 +167,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -195,6 +197,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -220,6 +224,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.yaml index 210018db..f35cb844 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-disv.yaml @@ -174,6 +174,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -200,6 +202,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -224,6 +228,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.json index c3a34a0f..0f546b6e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.json @@ -245,6 +245,7 @@ "longname": "PRP id number for release point", "description": "integer value that defines the PRP release point number associated with the specified PACKAGEDATA data on the line. IRPTNO must be greater than zero and less than or equal to NRELEASEPTS. The program will terminate with an error if information for a PRP release point number is specified more than once.", "tagged": false, + "index": true, "pk": true }, "cellid": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.toml index 5017be19..e01e062a 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.toml @@ -228,6 +228,7 @@ type = "integer" longname = "PRP id number for release point" description = "integer value that defines the PRP release point number associated with the specified PACKAGEDATA data on the line. IRPTNO must be greater than zero and less than or equal to NRELEASEPTS. The program will terminate with an error if information for a PRP release point number is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.cellid] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.yaml index 57ff4d77..338fa5df 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/prt-prp.yaml @@ -259,6 +259,7 @@ blocks: or equal to NRELEASEPTS. The program will terminate with an error if information for a PRP release point number is specified more than once. tagged: false + index: true pk: true cellid: type: array diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.json index c3026c37..5ac56e7f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.json @@ -68,6 +68,7 @@ "type": "string", "longname": "name of tdis input file", "description": "is the name of the Temporal Discretization (TDIS) Input File.", + "optional": true, "case_sensitive": true } } @@ -78,6 +79,7 @@ "type": "list", "longname": "list of models", "description": "is the list of model types, model name files, and model names.", + "optional": true, "item": { "type": "record", "description": "is the record of model types, model name files, and model names.", @@ -112,6 +114,7 @@ "type": "list", "longname": "list of exchanges", "description": "is the list of exchange types, exchange files, and model names.", + "optional": true, "item": { "type": "record", "description": "is the record of exchange types, exchange files, and model names.", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.toml index 94a98d8c..7f45397f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.toml @@ -59,12 +59,14 @@ direction = "in" type = "string" longname = "name of tdis input file" description = "is the name of the Temporal Discretization (TDIS) Input File." +optional = true case_sensitive = true [blocks.models.fields.models] type = "list" longname = "list of models" description = "is the list of model types, model name files, and model names." +optional = true [blocks.models.fields.models.item] type = "record" @@ -93,6 +95,7 @@ tagged = false type = "list" longname = "list of exchanges" description = "is the list of exchange types, exchange files, and model names." +optional = true [blocks.exchanges.fields.exchanges.item] type = "record" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.yaml index 922aa4c2..e16eb060 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/sim-nam.yaml @@ -67,6 +67,7 @@ blocks: type: string longname: name of tdis input file description: is the name of the Temporal Discretization (TDIS) Input File. + optional: true case_sensitive: true models: fields: @@ -74,6 +75,7 @@ blocks: type: list longname: list of models description: is the list of model types, model name files, and model names. + optional: true item: type: record description: is the record of model types, model name files, and model names. @@ -102,6 +104,7 @@ blocks: type: list longname: list of exchanges description: is the list of exchange types, exchange files, and model names. + optional: true item: type: record description: is the record of exchange types, exchange files, and model names. diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.json index eb1c3ed1..6bc565b1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.json @@ -106,7 +106,8 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.toml index 06187e1f..4b4226a2 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.toml @@ -96,6 +96,7 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.yaml index a7d18d41..22ae7e02 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cdb.yaml @@ -107,6 +107,7 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.json index 15e31ec1..ed989271 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.json @@ -50,6 +50,7 @@ "longname": "reach number for this entry", "description": "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once.", "tagged": false, + "index": true, "pk": true }, "nxspoints": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.toml index 60ee0320..26a43ab4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.toml @@ -41,6 +41,7 @@ type = "integer" longname = "reach number for this entry" description = "integer value that defines the cross section number associated with the specified PACKAGEDATA data on the line. IDCXS must be greater than zero and less than or equal to NSECTIONS. Information must be specified for every section or the program will terminate with an error. The program will also terminate with an error if information for a section is specified more than once." tagged = false +index = true pk = true [blocks.packagedata.fields.packagedata.item.fields.nxspoints] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.yaml index 57c9bb4a..a9856936 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-cxs.yaml @@ -46,6 +46,7 @@ blocks: with an error. The program will also terminate with an error if information for a section is specified more than once. tagged: false + index: true pk: true nxspoints: type: integer diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.json index c647e3f4..39a6044c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.json @@ -86,6 +86,7 @@ "type": "array", "longname": "mannings roughness coefficient", "description": "mannings roughness coefficient", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -97,6 +98,8 @@ "description": "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide.", "optional": true, "dtype": "integer", + "index": true, + "fk": "swf-cxs.packagedata.idcxs", "shape": [ "nodes" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.toml index b78365a1..3b5ac08c 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.toml @@ -75,6 +75,7 @@ developmode = true type = "array" longname = "mannings roughness coefficient" description = "mannings roughness coefficient" +optional = true dtype = "double" shape = [ "nodes", @@ -86,6 +87,8 @@ longname = "cross section number" description = "integer value indication the cross section identifier in the Cross Section Package that applies to the reach. If not provided then reach will be treated as hydraulically wide." optional = true dtype = "integer" +index = true +fk = "swf-cxs.packagedata.idcxs" shape = [ "nodes", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.yaml index 062a1c56..fecbfd1e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-dfw.yaml @@ -93,6 +93,7 @@ blocks: type: array longname: mannings roughness coefficient description: mannings roughness coefficient + optional: true dtype: double shape: - nodes @@ -103,6 +104,8 @@ blocks: that applies to the reach. If not provided then reach will be treated as hydraulically wide. optional: true dtype: integer + index: true + fk: swf-cxs.packagedata.idcxs shape: - nodes memory: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.json index 557b5877..da93265b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.json @@ -105,6 +105,7 @@ "type": "array", "longname": "width", "description": "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -114,6 +115,7 @@ "type": "array", "longname": "bottom elevation for the one-dimensional cell", "description": "bottom elevation for the one-dimensional cell.", + "optional": true, "dtype": "double", "shape": [ "nodes" @@ -143,7 +145,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -177,7 +181,9 @@ "type": "integer", "longname": "cell1d number", "description": "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "fdc": { "type": "double", @@ -197,6 +203,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.toml index c6e36d78..f9788c08 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.toml @@ -90,6 +90,7 @@ optional = true type = "array" longname = "width" description = "real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values." +optional = true dtype = "double" shape = [ "nodes", @@ -99,6 +100,7 @@ shape = [ type = "array" longname = "bottom elevation for the one-dimensional cell" description = "bottom elevation for the one-dimensional cell." +optional = true dtype = "double" shape = [ "nodes", @@ -129,6 +131,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -157,6 +161,8 @@ type = "integer" longname = "cell1d number" description = "is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell1d.fields.cell1d.item.fields.fdc] type = "double" @@ -176,6 +182,7 @@ longname = "number of cell vertices" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in the order that defines the line representing the cell. Cells that are connected must share vertices. The bottom elevation of the cell is calculated using the ZV of the first and last vertex point and FDC." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.yaml index f35eaf46..fafbba22 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv1d.yaml @@ -101,6 +101,7 @@ blocks: description: real value that defines the width for each one-dimensional cell. WIDTH must be greater than zero. If the Cross Section (CXS) Package is used, then the WIDTH value will be multiplied by the specified cross section x-fraction values. + optional: true dtype: double shape: - nodes @@ -108,6 +109,7 @@ blocks: type: array longname: bottom elevation for the one-dimensional cell description: bottom elevation for the one-dimensional cell. + optional: true dtype: double shape: - nodes @@ -137,6 +139,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -163,6 +167,8 @@ blocks: description: is the cell1d number. Records in the cell1d block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true fdc: type: double longname: fractional distance to the cell center @@ -187,6 +193,7 @@ blocks: is calculated using the ZV of the first and last vertex point and FDC. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.json index 6ff9f72e..fbe4149d 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.json @@ -133,7 +133,9 @@ "type": "integer", "longname": "vertex number", "description": "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xv": { "type": "double", @@ -167,7 +169,9 @@ "type": "integer", "longname": "cell2d number", "description": "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "xc": { "type": "double", @@ -193,6 +197,7 @@ "description": "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices.", "tagged": false, "dtype": "integer", + "index": true, "shape": [ "ncvert" ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.toml index 2bbfecfa..6c582c7e 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.toml @@ -119,6 +119,8 @@ type = "integer" longname = "vertex number" description = "is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT." tagged = false +index = true +pk = true [blocks.vertices.fields.vertices.item.fields.xv] type = "double" @@ -147,6 +149,8 @@ type = "integer" longname = "cell2d number" description = "is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last." tagged = false +index = true +pk = true [blocks.cell2d.fields.cell2d.item.fields.xc] type = "double" @@ -172,6 +176,7 @@ longname = "array of vertex numbers" description = "is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices." tagged = false dtype = "integer" +index = true shape = [ "ncvert", ] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.yaml index 8703d348..a2393f48 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-disv2d.yaml @@ -130,6 +130,8 @@ blocks: description: is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. tagged: false + index: true + pk: true xv: type: double longname: x-coordinate for vertex @@ -156,6 +158,8 @@ blocks: description: is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. tagged: false + index: true + pk: true xc: type: double longname: x-coordinate for cell center @@ -180,6 +184,7 @@ blocks: connected must share vertices. tagged: false dtype: integer + index: true shape: - ncvert shape: diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.json index 299be678..bc58356f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.json @@ -98,17 +98,20 @@ "columns": { "type": "integer", "longname": "number of columns", - "description": "number of columns for writing data." + "description": "number of columns for writing data.", + "optional": true }, "width": { "type": "integer", "longname": "width for each number", - "description": "width for writing each number." + "description": "width for writing each number.", + "optional": true }, "digits": { "type": "integer", "longname": "number of digits", - "description": "number of digits to use for writing a number." + "description": "number of digits to use for writing a number.", + "optional": true }, "format": { "type": "string", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.toml index 199d9655..e3657e5f 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.toml @@ -88,16 +88,19 @@ type = "record" type = "integer" longname = "number of columns" description = "number of columns for writing data." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.width] type = "integer" longname = "width for each number" description = "width for writing each number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.digits] type = "integer" longname = "number of digits" description = "number of digits to use for writing a number." +optional = true [blocks.options.fields.qoutflowprintrecord.fields.formatrecord.fields.format] type = "string" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.yaml index 27321978..0c7fb591 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-oc.yaml @@ -81,14 +81,17 @@ blocks: type: integer longname: number of columns description: number of columns for writing data. + optional: true width: type: integer longname: width for each number description: width for writing each number. + optional: true digits: type: integer longname: number of digits description: number of digits to use for writing a number. + optional: true format: type: string longname: write format diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.json index 7ce43a7e..c7e2a2a4 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.json @@ -124,7 +124,9 @@ "type": "integer", "longname": "cross section identifier", "description": "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel.", - "tagged": false + "tagged": false, + "index": true, + "fk": "swf-cxs.packagedata.idcxs" }, "width": { "type": "double", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.toml index 10bc67a4..832b2ab9 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.toml @@ -112,6 +112,8 @@ type = "integer" longname = "cross section identifier" description = "is the identifier for the cross section specified in the CXS Package. A value of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel." tagged = false +index = true +fk = "swf-cxs.packagedata.idcxs" [blocks.period.fields.stress_period_data.item.fields.width] type = "double" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.yaml index 5f00a49b..55379f2b 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/swf-zdg.yaml @@ -123,6 +123,8 @@ blocks: of zero indicates the zero-depth-gradient calculation will use parameters for a hydraulically wide channel. tagged: false + index: true + fk: swf-cxs.packagedata.idcxs width: type: double longname: width of the zero-depth gradient boundary diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.json index ff89c5d3..43960bce 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.json @@ -34,6 +34,7 @@ "longname": "stress period indicator", "description": "is the period number to apply the adaptive time stepping. Adaptive time stepping is only activated for those periods with a corresponding iperats entry in the perioddata block. The remaining ATS values on this line will apply to period iperats. iperats must be greater than zero. A warning is printed if iperats is greater than nper.", "tagged": false, + "index": true, "pk": true }, "dt0": { diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.toml index 54df2938..771d14ee 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.toml @@ -26,6 +26,7 @@ type = "integer" longname = "stress period indicator" description = "is the period number to apply the adaptive time stepping. Adaptive time stepping is only activated for those periods with a corresponding iperats entry in the perioddata block. The remaining ATS values on this line will apply to period iperats. iperats must be greater than zero. A warning is printed if iperats is greater than nper." tagged = false +index = true pk = true [blocks.perioddata.fields.perioddata.item.fields.dt0] diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.yaml index 2133cfc0..54fe29f3 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-ats.yaml @@ -32,6 +32,7 @@ blocks: block. The remaining ATS values on this line will apply to period iperats. iperats must be greater than zero. A warning is printed if iperats is greater than nper. tagged: false + index: true pk: true dt0: type: double diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.json b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.json index d3c21980..2f406e54 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.json +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.json @@ -60,7 +60,9 @@ "type": "integer", "longname": "bound number for this entry", "description": "integer value that defines the boundary package feature number associated with the specified PERIOD data on the line. BNDNO must be greater than zero and less than or equal to MAXBOUND.", - "tagged": false + "tagged": false, + "index": true, + "pk": true }, "spcsetting": { "type": "union", diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.toml b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.toml index d4f4d852..92d73e59 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.toml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.toml @@ -50,6 +50,8 @@ type = "integer" longname = "bound number for this entry" description = "integer value that defines the boundary package feature number associated with the specified PERIOD data on the line. BNDNO must be greater than zero and less than or equal to MAXBOUND." tagged = false +index = true +pk = true [blocks.period.fields.perioddata.item.fields.spcsetting] type = "union" diff --git a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.yaml b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.yaml index 3f0816ff..cf8feed1 100644 --- a/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.yaml +++ b/autotest/dfns/__snapshots__/v2.0.0.dev3/utl-spc.yaml @@ -54,6 +54,8 @@ blocks: the specified PERIOD data on the line. BNDNO must be greater than zero and less than or equal to MAXBOUND. tagged: false + index: true + pk: true spcsetting: type: union description: 'line of information that is parsed into a keyword and values. Keyword values diff --git a/autotest/dfns/test_schema.py b/autotest/dfns/test_schema.py index 279c5681..13cd6179 100644 --- a/autotest/dfns/test_schema.py +++ b/autotest/dfns/test_schema.py @@ -343,7 +343,11 @@ def test_memory_output_attributes_rcha(dev3_spec): def test_render_respects_tagged_scalars_in_record(dev3_spec): """Tagged Integer/String subfields of a Record must keep their keyword on render().""" render = dev3_spec.components["gwf-oc"].blocks["options"].render() - assert "HEAD PRINT_FORMAT COLUMNS WIDTH DIGITS " in render + # columns/width/digits are optional per v1's bare `optional` attribute on each + # (see try_parse_bool's empty-string handling), so they render bracketed. + assert ( + "HEAD PRINT_FORMAT [COLUMNS ] [WIDTH ] [DIGITS ] " in render + ) def test_render_respects_untagged_arrays_in_record(dev3_spec): diff --git a/autotest/dfns/test_schema_relations.py b/autotest/dfns/test_schema_relations.py index 23df762e..b8dc291a 100644 --- a/autotest/dfns/test_schema_relations.py +++ b/autotest/dfns/test_schema_relations.py @@ -97,10 +97,14 @@ def test_dfns_validate_fk_fields_fk_ref_with_hierarchical_fk_rejected(): Dfns(components={"gwf-nam": gwf, "gwf-mvr": mvr}) -def test_dfns_validate_fk_fields_fk_ref_with_node_rejected(): +def test_dfns_validate_fk_fields_fk_ref_with_node_not_special_cased(): + # "node" was formerly a reserved fk sentinel for grid-cell references (now + # replaced by the dedicated `Integer.node` attribute); as a bare fk value + # it's just an ordinary (if oddly named) block name like any other, so + # combining it with fk_ref is unremarkable and must not raise. mvr, gwf = _mvr_id_ctx(fk_val="node") - with pytest.raises(ValueError, match="may not be combined with fk_ref"): - Dfns(components={"gwf-nam": gwf, "gwf-mvr": mvr}) + spec = Dfns(components={"gwf-nam": gwf, "gwf-mvr": mvr}) + assert "gwf-mvr" in spec.components def test_dfns_validate_fk_fields_no_fk_set(): diff --git a/docs/md/dfnspec.md b/docs/md/dfnspec.md index 9146a805..bf547ab4 100644 --- a/docs/md/dfnspec.md +++ b/docs/md/dfnspec.md @@ -53,9 +53,11 @@ This document describes the MODFLOW 6 component definition (DFN) system. This sy - [Type-specific attributes](#type-specific-attributes-3) - [`valid`](#valid-1) - [`time_series`](#time_series-1) + - [`index`](#index) - [`pk`](#pk-1) - [`fk`](#fk-1) - [`fk_ref`](#fk_ref-1) + - [`node`](#node) - [Double](#double) - [Type-specific attributes](#type-specific-attributes-4) - [`time_series`](#time_series-2) @@ -68,7 +70,8 @@ This document describes the MODFLOW 6 component definition (DFN) system. This sy - [`dtype`](#dtype) - [`shape`](#shape) - [`time_series`](#time_series-3) - - [`repeat`](#repeat) + - [`index`](#index-1) + - [`fk`](#fk-2) - [Record](#record) - [Type-specific attributes](#type-specific-attributes-7) - [`fields`](#fields-2) @@ -355,7 +358,7 @@ Type `string`. ###### `fk` -`string | null (default: null)`. Marks this scalar as a foreign key. Valid only on integer or string scalars that are columns in a list item record. Three forms: (1) hierarchical path `"block.field"` or `"component.block.field"` — fully static, used without `fk_ref`; (2) sentinel `"node"` — grid cell reference, used without `fk_ref`; (3) bare block name (e.g., `"packagedata"`) — used together with `fk_ref` to name the block within the runtime-resolved target component, leaving only the pk field to be discovered. See "Primary/foreign keys". +`string | null (default: null)`. Marks this scalar as a foreign key. Valid only on integer or string scalars that are columns in a list item record. Two forms: (1) hierarchical path `"block.field"` or `"component.block.field"` — fully static, used without `fk_ref`; (2) bare block name (e.g., `"packagedata"`) — used together with `fk_ref` to name the block within the runtime-resolved target component, leaving only the pk field to be discovered. See "Primary/foreign keys". ###### `fk_ref` @@ -375,18 +378,26 @@ Type `integer`. `boolean (default: false)`. Marks fields where the parser accepts either a numeric literal or a time-series name (referencing a `utl-ts` object). Not inferable from structural type. Also appears on array fields (where it references a `utl-tas` object instead). Note that `utl-tas` currently only works with layered arrays, not full-grid arrays, though generalizing has been considered. +###### `index` + +`boolean (default: false)`. Marks this scalar's value as a 1-based index requiring MF6's 1-based (file) <-> 0-based (Python) translation on read/write. A pure serialization fact, orthogonal to `pk`/`fk`: it does not claim the value identifies or points at a list row, only that it needs the numeric-base conversion. Not valid on `String` scalars — such fields (e.g. dynamic, name-resolved identifiers) never need this conversion. + ###### `pk` `boolean (default: false)`. Marks this scalar as the primary key of its containing list's item record. Valid only on integer or string scalars that are columns in a list item record. Exactly one column per list item may be marked pk. ###### `fk` -`string | null (default: null)`. Marks this scalar as a foreign key. Valid only on integer or string scalars that are columns in a list item record. Three forms: (1) hierarchical path `"block.field"` or `"component.block.field"` — fully static, used without `fk_ref`; (2) sentinel `"node"` — grid cell reference, used without `fk_ref`; (3) bare block name (e.g., `"packagedata"`) — used together with `fk_ref` to name the block within the runtime-resolved target component, leaving only the pk field to be discovered. See "Primary/foreign keys". +`string | null (default: null)`. Marks this scalar as a foreign key. Valid only on integer or string scalars that are columns in a list item record. Two forms: (1) hierarchical path `"block.field"` or `"component.block.field"` — fully static, used without `fk_ref`; (2) bare block name (e.g., `"packagedata"`) — used together with `fk_ref` to name the block within the runtime-resolved target component, leaving only the pk field to be discovered. See "Primary/foreign keys". ###### `fk_ref` `string | null (default: null)`. For FKs whose target component is only known at runtime. Names a sibling string field whose value identifies the target component. May be set alone (block within target also unknown) or together with `fk` as a bare block name (block known, component not). See "Primary/foreign keys". +###### `node` + +`boolean (default: false)`. Marks this scalar as a grid cell reference, resolved from the parent model's grid (DIS/DISV/DISU) at runtime. Valid only on integer scalars that are columns in a list item record. + #### Double Type `double`. @@ -439,9 +450,13 @@ A 1D array appearing as a subfield of a record is called an **inline array**. In `boolean (default: false)`. Marks fields where the READARRAY invocation may be replaced by a TAS name referencing a `utl-tas` time-array series object. At any model time, the TAS provides an interpolated grid-shaped array. Distinct from the scalar case: references `utl-tas`, not `utl-ts`. Note that `utl-tas` currently only works with layered arrays, not full-grid arrays, though generalizing has been considered. -###### `repeat` +###### `index` + +`boolean (default: false)`. Marks the array's elements as 1-based indices requiring MF6's 1-based (file) <-> 0-based (Python) translation (e.g. `icvert`, `ja`, `irch`, `ievt`). Only valid when `dtype` is `"integer"`. + +###### `fk` -`string | null (default: null)`. Names the field (within the same component) whose runtime length determines how many times this field is read sequentially within an array block, with each reading appended to an accumulated sequence. See `repeat` section below. +`string | null (default: null)`. Marks the array's (nonzero) elements as a foreign key: a per-grid-cell reference to a row (by `pk`) in another list, rather than the per-list-row reference a scalar `fk` expresses (e.g. a grid-wide array giving each cell's cross-section id, referencing the cross-section package's `packagedata`). Only valid when `dtype` is `"integer"`. Hierarchical path form only (`"[component.]block.field"`) — an array has no `fk_ref` counterpart, since it has no sibling record to carry a runtime component-selector field, and no `pk` counterpart, since it has no rows of its own to be a key of. See "Primary/foreign keys". #### Record @@ -636,15 +651,14 @@ Examples: ### Primary and foreign keys -Sometimes a column in one list identifies a row in another list, or a grid cell. This can be conceptualized as a primary key (PK) / foreign key (FK) relation. Integers and strings may encode PK/FK semantics with attributes `pk`, `fk`, and `fk_ref`. +Sometimes a column in one list identifies a row in another list. This can be conceptualized as a primary key (PK) / foreign key (FK) relation. Integers and strings may encode PK/FK semantics with attributes `pk`, `fk`, and `fk_ref`. A column referencing a grid cell instead of another list's row is a distinct concern, handled by the `node` attribute (see [Integer](#integer)) rather than `pk`/`fk` — grid cells are resolved from the parent model's grid (DIS/DISV/DISU) at runtime, not looked up via a `pk` column. -**Note**: PK/FK attributes are only valid on integer and string fields appearing as columns in a tabular (i.e. regular) list's record item type. +**Note**: `pk`/`fk_ref` are only valid on integer and string fields appearing as columns in a tabular (i.e. regular) list's record item type. `fk` is valid there too, and additionally on integer-`dtype` `Array` fields (see [Array](#array)) — there it references another list's row per grid cell rather than per list row, and only the hierarchical-path form applies (no `fk_ref` counterpart, since an array has no sibling record to carry a runtime component selector). -The `fk` attribute can take one of three forms: +The `fk` attribute can take one of two forms: - **Hierarchical path**: A path of the form `"[component.]block.field"`, for use when the primary key field is statically known. The `component` segment is necessary for cross-component references; it may be omitted for within-component references. The hierarchical path form may not be used with `fk_ref`. -- **Grid cell sentinel**: A value `"node"` indicates a grid cell reference, resolve from the parent model's grid at runtime. This form may not be used with `fk_ref`. -- **Bare block name**: The name of a block in which there is exactly one `pk` field. In this case, `fk_ref` is required to resolve the target component at runtime. Note that blocks must not be named "node" to avoid interference with the grid cell sentinel. +- **Bare block name**: The name of a block in which there is exactly one `pk` field. In this case, `fk_ref` is required to resolve the target component at runtime. The `fk_ref` attribute names a string field whose runtime value identifies the component containing the `pk` field. Two sub-cases exist: diff --git a/modflow_devtools/dfns/migrate_to_v2_0_0_dev2.py b/modflow_devtools/dfns/migrate_to_v2_0_0_dev2.py index 5f2dca94..0638d73b 100644 --- a/modflow_devtools/dfns/migrate_to_v2_0_0_dev2.py +++ b/modflow_devtools/dfns/migrate_to_v2_0_0_dev2.py @@ -7,12 +7,35 @@ from modflow_devtools.dfn import schema as v1 from modflow_devtools.dfns import schema as v2 -from modflow_devtools.misc import try_literal_eval, try_parse_bool +from modflow_devtools.misc import try_literal_eval _IDENT_RE = re.compile(r"^[A-Za-z_]\w*$") _LOOKUP_RE = re.compile(r"^(\w+)\.(\w+)\((\w+)\)$") _COL_FK_RE = re.compile(r"^([A-Za-z_]\w*)\(([A-Za-z_]\w*)\)$") + +def try_parse_bool(v: Any, default: bool = False) -> bool: + """ + Try to parse a boolean from a string. + + An empty string is treated as ``True`` rather than ``False``: DFN files + allow a bare attribute line with no value (e.g. ``optional`` on its own + line, as opposed to ``optional true``/``optional false``) to mean the + attribute is set. ``load_dfn`` parses such a line to an empty string, as + distinct from ``None``, which indicates the attribute wasn't present at + all (and falls through to ``default``). + """ + if isinstance(v, bool): + return v + if isinstance(v, str): + s = v.strip().lower() + if s in ("true", ""): + return True + if s == "false": + return False + return default + + _DEPENDENT_VARS: dict[str, str] = { "gwf": "head", "gwt": "concentration", @@ -375,31 +398,53 @@ def _resolve_record(record: v2.Record) -> v2.Record: } -_LONELY_PK_BLOCKS = ("packagedata", "perioddata") +_LONELY_PK_FIELDS = ( + "packagedata", + "perioddata", + # DISU/DISV/DISV1D/DISV2D geometry lists: row identifiers by construction + # (MF6 requires consecutive numbering from 1), never referenced by name + # elsewhere in their own component (the things that reference cell/vertex + # numbers, e.g. `icvert`, are Arrays, which can't carry `pk`/`fk` at all — + # see index-node-attributes-plan.md Phase 3, item (b)). Distinct field + # names because MF6 names the block/list field after the geometry it + # holds, same idiom as period/perioddata above. + "vertices", + "cell2d", + "cell1d", +) def _mark_lonely_pk(blocks: dict[str, v2.Block]) -> dict[str, v2.Block]: """ - Mark the leading identifier column of a self-titled ``packagedata`` or - ``perioddata`` recarray as ``pk`` even when nothing else in the component - names the same field, so ``_resolve_relations``'s cross-block signal - never fires (e.g. BUY's ``irhospec``, CSUB's ``icsubno``, ATS's - ``iperats``). These are still genuine row identifiers by construction - (MODFLOW rejects a repeated one) — they're just never referenced by name - anywhere else in their own component, unlike SFR/MAW/LAK/UZF's `ifno` - columns, which repeat across multiple blocks. - - Conservative by design: only fires on a block literally named - ``packagedata``/``perioddata`` whose same-named list field's item record + Mark the leading identifier column of a ``packagedata``/``perioddata``/ + geometry (``vertices``/``cell2d``/``cell1d``) recarray as ``pk`` even when + nothing else in the component names the same field, so + ``_resolve_relations``'s cross-block signal never fires (e.g. BUY's + ``irhospec``, CSUB's ``icsubno``, ATS's ``iperats``, SPC's ``bndno``, + DISV's ``icell2d``). These are still genuine row identifiers by + construction (MODFLOW rejects a repeated one, or requires consecutive + numbering) — they're just never referenced by name anywhere else in their + own component, unlike SFR/MAW/LAK/UZF's `ifno` columns, which repeat + across multiple blocks. + + Matches on the *list field's* name, not the enclosing block's. MF6's own + convention names the period block ``period`` but its list field + ``perioddata`` — the two are never the same string, so matching on the + block name (as this used to) silently never fired for the ``perioddata`` + case at all, for any component. + + Conservative by design: only fires when the list field's item record leads with a required Integer column carrying no ``fk`` and no existing - ``pk`` anywhere in the record. This deliberately excludes lookalikes like - DISU/DISV's ``vertices``/``cell2d`` (row identifiers, but a distinct - grid-geometry concern) and the FK side of relations like - ``gwf-mvr.period.perioddata`` (block name doesn't match the list name). + ``pk`` anywhere in the record. This deliberately excludes the FK side of + relations like ``gwf-mvr.period.perioddata`` (leads with ``mname1``, a + String — not an Integer identifier at all). """ updated: dict[str, v2.Block] = {} for block_name, block in blocks.items(): - field = block.fields.get(block_name) if block_name in _LONELY_PK_BLOCKS else None + field_name = next((n for n in _LONELY_PK_FIELDS if n in block.fields), None) + if field_name is None: + continue + field = block.fields[field_name] if not isinstance(field, v2.List) or not isinstance(field.item, v2.Record): continue record = field.item @@ -418,11 +463,165 @@ def _mark_lonely_pk(blocks: dict[str, v2.Block]) -> dict[str, v2.Block]: ) new_field = field.model_copy(update={"item": new_record}) updated[block_name] = block.model_copy( - update={"fields": {**block.fields, block_name: new_field}} + update={"fields": {**block.fields, field_name: new_field}} ) return {**blocks, **updated} +# Corpus candidates for the `node` attribute (see index-node-attributes-plan.md +# Phase 2): Integer columns in a list item record that reference a grid cell, +# resolved from the parent model's grid (DIS/DISV/DISU) at runtime, rather than +# a pk/fk relation to another list's row. Unlike `index`, v1 has no attribute +# that signals this (numeric_index only says "needs 1-based/0-based +# conversion" — true here too, and already migrated separately — not "is a +# grid-cell reference"), so these are backfilled by an explicit, audited +# per-field allowlist rather than derived mechanically. In every entry here the +# list field's own name matches its enclosing block's name. +_NODE_REF_FIELDS: dict[str, tuple[str, tuple[str, ...]]] = { + "exg-chfgwf": ("exchangedata", ("cellidm1", "cellidm2")), + "exg-gwegwe": ("exchangedata", ("cellidm1", "cellidm2")), + "exg-gwfgwf": ("exchangedata", ("cellidm1", "cellidm2")), + "exg-gwtgwt": ("exchangedata", ("cellidm1", "cellidm2")), + "exg-olfgwf": ("exchangedata", ("cellidm1", "cellidm2")), + "gwf-gnc": ("gncdata", ("cellidm", "cellidn")), +} + + +def _mark_node_refs(name: str, blocks: dict[str, v2.Block]) -> dict[str, v2.Block]: + """Mark this component's known grid-cell-reference columns `node=True`. + + See `_NODE_REF_FIELDS` for why this is an explicit allowlist rather than a + derived/mechanical pass. + """ + entry = _NODE_REF_FIELDS.get(name) + if entry is None: + return blocks + block_name, field_names = entry + block = blocks.get(block_name) + if block is None: + return blocks + list_field = block.fields.get(block_name) + if not isinstance(list_field, v2.List) or not isinstance(list_field.item, v2.Record): + return blocks + item = list_field.item + updates = { + fname: f.model_copy(update={"node": True}) + for fname in field_names + if isinstance(f := item.fields.get(fname), v2.Integer) and not f.node + } + if not updates: + return blocks + new_item = item.model_copy(update={"fields": {**item.fields, **updates}}) + new_list = list_field.model_copy(update={"item": new_item}) + new_block = block.model_copy(update={"fields": {**block.fields, block_name: new_list}}) + return {**blocks, block_name: new_block} + + +# Corpus candidates for pk/fk backfill (index-node-attributes-plan.md Phase 3): +# real relational facts the general `_resolve_relations`/`_mark_lonely_pk` +# passes can't infer, backfilled by an explicit, audited allowlist rather than +# derived. Each entry: component -> (block name, list field name, {column: +# fk target}). Unlike `_NODE_REF_FIELDS`, block name and list field name +# aren't assumed equal (MF6's period/perioddata idiom applies to two of these). +# +# - UZF's `ivertcon` is a self-referential fk (a UZF cell may point to another +# UZF cell below it) -- a same-block relation `_resolve_relations` +# explicitly never looks for, and the field isn't named `ifno` so its +# name-match signal wouldn't catch it either way. +# - SFR's `iconr` is the downstream reach receiving diverted water -- a real +# reference into `packagedata`'s reach numbers, not the record's leading +# field (so `_mark_lonely_pk` doesn't apply) and not named `ifno` (so +# `_resolve_relations`'s name-match doesn't fire). `diversions.idv` is a +# genuinely different case -- a diversion number scoped *within* reach +# IFNO, not globally unique -- so it correctly gets no pk/fk, only the +# `index` Phase 1 already set mechanically. +# - `chf/olf/swf-zdg` and `chf-cdb`'s `idcxs` reference the cross-section +# defined by the sibling `*-cxs` component's `packagedata.idcxs` (already +# `pk`'d there since a838d84) -- a cross-component fk `_resolve_relations` +# structurally can't reach (single-component scope). `chf/olf/swf-dfw`'s +# `idcxs` is the same relation but is an `Array` (a per-cell grid field, not +# a list column) -- see `_ARRAY_FK_BACKFILL` below, not here. +# +# MAW's `connectiondata.icon` (also flagged as a lonely-pk lookalike in +# earlier scans) is, on inspection, the same compound-scoped shape as SFR's +# `idv`: a per-well connection sequence number, not globally unique and never +# referenced by fk elsewhere -- already fully handled by `index` alone, +# deliberately excluded from this allowlist, not an oversight. +_FK_BACKFILL: dict[str, tuple[str, str, dict[str, str]]] = { + "gwf-uzf": ("packagedata", "packagedata", {"ivertcon": "packagedata.ifno"}), + "gwf-sfr": ("diversions", "diversions", {"iconr": "packagedata.ifno"}), + "chf-cdb": ("period", "stress_period_data", {"idcxs": "chf-cxs.packagedata.idcxs"}), + "chf-zdg": ("period", "stress_period_data", {"idcxs": "chf-cxs.packagedata.idcxs"}), + "olf-zdg": ("period", "stress_period_data", {"idcxs": "olf-cxs.packagedata.idcxs"}), + "swf-zdg": ("period", "stress_period_data", {"idcxs": "swf-cxs.packagedata.idcxs"}), +} + + +def _apply_fk_backfill(name: str, blocks: dict[str, v2.Block]) -> dict[str, v2.Block]: + """Set `fk` on this component's known-good backfill targets. + + See `_FK_BACKFILL` for why this is an explicit allowlist rather than a + derived/mechanical pass. + """ + entry = _FK_BACKFILL.get(name) + if entry is None: + return blocks + block_name, list_field_name, field_targets = entry + block = blocks.get(block_name) + if block is None: + return blocks + list_field = block.fields.get(list_field_name) + if not isinstance(list_field, v2.List) or not isinstance(list_field.item, v2.Record): + return blocks + item = list_field.item + updates = { + fname: f.model_copy(update={"fk": target}) + for fname, target in field_targets.items() + if isinstance(f := item.fields.get(fname), v2.Integer) and f.fk is None + } + if not updates: + return blocks + new_item = item.model_copy(update={"fields": {**item.fields, **updates}}) + new_list = list_field.model_copy(update={"item": new_item}) + new_block = block.model_copy(update={"fields": {**block.fields, list_field_name: new_list}}) + return {**blocks, block_name: new_block} + + +# `chf/olf/swf-dfw`'s `idcxs` is a per-cell grid array (`griddata` block, +# dtype="integer", shape=["nodes"]), not a list column, so it can't go through +# `_apply_fk_backfill` above (which targets a List item's Record). It's the +# same cross-section relation as `_FK_BACKFILL`'s `*-zdg`/`chf-cdb` entries, +# now expressible directly since `Array.fk` exists (index-node-attributes-plan.md +# Phase 3 addendum). Each entry: component -> (block name, field name, fk target). +_ARRAY_FK_BACKFILL: dict[str, tuple[str, str, str]] = { + "chf-dfw": ("griddata", "idcxs", "chf-cxs.packagedata.idcxs"), + "olf-dfw": ("griddata", "idcxs", "olf-cxs.packagedata.idcxs"), + "swf-dfw": ("griddata", "idcxs", "swf-cxs.packagedata.idcxs"), +} + + +def _apply_array_fk_backfill(name: str, blocks: dict[str, v2.Block]) -> dict[str, v2.Block]: + """Set `fk` on this component's known-good Array backfill target. + + See `_ARRAY_FK_BACKFILL` for why this is a separate, explicit allowlist + rather than folded into `_apply_fk_backfill`. + """ + entry = _ARRAY_FK_BACKFILL.get(name) + if entry is None: + return blocks + block_name, field_name, target = entry + block = blocks.get(block_name) + if block is None: + return blocks + field = block.fields.get(field_name) + if not isinstance(field, v2.Array) or field.fk is not None: + return blocks + new_block = block.model_copy( + update={"fields": {**block.fields, field_name: field.model_copy(update={"fk": target})}} + ) + return {**blocks, block_name: new_block} + + def _fill_period_list_shapes( blocks: dict[str, v2.Block], explicit_dims: dict[str, v2.Dim], @@ -877,9 +1076,10 @@ def _fix_mvr_relations(name: str, blocks: dict[str, v2.Block]) -> dict[str, v2.B participating in the mover, but nothing else in the component repeats the field name `pname` (the period block's `pname1`/`pname2` are renamed), so neither `_resolve_relations` nor `_mark_lonely_pk` finds - it — the former needs a name match, and the latter's `packages` block - isn't in `_LONELY_PK_BLOCKS`, plus `pname` isn't `packages`' leading - column (`mname` is, and it's optional, so it can't be the pk anyway). + it — the former needs a name match, and the latter only fires on a + `packagedata`/`perioddata` list field, which `packages` isn't, plus + `pname` isn't `packages`' leading column (`mname` is, and it's + optional, so it can't be the pk anyway). - Marks `period.perioddata`'s `pname1`/`pname2` as `fk: "packages.pname"`, since each identifies the provider/receiver package by name. @@ -1039,6 +1239,10 @@ def _map_field(f: v1.Field) -> v2.Field: preserve_case: bool = try_parse_bool(f.get("preserve_case"), False) time_series: bool = try_parse_bool(f.get("time_series"), False) layered: bool = try_parse_bool(f.get("layered"), False) + # Pure serialization fact (1-based/0-based conversion), orthogonal to pk/fk + # relational identity. Direct copy from v1: valid on Integer/Array(dtype= + # "integer") only, never on String (see index-node-attributes-plan.md). + numeric_index: bool = try_parse_bool(f.get("numeric_index"), False) removed: str | None = f.get("removed") or None deprecated: str | None = f.get("deprecated") or None valid = f.get("valid") @@ -1130,6 +1334,7 @@ def _to_scalar() -> v2.Scalar: tagged=tagged, valid=_parse_valid(valid, int), time_series=time_series, + index=numeric_index, ) if _type in ("double", "double precision"): return v2.Double( @@ -1399,6 +1604,7 @@ def _lookup(rname: str) -> dict | None: layered=layered, dtype=dtype, shape=parsed_shape, + index=numeric_index if dtype == "integer" else False, ) return _to_scalar() @@ -1420,7 +1626,6 @@ def _lookup(rname: str) -> dict | None: blocks, array_dims = _resolve_dimensions(blocks) blocks = _resolve_relations(blocks) - blocks = _mark_lonely_pk(blocks) raw_dim_names = _raw_dim_names(blocks) blocks = _normalize_n_prefix_shapes(blocks, raw_dim_names) explicit_dims = _build_explicit_dims(parent, blocks) @@ -1434,6 +1639,16 @@ def _lookup(rname: str) -> dict | None: blocks = _patch_oc_rtype(name, blocks) blocks = _fix_lak_relations(name, blocks) blocks = _fix_mvr_relations(name, blocks) + # Must run after `_fix_lak_relations`: LAK's period `number` field looks + # exactly like a lonely pk (leading required Integer, no fk) before it's + # split into per-arm `lakeno`/`outletno` fk's — marking it pk here first + # would carry a stale `pk=True` into those fk copies (`model_copy` off + # the original field). No other pass between the old and new call sites + # reads or depends on `pk`/`fk` state. + blocks = _mark_lonely_pk(blocks) + blocks = _mark_node_refs(name, blocks) + blocks = _apply_fk_backfill(name, blocks) + blocks = _apply_array_fk_backfill(name, blocks) dims = {**explicit_dims, **array_dims, **derived_dims} or None d: dict[str, Any] = { diff --git a/modflow_devtools/dfns/migrate_to_v2_0_0_dev3.py b/modflow_devtools/dfns/migrate_to_v2_0_0_dev3.py index 999232d3..20d02b3c 100644 --- a/modflow_devtools/dfns/migrate_to_v2_0_0_dev3.py +++ b/modflow_devtools/dfns/migrate_to_v2_0_0_dev3.py @@ -25,8 +25,7 @@ from boltons.dictutils import OMD from modflow_devtools.dfns import schema as v2 -from modflow_devtools.dfns.migrate_to_v2_0_0_dev2 import to_v2_0_0_dev2 -from modflow_devtools.misc import try_parse_bool +from modflow_devtools.dfns.migrate_to_v2_0_0_dev2 import to_v2_0_0_dev2, try_parse_bool # --------------------------------------------------------------------------- # dtype translation diff --git a/modflow_devtools/dfns/schema.json b/modflow_devtools/dfns/schema.json index 60237a85..86c9b82d 100644 --- a/modflow_devtools/dfns/schema.json +++ b/modflow_devtools/dfns/schema.json @@ -64,6 +64,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "array", "default": "array", @@ -93,7 +117,17 @@ "title": "Time Series", "type": "boolean" }, - "repeat": { + "layered": { + "default": false, + "title": "Layered", + "type": "boolean" + }, + "index": { + "default": false, + "title": "Index", + "type": "boolean" + }, + "fk": { "anyOf": [ { "type": "string" @@ -103,7 +137,7 @@ } ], "default": null, - "title": "Repeat" + "title": "Fk" } }, "required": [ @@ -340,6 +374,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "double", "default": "double", @@ -418,6 +476,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "file", "default": "file", @@ -500,6 +582,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "integer", "default": "integer", @@ -526,6 +632,11 @@ "title": "Time Series", "type": "boolean" }, + "index": { + "default": false, + "title": "Index", + "type": "boolean" + }, "pk": { "default": false, "title": "Pk", @@ -554,6 +665,11 @@ ], "default": null, "title": "Fk Ref" + }, + "node": { + "default": false, + "title": "Node", + "type": "boolean" } }, "required": [ @@ -622,6 +738,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "keyword", "default": "keyword", @@ -696,6 +836,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "list", "default": "list", @@ -1333,6 +1497,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "record", "default": "record", @@ -1563,6 +1751,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "string", "default": "string", @@ -1690,6 +1902,30 @@ "title": "Tagged", "type": "boolean" }, + "removed": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Removed" + }, + "deprecated": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Deprecated" + }, "type": { "const": "union", "default": "union", diff --git a/modflow_devtools/dfns/schema.py b/modflow_devtools/dfns/schema.py index 0d446cd4..b37c2bf2 100644 --- a/modflow_devtools/dfns/schema.py +++ b/modflow_devtools/dfns/schema.py @@ -93,9 +93,11 @@ class Integer(FieldBase): type: Literal["integer"] = PydanticField(default="integer", frozen=True) valid: list[int] | None = None time_series: bool = False + index: bool = False pk: bool = False fk: str | None = None fk_ref: str | None = None + node: bool = False class Double(FieldBase): @@ -105,8 +107,6 @@ class Double(FieldBase): class File(FieldBase): type: Literal["file"] = PydanticField(default="file", frozen=True) - # Whether MF6 reads ("in") or writes ("out") the file. Independent of any - # particular serialization's keyword vocabulary (v1 text uses FILEIN/FILEOUT). direction: Literal["in", "out"] @@ -122,7 +122,20 @@ class Array(FieldBase): shape: list[str] = [] time_series: bool = False layered: bool = False - repeat: str | None = None + index: bool = False + fk: str | None = None + + @model_validator(mode="after") + def _check_index_dtype(self) -> "Array": + if self.index and self.dtype != "integer": + raise ValueError( + f"Array {self.name!r}: index=True requires dtype='integer', got {self.dtype!r}" + ) + if self.fk is not None and self.dtype != "integer": + raise ValueError( + f"Array {self.name!r}: fk requires dtype='integer', got {self.dtype!r}" + ) + return self class Record(FieldBase): @@ -169,7 +182,6 @@ def _check_shape_length(self) -> "List": @property def children(self) -> "dict[str, Field]": - # item.name duplicates the List's own name, so it's not a useful key here. return self.item.children @@ -187,7 +199,6 @@ def children(self) -> "dict[str, Field]": def _collect_fields( fields: "dict[str, Field]", items: "list[tuple[str, Field]]", *, recurse: bool ) -> None: - """Append `fields` to `items`, descending into Record/Union/List children if `recurse`.""" for name, field in fields.items(): items.append((name, field)) if recurse and isinstance(field, (Record, Union, List)): @@ -206,23 +217,14 @@ def _render_file(field: "File") -> str: def _tag(field: "Field", inner: str) -> str: - """Prefix `inner` with the field's uppercased name if it's tagged.""" return f"{field.name.upper()} {inner}" if field.tagged else inner def _ts_token(token: str, *, time_series: bool) -> str: - """Wrap a bare `` in `@...@` time-series markers if flagged.""" return f"<@{token}@>" if time_series else f"<{token}>" def _render_rows(item: "Record | Union") -> list[str]: - """Return one or more rendered row strings for a List item. - - A Union whose arms are all Records produces one row per arm (each wrapped - in [...] since arms are mutually exclusive alternatives). A Union whose - arms are scalars/keywords collapses to a single placeholder — listing - every option inline would be noise. - """ if isinstance(item, Record): return [" ".join(_render_field(f, inline=True) for f in item.fields.values())] if all(isinstance(arm, Record) for arm in item.arms.values()): @@ -235,14 +237,6 @@ def _render_rows(item: "Record | Union") -> list[str]: def _render_field(field: "Field", *, inline: bool = False) -> str: - """Render a field's own text, relative to its own first line (no block indent). - - Backs ``FieldBase.render()`` — see that docstring for the ``inline`` - semantics. Kept as a free function (rather than inlined per-subclass) - so ``Record``/``Union``/``List`` can recurse over arbitrary child field - types via a single ``match``. - """ - def _wrap(token: str) -> str: return f"[{token}]" if field.optional else token @@ -291,30 +285,21 @@ def _wrap(token: str) -> str: return f"{rows[0]}\n{rows[0]}\n..." -def _field_is_current(field: "Field", *, developmode: bool) -> bool: - """Whether a field belongs in render() output. - - Removed/deprecated fields are never current syntax, so they're always - excluded (MF6 no longer parses a removed field at all, and a deprecated one - is discouraged even where still accepted) — there's no flag to see them in - render() output, matching mf6io.pdf. Fields flagged `Field.developmode` - (which subsumes v1's `dev_`-name convention; see `_map_field` in the - migration) are internal/undocumented and excluded by default, but callers - doing internal tooling can opt in via the `developmode` parameter. - """ +def _should_render(field: "Field", *, developmode: bool) -> bool: + # always omit removed/deprecated fields if field.removed is not None or field.deprecated is not None: return False + # optionally omit developmode fields return developmode or not field.developmode def _render_block(block: "Block", indent: str = " ", *, developmode: bool = False) -> str: - """Render a Block as a BEGIN/END template string.""" begin = f"BEGIN {block.name.upper()}" if block.header is not None: begin = f"{begin} {block.header.render(inline=True)}" lines = [begin] for field in block.fields.values(): - if not _field_is_current(field, developmode=developmode): + if not _should_render(field, developmode=developmode): continue lines.extend(f"{indent}{line}" for line in field.render().split("\n")) lines.append(f"END {block.name.upper()}") @@ -322,12 +307,6 @@ def _render_block(block: "Block", indent: str = " ", *, developmode: bool = Fal def _names_in_expr(expr: str) -> set[str]: - """Return dim-reference Name identifiers from expr. - - Excluded from the result: - - Names in function-call position (never a dim ref, e.g. ``abs``, ``math``) - - Arguments of ``sum()`` and ``len()`` calls (domain-specific, handled separately) - """ try: tree = ast.parse(expr, mode="eval") except SyntaxError as e: @@ -353,7 +332,6 @@ def _names_in_expr(expr: str) -> set[str]: def _validate_sum_call(call: ast.Call, component: "ComponentBase", expr: str) -> None: - """Validate a sum(list.col) or sum(block.list.col) call in a derived_dims expression.""" if len(call.args) != 1: raise ValueError(f"sum() in derived_dims must have exactly one argument in {expr!r}") arg = call.args[0] @@ -401,7 +379,6 @@ def _validate_sum_call(call: ast.Call, component: "ComponentBase", expr: str) -> def _validate_len_call(call: ast.Call, component: "ComponentBase", expr: str) -> None: - """Validate a len(field_name) call in a dims value expression.""" if len(call.args) != 1: raise ValueError(f"len() in dims must have exactly one argument in {expr!r}") if not isinstance(call.args[0], ast.Name): @@ -414,18 +391,18 @@ def _validate_len_call(call: ast.Call, component: "ComponentBase", expr: str) -> class Dim(BaseModel): """A named dimension backed by a field reference or derived from an expression. - ``value`` is a Python expression string: - - bare identifier ``nlay`` → integer field reference - - ``len(auxiliary)`` → self-sizing array field reference - - anything else, e.g. ``nlay * ncol`` → derived arithmetic expression + ``value`` specifies the dimension size, directly or indirectly, and can be: + - ``nlay``: an integer field + - ``len(auxiliary)``: the runtime length of a self-sizing array field + - ``nlay * ncol``: the result of an arithmetic expression, e.g. of other dims If ``value`` is None, the dimension is runtime-only: its value cannot be derived from DFN input fields. ``set_in`` then indicates the simulation hook - in which the value is first established by MODFLOW (e.g. ``"ar"`` for dims + in which the value is first set by MODFLOW (e.g. ``"ar"`` for dims that are set during grid allocation, ``"rp"`` for dims reset each stress period). - Runtime dims are valid in memory variable shapes but not in input field shapes, - since a sequential parser must know an array's size before reading it. + Runtime dims may appear in memory variable shape expressions but not in input + field shapes expressions. """ value: str | None = None @@ -439,26 +416,17 @@ def _parents_as_set(parent: "str | list[str] | None") -> set[str]: return {parent} if isinstance(parent, str) else set(parent) -def _can_share_model( - req_parent: "str | list[str] | None", - dim_parent: "str | list[str] | None", +def _receives_from( + requester_parent: "str | list[str] | None", + provider_parent: "str | list[str] | None", ) -> bool: - """ - Return True if the requesting component (req_parent) can be in the same - model as the dim-defining component (dim_parent). - - The dim-provider's parent identifies which model it belongs to (a concrete - ``-nam`` name, e.g. ``"gwf-nam"``). The requesting component's parent - determines whether it can be in that model: an explicit match, or a generic - type like ``"model"`` or ``"package"`` meaning any model. - """ - dim_parents = _parents_as_set(dim_parent) - model_contexts = {p for p in dim_parents if p.endswith("-nam") and p != "sim-nam"} + provider_parents = _parents_as_set(provider_parent) + model_contexts = {p for p in provider_parents if p.endswith("-nam") and p != "sim-nam"} if not model_contexts: return False - req_parents = _parents_as_set(req_parent) - for rp in req_parents: + requester_parents = _parents_as_set(requester_parent) + for rp in requester_parents: if rp in ("model", "package", "*"): return True if rp in model_contexts: @@ -469,10 +437,7 @@ def _can_share_model( def _resolve_derived_dims(component: "ComponentBase", known_dims: set[str]) -> list[str]: """ Validate all dim value expressions and return dim names in topological order. - Raises ValueError on cycles, unresolvable operands, or invalid field references. - - ``known_dims`` is the full set of dim names visible to this component; - pass ``spec.dims(name)`` or an explicit set in tests. + Raise ValueError on cycles, unresolvable operands, or invalid field references. """ all_dims = component.dims or {} if not all_dims: @@ -700,7 +665,7 @@ class Model(ComponentBase): class Package(ComponentBase): type: Literal["package"] = "package" - multi: bool = False # whether multiple instances per parent are allowed + multi: bool = False subtype: Literal["solution", "exchange", "stress", "advanced", "utility"] | None = None @@ -929,23 +894,27 @@ def _validate_list_shape_element( def _validate_fk_fields(component: "ComponentBase", spec: "Dfns") -> None: """ - For every Integer/String field with fk or fk_ref set, validate structure. + For every Integer/String/Array field with fk or fk_ref set, validate + structure. Array's `fk` (per-grid-cell rather than per-list-row) only + ever uses the hierarchical-path form below — it has no `pk`/`fk_ref` + counterpart (see `Array.fk`). - Three forms (see docs/md/dfnspec.md, "Primary and foreign keys"): + Two forms (see docs/md/dfnspec.md, "Primary and foreign keys"); grid-cell + references are a separate mechanism entirely (the `node` attribute, not an + `fk` value — see `Integer.node`): - Hierarchical path fk ("[component.]block.field", no fk_ref): the named - block must be a list block (in this component, or cross-component if - qualified) whose item has a pk field. - - "node" sentinel fk (no fk_ref): a grid cell reference, resolved from the - parent model's grid at runtime — no further structural check is - possible here. + block must be a list block whose item has a pk field. Unqualified + ("block.field"), the block is looked up in this component; qualified + ("component.block.field"), it's looked up in the named component via + `spec.components` instead. - Bare block name fk + fk_ref, or fk_ref alone: fk_ref must name a sibling String field in the same record, whose runtime value identifies the target component (and, with fk, the pk field is looked up in the block named by fk within that component). The target itself is only known at runtime, so no further structural check is possible statically. - A hierarchical-path or "node" fk may not be combined with fk_ref. + A hierarchical-path fk may not be combined with fk_ref. """ if not component.blocks: return @@ -956,7 +925,7 @@ def _check_fields(fields: dict) -> None: fk_ref: str | None = getattr(field, "fk_ref", None) if fk_ref is not None: - if fk is not None and (fk == "node" or "." in fk): + if fk is not None and "." in fk: raise ValueError( f"Field {field.name!r}: fk={fk!r} may not be combined with " f"fk_ref (only a bare block name may be)" @@ -970,13 +939,34 @@ def _check_fields(fields: dict) -> None: # fk (a bare block name, if set) and the component it lives in # are both resolved from fk_ref's runtime value — no further # static check is possible. - elif fk is not None and fk != "node": - block_name = fk.split(".")[0] if "." in fk else fk - list_field = _find_list_in_block(component, block_name) + elif fk is not None: + parts = fk.split(".") + target: ComponentBase + if len(parts) == 3: + component_ref, block_name, _fk_field = parts + resolved = spec.components.get(component_ref) + if resolved is None: + raise ValueError( + f"Field {field.name!r} fk={fk!r}: " + f"component {component_ref!r} not found in spec" + ) + target = resolved + where = f"component {component_ref!r}" + elif len(parts) in (1, 2): + block_name = parts[0] + target = component + where = "this component" + else: + raise ValueError( + f"Field {field.name!r} fk={fk!r}: " + f"must be a bare block name, 'block.field', or " + f"'component.block.field'" + ) + list_field = _find_list_in_block(target, block_name) if list_field is None: raise ValueError( f"Field {field.name!r} fk={fk!r}: " - f"{block_name!r} is not a list block in this component" + f"{block_name!r} is not a list block in {where}" ) item = list_field.item item_fields: dict = item.fields if isinstance(item, Record) else item.arms @@ -1229,7 +1219,7 @@ def inherited_dims(self, component_name: str) -> set[str]: case "simulation": inherited.add(dim_name) case "model": - if _can_share_model(req_parent, c.parent): + if _receives_from(req_parent, c.parent): inherited.add(dim_name) case "component": if cname in _parents_as_set(req_parent): @@ -1262,7 +1252,7 @@ def input_dims(self, component_name: str) -> set[str]: case "simulation": inherited.add(dim_name) case "model": - if _can_share_model(req_parent, c.parent): + if _receives_from(req_parent, c.parent): inherited.add(dim_name) case "component": if cname in _parents_as_set(req_parent): diff --git a/modflow_devtools/misc.py b/modflow_devtools/misc.py index e034c938..3df65c25 100644 --- a/modflow_devtools/misc.py +++ b/modflow_devtools/misc.py @@ -577,16 +577,3 @@ def try_literal_eval(value: str) -> Any: return literal_eval(value) except (SyntaxError, ValueError): return value - - -def try_parse_bool(v: Any, default: bool = False) -> bool: - """Try to parse a boolean from a string.""" - if isinstance(v, bool): - return v - if isinstance(v, str): - s = v.strip().lower() - if s == "true": - return True - if s in ("false", ""): - return False - return default