About Release Notes
These are general release notes that denote issues or features of note and their corresponding version. Notes and version numbers in this document are approximate, and this document does not necessarily encompass all features or changes. This webpage is kept up to date with the latest release note information
- Fixed an issue on the calibrations detail tab in which some cases a race condition may occurr and cause an un-handled exception causing the application to crash.
- Fixed an issue where rare non-standard configurations would sometimes cause to "Auto-Cal" buttons to appear for instruments with cal request bits.
- New trend updates! Trends are now easier to see, more reliable, easier to navigate, and load up to 20x faster (in the background). We removed the limit on the amount of data you can trend. You can now switch between minute, hourly, and daily values (all un-qualified). You can also add additional trend points on the fly.
- Fixed some small bugs in the Trends page user interface which would prevent hiding / un-hiding of pens, pens cluttering up the chart with scales and wrong axis labels. Trend cleanup.
- Modified MATS systems that do not report output based (electrical based) MATS emissions parameters to not report a separate MATS load per ECMPS guidelines. Note: existing MATS customers may no longer see a MATS load number depending on configuration.
- Fixed a bug in the admin alarms page where alarms would be removed as options for all users if they were assigned to alarm outputs for one user.
- Added the ability to add hyperlinks to the dashboard pages.
- Fixed the re-occurring alarm sound from the Prism client application for an un-read message. Un-read messages will only sound once when the new message comes in.
- Minor performance enhancements and upgrades.
- Fixed a very rare case in which IndexOutOfRangeException would sometimes occur in the main Prism application, usually immediately following a calibration.
- Some minor tweaks to some customers reporting the main application being stuck when left open for long periods of time.
- Added a new configuration application for the MIO device. This basic application connects to a MIO and allows for a few configuration functions.
- Updated the main daylog section to allow for column re-sizing (small bar at the top). Also added background color animations to new entries in the daylog and added variable font width (boldness) to better distinguish messages of importance.
- Modified the alarms history data grid page to refresh and reflect new alarms in the history.
- Updated the calibrations page to better choose a "manual" sequence to run for instruments in some complex configurations. Should help the system better determine the true "manual" sequence for instruments on the calibrations page.
- Fixed a typo in the data module on the edit constant values confirmation page.
- Fixed an issue with the 8-hour startup checking code. Qualifier Service should now more accurately be able to determine whether an instrument has exceeded its 8-hour startup grace period and flag it as such.
- Updated range verification report to look at old components if they were used during the entered date range.
- Updated the SIC module to prevent application closing while the Oxidizer step is running. This will help prevent accidentally closing the SIC module and potentially leaving the analyzer stuck in Oxidizer mode.
- In the Linearity and CGA modules, added the ability to view Automatic test configurations without having to start a new test first. A new link "View Configurations" is now on the main page of the module.
- Modified SpectraPak devices to also return any non-device sequences that may be running (rare configurations).
- Modified the Data Collector Service to wait for the write queue to empty before shutting down completely. This will more appropriately shut down the services when running software sequences.
- Modified the MATS SU / SD definition 1 to no longer include a 4-hour grace period after startup by default. The 4-hour grace period setting must now explicitly be enabled.
- Added missing permission enforcement of "Linearity Configuration Editing". Prism users must now have this user permission / role in order to be able to edit Linearity / CGA configurations.
- Fixed a very rare issue in some non-SpectraPak data collection devices in which CEMS software sequences were not always starting and stopping correctly.
- Modified the linearty instruments OOS message to be delayed a few seconds before showing. This should allow the I/O time to put the instruments fully OOS before displaying the warning message.
- Data Editor Module can now be used for all license levels. Note that some features of this module may not apply to process systems and are not supported.
- Added a finish button to the SIC module that will allow the user to stop the oxidizer purge and evaluate the test. The button should only be active during the oxidizer purge step. Also added a results section that appears after the chlorine flow has been entered so that the user doesn't have to wait until the oxidizer purge is finished and the reports button is active to see if the test passes or fails.
- Fixed an issue where in rare cases, the very first hour was not fully re-calced through the data editor when changing a value or updating a constant, etc.
- Fixed an issue where digitals were not being set correctly only from the I/O page.
- Fixed an issue in the linearity module where newly added bottles would not always show up as available to be used without restarting the main application.
- Fixed bug where the hours over range section was not being displayed on the range verification report, but the space was being allocated resulting in blank pages.
- Fixed a rare issue on some systems when calling de-activate on a SpectraPak sequence would not always fully de-activate the sequence.
- Modified non-Opacity Part 60 instruments to have calibration expired after 24 hours.
- Modified Part 63 Hg for better calibration expired checking.
- Fixed a small issue introduced in a development release where NOx rate MHV records were not being re-created during a re-calc.
- Fixed an issue in the NDFA module that was not scrolling on very small screens.
- Fixed an issue in the NDFA module where the back button was not working before an audit was started.
- Fixed a rare issue on some systems with the calibration details causing an error when some instruments are setup incorrectly.
- Fixed small issue with Qualifier introduced in intermediate version: 1.3.3096.0
- Fixed an issue in the SIC module introduced in version 1.3.3089.0 that could cause the SIC module to crash after the test was completed and saved to the database.
- Implemented Flow-To-Load analysis for coal-fire systems.
- Modified the data module to filter the list of units when excluding qualified data to limit the selection to those units where data exclusion is allowed.
- Modified the date and time selection to default to 24-hour format.
- Added the ability to specify in the monitoring plan whether or not to report SVD for NOx rate for parent units of multiple stacks.
- Small change to rare case where compliance events were not able to be fetched for a unit in which an event had not occurred in the past 200 days, but there were events before that.
- Modified the linearity expired daylog message to apply to Hg instruments and to not appear when there has not been the required 168 operating hours in the quarter.
- Added the ability to view Perm Ratio calibration details to the calibrations page.
- Modified the database updater to use the RA with respect to the current expected value for the perm ratio limits.
- Modified the decmial places display for measured and expected values to better match what is being stored and reported.
- Added more flexibility to compliance events. Events are now able to be generated directly from the database if needed.
- More performance updates to the tag service for high-load systems.
- Added support for Mercury in the missing data report.
- Small fix in the database updater service for calibrations being incorrectly marked as manual in some situations for versions 3090 and 3091.
- Small fix to some Part 60 instruments to loosen the requirements for calibration expired warnings. No longer require online calibrations per Part 60 rules.
- Several very minor and miscellaneous issues relating to ECMPS reporting
- Changed the qualifier to enable multiple re-calcs to run at the same time for faster data re-calculation.
- Update to hands-off autocal checking for some rare instances in which some monitors are off on the bit sequence of zero and span indications by more than 10-seconds causing calibrations to be recorded as manual.
- Fixed a rare issue with monitors that do not have a hands-off tag and also use a calibration request tag for autocals not firing an online automatic autocal.
- Small change to mark Hg linearities as such in the ECMPS module when they are reported.
- Updates and improvements to the SIC module.
- Updated bottle manager to automatically remove any illegal characters from certain fields (vendor ID)
- Hg Calibrations and SIC tests now included in ECMPS report.
- Made a change to some wizard controls with a date and time selection box in which the wizard will be advance-able as soon as the value is selected.
- Fixed a small and rare issue on some admin screens when a backspace key could cause a wizard to disappear.
- Changes the MATS DHV to report a value of 1, MODC of 26 when heat input from CEMS is less than 1 mmBtu.
- Added back in the "DAHS has been rebooted" message that was removed due to some enhancements in the Tag Service from version 1.3.3075.0 to version 1.3.3087.0.
- Fixed a small and rare issue with advanced and complex calculations that were being cast incorrectly and throwing an error.
- Small changes to sig fig notation on ECMPS reporting for MATS parameters.
- Modified autocal sequence so that it may be started even when a blowback is running to help offline blowback systems.
- Minor enhancements to performance and memory management for the main Prism application.
- Modified the output setting of calculated analog tags to be faster.
- Fixed a small issue in the database updater introduced in version 1.3.3075.0 or greater that only affects psudeo instruments or duplicate instruments setup on top of each other.
- Fixed a rare issue in which invalid daily span bottles were sometimes not prevented from being placed in service because of un-usual duplicate permit instruments setup on the same QA outputs.
- Minor updates and enhancements to the new NDFA module based off of initial feedback.
- Fixed issue with NDFA module report not being located.
- Upgraded our internal build environment to the latest version offered by Microsoft.
- Minor performance optimizations and updates across all modules.
- Added the ability to set a specific dashboard as the startup page for the main Prism application. Use the key "DynamicStartupPageId" in the session file along with the "StartupPage" set to "DASHBOARD"
- Fixed issue with report resource not being deployed with the NDFA module correctly in this new module.
- Made a change to the startup session that allows users to launch individual modules separately via an indicated startup session file.
- Modified all services for better thread management under heavy OS loads, better service starting and stopping.
- Sped up the qualifier service exit time so that it no longer takes as much time to shutdown. Fixed a rare issue in some instances where the qualifier service would not complete an houlry update because of a service shutdown.
- Performance upgrades to the Tag Service.
- Minor performance updates to the Tag Service.
- Fixed a small issue in the database updater service where the flow interference check calibrations were sometimes not being logged to the daylog, but the calibration itself was successful.
- Made some small changes to the main application to help sites better differentiate between calibrations and blowbacks for sites that do offline blowback.
- Fixed a small issue in the data editor where the name of some objects was not showing up correctly in the log entry when editing qualified data.
- Modified the data editor module so that qualification parameters can be setup by Spectrum specifically for editing by users. Only parameters marked for editing are allowed to be edited in the Data Editor module.
- Added a new "detail" tab on the Calibrations page that can be used for viewing all QA events and filtering by unit, instrument, status, etc.
- Fixed an issue with the database updater where a SIC warning message was incorrectly printed to the daylog.
- Modified the DataEditor module to allow for entry of future constant values.
- Fixed issue with calibrations not appearing in the database due to bad database results or calibrating within one minute of each other.
- Numerous small, behind-the-scenes enhancements and small improvements to the code base, mostly to the Qualifier Service.
- Fixed a small issue with the main application not closing correctly when an error occurs on startup.
- Data Collector Service will now startup in offline mode in the event of a database outage.
- Some minor performance improvements to the Tag Service and the Data Collector Service
- Modified the tag service to be able to start up / restart during a database failure or outage. This is provided that the tag service has had at least one previous successful startup.
- Added the ability to add, remove, and edit components for bottles that are in inventory.
- Fixed a minor rare issue with the Data Collector Service where sometimes a manual deletion of the cache file was needed for a major source configuration change.
- Re-worked a very rare issue in the Database Updater Service in which digital calculations in some rare instances were not gettting evaluated correctly on the first instance (needed a re-calc).
- Added a status check to the data collector service to print out a daylog message in once a day in the event a device is not properly storing backup samples. This is designed to alert the user that there is a possible problem with the device's backup capability.
- New navigation menu that is smaller and auto-hides when not in use.
- Customer request: added sparklines to the instruments (when expanded) to help visualize any zero or span instrument drift based off of the last cal results.
- Fixed a rare issue in the Data Collector Service DBF import code in which some missing data may be encountered due to the order of the data coming from the DBF file.
- Full support for MATS regulations released.
- First version of NDFA module built for Opacity systems.
- Updated the database updater service to ignore post-run zero calibrations in the event a manual post-run zero sequence is added to the linearity module configuration.
- Added an additional work-around to the qualifier service to prevent "hanging" during a database outage.
- Fixed bug where the user was unable to edit the port from the sources admin page.
- Fixed issue where the test connection popup wasn't appearing when trying to run the Prism app without a .sview file.
- Upgraded to minimum version of .NET framework 4.5.2. Older versions are no longer supported by Microsoft.
- Internal improvements to the calculation engine which allow Spectrum to configure more advanced calculations.
- Upgraded all code to minimum .NET framework version 4.6. Support from Microsoft for .NET framework 4.5 has ended.
- Fixed a rare issue in the database updater when the hold / delay tag would be on for less than a full minute.
- Added the ability for the Database Updater service to be configured to skip multiple startup calibrations if the unit starts up multiple times in the same day. This is set to "off" by default. Contact Spectrum to have this option enabled.
- Added last extended events to the instruments on the overview page. Extended events that may apply would be Linearities, SICs, CGAs, NDFAs, and Perm Ratio checks.
- Added the ability to configure an association between an instrument and a sequence manually, in the event that instrument does not use normal sequence setting behavior (sequence firing commands). Can be used with Hg or other instruments which communicate via Modbus.
- Fixed a bug where decimal places weren't working when entering non-bottle expected values.
- Added the ability to exclude (turn off) qualified data in the data editor module. This can be used to exclude hours in situations where hours are allowed to be excluded via manual discretion or outside factors.
- In the data editor, added a quick-list option for "Value Going Forward", which allows for easily changing a constant value going forward (no re-calc) that is non-expiring.
- Fixed a small issue in the SIC module where the report was not correct after the SIC test completed, but was correct after viewing the report from the main page.
- Small enhancement in the data editor module to prevent "hanging" when loading constant dependencies.
- In the linearity module, added the ability to select any sequence or tag (regardless of unit or probe) in a linearity configuration. This is turned off by default and is only necessary in a small number of configurations.
- In the linearity module, added the ability to run a sequence in between runs / after each run (for example, run zero air for 60 seconds).
- Added animation for new alarms coming into alarm bar.
- Added a timer in the Linearity Module for any post-run delay or post-run purge. Also tweaked the large timer to be more accurate.
- Performance improvements. Some internal conservation of data transfer between the DatabaseUpdater and Qualifier service. Some internal re-configuration of database access resulting in 30-40% faster calculation times in both services.
- Fixed a small issue where calibrations were sometimes still being reported for instruments that were not directly involved in a linearity, but are on the same probe as instruments performing a linearity / CGA. Now no calibrations are reported for any instruments for a probe during a linearity / CGA.
- Fixed a small bug with the molecular weight calculation for CABLE systems when adding new bottles.
- Fixed several small un-expected user input errors in the bottle manager components page.
- Fixed an issue in the Alarms service where some database alarms are not properly turned off after a critical database outage.
- Fixed an issue in the ECMPS module released in the previous version in which an error occurred when trying to cast from QAEvent to ReadOnlyQAEvent.
- Added an application setting key TagStaleDataThreshold which accepts a value from 1 to 5 allowing you to increase the stale data threshold by a factor of 5 to help with slower connections. The default value (if no value is specified) is 1.
- Fixed a rare issue in the data collector service when the database link goes down and the data collector service appears to get in a "hung" state.
- Added the ability to record an Opacity dirt check after a span calibration
- Added the ability to sort objects within an association context in Prism. Items in the unit box can now be custom sorted.
- Some performance enhancements to the DatabaseUpdater service and the Qualifier service.
- Fixed an issue in the linearity module where calibration linearity results were sometimes being logged as calibrations.
- Fixed a bug in the missing data report where missing data would show up for multiple monitoring systems for systems with mulitple reporting groups in a reporting system.
- Full support for opacity-only DAHS systems. Prism can communicate directly with LightHawk monitors, replacing existing OIU (Spectrum 41) Opacity units.
- Several minor user-interface bugs fixed on the calibrations page with regards to non-gas instruments.
- Fixed an issue with all applications in some cases where clicking away from the application with a pop-up open would not allow the application to re-focus when clicking back on the pop-up
- Fixed issue in MATS systems where missing data was not showing up on the missing data report because it was not looking for the new MATS missing data codes.
- Added a work-around for barcode scanners that take an extremely long time to parse and send the bottle information. This should fix issues with barcode scanners that appear to scan incomplete calibration gas bottle information.
- Fixed a bug where the fuel flow to load baselines were not always showing up on the combo box when creating a new reference test.
- Fixed a rare issue seen in only a few sites where the Tag Service would spike resource usage and become un-responsive do to not releasing resources.
- Corrected an issue with the Tag Service where large numbers of clients could result in polling the sources for sequence activity too much, resulting in real-time communication issues.
- Fixed a rare issue in the DatabaseUpdater where sometimes on certain installations only, calibrations were not being evaluated or recorded at all. This mainly happened on slower systems or systems under heavy load and was due to multi-threading race conditions with the database.
- Added a notification message to the main Prism application that the CEMS backup set is more than 2 days old when using Spectrum's provided backup method.
- Fixed an issue in SpectraPak 10-second data DBF imports for new systems where no data was recorded in the SpectraPak (device powered down).
- Added the ability to communicate directly with LightHawk 560 Opacity Monitors.
- Added the ability to have a Local Source data store which holds data in memory on the server, and persists them to disks. Used primarly for systems with no hard I/O.
- Removed possible duplicate calibrations from being calculated and stored when running a linearity or CGA and using daily span gases.
- Modified the ECMPS module to save the emissions report with a more descriptive file name. Also removed the location bar and made it so that the save dialog will pop up when the "Report" button is clicked.
- Added an asterisk (needs saving) notation to the Part 75 monitoring plans section when a new monitoring plan is uploaded but not yet saved.
- Added "last backup time" status to the main Prism application in the event the system is using Spectrum's backup and maintenance plan.
- Fixed a rare issue where one unit's data could be copied into another unit's emissions report. Any emissions files like this would generate evaluation errors and would not be able to be submitted since it would contain unit IDs from different monitoring plans.
- Added the ability for the data collector service to continue through old SpectraPak DBF data in the event there are some samples / data missing from the old SpectraPak data.
- Fixed issue where the summary value data records would not be reported for every reporting group when multiple reporting groups are in a single reporting system.
- Added the ability for Spectrum to configure the order in which units, probes, and instruments are shown in Prism. Added the ability for Spectrum to hide instruments (in case of pseudo instruments).
- Added new custom / state / permit instrument types to the code base that allow for custom control over calibration limits.
- Upgraded logging framework
- Fixed an issue with the SpectraPak DBF 10-second conversion code in which pseudo-floating points were not being handled correctly.
- Some performance improvements in the QualifierService and the DataCollectorService.
- Small bug fix to possible situation where delay times of less than 2 minutes would result in incorrect delay time calculations in the one-minute tag data.
- Fixed a bug where the assigning of alarms to alarm outputs was not working.
- Added the ability to connect to previously connected and authorized Prism systems in the event that the database is down. If the database is down, Prism will connect in an overview-only and view-only mode in which the view is limited. The only permission available in this mode is start autocal.
- Added the ability to pull generic data from the database to the dashboard.
- Fixed an issue in the Trends where the trend position could be lost when a new one-minute sample is added. The current trend will now refresh without loosing position or data when a new sample is added.
- Fixed an issue in the Data Collector Service where the service would not correctly startup when the last sample from the master database was invalid or missing.
- Added decimal precision and better alignment to previous calibration results in the instrument control on the Overview screen.
- Modified the time-syncing in the data collector service to be more sensitive, and not allow for the SpectraPak to be off by more than 10 seconds.
- Modified the linearity module to automatically re-enable any sequences that were disabled prior to starting a linearity rather than prompting the user to re-enable them.
- Changed fuel flow-to-load reference to prompt the user to select a baseline when creating the reference rather than just using the last baseline.
- Fixed an issue where the user was unable to edit bottles in inventory.
- Fixed issue where the linearity module would warn the user that the instruments are not out of service when they are out of service.
- Fixed an issue where the run time minutes on the linearity module were incorrectly being rounded up to the next minute once 30 seconds had passed.
- Small fix to re-calculating LTFF systems in which certain online hours were not triggering a proper re-calc.
- Fixed missing data report so that hours with SODC of 9 won't show up on the report.
- Fixed an issue recently introduced in the ECMPS module where Total Daily Emissions was not being reported for DED records even though the value exists.
- Fixed an issue where the linearity module would throw an exception when trying to bring up the disable sequences dialog when running a manual linearity.
- Made the check box for using plant air for an O2 linearity unchecked by default.
- Fixed an issue in the qualifier service where some re-calcs would get stuck on a certain date / time and would not advance forward.
- Fixed a bug with the missing data report where hours with an SOD mass code of 2 were incorrectly being included on the report.
- Fixed an issue in the Tag Service with calculations using a square root functions when that sometimes produce an un-expected number.
- Added warning pop up to the ECMPS module that will appear if the default GCV was used at any point during the selected reporting period.
- Fixed a bug in the ECMPS module that would leave out some SVD records in some instances.
- Fixed an issue in the ECMPS module where the report file would not be properly closed when an error occurred, causing the file to be un-able to be written to.
- Added two new keys to the linearity module startup session file: LinearityAllowAllInstruments and LinearityAllowInvalidBottles. Either of these can be set to "true" in the .sview session file, which will open the linearity module with these options set.
- Fixed an issue where marking an hour as offline for an LME system would not update the ecmps_hod record for that hour.
- Fixed an issue with CGA limits in the CGA module on some systems.
- Fixed issue where log files for client applications were sometimes not being produced. Helpful for debugging purposes.
- Upgraded EPA ECMPS Emissions to version 1.4
- Small performance and pattern updates to the database updater service in some rare cases where calibration checking was being missed on the first pass.
- Fixed an issue in the Tag Service introduced in version 1.2.3035 where the hold tags were not being held properly.
- Upgraded all code to .NET framework 4.5. .NET framework 4.0 is no longer supported by Microsoft.
- Upgraded EPA ECMPS QA Cert XML to the latest version (March 2016 release)
- Upgraded EPA ECMPS emissions version to 1.2
- Add the description of the trend pen to the trends page when hovering over a trend pen. Useful for pens with the same name, but maybe different units.
- Fixed an issue in some systems with replaced data that was getting overwritten incorrectly in hourly data. Only affects PEMS and non-LTFF systems with missing data.
- Fixed an issue in Opacity monitors where offline cals were not taken into account when determining calibration expired status which resulted in incorrect calibration expired alarms for Opacity monitors.
- Fixed bug where missing data was not working for the individual units of a common pipe system.
- Added ozone season reporting to LTFF systems
- Fixed a minor issue in the Linearity module that only affects sites with split calibration gases across SpectraPaks and out of service sequences on those same SpectraPaks.
- Small bugfix in new ECMPS LTFF ozone record handling in the database
- Fixed an edge case where the online/offline flag for cals that begin in one hour and end in another could be incorrect.
- Fully implemented the ability to skip one-minute data when updating a constant value.
- Modified the data editor to not allow one-minute data re-calcs to affect the current day when updating a constant value. This should help avoid updates causing stale data
- Modified the data editor module to better select (suggest) default date ranges based off of the selected action.
- Added some additional help language when performing an action in the Data Editor module
- Added a new generic report for all installations for viewing raw, 10-second data per source
- Fixed an issue with the qualifier service in which items marked for ECMPS re-calc were not getting un-marked correctly after the ECMPS calculations have run.
- Fixed an issue in the data editor module with the constant value not showing up correctly when the constant is first selected
- When sequences are downloaded to the SpectraPak, the internal sequences are now correctly refreshed.
- The Restore From DBF functionality of the Data Collector Service now continually checks for updates / changes to the DBF file once the initial restore is complete..
- Fixed an issue in the linearity module that affected sites with I/O split across SpectraPaks. Some sequences were not being started correctly due to the OOS sequence running on the same SpectraPak.
- Fixed an issue in the Restore From DBF file functionality of the Data Collector Service in which some databases could not handle an entire day's worth of 10-second data inserted at once.
- Fix to the Database Updater service for dealing with legacy instruments or instruments that are no longer active.
- Added the ability to start / stop any sequence from the Sequences tab on the I/O Points page.
- Added the ability for non SpectraPak-E devices to run sequences at the data collector service level. This adds sequence capability to Modbus and other devices.
- Added ability to turn digitals on/off in the data editor. Only allows digital input tags that are used as online tags. The 10-second data will be updated, and the data marked for recalculation.
- Implemented new 3 and 4 hour rolling qualification sample types
- Changed accuracy date to accuracy test number and inspection date to inspection test number for the fuel flow-to-load baselines.
- Added support for Opacity calibration expired checks.
- Linearity module now supports Mercury instruments
- Added the test reason to the running linearity control as well as the linearity report.
- Modified the linearity test start to select Periodic Quality Assurance by default, attempt to populate the current online status, and added some help text to the linearity test reasons.
- Added a message to the tag service that outputs to the daylog indicating the server has been rebooted
- Added a daylog warning message that prints out every hour if there is no active autocal sequence found for a probe with regulatory instruments.
- Fixed an issue with the linearity module where an incorrect warning message would appear about the instruments not being OOS when they actually were.
- Fixed an issue where a sequence may have been in-activated that may have caused the system to not correctly perform an online autocalibration after startup.
- Added support for a 3D barcode scanner to be able to scan Airgas calibration gas certificates.
- Modified the OOS indicator for an instrument to expand the instrument and flash the entire instrument for better visual indication that the instrument is OOS.
- Fixed an issue where sometimes the data module would not load correcly when one or more database services were not running.
- Fixed an issue where duplicate calibration results would sometimes appear in the "last calibration results" grid when the application is left open after a cal.
- Fixed an issue where sometimes instruments would not all be placed back in service when using the "all instruments OOS" buttons.
- Fixed an issue where an instrument could only be taken OOS once on the overview page and the confirm button was no longer clickable
- Fixed an issue where the correct OOS was not being identified for the probe. This was causing the incorrect sequence to fire when taking all instruments OOS for the probe, and when running a linearity.
- Fixed an issue with NOx reporting in some instances of some Appendix-E configurations.
- Re-calc now works correctly for database-populated compliance events
- Fixed a bug where the ECMPS module was looking for monitoring system certifications for systems that don't have them and was then throwing an exception when attempting to create the emissions report.
- Added usage date to bottle manager for bottles currently in use.
- Added the ability to import fuel flow to load baselines via the QA Certs tab on the Part 75 page.
- Fixed an issue where the auto-update / Install link was not working.
- Fixed bug where LME systems would always report summary value data for NOx rate even if the system did not fall under the acid rain program.
- Fixed bug where curves were not being displayed on the Appendix E Curves page.
- Each unit will now report whether or not it is undergoing a re-calculation via a normal triangle on the unit-switcher, as well as the text description for that unit on the overview page.
- Fixed a small issue in some instances where a site was so small and the loading so quick that some modules would never get past the "Loading Objects...." screen.
- Fixed an issue with the restore from DBF where restoring lots of days was stalling out the update. Updates directly to the master database, by-passing the cache entirely.
- Modified CGA for O2 to be only +/- 15%
- Added the ability to set the 14 settable psuedo-analog floats in the SpectraPak-E
- Now can handle OOS tags that are calculations.
- Added "Previous Value" ability to calculations.
- Instruments now flash somewhat subtly when they are out of service. This is an attempt to make the out of service indication more noticeable.
- Fixed an issue with loading speed and potential crashing on the Compliance page that occurrs on some sites with multiple compliance objects setup.
- Modified the main application backgorund to turn red if there is currently an un-acknowledged alarm. The background will similarly turn magenta if the application is not able to connect to the services. This should make it easier to see error and alarm conditions from across the room.
- Added the ability for Prism to detect ozone season or not, and change settings and limits accordingly.
- Fixed an issue in the CGA module where the relative accurracy was not correct in regards to 40 CFR 60 Appendix F, allowing for +/- 15% or +/- 5 ppm, whichever is greater.
- Fixed bug where the start and end dates were not initially set to the previous quarter even though previous quarter is the default report period.
- Fixed an error with some modules running against an older version of the database. These modules would fail to load with an exception.
- Fixed an issue with some systems where the expired cals or cal quality alarm was not always being turned off immediately after a good online calibration.
- Fixed an issue where copying a role with too many actions would throw an exception.
- Added new 3-Hour and 4-Hour rolling capabilities to not compose a 3 or 4 hour average period for hours in which there are no samples (no valid data).
- Changed the data editor module so that only analog raw points can be marked as in-valid. This should cut down on confusion when marking data bad.
- Changed the data editor module to check and not allow data to be marked for re-calculate that is older than data we have tag_data for.
- Fixed an issue for the data editor module in which tags that were no longer active were being marked as re-calc, causing the re-calc to get stuck.
- Fixed an issue where minimum default fuel flow was sometimes being used for online hours that were marked as invalid.
- Fixed an issue with compliance event checking. Modified compliance events to only be able to be categorized as out of compliance if that parameter is not offline and the parameter has valid samples.
- Added a hover-over pop-up button on the very left side of the main Prism application for showing / hiding the navigation. Makes it easier to see content on smaller screens and easier to show / hide the navigation buttons.
- Added the ability to set the startup page for the main Prism application in the startup session file. Requested for alarm-only screens or dashboard-only screens.
- The title bar for the modules (and all Prism applications) now shows the application name as well as the site name the module is connected to
- Window size and location now save per Prism session. This can be helpful for multiple session monitors where the windows are stacked or tiled acordingly for different Prism sessions running at the same time.
- Added support for restoring from a DBF file for any source regardless of device connectivity. This is a separate mode of operation in the service that by-passes normal operation.
- Fixed bug where sequences were not being saved if the start times, sequence steps or sequence step points had been modified.
- Fixed an issue in some instances of certain sequences when viewing a calibration in progress causes the application to crash
- Added support for Appendix-E (PEMS) systems.
- Changed the combo box for adding sequence step raw points so that the user can select multiple raw points at once.
- Added small last-autocal times for zero and span for instruments on the main overrview screen. This should provide a little more detail per instrument without having to expand each instrument to see the last auto-cal times.
- Fixed an issue in the linearity module in which sometimes an un-handled error message would occur when editing the temporarily disabled sequences.
- Qualifier service now delete old compliance events (exceedences) if they are no longer valid on a re-calc.
- Fixed an issue with the compliance comments screen where the comments section was not accepting the space bar.
- When a tag is in calibration, hold, or delay, the value for that tag now turns to an italic font until normal measuring resumes.
- Modified tag values so that if a number has a decimal precision set and that value rounds to a whole number, the "0" decimal places now show regardless.
- Name and descriptions are now auto-populated for calculation parameters
- Modified hourly qualification parmater calculations to be able to use more complex paramters such as dates, flags, etc.
- Upgraded Microsoft Report Viewer to the latest version. Should have improved report selection and running response time.
- Fixed an issue preventing caching when running the application in cache mode over slow networks
- Fixed an issue with nested online tags where sometimes multiple levels of online tags were not being corrected OR'ed together
- Fixed an issue on the DAHS verification screen where listings of more than one verification were too small to be seen.
- Fixed an issue where the compliance events may not have shown up correctly in some instances.
- Fixed bug where a DHV record might not be created if an hour has missing data.
- Moved the automatic online calibration startup code to be based off of the probe instead of the unit. This will give us better control of automatic startup calibrations for units with more than one probe.
- Added the ability to view the help manual for the main Prism application in the settings flyout
- Added the ability to have buttons on a dashboard which link to pages in the application
- Fixed an issue with some Part 60 instruments on systems that rarely run. On initial startup, systems would sometimes get an incorrect calibration expired indication.
- Modified the ECMPS module to run a quarterly data cleanse before generating the ECMPS report. This should get rid of the majority of "recalculation" errors in the ECMPS report.
- Added TLU (time of last update) to all qual_data tables. This column indicates the database time the data was last updated, useful in determining when data was re-calculated, updated, etc.
- Fixed an issue with the ECMPS module relating specifically to LTFF systems.
- Fixed an issue with the data editor module where the data editor does not always mark the data for re-calc correctly.
- Added Spectrum's 1-800 phone number to the settings flyout.
- Fixed an edge-case issue where alarms are sometimes not disappearing for an instrument border when the alarm is clear
- Updated linearity XML schema to 1.2. This will fix the ECMPS import errors concerning the Injection Protocol Type.
- Fixed an issue with source of data codes that was causing errors in the report when missing fuel flow was reported.
- Fixed problem where the end date was not correct when running the emissions report for multiple units.
- Fixed an issue with the ECMPS module linearity reporting where non Part-75 instruments where attempting to be reported in the XML, causing a null reference exception. These instruments are now ignored by the XML report
- Added the ability to modify Prism session files and session options. You can now create a session when Prism is launched without a session file.
- Modified the default one-minute data report to contain name, description, and unit of measure in drop-down selection
- Fixed issue on alarms page where alarm tiles were sometimes showing as "in alarm" when scrolling when they were not actually in alarm.
- Fixed issue where OOS messages were sometimes not being printed out to the daylog based on certain instrument conditions and unit status.
- Now fully support NET TCP binding with Windows Authentican security.
- Modified MillAmps display to be 3 decimal places
- Added a new "unit switcher" view on the main application overview page. To try this view click the "Unit Switcher" toggle switch in the settings menu. This view shows units in side-by-side mode. Note that a minimum of 1280x1024 screen resolution is needed for this view to be useful. Should work well on large resolution screens.
- Fixed several minor issues with service loading in the main applcation and modules on startup. Internittent startup errors or startup loading taking longer than normal to connect and / or initialize a service.
- Added the ability to specify compliance events based off of calculations, constants, or other qualification parameters. This allows more complex exceedence generation rules. Also added the ability for compliance events to be generated directly from the database for custom compliance events.
- Added the ability to output versioned release notes
- Added warning and error indicators for bottles that are expired or are close to expiring.
- Removed the little-used option "Animations and Previews" in the main application
- Small bug fix to the DBF SpectraPak import tool in some edge cases
- Fixed issue where some modules were not correctly auto-updating after you click "Install"
- Changed the one-minute service to immediately un-publish calibration quality alarms if it receives a good, online, hands-off, paired calibration. Note this may not always satisfy fully qualified EPA conditions for calibration quality, but it should in most cases. In the event calibrations are still not valid, the calibration quality alarm should come back in the next 15-minute period
- Fixed a potential issue in the calculation manager when using formulas that were extremely long
- Alarms that are muted now correctly un-publish and release the CEMS fault bit (if on)
- Fixed an issue where tags with reverse scales were not being properly stored at the one-minute leve in certain edge cases due to their reverse range.
- The download sequence button will now only be active if the save button is inactive and vice versa.
- Added the ability to choose "quick options" for quick-pick time ranges that will automatically populate the correct start and end dates for you. For example, "yesterday", "last month", "last quarter".
- Qualifier service now ignores compliance objects that have been marked for deletion
- Fixed an issue in the Data Editor Module where the constant value was not allowing the user to click "Next" after inputting the new value. Tracked this down to an issue in the text box control.
- Daylog messages that are error or fault messages will now have red text.
- Fixed an issue where some formulas would fail to evaluate correctly due to incorrect type casting. This fix is more fault tolerant of casting and falls back on system conversions.
- Switched to a tab control with updated tab styles and tabs
- Changed the default view of the real-time calibration tab to the range slider instead of the chart
- Fixed an issue where real-time calibration tabs were not being refreshed properly and the application had to be restarted in order to see the new calibration. Calibration tab titles will now reflect the status of the calibration (change to finish), and will now be refreshed when a new calibration starts.