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
- Internal improvements to the calculation engine which allow Spectrum to configure more advanced calculations.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.