Release Notes: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
m
(Headers and numbering of notes continued)
(485 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.
{|align=right
  |__TOC__
  |}
==== Version 7.0.0 public beta 1 (17/03/24) ====
#General: The platform for CUtils version 7 will now be ''.NET 8''. Instructions for installing ''.NET 8'' (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the ''cumulusutils'' installation completely (so: remove the old one if you are not making a completely new CMX directory).
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion):
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).
##repeat for all your CustomLog datafiles
##start CMX and restart your scheduler/crontab jobs
#General: '''''Duplication and Order of the data''''' : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter ''CheckDateOrder'' (section  ''General'') to ''false'' (default is ''true''). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured ''Interval'' nr of minutes.
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter ''SmaPeriod'' in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars).
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.
#Graphs: If heatmap now has more than ''HeatmapNumberOfYearsPerPage'' (parameter) the chart starts now at the highest year.
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows
#Support: for the new CMX un/pw encryption
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter ''UseSpecificHighchartsVersion'', if problems re-occur, use version 11.2
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.
#Monthfiles: Because of the logfile invariance you may remove the parameter ''MonthsOfMiracleAndWonder''
==== Version 6.23.6 (30/01/24) ====
#CustomLogs: Addition of <#stationpressure>
==== Version 6.23.5 (17/01/24) ====
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.
==== Version 6.23.4 (16/01/24) ====
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)
==== Version 6.23.3 (14/01/24) ====
#ChartsCompiler: Error messages improvement
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output
==== Version 6.23.2 (10/01/24) ====
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: "A value for the Transmitter used is needed - please set parameter Tx"
==== Version 6.23.1 (05/01/24) ====
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to ''DailySolarEnergy.csv''. The parameter involved is [General] ''NeedSolarEnergyDailyValuesInCSV=false'' (default)
#Language: Parameters ''LimitValues, Winter1, Spring, Summer, Autumn, Winter2'' have been added to the language file to  be translated.
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.
#ExtraSensors: Fixed a unreported issue with the lightning sensor
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in
==== Version 6.23.0 (06/12/23) ====
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.
#Technical: Performance gain while reading the monthly logs as a result of the previous action.
#MeteoCam: Addition of ''EcowittHP10'' as ''CamType'' (the original being the default ''CamType Manual'')
#Language: parameters ''NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT'' have been added.
#Graphs: In Rain vs EVT chart the plotline ''Normal Yearly Rainfall'' has been moved to he front and colour set to blue. The default title has the addition "Cumulative". The user who already has this in the language file will need to change it manually.
#Technical: Deprecated the use of MySQL (i.e. the parameter ''UseSQL'' is no longer used and can be removed)
#CustomLogs: Webtag ''wchillH'' has been renamed ''wchillL'' from CMX b3264 and up.
==== Version 6.22.0 (23/11/23) ====
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph => mi, m/s => km etc...)
#CustomLogs: addition of the following webtags: ''RecentApparent, RecentIndoorTemp, RecentIndoorHumidity''.
#Graphs: addition of ''Rain versus EVT'' graph (in the Rain section)
==== Version 6.21.5 (16/11/23) ====
#Sysinfo: Added reception status for Ecowitt devices
#Airlink and ChartsCompiler: WindBarbs is now a translatable word
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)
#Customlogs: Changed permitted webtag ''cloudbase'' to ''cloudbasevalue'' and attached axis Height
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add ''PwsfwiButtonInHeader=false'' to your [Website] section of ''cumulusutils.ini'' it will configure in the navbar just before the system led. The default for this parameter is ''true'' (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.
#CustomLogs: added the following webtags to the allowed webtag list: ''"windrunmonth", "StormRain", "RecentOutsideTemp", "RecentWindChill", "RecentDewPoint", "RecentHeatIndex", "RecentHumidity", "RecentWindSpeed", "RecentWindGust", "RecentWindLatest", "RecentWindDir", "RecentWindAvgDir", "RecentPressure", "RecentRainToday", "RecentSolarRad", "RecentUV", "RecentWindChill", "RecentFeelsLike", "RecentHumidex", "snowdepth", "snowlying", "snowfalling", "Tbeaufortnumber"''.
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash ('''<# >''') to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].
==== Version 6.21.4 (12/11/23) ====
#General: Fixed: Improved logging info when asking webtag values
#CustomLogs: made the realtime table animation ''slow''
#ExtraSensors: Changed the realtime table height to ''70vh''
#Uploading file: Fixed: The CMX ''Host'' parameter is only for FTP protocols. When using PHP upload ''PHP-URL'' needs to checked for not empty
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters ''DoModular'' (cannot be combined with the Website command) and ''ModularPath'' which contains the path to the CUtils modules, relative to Webroot e.g. '''''CUtils/''''' (the closing slash is required as it is with ''CumulusRealtimeLocation''). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags
==== Version 6.21.3 (07/11/23) ====
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter ''StatisticsType'' to the value ''Google'' (the default for this new parameter  is empty).
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with ''overflow'' and a ''slideDown'' when change from RECENT to DAILY and vice versa.
==== Version 6.21.2 (04/11/23) ====
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.
#CustomLogs: Modified the CustomLogs - using the units and charts axis.
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions
==== Version 6.21.1 (31/10/23) ====
#CustomLogs: Fixed - When using ''CumulusRealTimeLocation'' the customlogs JSON's were not correctly located.
==== Version 6.21.0 (22/10/23) ====
All functionalities of the previous beta's
Main addition is the implementation of the CustomLogs module.
CustomLogs will:
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)
#... and whatever users may come up with - all webtags producing a value are available for plotting
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the ''CUtils USerAskedData'' call.
If a you create a CustomLog with the webtag <#LightningStrikesToday> - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated.
Default the CustomLogs are under the menu ''Extra''. If the user chooses eventually a manual handling of those charts he can use that chart anywhere.
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.
A picture - i.e. a chart - says more than a thousand words.
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.
Additional modifications since last beta:
#No more crashes when adding a webtag to an existing log
#All file copies created while running the module are now correctly removed
#Incremental now works only for a ''UserAskedData'' run
#For an Ecowitt device added the firmware version in SysInfo (when available)
#Webtag #CPUTemp is added to the list
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!
==== Version 6.21.0 beta 1 to 4 (10/10/23) ====
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we'll work it out.
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).
#General: Added the device types according to CMX v3.27.0 - b3250
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.
==== Version 6.20.0 (21/7/23) ====
#Website: '''IMPORTANT''' => Files borrowed from CMX and (possibly) modified - notably: ''gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js'' - have been prefixed with '''CU'''. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new ''Alternate Default Website'' changed its index filename to ''index.html'' (it always was ''index.htm''). ''index.html'' is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter ''CumulusRealTimeLocation'' and the ''Alternate Default Website'' will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution
==== Version 6.19.0 (29/06/23) ====
#General: some minor formatting corrections for use of imperial units
#General: Error correction and handling improved in case of an erroneous locale (in ''cumulusutils.ini'')
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in ''cumulusutils.ini'':
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.
##pwsFWI: Adjusted for date formatting
##Graphs: Date in clock pane now follows local format.
##Gauges: Corrected the Danish language code to ''da'' i.s.o. ''DK'' and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts.
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.
==== Version 6.18.3 (10/06/23) ====
#Forecasts: Text around the ''Yourweather'' forecast table is now translatable (section: ''Forecasts'')
#Forecasts: Default ''ForecastSystem'' is reset to ''YourWeather'' because ''SpotWX'' has an issue with cookies. If you have set ''SpotWX'' and want to change, please modify parameter ''ForecastSystem'' to ''YourWeather''.
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.
#Parameters: ''CMXport'' has been moved to section ''General''. ''UseSpecificHighchartsVersion'' has been added to section ''General'' to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just <number>dot<number>dot<number>
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.
==== Version 6.18.2(05/05/23) ====
#Website: The value of ''MoonImageLocation'' was forced lowercase which was incorrect.
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.
==== Version 6.18.1(30/04/23) ====
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)
#Airlink Help: Corrected a broken link on the help page.
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: ''MoonImageLocation=<Full URL>''. Include the image name in the URL! (best to manually add it to ''cumulusutils.ini'' and run ''website'')
==== Version 6.18.0 (24/04/23) ====
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not "Daily Rain" as it was)
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).
==== Version 6.17.3 (15/03/23) ====
#General: technical wrap up of the past quick successive releases
#General: Sync up to CMX 3.24.2
Although no functional changes it is advised to update.
If any anomalies please report.
==== Version 6.17.2 (13/03/23) ====
#UserAskedData: Fix for duplicate CO2 sensor entries in the ''ExtraSensors'' JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be ''dd/MM/yy'') then the date is reset to first date in database and a warning is issued in the logfile.
#Upload: Fix for CUtils upload to other directories than the location of ''upload.php''. The ''UploadDir'' in section FTP site is now taken into account
==== Version 6.17.1 (08/03/23) ====
#Parameter DoneToday: For both parameters ''DoneToday'' the format is now set as ISO to prevent an error caused by mono for some locales
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from ''strings.ini'' (see [[Extra_Sensors#Translation/Language|wiki]])
==== Version 6.17.0 (05/03/23) ====
#Top10 & DailyRecords: parameter ''UseScrollableTables''. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0
#General: Introduction of parameter ''RecordsBeganDate'' in section General (independent of CMX parameter ''StartDate''). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up
#Menu: The menuitem ''Print'' is added (add to ''CutilsMenu.def'' (top level) if you want to use it). This provides the possibility to print what is in the ''ReportView''.
==== Version 6.16.0 (12/02/23) ====
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module
#Top10: records now also has a scroll bar (on the containing div)
#YADR: Fix for nr of decimals for the Rain report when using inches
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.
NOTE: This is the first major update for the oldest module of CUtils ;)
==== Version 6.15.6 (30/01/23) ====
#Functionality of 6.15.6 but now working correctly
Additional modifications:
#ChartsCompiler: Fix for the units of the ExtraSensors
#ExtraSensors: Fix for realtime values for the ExtraSensors
#Lightning Sensor: Added the date to the time of last strike
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer
==== Version 6.15.5 (29/01/23) ====
#General: The number of solar hours has a non-translated unit '''hrs'''. This is removed as the description label is sufficient.
#ExtraSensors: Added the Lightning Sensor. Activate with parameter ''LightningSensor=true''.
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: ''ColorDashboardTextAccent'').
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn't, might you not have noticed it)
#Unit Pressure: Pressure in ''hPa'' is now in one decimal (to get better distinction in Records modules) and in ''inHg'' is now 2 decimals.
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.
==== Version 6.15.4 (16/01/23) ====
#General: When a unit rate of change is displayed it was '''/hr''' or '''/h''' in all languages. Now it can be translated through the ''PerHour'' translation tag in section ''[General]''
==== Version 6.15.3 (12/01/23) ====
#General: fix - forced some configuration parameter values to be lower case (so ''True'' is read as ''true'')
#ChartsCompiler: When loading a charts collection (e.g. ''cumuluscharts.txt'') the version of HighCharts is now displayed in the console
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed
#Highcharts: added ''thousandsSep = ""'' to the HighchartsLanguage.js (set the thousands separator to empty string)
#Graphs: The heatmap now has a normal date in the tooltip
#Graphs: changed the fourth default value for ''GraphColors'' to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].
==== Version 6.15.2 (04/12/22) ====
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.
==== Version 6.15.1 (02/12/22) ====
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart
==== Version 6.15.0 (27/11/22) ====
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D
#Website: Correction for the night image for the header (which was never selected)
#Website: The generation date in the version strings is now "g" i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.
#Website: Some minor corrections in spelling and messages for the console
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)
==== Version 6.14.4 (22/11/22) ====
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)
#Website: When using ''inHg'' as pressure unit, the realtime dashboard not displays 'inHg' i.s.o. 'in' (just as everywhere else)
#Record: The records page now starts <AllYears>/<Current Month> similar to DayRecords (which starts in <Current Month>).
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)
#Highcharts: The tooltip for the (average) bearing is now correct.
==== Version 6.14.3 (19/11/22) ====
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.
==== Version 6.14.2 (03/11/22) ====
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was ''m/s'').
#AirLink: As in ChartsCompiler.
==== Version 6.14.1 (31/10/22) ====
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.
#Website: Drop down user menu's are now automatically adjusted in width to accommodate large width multiword menu choices
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.
==== Version 6.14.0 (22/10/22) ====
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]].
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.
#StationMap: activated the weather data below the arrow.
#Charts Compiler: The default ''CutilsCharts.def'' in the distribution has been updated to reflect ''Windbarbs'' and ''Zoom'' keywords.
==== Version 6.13.1 (10/10/22) ====
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS ''Darwin''). NOTE: SysInfo needs to be worked on with the user)
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)
==== Version 6.13.0 (08/10/22) ====
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].
#Language: The word ''Info'' has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.
==== Version 6.12.2 (28/9/22) ====
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language
==== Version 6.12.1 (28/9/22) ====
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]
#Menu System2: The menu definition file now can contain blank lines (no further additions)
#ChartsCompiler: The word Info was erroneously placed in ''cumulusutils.ini'' and has been move to the language file (you may remove it from cumulusutils.ini)
#Logging: Several corrections and modifications in severity in the messages
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.
#YADR: a fix for the windrun classes when dimension is other than ''km''
==== Version 6.12.0 (22/9/22) ====
#ChartCompiler: The keyword ''Info'' on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.
#Gauges: Contains the fix for the bug ''CumulusRealTimeLocation'' in 6.11.0 which previously was published as a patch
==== Version 6.11.0 (10/09/22) ====
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the ''odo class''. To facilitate those changes the website code had a minor change.
==== Version 6.10.0 (03/09/22) ====
#AirLink: Bugfix - a correction in the order of the CMX AQI formula's as used in CUtils (selectable in CMX: CA comes after EU and not before!)
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the ''index.html''
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter ''ReferenceLineThickness''
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your ''CUsermenu.txt''. The ''data-toggle=<nowiki>'</nowiki>dropdown<nowiki>'</nowiki>'' must be replaced by ''data-bs-toggle=<nowiki>'</nowiki>dropdown<nowiki>'</nowiki>'' and dropdown items are no longer <nowiki><span></nowiki> but <nowiki><ul> <li></nowiki> combinations. Checkout the ''CUsermenu-example.txt'' in the distribution for the changes.
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector
==== Version 6.9.9 (10/08/22) ====
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)
#Website/General: Technical update for signature files
#InetSupport: Some minor changes in FTP/FTPS handling
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.
#AirLink: The identification of the United Kingdom in the parameter ''CountrySelected'' (section ''AirLink'') has changed to UK iso GB to make it analog to CMX.
==== Version 6.9.6 (08/07/22) ====
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars
#ChartsCompiler: Small experiment => Removed the  limitation on scatter series to be combined with other types.
#General: some cleaning up of old code.
==== Version 6.9.5 patch 1 (02/07/22) ====
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])
==== Version 6.9.5 (01/07/22) ====
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter
==== Version 6.9.2 (26/06/22) ====
#Compiler: Added the optional language construct "''Has WindBarbs [Below | Above]''". See Wiki CDL. This feature is beta.
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.
==== Version 6.9.1 (16/06/22) ====
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX
==== Version 6.9.0 (14/06/22) ====
#Cutils runtime  library: one minute ''UpdateInterval'' (see CMX FTP parameters) is now acceptable<br/>NOTE: this is meant for local webservers and not for internet transfers.
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:<br/>
"AvgWindChill" (was: "WindChill")<br/>
"HighAvgWindSpeed" (was: "WindSpeed")<br/>
"DayRain" (was: "RainFall")<br/>
"DayEVT" (was: "EvapoTranspiration")<br/>
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)
#Map: If no link is given for the website it is now clearly indicated in the pop-up.
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works
#General: the software libraries have been upgraded
==== Version 6.8.3 (03/05/22) ====
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)
#SysInfo: Added WLL statistics
#Sysinfo: Added inifile parameter ''ExtraStationInfo'' to enter free format information for non-Davis stations.
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].
#Day records table has now possibility to scroll (configure ''UseScrollableTables''=true (default)), section [General]). DayRecords and pwsFWI modules now use ''thin'' scrollbar which does not work in chrome.
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).
==== Version 6.8.2 (19/04/22) ====
#Fix: some glitches in the handling of the low limit of the rainfall
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.
#Change: Now the defaults for ''DoLibraryIncludes'' & ''GeneratejQueryInclude'' parameters is false; When using CUtils in a modular fashion set these to ''true''.
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.
==== Version 6.8.1 (03/04/22) ====
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches).
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.
==== Version 6.8.0 (29/03/22) ====
#UserReports: Introduction of Cutils dedicated webtags. Currently only <#CUversion>. Released as a patch for 6.7.14 on 28 march
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.
#Logging: Created the possibility to switch logging completely off. Parameter: ''LoggingOn''.
#Logging: Console Messages are regulated by parameter ''NormalMessageToConsole'' which is independent of other settings.
#ExtraSensors: ExternalExtraSensors are still in beta
==== Version 6.7.13 (27/03/22) ====
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.
==== Version 6.7.12 (not released) ====
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.
==== Version 6.7.11 (03/03/2022) ====
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)
==== Version 6.7.10 (26/02/2022) ====
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website
==== Version 6.7.9 (26/02/2022) ====
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)
#ExtraSensors: Corrected a bug for LeafWetness sensor
#Sysinfo: Memory information now shows swap device too
#Some minor corrections
==== Version 6.7.8 (02/01/2022) ====
#Changed RECENT keyword 'SolarRadiation' to 'CurrentSolarRad' (see [[Charts_Definition_Language_(CDL)|specification]])
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!
==== Version 6.7.7 (24/11/2021) ====
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.
==== Version 6.7.6 (23/11/2021) ====
#Forecast: Fix for new Norwegian forecast URL
==== Version 6.7.5 (22/11/2021) ====
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)
==== Version 6.7.4 (22/11/2021) ====
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])
==== Version 6.7.3 (21/11/2021) ====
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.<br/>
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.
==== <s>Version 6.7.2 (20/11/2021)</s> ====
<s>A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)</s>
Withdrawn.
==== Version 6.7.1 (25/10/2021) ====
#A patch version to get rid of a disturbing '>' above the index file in the website
==== Version 6.7.0 (25/10/2021) ====
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)
#Website: Upgrade to Bootstrap 4.6.0
#gauges.js: Added a console message '''Gauges Init Done...'' to have an anchor for debugging
#Dashboard: Added an empty header to an empty pane (configration of dashboars)
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)
#ExtraSensors: For the command  line parameter ''ExtraSensors'', now the ''CompileOnly'' parameter is  implicit. This means that now the command ''utils/bin/cumulusutils.exe ExtraSensors'' is enough to create the resulting ''extrasensorscharts.txt''
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.
==== Version 6.6.5 (14/10/2021) ====
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). '''This is only relevant if you are a new user of CMX and typically have less than a year of valid data.'''
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the ''CutilsCharts.def'' from the distribution.
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!<br/>
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!
==== Version 6.6.1 (12/10/2021) ====
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.
==== Version 6.6.0 (11/10/2021) ====
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).<br/>Changes to the configuration as always will require a non-thrifty run.
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.
#General: Fixed an issue with certificates (Let's Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 & 10). If you don't, don't worry: CumulusUtils will still work.
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won't be on it with Mono 5 and lower, all main functionality of CumulusUtils won't be touched.
==== Version 6.5.2 (16/9/2021) ====
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you're generating a website
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary
==== Version 6.5.1 (16/9/2021) ====
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code
#ChartsCompiler: The Free axis (dimensionless) now has the "ChartsId + dimensionless" as axis title such that the user can give his own description (and unit) through the translation
==== Version 6.5.0 (13/9/2021) ====
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2
==== Version 6.5.0 beta 3 (13/9/2021) ====
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime
==== Version 6.5.0 beta 2 (12/9/2021) ====
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer => corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. => corrected.
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY
==== Version 6.5.0 beta 1 (9/9/2021) ====
#AirLink: Clean-up AirLink logs can now be configured through parameter ''CleanupAirlinkLogs''. Only two months of data will be kept when clean-up is active.
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter ''CleanupExtraSensorslog''. Only two months of data will be kept when clean-up is active.
#ExtraSensors: Limited beta 1 release of ExtraSensors module.
==== Version 6.1.2 (2/9/2021) ====
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations
#Internal: Optimisation of AirlinkLog reader and Dayfile reader
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the ''Extra'' menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment.
Inifile parameters:
[ExtraSensors]
ExtraSensors=false
ParticipatesSensorCommunity=true
Of which ''ParticipatesSensorCommunity'' regulates the menu-item of the sensor.community map and ''ExtraSensors'' for the moment has no effect.
==== Version 6.1.1 (24/8/2021) ====
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.
==== Version 6.1.0 (23/8/2021) ====
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.
#All Charts: The chart container now has a General parameter: ''ChartContainerHeight=650'' giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of ''ChartContainerHeight'' (may be multiple in other sections) from the inifile.
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.
#RainCharts: StdDev range for the station average now can not become less then zero
#Maps Wiki: The & (ampersand) character is forbidden in the ''LocDesc'' parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt
#Inifle parameter: Changed the inifile ''section AirQuality'' to ''section AirLink''. You may want to rename the section to prevent reconfiguration of the AirLink.
#Language file: Changed the parameter ''AirQuality'' in the ''section Website'' to ''AirLink''. '''NOTE''': the '''section AirQuality''' in the language file remained the same because it is generic!
#Website: Added menu item Extra and moved ''AirLink'' (was: ''AirQuality'') to it. This in preparation for Extra Sensor handling
==== Version 6.0.1 (07/08/2021) ====
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user
#Dashboard: Added ''Feels Like'' to the Dew-Gauge
#ChartsCompiler: The ALL Plot variable ''WindSpeed'' has been modified to ''HighAvgWindSpeed'' to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the ''CutilsCharts.def'' (example in the distribution).
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the ''CutilsCharts.def''.
NOTE: ''gauges.js'' and ''language.js'' have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.
NOTE: the ''feels like'' text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions
==== Version 6.0.0 (21/07/2021) ====
#ChartsCompiler: Finalisation.
#Website: Added SolarHours to the Solar text panel
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)
==== Version 5.6.2 (25/06/2021) ====
#Misc Charts: Fixed bug in counting days in thermal season chart.
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)
#Misc Charts: Set the default for ''Thermal Seasons chart'' to false
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function
#ChartsCompiler: Added equations and charts to the CutilsCharts.def
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):
      Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]
      Avp Eval [ Humidity / 100 * Psat2008 ]
      AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]
