diff --git a/actions/qcResults.go b/actions/qcResults.go index 57b9298..f42dd62 100644 --- a/actions/qcResults.go +++ b/actions/qcResults.go @@ -23,14 +23,14 @@ func QcResults(myEnv map[string]string) error { var opts []qc.Option - aGJ, err := WellAnnGJQuestion() - if err != nil { - return err - } - - if aGJ { - opts = append(opts, qc.WithWellAnnGJson()) - } + //aGJ, err := WellAnnGJQuestion() + //if err != nil { + // return err + //} + // + //if aGJ { + // opts = append(opts, qc.WithWellAnnGJson()) + //} rechBalance, err := RechBalanceQuestion() if err != nil { diff --git a/qc/qcRCH.go b/qc/qcRCH.go index b348a8e..e779a85 100644 --- a/qc/qcRCH.go +++ b/qc/qcRCH.go @@ -55,8 +55,16 @@ func NewQC(v *database.Setup, fileName string, options ...Option) *QC { option(q) } - q.grid, _ = database.GetGrid(q.v.SlDb) - q.SYear, q.EYear, _ = database.GetStartEndYrs(q.v.SlDb) + var err error + q.grid, err = database.GetGrid(q.v.SlDb) + if err != nil { + panic(err) + } + + q.SYear, q.EYear, err = database.GetStartEndYrs(q.v.SlDb) + if err != nil { + panic(err) + } return q } diff --git a/qc/sql/RchResultsData.sql b/qc/sql/RchResultsData.sql deleted file mode 100644 index a3b573e..0000000 --- a/qc/sql/RchResultsData.sql +++ /dev/null @@ -1,3 +0,0 @@ -select well_id, file_type, result -from wel_results -where strftime('%%Y', dt) = '$1' and strftime('%%m', dt) = '$2' and file_type < 209; \ No newline at end of file diff --git a/qc/sql/SsQuery.sql b/qc/sql/SsQuery.sql deleted file mode 100644 index fbe8506..0000000 --- a/qc/sql/SsQuery.sql +++ /dev/null @@ -1,4 +0,0 @@ -select cell_node, sum(result) result -from wel_results -where strftime('%%Y', dt) = '$1' and strftime('%%m', dt) = '$2' and file_type > 208 -GROUP BY cell_node; \ No newline at end of file diff --git a/qc/sql/dataNodes.sql b/qc/sql/dataNodes.sql deleted file mode 100644 index 04fe09f..0000000 --- a/qc/sql/dataNodes.sql +++ /dev/null @@ -1 +0,0 @@ -select cell_node from wel_results group by cell_node; \ No newline at end of file diff --git a/qc/sql/groupResultsQry.sql b/qc/sql/groupResultsQry.sql deleted file mode 100644 index 85d7459..0000000 --- a/qc/sql/groupResultsQry.sql +++ /dev/null @@ -1 +0,0 @@ -select cell_node, sum(result) result from wel_results WHERE strftime('%%Y', dt) = '%d' GROUP BY cell_node; \ No newline at end of file diff --git a/qc/sql/welQueries.sql b/qc/sql/welQueries.sql new file mode 100644 index 0000000..800e4b6 --- /dev/null +++ b/qc/sql/welQueries.sql @@ -0,0 +1,4 @@ +select cell_node from wel_results group by cell_node; +select cell_node, sum(result) result from wel_results WHERE strftime('%%Y', dt) = '%d' GROUP BY cell_node; +select well_id, file_type, result from wel_results where strftime('%%Y', dt) = '%d' and strftime('%%m', dt) = '%s' and file_type < 209; +select cell_node, sum(result) result from wel_results where strftime('%%Y', dt) = '%d' and strftime('%%m', dt) = '%s' and file_type > 208 GROUP BY cell_node; \ No newline at end of file diff --git a/qc/wells.go b/qc/wells.go index 931f59c..b019e15 100644 --- a/qc/wells.go +++ b/qc/wells.go @@ -36,16 +36,14 @@ var ( wellsQuery string //go:embed sql/nodeQuery.sql nodeQuery string - //go:embed sql/RchResultsData.sql - rQry string - //go:embed sql/SsQuery.sql - ssQry string ) func (q *QC) WellPumpingGJson() error { pterm.DefaultSection.Println("Well GeoJSON Creation") spin, _ := pterm.DefaultSpinner.Start("Getting Wells from DB") + formattedQueries := Utils.SplitQueries(welQueries) // welQueries is in wellsAnn.go + q.v.Logger.Info(fmt.Sprintf("Using Grid: %d", q.grid)) var wlls []Well if err := q.v.PgDb.Select(&wlls, wellsQuery); err != nil { return err @@ -71,12 +69,16 @@ func (q *QC) WellPumpingGJson() error { mnString = fmt.Sprintf("%d", m) } - if err := q.v.SlDb.Select(&rResults, rQry, q.Year, mnString); err != nil { + q.v.Logger.Info(fmt.Sprintf("Qry: %s, Year: %d, mnString: %s", formattedQueries[2], q.Year, mnString)) + rQuery := fmt.Sprintf(formattedQueries[2], q.Year, mnString) + if err := q.v.SlDb.Select(&rResults, rQuery); err != nil { return err } - if err := q.v.SlDb.Select(&ssResults, ssQry, q.Year, mnString); err != nil { + ssQuery := fmt.Sprintf(formattedQueries[3], q.Year, mnString) + if err := q.v.SlDb.Select(&ssResults, ssQuery); err != nil { return err } + q.v.Logger.Info(fmt.Sprintf("rResults len: %d", len(rResults))) rResMap[m] = rResults ssResMap[m] = ssResults @@ -105,6 +107,7 @@ func (q *QC) WellPumpingGJson() error { _, _ = w.WriteString(header) cL := len(wlls) + q.v.Logger.Info(fmt.Sprintf("Number of Wells: %d", cL)) p, _ := pterm.DefaultProgressbar.WithTotal(cL).WithTitle("Irr Wells").WithRemoveWhenDone(true).Start() firstWrittenRecord := true @@ -116,11 +119,14 @@ func (q *QC) WellPumpingGJson() error { return err } + q.v.Logger.Info(fmt.Sprintf("%+v\n", fc)) + // add property to them of the monthly result annTotal := 0.0 ft := 0 for m := 1; m < 13; m++ { mn := time.Month(m) + q.v.Logger.Info(fmt.Sprintf("Wells in rResMap[%d]: %d", m, len(rResMap[m]))) res, mft := findWellResult(rResMap[m], wlls[i].Wellid, wlls[i].Nrd) if q.Monthly { fc.Properties[mn.String()[:3]+"_AF"] = res @@ -137,6 +143,7 @@ func (q *QC) WellPumpingGJson() error { fc.Properties["AnTl_AF"] = annTotal fc.Properties["AnTl_cf/d"] = annTotal * 43560 + q.v.Logger.Info(fmt.Sprintf("Wellid: %d, AnnTotal: %f", wlls[i].Wellid, annTotal)) if annTotal > 0.0 { // marshal that item back to json d, err := fc.MarshalJSON() diff --git a/qc/wellsAnn.go b/qc/wellsAnn.go index a77e073..3906397 100644 --- a/qc/wellsAnn.go +++ b/qc/wellsAnn.go @@ -4,6 +4,7 @@ import ( "bufio" _ "embed" "fmt" + "github.com/Longitude103/wwum2020/Utils" "os" "path/filepath" @@ -26,24 +27,24 @@ type GroupedResult struct { } var ( - //go:embed sql/dataNodes.sql - dataNodes string //go:embed sql/nodeQuery.sql nodeQrySubString string - //go:embed sql/groupResultsQry.sql - groupResultsQrySubString string + //go:embed sql/welQueries.sql + welQueries string ) func (q *QC) WellsAnnPumping() error { // get all the nodes that there is output data for from sqlite in any year p, _ := pterm.DefaultSpinner.Start("Getting data") + formattedQueries := Utils.SplitQueries(welQueries) var Nodes []Node - if err := q.v.SlDb.Select(&Nodes, dataNodes); err != nil { + if err := q.v.SlDb.Select(&Nodes, formattedQueries[0]); err != nil { return err } // get the centroid location of all nodes from postgis as geojson + q.v.Logger.Info(fmt.Sprintf("Using grid: %d", q.grid)) nodeQry := fmt.Sprintf(nodeQrySubString, q.grid) var NodeLocs []NodeData if err := q.v.PgDb.Select(&NodeLocs, nodeQry); err != nil { @@ -54,7 +55,7 @@ func (q *QC) WellsAnnPumping() error { // make a map here for each year for i := q.SYear; i < q.EYear+1; i++ { // get annual amount of pumping at each node in sqlite - groupResultsQry := fmt.Sprintf(groupResultsQrySubString, i) + groupResultsQry := fmt.Sprintf(formattedQueries[1], i) var gResults []GroupedResult if err := q.v.SlDb.Select(&gResults, groupResultsQry); err != nil { return err