/// <summary> /// Performs general and specific data checks on stream gage station data. </summary> /// <param name="props"> A property list for specific properties </param> /// <param name="data_vector"> Vector of data to check. /// on checking this data. </param> private void checkStreamGageStationData(PropList props, System.Collections.IList data_vector) { // Create elements for the checks and check file string[] header = StateMod_StreamGage.getDataHeader(); System.Collections.IList data = new List <object>(); string title = "Stream Gage Station"; // Perform the general validation using the Data Table Model StateMod_Data_TableModel tm = new StateMod_StreamGage_Data_TableModel(data_vector, false); System.Collections.IList @checked = performDataValidation(tm, title); //String [] columnHeader = getDataTableModelColumnHeader( tm ); string[] columnHeader = getColumnHeader(tm); // Do specific checks int size = 0; if (data_vector != null) { size = data_vector.Count; } data = doSpecificDataChecks(data_vector, props); // Add the data and checks to the check file. // Provides basic header information for this data check table string info = "The following " + title + " (" + data.Count + " out of " + size + ") have no ....."; // Create data models for Check file CheckFile_DataModel dm = new CheckFile_DataModel(data, header, title, info, data.Count, size); CheckFile_DataModel gen_dm = new CheckFile_DataModel(@checked, columnHeader, title + " Missing or Invalid Data", "", __gen_problems, size); __check_file.addData(dm, gen_dm); }
/// <summary> /// Helper method to check that well rights sum to the well station capacity. This /// is called by the well right and well station checks. The check is performed /// by formatting the capacity and decree sum to .NN precision. /// </summary> private void checkWellRights_CapacityData() { // get component data System.Collections.IList wes_Vector = (System.Collections.IList)getComponentData(StateMod_DataSet.COMP_WELL_STATIONS); System.Collections.IList wer_Vector = (System.Collections.IList)getComponentData(StateMod_DataSet.COMP_WELL_RIGHTS); if (wes_Vector == null || wer_Vector == null) { return; } System.Collections.IList data = new List <object>(); int size = 0; // initialize some info for the check file string[] header = StateMod_Well.getCapacityHeader(); string title = "Well Station Capacity"; // check that there data available StateMod_Well wes_i = null; if (wes_Vector == null) { return; } // loop through the vector of data and perform specific // data checks size = wes_Vector.Count; for (int i = 0; i < size; i++) { wes_i = (StateMod_Well)wes_Vector[i]; if (wes_i == null) { continue; } string[] checks = wes_i.checkComponentData_Capacity(wer_Vector, i); // add the data to the data vector if (checks != null && checks.Length > 0) { data.Add(checks); } } // add the data and checks to the check file if (data.Count > 0) { // provides basic header information for this data table string info = "The following well stations (" + data.Count + " out of " + size + ") have capacity different\nfrom the sum of well rights for " + "the station.\n" + "Parcel count and area in the following table are available " + "only if well rights are read from HydroBase.\n"; // create data models for Check file CheckFile_DataModel dm = new CheckFile_DataModel(data, header, title, info, data.Count, size); __check_file.addData(dm, null); } }
/// <summary> /// Helper method to check well rights component data. The following are checked: /// <ol> /// <li> Well stations without at least one right are listed. This requires that /// the dataset include well stations.</li> /// <li> Well rights with yield <= 0.0</li> /// <li> Well rights summary for a station is not equal to the well capacity. /// This requires that the dataset include well stations.<li> /// </ol> /// </summary> private void checkWellStationRights(PropList props, System.Collections.IList wer_Vector) { int size = 0; // create elements for the checks and check file string[] header = StateMod_WellRight.getDataHeader(); System.Collections.IList data = new List <object>(); string title = "Well Rights"; // Do the general data validation // using this components data table model StateMod_Data_TableModel tm = new StateMod_WellRight_Data_TableModel(wer_Vector, false); System.Collections.IList @checked = performDataValidation(tm, title); //String [] columnHeader = getDataTableModelColumnHeader( tm ); string[] columnHeader = getColumnHeader(tm); // check Well Station data PropList props_rights = new PropList("Well Rights"); props_rights.add("checkRights=true"); System.Collections.IList wes_Vector = getComponentData(StateMod_DataSet.COMP_WELL_STATIONS); if (wes_Vector != null && wes_Vector.Count > 0) { checkWellStationData(props_rights, wes_Vector); } props_rights = null; // cleanup // Check to make sure the sum of well rights equals the well station // capacity... checkWellRights_CapacityData(); // Since well rights are determined from parcel data, print a list of // well rights that do not have associated yield (decree)... size = 0; if (wer_Vector != null) { size = wer_Vector.Count; } // Do data checks listed in the StateMod_WellRight class // Remove all previous checks from StateMod_Well data.Clear(); data = doSpecificDataChecks(wer_Vector, props); // provides basic header information for this data check table string info = "The following well rights (" + data.Count + " out of " + size + ") have no decree (checked to StateMod file .XX precision).\n" + "Well yield data may not be available."; // create data models for Check file CheckFile_DataModel dm = new CheckFile_DataModel(data, header, title, info, data.Count, size); CheckFile_DataModel gen_dm = new CheckFile_DataModel(@checked, columnHeader, title + " Missing or Invalid Data", "", __gen_problems, size); __check_file.addData(dm, gen_dm); }
/// <summary> /// Performs general and specific data checks on well station data. </summary> /// <param name="props"> A property list for specific properties </param> /// <param name="wes_Vector"> Vector of data to check. /// on checking this data. </param> private void checkWellStationData(PropList props, System.Collections.IList wes_Vector) { // create elements for the checks and check file string[] header = StateMod_Well.getDataHeader(); string title = "Well Station"; // first do the general data validation // using this components data table model StateMod_Data_TableModel tm = new StateMod_Well_Data_TableModel(wes_Vector, false); System.Collections.IList @checked = performDataValidation(tm, title); //String [] columnHeader = getDataTableModelColumnHeader( tm ); string[] columnHeader = getColumnHeader(tm); // do specific checks int size = 0; if (wes_Vector != null) { size = wes_Vector.Count; } System.Collections.IList data = new List <object>(); data = doSpecificDataChecks(wes_Vector, props); // add the data and checks to the check file // provides basic header information for this data check table string info = "The following well stations (" + data.Count + " out of " + size + ") have no irrigated parcels served by wells.\n" + "Data may be OK if the station is an M&I or has no wells.\n" + "Parcel count and area in the following table are available " + "only if well stations are read from HydroBase.\n"; // create data models for Check file CheckFile_DataModel dm = new CheckFile_DataModel(data, header, title, info, data.Count, size); CheckFile_DataModel gen_dm = new CheckFile_DataModel(@checked, columnHeader, title + " Missing or Invalid Data", "", __gen_problems, size); __check_file.addData(dm, gen_dm); // Check to make sure the sum of well rights equals the well station // capacity.. checkWellRights_CapacityData(); }