==== Version 5.6.1 (17/06/2021) ====
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.
==== Version 5.6.0 (13/06/2021) ====
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.
Equations
  test1 EVAL [ Humidity/100 * 6.112 ]
  test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]
; Documentation:
; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html
; Compare the Dewpoint from Cumulus with a calculated approximation
; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station
; Nice comparison
;
Chart MyDewpoint Title Dewpoint Calculations in CDL
  Plot RECENT Dewpoint
  Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp
;  STATS Dewpoint SMA colour green
EndChart
Chart MyPressure Title Vapour pressure calculations in CDL
  Plot RECENT Pressure
  Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free
EndChart
==== Version 5.5.2 (06/06/2021) ====
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)
==== Version 5.5.1 (03/06/2021) ====
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet
#General: Provided for non-contiguous data series (missing years and/or months).
==== Version 5.5.0 (29/05/2021) ====
#Distribution: file ''CUabout.txt'' has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists
#Distribution: file ''CUlicense.txt'' has been removed and replaced by the file LICENSE (with identical content to the website menu choice)
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)
#Compiler: a PLOT variable may now have a non-keyword name but if so, it '''MUST''' be followed by an equation which contains a valid Plotvariable, if not an error is generated.
#Compiler: And if a PLOT has an Eval equation it '''MUST''' now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)
#Compiler: Added the function LN (being the natural logarithm of its argument)
#Compiler: Added the function EXP (being the power function with base ''e'')
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions '''NOTE: this must be seen as beta function''' as it is impossible to check all combinations of variables, operators and functions. I don't expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.
#Compiler: The SUM function can only be used once per chart
#Wiki: Updates conform development (please notify voids or unclarities)
'''NOTE:'''
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation.
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!
'''NOTE:'''
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.
Below you find three test charts as examples to show what is now possible (the full testset is as always in ''CutilsCharts-example.def'' in the distribution and viewable on my site):
  CHART DailyTemp TITLE Temp with statistics offset 5
    PLOT ALL AverageTemp colour pink
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays
    STATS AverageTemp SMA COLOUR crimson
  EndChart Output Statistics.txt
  CHART DailyRain TITLE Rain with statistics
    PLOT ALL RainFall colour CornflowerBlue as column
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free
    STATS RainFall SMA colour green
  EndChart
  Chart MyDewPoint Title Dewpoint calculations in CDL
    Plot all minBarometer
    Plot all maxBarometer
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure
  EndChart
