@@ -35,7 +35,7 @@ |
import org.jfree.data.xy.XYSeriesCollection; |
|
/** |
-* Last Updated: 9-April-2019 |
+* Last Updated: 28-August-2020 |
* @author Tyler Wible |
* @since 12-June-2011 |
*/ |
@@ -554,7 +554,7 @@ |
|
//Get Units and conversion for current WQ test |
String[] resultArray = WaterQualityInfo.getWqTestDataInfo(wqTest, database); |
- //String wqCode = resultArray[0]; |
+ String wqCode = resultArray[0]; |
String wqLabel = resultArray[1]; |
//String units = resultArray[2]; |
double ldcConversion = Double.parseDouble(resultArray[3]); |
@@ -619,7 +619,7 @@ |
String[][] seasonalWQ_user = DoubleArray.getSeasonalData(WQdata_user, seasonBegin, seasonEnd); |
|
//Graph resulting LDC data |
- Object[] returnArray = graphLDC(wqLabel, ldcEndUnits, ldcConversion, sortedData_combined, sortedData_user, period1Data, period2Data, period3Data, WQdata_combined, WQdata_user, seasonalWQ_combined, seasonalWQ_user, mQn, m, n); |
+ Object[] returnArray = graphLDC(wqCode, wqLabel, ldcEndUnits, ldcConversion, sortedData_combined, sortedData_user, period1Data, period2Data, period3Data, WQdata_combined, WQdata_user, seasonalWQ_combined, seasonalWQ_user, mQn, m, n); |
String paragraphTitle = (String) returnArray[0]; |
double totalCount = (Double) returnArray[1]; |
|
@@ -651,7 +651,8 @@ |
* @return the name/title of the dynamic paragraph to be created to accompany the graph created during this function |
* @throws IOException |
*/ |
- private Object[] graphLDC(String WQlabel, |
+ private Object[] graphLDC(String wqCode, |
+ String WQlabel, |
String endUnits, |
double conversion, |
String[][] sortedData_combined, |
@@ -773,46 +774,58 @@ |
if(WQdata_combined[i][0].equalsIgnoreCase(sortedData_combined[j][0])){ |
totalCount = totalCount+1; |
//Create an XYSeries for WQ points |
+ double tempFlowValue = Double.parseDouble(sortedData_combined[j][1]); |
double tempWQValue = Double.parseDouble(WQdata_combined[i][1]); |
- WQ_load = (Double.parseDouble(sortedData_combined[j][1]))*conversion*tempWQValue; |
- WQ_pts.add(xyRanks[j][0],WQ_load); |
+ WQ_load = tempFlowValue * conversion * tempWQValue; |
+ |
+ //Find what exceedance rank matches with which flow rate |
+ double xyRankValue = xyRanks[j][0]; |
+ double xyLoadValue = loadRanks[j][1]; //Same formate/order as xyRanks but flow was converted to a load value |
+ for(int k=0; k<xyRanks.length; k++){ |
+ if(xyRanks[k][1] == Double.parseDouble(sortedData_combined[j][1])){ |
+ xyRankValue = xyRanks[k][0]; |
+ xyLoadValue = loadRanks[k][1]; |
+ break; |
+ } |
+ } |
+ WQ_pts.add(xyRankValue,WQ_load); |
|
//Create an XYSeries only if user WQ data is not empty |
if(WQdata_user.length > 0 && WQdata_user.length > ctr){ |
if(WQdata_user[ctr][0].equalsIgnoreCase(sortedData_combined[j][0])){ |
- WQ_pts_user.add(xyRanks[j][0],WQ_load); |
+ WQ_pts_user.add(xyRankValue,WQ_load); |
ctr++; |
} |
} |
|
//Also add to category box plot data |
- if((xyRanks[j][0] <= 10) & (xyRanks[j][0] >= 0)){ |
+ if((xyRankValue <= 10) & (xyRankValue >= 0)){ |
high_data.add(WQ_load); |
- if(WQ_load > xyRanks[j][1]){ |
+ if(WQ_load > xyLoadValue){ |
highexceed_count++; |
} |
} |
- if((xyRanks[j][0] <= 40) & (xyRanks[j][0] > 10)){ |
+ if((xyRankValue <= 40) & (xyRankValue > 10)){ |
moist_data.add(WQ_load); |
- if(WQ_load > xyRanks[j][1]){ |
+ if(WQ_load > xyLoadValue){ |
moistexceed_count++; |
} |
} |
- if((xyRanks[j][0] <= 60) & (xyRanks[j][0] > 40)){ |
+ if((xyRankValue <= 60) & (xyRankValue > 40)){ |
mid_data.add(WQ_load); |
- if(WQ_load > xyRanks[j][1]){ |
+ if(WQ_load > xyLoadValue){ |
midexceed_count++; |
} |
} |
- if((xyRanks[j][0] <= 90) & (xyRanks[j][0] > 60)){ |
+ if((xyRankValue <= 90) & (xyRankValue > 60)){ |
dry_data.add(WQ_load); |
- if(WQ_load > xyRanks[j][1]){ |
+ if(WQ_load > xyLoadValue){ |
dryexceed_count++; |
} |
} |
- if((xyRanks[j][0] <= 100) & (xyRanks[j][0] > 90)){ |
+ if((xyRankValue <= 100) & (xyRankValue > 90)){ |
low_data.add(WQ_load); |
- if(WQ_load > xyRanks[j][1]){ |
+ if(WQ_load > xyLoadValue){ |
lowexceed_count++; |
} |
} |
@@ -820,14 +833,14 @@ |
if(seasonalWQ_combined[k][0].equalsIgnoreCase(sortedData_combined[j][0])){ |
double tempSeasonalWQValue = Double.parseDouble(seasonalWQ_combined[k][1]); |
Seasonal_WQ_load = (Double.parseDouble(sortedData_combined[j][1]))*conversion*tempSeasonalWQValue; |
- Seasonal_WQ_pts.add(xyRanks[j][0],Seasonal_WQ_load); |
+ Seasonal_WQ_pts.add(xyRankValue,Seasonal_WQ_load); |
} |
} |
for(int k=0;k<seasonalWQ_user.length;k++){ |
if(seasonalWQ_user[k][0].equalsIgnoreCase(sortedData_combined[j][0])){ |
double tempSeasonalWQValue = Double.parseDouble(seasonalWQ_user[k][1]); |
Seasonal_WQ_load = (Double.parseDouble(sortedData_combined[j][1]))*conversion*tempSeasonalWQValue; |
- Seasonal_WQ_pts_user.add(xyRanks[j][0],Seasonal_WQ_load); |
+ Seasonal_WQ_pts_user.add(xyRankValue,Seasonal_WQ_load); |
} |
} |
break; |
@@ -849,40 +862,40 @@ |
|
//Pollution Source paragraph is only for nutrient tests so check if the current test is for nutrients: |
boolean nutrient = false; |
- if (wqTest.equalsIgnoreCase("00597") || wqTest.equalsIgnoreCase("00600") || wqTest.equalsIgnoreCase("00601") || wqTest.equalsIgnoreCase("00602") || |
- wqTest.equalsIgnoreCase("00604") || wqTest.equalsIgnoreCase("00605") || wqTest.equalsIgnoreCase("00606") || wqTest.equalsIgnoreCase("00607") || |
- wqTest.equalsIgnoreCase("00608") || wqTest.equalsIgnoreCase("00610") || wqTest.equalsIgnoreCase("00613") || wqTest.equalsIgnoreCase("00615") || |
- wqTest.equalsIgnoreCase("00618") || wqTest.equalsIgnoreCase("00619") || wqTest.equalsIgnoreCase("00620") || wqTest.equalsIgnoreCase("00623") || |
- wqTest.equalsIgnoreCase("00624") || wqTest.equalsIgnoreCase("00625") || wqTest.equalsIgnoreCase("00628") || wqTest.equalsIgnoreCase("00630") || |
- wqTest.equalsIgnoreCase("00631") || wqTest.equalsIgnoreCase("00635") || wqTest.equalsIgnoreCase("00636") || wqTest.equalsIgnoreCase("00639") || |
- wqTest.equalsIgnoreCase("00650") || wqTest.equalsIgnoreCase("00653") || wqTest.equalsIgnoreCase("00660") || wqTest.equalsIgnoreCase("00665") || |
- wqTest.equalsIgnoreCase("00666") || wqTest.equalsIgnoreCase("00667") || wqTest.equalsIgnoreCase("00669") || wqTest.equalsIgnoreCase("00670") || |
- wqTest.equalsIgnoreCase("00671") || wqTest.equalsIgnoreCase("00672") || wqTest.equalsIgnoreCase("00673") || wqTest.equalsIgnoreCase("00674") || |
- wqTest.equalsIgnoreCase("00675") || wqTest.equalsIgnoreCase("00676") || wqTest.equalsIgnoreCase("00677") || wqTest.equalsIgnoreCase("00678") || |
- wqTest.equalsIgnoreCase("01425") || wqTest.equalsIgnoreCase("01465") || wqTest.equalsIgnoreCase("49567") || wqTest.equalsIgnoreCase("49570") || |
- wqTest.equalsIgnoreCase("62854") || wqTest.equalsIgnoreCase("62855") || wqTest.equalsIgnoreCase("64832") || wqTest.equalsIgnoreCase("70507") || |
- wqTest.equalsIgnoreCase("71845") || wqTest.equalsIgnoreCase("71846") || wqTest.equalsIgnoreCase("71850") || wqTest.equalsIgnoreCase("71851") || |
- wqTest.equalsIgnoreCase("71855") || wqTest.equalsIgnoreCase("71856") || wqTest.equalsIgnoreCase("71886") || wqTest.equalsIgnoreCase("71887") || |
- wqTest.equalsIgnoreCase("71888") || wqTest.equalsIgnoreCase("76008") || wqTest.equalsIgnoreCase("76009") || wqTest.equalsIgnoreCase("76010") || |
- wqTest.equalsIgnoreCase("82046") || wqTest.equalsIgnoreCase("83044") || wqTest.equalsIgnoreCase("83047") || wqTest.equalsIgnoreCase("83050") || |
- wqTest.equalsIgnoreCase("83053") || wqTest.equalsIgnoreCase("83056") || wqTest.equalsIgnoreCase("83059") || wqTest.equalsIgnoreCase("83062") || |
- wqTest.equalsIgnoreCase("83065") || wqTest.equalsIgnoreCase("83068") || wqTest.equalsIgnoreCase("83071") || wqTest.equalsIgnoreCase("83074") || |
- wqTest.equalsIgnoreCase("83077") || wqTest.equalsIgnoreCase("83080") || wqTest.equalsIgnoreCase("83083") || wqTest.equalsIgnoreCase("83086") || |
- wqTest.equalsIgnoreCase("83089") || wqTest.equalsIgnoreCase("83092") || wqTest.equalsIgnoreCase("83095") || wqTest.equalsIgnoreCase("83098") || |
- wqTest.equalsIgnoreCase("83101") || wqTest.equalsIgnoreCase("83108") || wqTest.equalsIgnoreCase("83111") || wqTest.equalsIgnoreCase("83114") || |
- wqTest.equalsIgnoreCase("83117") || wqTest.equalsIgnoreCase("83326") || wqTest.equalsIgnoreCase("83329") || wqTest.equalsIgnoreCase("83332") || |
- wqTest.equalsIgnoreCase("83335") || wqTest.equalsIgnoreCase("83338") || wqTest.equalsIgnoreCase("83341") || wqTest.equalsIgnoreCase("83344") || |
- wqTest.equalsIgnoreCase("83347") || wqTest.equalsIgnoreCase("83350") || wqTest.equalsIgnoreCase("83353") || wqTest.equalsIgnoreCase("83356") || |
- wqTest.equalsIgnoreCase("83359") || wqTest.equalsIgnoreCase("83362") || wqTest.equalsIgnoreCase("83365") || wqTest.equalsIgnoreCase("83368") || |
- wqTest.equalsIgnoreCase("83371") || wqTest.equalsIgnoreCase("83374") || wqTest.equalsIgnoreCase("83377") || wqTest.equalsIgnoreCase("83380") || |
- wqTest.equalsIgnoreCase("83383") || wqTest.equalsIgnoreCase("83390") || wqTest.equalsIgnoreCase("83393") || wqTest.equalsIgnoreCase("83396") || |
- wqTest.equalsIgnoreCase("83399") || wqTest.equalsIgnoreCase("90859") || wqTest.equalsIgnoreCase("91003") || wqTest.equalsIgnoreCase("91004") || |
- wqTest.equalsIgnoreCase("99116") || wqTest.equalsIgnoreCase("99120") || wqTest.equalsIgnoreCase("99121") || wqTest.equalsIgnoreCase("99122") || |
- wqTest.equalsIgnoreCase("99123") || wqTest.equalsIgnoreCase("99124") || wqTest.equalsIgnoreCase("99125") || wqTest.equalsIgnoreCase("99126") || |
- wqTest.equalsIgnoreCase("99133") || wqTest.equalsIgnoreCase("99410") || wqTest.equalsIgnoreCase("99411") || wqTest.equalsIgnoreCase("99412") || |
- wqTest.equalsIgnoreCase("99413") || wqTest.equalsIgnoreCase("99414") || wqTest.equalsIgnoreCase("99415") || wqTest.equalsIgnoreCase("99416") || |
- wqTest.equalsIgnoreCase("99889") || wqTest.equalsIgnoreCase("99891") || wqTest.equalsIgnoreCase("99892") || wqTest.equalsIgnoreCase("99893") || |
- wqTest.equalsIgnoreCase("99894")){ |
+ if (wqCode.equalsIgnoreCase("00597") || wqCode.equalsIgnoreCase("00600") || wqCode.equalsIgnoreCase("00601") || wqCode.equalsIgnoreCase("00602") || |
+ wqCode.equalsIgnoreCase("00604") || wqCode.equalsIgnoreCase("00605") || wqCode.equalsIgnoreCase("00606") || wqCode.equalsIgnoreCase("00607") || |
+ wqCode.equalsIgnoreCase("00608") || wqCode.equalsIgnoreCase("00610") || wqCode.equalsIgnoreCase("00613") || wqCode.equalsIgnoreCase("00615") || |
+ wqCode.equalsIgnoreCase("00618") || wqCode.equalsIgnoreCase("00619") || wqCode.equalsIgnoreCase("00620") || wqCode.equalsIgnoreCase("00623") || |
+ wqCode.equalsIgnoreCase("00624") || wqCode.equalsIgnoreCase("00625") || wqCode.equalsIgnoreCase("00628") || wqCode.equalsIgnoreCase("00630") || |
+ wqCode.equalsIgnoreCase("00631") || wqCode.equalsIgnoreCase("00635") || wqCode.equalsIgnoreCase("00636") || wqCode.equalsIgnoreCase("00639") || |
+ wqCode.equalsIgnoreCase("00650") || wqCode.equalsIgnoreCase("00653") || wqCode.equalsIgnoreCase("00660") || wqCode.equalsIgnoreCase("00665") || |
+ wqCode.equalsIgnoreCase("00666") || wqCode.equalsIgnoreCase("00667") || wqCode.equalsIgnoreCase("00669") || wqCode.equalsIgnoreCase("00670") || |
+ wqCode.equalsIgnoreCase("00671") || wqCode.equalsIgnoreCase("00672") || wqCode.equalsIgnoreCase("00673") || wqCode.equalsIgnoreCase("00674") || |
+ wqCode.equalsIgnoreCase("00675") || wqCode.equalsIgnoreCase("00676") || wqCode.equalsIgnoreCase("00677") || wqCode.equalsIgnoreCase("00678") || |
+ wqCode.equalsIgnoreCase("01425") || wqCode.equalsIgnoreCase("01465") || wqCode.equalsIgnoreCase("49567") || wqCode.equalsIgnoreCase("49570") || |
+ wqCode.equalsIgnoreCase("62854") || wqCode.equalsIgnoreCase("62855") || wqCode.equalsIgnoreCase("64832") || wqCode.equalsIgnoreCase("70507") || |
+ wqCode.equalsIgnoreCase("71845") || wqCode.equalsIgnoreCase("71846") || wqCode.equalsIgnoreCase("71850") || wqCode.equalsIgnoreCase("71851") || |
+ wqCode.equalsIgnoreCase("71855") || wqCode.equalsIgnoreCase("71856") || wqCode.equalsIgnoreCase("71886") || wqCode.equalsIgnoreCase("71887") || |
+ wqCode.equalsIgnoreCase("71888") || wqCode.equalsIgnoreCase("76008") || wqCode.equalsIgnoreCase("76009") || wqCode.equalsIgnoreCase("76010") || |
+ wqCode.equalsIgnoreCase("82046") || wqCode.equalsIgnoreCase("83044") || wqCode.equalsIgnoreCase("83047") || wqCode.equalsIgnoreCase("83050") || |
+ wqCode.equalsIgnoreCase("83053") || wqCode.equalsIgnoreCase("83056") || wqCode.equalsIgnoreCase("83059") || wqCode.equalsIgnoreCase("83062") || |
+ wqCode.equalsIgnoreCase("83065") || wqCode.equalsIgnoreCase("83068") || wqCode.equalsIgnoreCase("83071") || wqCode.equalsIgnoreCase("83074") || |
+ wqCode.equalsIgnoreCase("83077") || wqCode.equalsIgnoreCase("83080") || wqCode.equalsIgnoreCase("83083") || wqCode.equalsIgnoreCase("83086") || |
+ wqCode.equalsIgnoreCase("83089") || wqCode.equalsIgnoreCase("83092") || wqCode.equalsIgnoreCase("83095") || wqCode.equalsIgnoreCase("83098") || |
+ wqCode.equalsIgnoreCase("83101") || wqCode.equalsIgnoreCase("83108") || wqCode.equalsIgnoreCase("83111") || wqCode.equalsIgnoreCase("83114") || |
+ wqCode.equalsIgnoreCase("83117") || wqCode.equalsIgnoreCase("83326") || wqCode.equalsIgnoreCase("83329") || wqCode.equalsIgnoreCase("83332") || |
+ wqCode.equalsIgnoreCase("83335") || wqCode.equalsIgnoreCase("83338") || wqCode.equalsIgnoreCase("83341") || wqCode.equalsIgnoreCase("83344") || |
+ wqCode.equalsIgnoreCase("83347") || wqCode.equalsIgnoreCase("83350") || wqCode.equalsIgnoreCase("83353") || wqCode.equalsIgnoreCase("83356") || |
+ wqCode.equalsIgnoreCase("83359") || wqCode.equalsIgnoreCase("83362") || wqCode.equalsIgnoreCase("83365") || wqCode.equalsIgnoreCase("83368") || |
+ wqCode.equalsIgnoreCase("83371") || wqCode.equalsIgnoreCase("83374") || wqCode.equalsIgnoreCase("83377") || wqCode.equalsIgnoreCase("83380") || |
+ wqCode.equalsIgnoreCase("83383") || wqCode.equalsIgnoreCase("83390") || wqCode.equalsIgnoreCase("83393") || wqCode.equalsIgnoreCase("83396") || |
+ wqCode.equalsIgnoreCase("83399") || wqCode.equalsIgnoreCase("90859") || wqCode.equalsIgnoreCase("91003") || wqCode.equalsIgnoreCase("91004") || |
+ wqCode.equalsIgnoreCase("99116") || wqCode.equalsIgnoreCase("99120") || wqCode.equalsIgnoreCase("99121") || wqCode.equalsIgnoreCase("99122") || |
+ wqCode.equalsIgnoreCase("99123") || wqCode.equalsIgnoreCase("99124") || wqCode.equalsIgnoreCase("99125") || wqCode.equalsIgnoreCase("99126") || |
+ wqCode.equalsIgnoreCase("99133") || wqCode.equalsIgnoreCase("99410") || wqCode.equalsIgnoreCase("99411") || wqCode.equalsIgnoreCase("99412") || |
+ wqCode.equalsIgnoreCase("99413") || wqCode.equalsIgnoreCase("99414") || wqCode.equalsIgnoreCase("99415") || wqCode.equalsIgnoreCase("99416") || |
+ wqCode.equalsIgnoreCase("99889") || wqCode.equalsIgnoreCase("99891") || wqCode.equalsIgnoreCase("99892") || wqCode.equalsIgnoreCase("99893") || |
+ wqCode.equalsIgnoreCase("99894")){ |
nutrient = true; |
} |
|