==== Version 5.4.0 (21/05/2021)) ====
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable
#Compiler: Implementation of the SUM function for the EVAL keyword
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.
#Compiler: Elaboration of Error messages.
Example code for the EVAL and STATS keywords:
  CHART DailyRain TITLE Rain with statistics
    PLOT ALL RainFall colour CornflowerBlue as column
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free
    STATS RainFall SMA colour green
  EndChart OUTPUT Statistics.txt
Which results in:
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]
==== Version 5.3.8 (18/5/2021) ====
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.
'''Update is advised!'''
==== Version 5.3.7 (15/5/2021) ====
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year
#ChartsCompiler: added ''columnrange'' as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!
Example code for the ''ColumnRange'':
CHART DailyTemp TITLE Daily Temperature with ColumnRange
  PLOT DAILY AverageTemp colour green As ColumnRange
  PLOT DAILY AverageTemp colour black As spline
EndChart OUTPUT ColumnRange.txt
Which results in:
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]
==== Version 5.3.6 (06/05/2021) ====
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)
#ChartsCompiler: OUTPUT is now out of beta
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.
==== Version 5.3.5 (02/05/2021) ====
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)
#Charts: graphs which are switched off now not only won't be present in the menu but they won't be generated either (reduction of size of the output, time gain)
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)
==== Version 5.3.3 (27/04/2021) ====
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).
#Website: Added the Wiki-link to the About menu
#pwsFWII: Changed the reference for the scientific background to the Wiki
#FTP issue: ''lack of TLS session resumption support in FluenFTP''.
#The previous point led to a major overhaul of the FTP / Map situation:
# => no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the ''signature file''
# => everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)
# => For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP
# => Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context
==== version 5.3.0 (17/04/2021) ====
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.
#Several review quality modifications as a result of the writing of the Wiki.
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.
#Inet: Changed logging around the FTP connection for all protocols
#Enabled the Thrifty qualifier for individual module runs.
#AirQuality: removed the helpbutton text when used as a module.
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).
==== version 5.2.0 (08/04/2021) ====
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.
#Some minor bugs and typos.
==== version 5.1.2 (31/03/2021) ====
#Website: UserAskedData did not serve the AirQuality data under certain conditions
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)
==== version 5.1.1 (23/03/2021) ====
==== version 5.1.1 (23/03/2021) ====
# Website: Fixed a bug for double loading of the first chart
# Website: Fixed a bug for double loading of the first chart
Line 462: Line 1,214:
# Beta release WindRose. See Readme and release post.
# Beta release WindRose. See Readme and release post.


version 3.5.7 (16/5/2020)
==== version 3.5.7 (16/5/2020) ====
Manual: Correction on the handling of Norwegian forecast wrt hourly shift.  
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift.  
Language: Forgotten strings added (See at end of sections)
# Language: Forgotten strings added (See at end of sections)
Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.
Language: Modified gauges Language.js
# Language: Modified gauges Language.js


version 3.5.6 (13/5/2020)
==== version 3.5.6 (13/5/2020) ====
Language handling: correction for single quotes outside javascript.
# Language handling: correction for single quotes outside javascript.
Language handling: Dashboard now shows correct (according to language) decimal, time and date separators.  
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators.  
Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to ':' for everybody).
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to ':' for everybody).


==== version 3.5.5 (12/5/2020) ====
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.
# Bugfix: you can now use a single quote in a word in the translation system.


version 3.5.5 (12/5/2020)
==== version 3.5.4 (11/5/2020) ====
Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.
# Finalized the language handling of CumulusUtils. The two letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.
Bugfix: you can now use a single quote in a word in the translation system.


version 3.5.4 (11/5/2020)
==== version 3.5.4 (11/5/2020) ====
Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.
# Added the third and last phase of the translation system for CumulusUtils.


version 3.5.4 (11/5/2020)
==== version 3.5.3 (10/5/2020) ====
Added the third and last phase of the translation system for CumulusUtils.
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).
# Website: Sundisc has major corrections and will now work above (below) the polar circles.
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.
# README: Some corrections
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.


version 3.5.3 (10/5/2020)
==== version 3.5.0 (7/5/2020) ====
Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).
# Added the first phase of the translation system for CumulusUtils.
Website: Sundisc has major corrections and will now work above (below) the polar circles.
Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.
README: Some corrections
Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.


version 3.5.0 (7/5/2020)
==== version 3.4.1 (7/5/2020) ====
Added the first phase of the translation system for CumulusUtils.
# Changed the Cumulus Graphs (the opening graph) to accommodate 'Feels Like'.
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.


version 3.4.1 (7/5/2020)
==== version 3.4.0 (5/5/2020) ====
Changed the Cumulus Graphs (the opening graph) to accommodate 'Feels Like'.
# New module Forecast.
Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.


version 3.4.0 (5/5/2020)
==== version 3.3.9 (1/5/2020) ====
New module Forecast.
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.


version 3.3.9 (1/5/2020)
==== version 3.3.8 (30/4/2020) ====
Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is now correct.
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).


version 3.3.8 (30/4/2020)
==== version 3.3.7 (29/4/2020) ====
Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won't change though.
Graphs: bug fix for the reference lines for the total yearly rain: they now work.
# Synchronize displayed version number with the distribution.
Website: Color can now be set for the menu toggler (parameter: ColorToggler).


version 3.3.7 (29/4/2020)
==== version 3.3.6 (28/4/2020) ====
Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won't change though.
# Website Color iniparameter bugfix for Menu Background.  
Synchronize displayed version number with the distribution.


version 3.3.6 (28/4/2020)
==== version 3.3.5 (27/4/2020) ====
Website Color iniparameter bugfix for Menu Background.  
# Website Personalisation of colours now possible.  


version 3.3.5 (27/4/2020)
==== version 3.3.0 (25/4/2020) ====
Website Personalisation of colours now possible.  
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.
# Major update for the README concerning the graphs and the inifile  parameters.


version 3.3.0 (25/4/2020)
==== version 3.2.0 (23/4/2020) ====
Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.
# The moon had another bug.
Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.
# And there are 60 minutes in an hour, not 24
If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.
Major update for the README concerning the graphs and the inifile  parameters.


version 3.2.0 (23/4/2020)
==== version 3.1.1 (22/4/2020) ====
The moon had another bug.
# The moon now shows correctly on the Southern Hemisphere.
And there are 60 minutes in an hour, not 24
# Reference lines for Average rainfall are added to the daily rainfall graph.
Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.
# Changed the text Barometer to Pressure (see here)
# Website Gen. : Changed the menu layout a bit
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain.  


version 3.1.1 (22/4/2020)
==== version 3.1.0 (18/4/2020) ====
The moon now shows correctly on the Southern Hemisphere.
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.
Reference lines for Average rainfall are added to the daily rainfall graph.
# Added latitude, longitude and altitude information to the header.
Changed the text Barometer to Pressure (see here)
# Added a green LED indication station status to the left side of the menu bar.
Website Gen. : Changed the menu layout a bit
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.
Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain.
# Maps: entries are now required to have a website entry
# Known Issue:
# at startup some non-inhibiting errors appear in the console.
# ShowInsideMeasurement does work for the graphs, but not for the gauges


version 3.1.0 (18/4/2020)
==== version 3.0.6 (14/4/2020) ====
Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.
Added latitude, longitude and altitude information to the header.
Added a green LED indication station status to the left side of the menu bar.
Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.
Maps: entries are now required to have a website entry
Known Issue:
at startup some non-inhibiting errors appear in the console.
ShowInsideMeasurement does work for the graphs, but not for the gauges


version 3.0.6 (14/4/2020)
==== version 3.0.5 (13/4/2020) ====
Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.


version 3.0.5 (13/4/2020)
==== version 3.0.4 (13/4/2020) ====
Bug fix release to accommodate an issue with sync/async Ajax reads of the new cumuluscharts code.
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).
# Added 'Browser time' to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.
# Known issue: time of moonset is appr. One hr off when seen from west of UTC.  


version 3.0.4 (13/4/2020)
==== version 3.0.3 (11/4/2020) ====
cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.
Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.
Added 'Browser time' to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.
# Responsiveness is satisfactory now for the time being.
Known  issue: time of moonset is appr. One hr off when seen from west of UTC.  
# Maps show directly when clicked and to correct zoom level.
# About and License adjusted to wish of community (comment welcome).
# Known  issues:  
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.


version 3.0.3 (11/4/2020)
==== version 3.0.1 (8/4/2020) ====
Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!
Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.
# Known  issues:
Responsiveness is satisfactory now for the time being.
# the times are wrong in another timezone
Maps show directly when clicked and to correct zoom level.
# The moonphases do not show correct.
About and License adjusted to wish of community (comment welcome).
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.
Known  issues:
Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.


version 3.0.1 (8/4/2020)
==== version 3.0.0 (6/4/2020) ====
Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!
# Added the website generator. See the README for how to use that.
Known  issues:
# Added Wind Run to the records page
the times are wrong in another timezone
The moonphases do not show correct.
Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.


version 3.0.0 (6/4/2020)
==== version 2.4.6 (25/3/2020) ====
Added the website generator. See the README for how to use that.
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.
Added Wind Run to the records page
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won't be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.


version 2.4.6 (25/3/2020)
==== version 2.4.5 (16/3/2020) ====
Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.
Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:
The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).
# UseNormalTempReference
Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won't be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.
# UseNormalRainReference
WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.
# Please see section of ini-parameters
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.


version 2.4.5 (16/3/2020)
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====
Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)
Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:
UseNormalTempReference
UseNormalRainReference
Please see section of ini-parameters
Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.
NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.


Version 2.4.1 – 2.4.2 (12/3/2020)
==== version 2.4.0 (12/3/2020) ====
A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)
# Addition of the 'All' command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).
# Cleaned up the log generation from redundant entries.
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process).
# Added 'total yearly rain to date' as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.


version 2.4.0 (12/3/2020)
==== version 2.3.0 (8/3/2020) ====
Addition of the 'All' command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.
Cleaned up the log generation from redundant entries.
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.
Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process).  
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).
Added 'total yearly rain to date' as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.
# Started a climate graphing module.
Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.
# Implemented temperature HeatMap for Climate Graphs.
Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements). Comment is welcome.
All graphs have become optional with the possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.


version 2.3.0 (8/3/2020)
==== version 2.2.6 (5/3/2020) ====
YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.
# Corrected the relation between the header and the values for the wind measurements
DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).
Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).
Started a climate graphing module.
Implemented temperature HeatMap for Climate Graphs.
Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.


version 2.2.6 (5/3/2020)
==== version 2.2.5 (4/3/2020) ====
Corrected the relation between the header and the values for the wind measurements
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)
Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).
# Addition of Day Records module.


version 2.2.5 (4/3/2020)
==== version 2.2.2 (27/2/2020) ====
Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)
# Optimisation of records module
The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).
Addition of Day Records module.


version 2.2.2 (27/2/2020)
==== version 2.2.1 (27/2/2020) ====
Optimisation of records module
# Optimisation of records module
# Fixed a bug for display of month of March (all years)


version 2.2.1 (27/2/2020)
==== version 2.2.0 (25/2/2020) ====
Optimisation of records module
# Another minor legend correction in YADR
Fixed a bug for display of month of March (all years)
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).


version 2.2.0 (25/2/2020)
==== version 2.1.7 (28/1/2020) ====
Another minor legend correction in YADR
# Correction on 2.1.6 for different units in YADR
Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).


version 2.1.7 (28/1/2020)
==== version 2.1.6 (28/1/2020) ====
Correction on 2.1.6 for different units in YADR
# Corrected the README where necessary
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.
# YADR: changed wind value format to one (1) decimal accuracy
# YADR: changed humidity values to zero (0) decimal accuracy
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.


version 2.1.6 (28/1/2020)
==== version 2.1.0 (22/1/2020) ====
Corrected the README where necessary
# Maps: Technical correction concerning refresh of station
Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.
# Reading Dayfile: Complete overhaul and creation of internal datalist
YADR: changed wind value format to one (1) decimal accuracy
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)
YADR: changed humidity values to zero (0) decimal accuracy
# YADR: Correction for legend of Humidity and Pression
YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)
YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).
# Top10: Corrected an error in the output table and at the same time slightly modified the <Style>
Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.


version 2.1.0 (22/1/2020)
==== version 2.0.3 (5/1/2020) ====
Maps: Technical correction concerning refresh of station
# Some code optimisation
Reading Dayfile: Complete overhaul and creation of internal datalist
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0
Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.
YADR: Correction for legend of Humidity and Pression
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header
Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).
Top10: Corrected an error in the output table and at the same time slightly modified the <Style>
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)


version 2.0.3 (5/1/2020)
==== version 2.0.2 (5/12/2019) ====
Some code optimisation
# Yadr: Corrected the colour key for rain table
Graphs: Daily rain graph now has right Y-axis cross x-axis at 0
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope).  
pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.
pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header
YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).
All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)


version 2.0.2 (5/12/2019)
==== version 2.0.1 (2/12/2019) ====
Yadr: Corrected the colour key for rain table
# Yadr: some bug fixes, removed the reference to Yadr.css
Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope).  
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.
# Yadr: Added Humidity.
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.


version 2.0.1 (2/12/2019)
==== version 2.0.0 (29/11/2019) ====
Yadr: some bug fixes, removed the reference to Yadr.css
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)
Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.
Yadr: Added Humidity.
Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.
Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.


version 2.0.0 (29/11/2019)
==== version 1.9.7 (21/11/2019) ====
Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)
# Addition of Internal FTP upload. Read the README for explanation
# Fix for kocher (intermediate version 1.9.6).


version 1.9.7 (21/11/2019)
==== version 1.9.5 (18/11/2019) ====
Addition of Internal FTP upload. Read the README for explanation
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)
Fix for kocher (intermediate version 1.9.6).
# Code optimisation and error handling changes.


version 1.9.5 (18/11/2019)
==== version 1.9.4 (17/11/2019) ====
Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.
Code optimisation and error handling changes.
# Optimized the XML/Linq code.
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.


version 1.9.4 (17/11/2019)
==== version 1.9.3 (16/11/2019) ====
Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.
Optimized the XML/Linq code.  
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.
Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.
# Maps: Website entry for the popup is created in cumulusutils.ini
Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.


version 1.9.3 (16/11/2019)
==== version 1.9.2 (15/11/2019) ====
Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.
# Maps: bug fix: now all stations show on map, not just the first one.
pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.
# pwsFWI: credit for the prediction must be in the correct <div>
Maps: Website entry for the popup is created in cumulusutils.ini


version 1.9.2 (15/11/2019)
==== version 1.9.0 (15/11/2019) ====
Maps: bug fix: now all stations show on map, not just the first one.
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).
pwsFWI: credit for the prediction must be in the correct <div>
# Introduction of module Maps.


version 1.9.0 (15/11/2019)
==== version 1.8.4 (5/11/2019) ====
pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.
Introduction of module Maps.


version 1.8.4 (5/11/2019)
==== version 1.8.3 (2/11/2019) ====
pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.


version 1.8.3 (2/11/2019)
==== version 1.8.2 (2/11/2019) ====
Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.
The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.


version 1.8.2 (2/11/2019)
==== version 1.8.1 (31/10/2019) ====
Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)
This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)


version 1.8.1 (31/10/2019)
==== version 1.8.0 (30/10/2019) ====
Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.
The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)
# In Graphs, the Go button has been moved to the right side of the graph selector.
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it.


version 1.8.0 (30/10/2019)
==== version 1.7.2 (27/10/2019) ====
Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.
In Graphs, the Go button has been moved to the right side of the graph selector.
In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.
pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it.  


version 1.7.2 (27/10/2019)
==== version 1.7.1 (25/10/2019) ====
In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it's colours will be hard coded and no users interference can be made.
# NOTE: comments are allowed in the inifile: first character on the line must be ";". Empty lines remain as does a sorting done by the user.


version 1.7.1 (25/10/2019)
==== version 1.7.0 (22/10/2019) ====
Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;
# The Normal series in the Graphs now always have the colour black;
Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;
The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it's colours will be hard coded and no users interference can be made.
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;
NOTE: comments are allowed in the inifile: first character on the line must be ";". Empty lines remain as does a sorting done by the user.
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula's are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.


version 1.7.0 (22/10/2019)
==== version 1.6.7 (19/10/2019) ====
The Normal series in the Graphs now always have the colour black;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.
All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;
# The 'Normal' values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.
The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;
Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;
Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula's are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.


version 1.6.7 (19/10/2019)
==== version 1.6.5 (18/10/2019) ====
My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.
# Formal release of the Graphs module.
The 'Normal' values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.
# Added ini parameter for MovingAveragePeriod (default 180)
# Changed title of graph Daily Rainfall and added period to x-axis title;
# Changed some minor things in layout of graphs;
# Added new graph: rain per month (With Normal Value line);
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.


version 1.6.5 (18/10/2019)
==== version 1.6.2 (16/10/2019) ====
Formal release of the Graphs module.
# Bug fix for the position of the credits under the pwsFWI and top10 tables;
Added ini parameter for MovingAveragePeriod (default 180)
# Some minor spaces/CSS fixes;
Changed title of graph Daily Rainfall and added period to x-axis title;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;
Changed some minor things in layout of graphs;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.
Added new graph: rain per month (With Normal Value line);
# Added the Monthly Temperature graph. See above.
Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.


version 1.6.2 (16/10/2019)
==== version 1.6.0 (14/10/2019) ====
Bug fix for the position of the credits under the pwsFWI and top10 tables;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.
Some minor spaces/CSS fixes;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter 'graphs'). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.
Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;
Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.
Added the Monthly Temperature graph. See above.


version 1.6.0 (14/10/2019)
==== version 1.5.1 (12/10/2019) ====
Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;
As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter 'graphs'). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.


version 1.5.1 (12/10/2019)
==== version 1.5.0 (9/10/2019) ====
Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.
Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: "Behaviour of pwsFWI with first rain").
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML <span>-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.


version 1.5.0 (9/10/2019)
==== version 1.0.1 (3/10/2019) ====
A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.
# In top10, unit 'percentage' has changed to '%'
Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.
The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: "Behaviour of pwsFWI with first rain").
For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML <span>-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).
All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.
Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.


version 1.0.1 (3/10/2019)
==== version 1.0.0 (30/9/2019) ====
In top10, unit 'percentage' has changed to '%'
# Good enough for version 1.0.0
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.
# Changed copyright notice / text under the tables.
# Fixed scaling when pwsFWI value surpassed value outside scale


version 1.0.0 (30/9/2019)
==== version 0.9.1 (26/9/2019) ====
Good enough for version 1.0.0
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).
The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.
# Closed a call on SysInfo: Windows 8 really needs to have its updates.
Changed copyright notice / text under the tables.
# Several minor bugfixed/tunings in the Beteljuice-format.
Fixed scaling when pwsFWI value surpassed value outside scale
# Code cleanup and minor fixes.


version 0.9.1 (26/9/2019)
==== version 0.9.0 (24/9/2019) ====
Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again).  
Closed a call on SysInfo: Windows 8 really needs to have its updates.
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!
Several minor bugfixed/tunings in the Beteljuice-format.
Code cleanup and minor fixes.


version 0.9.0 (24/9/2019)
==== version 0.8.8 (22/9/2019) ====
Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again).  
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.
Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!
# Changed header of pwsFWI table: "Drought" was changed to "Consecutive days without rain"
# Ran spellchecker on this file


version 0.8.8 (22/9/2019)
==== version 0.8.7 (21/9/2019) ====
Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.
Changed header of pwsFWI table: "Drought" was changed to "Consecutive days without rain"
Ran spellchecker on this file


version 0.8.7 (21/9/2019)
==== version 0.8.6 (21/9/2019) ====
Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.


version 0.8.6 (21/9/2019)
==== version 0.8.5 (20/9/2019) ====
Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data.
# Dry period added to the pwsFWI table.
# Changed some table width.
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.
# Analysis possibility for pwsFWI. See above in functionality.
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, 'unknown' is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.


version 0.8.5 (20/9/2019)
==== version 0.7.5 (19/9/2019) ====
Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data.
# All dayfile's can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.
Dry period added to the pwsFWI table.
# Headers of the top10 table now include the unit of measurement
Changed some table width.
# Headers of the top10 table now can be translated via the cumulusutils.ini
Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.
# some corrections and code cleanup
The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.
Analysis possibility for pwsFWI. See above in functionality.
SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, 'unknown' is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.


version 0.7.5 (19/9/2019)
==== version 0.7.0 (18/9/2019) ====
All dayfile's can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.
# Made a ReadMe
Headers of the top10 table now include the unit of measurement
# Finished the implementation of the ini-handling
Headers of the top10 table now can be translated via the cumulusutils.ini
# some corrections and code cleanup
some corrections and code cleanup


version 0.7.0 (18/9/2019)
==== version 0.6.5 (17/9/2019) ====
Made a ReadMe
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).
Finished the implementation of the ini-handling
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.
some corrections and code cleanup
# Minor changes everywhere. Cleaning up.


version 0.6.5 (17/9/2019)
==== version 0.6.0 (16/9/2019) ====
Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.
Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.
Minor changes everywhere. Cleaning up.


version 0.6.0 (16/9/2019)
==== version 0.5.3 (16/9/2019) ====
Added a System Info page for Unix/Linux. Run with command line parameter -ftp.
# Solved a technical problem in pwsFWI which had a big functional effect.
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.


version 0.5.3 (16/9/2019)
==== version 0.5.1 ====
Solved a technical problem in pwsFWI which had a big functional effect.
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.
Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there's a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.


version 0.5.1
[[Category:CumulusUtils]]
Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.
The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.
I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there's a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.

Navigation menu