Release Notes: Difference between revisions

m
(Headings and lists until 4.1.0)
(492 intermediate revisions by the same user not shown)
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 3 (06/04/24) ====
#Distribution: Removed ''CutilsMenu-example.txt'' from the distribution. This was the old config for menu System-1
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly
 
==== Version 7.0.0 public beta 2 (05/04/24) ====
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])
 
==== 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) ====
# Website: Fixed a bug for double loading of the first chart
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.
# # 1. Themes (included the principal default) added in distribution for the user to start modifying.
# # 2. Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.
# # 3. For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.
# # 4. Some changes in behaviour of the graphs for the default theme.
#
# PwsFWI: changed the color of the text Legend. It now obeys ColorReportviewText.
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening '['.
 
==== version 4.0.0 (29/7/2020) ====
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual.
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available.
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in 'Extra Webfiles' can be removed. It is now a module like any other.
# Website : The version information in the footer now shows information when a new CMX version is available.
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)
# Website/Home: Daily temperatures now are smooth lines.
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.
 
 
 
version 3.9.11 (26/7/2020)
Website: Modified colouring of the ReportView to accommodate the Dark Themes:
1. NOAA now have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)
2. To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData
3. To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key
4. The System Info now adheres to the ReportView background and text colours.
5. Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.
Map : A lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.
Checked against CMX 3.7.0 – minor glitches, no issues.
 
 
version 3.9.10 (22/7/2020)
Technical: Modification of the function for reading of XML data to counter a technical issue.
Technical: Preparation for version 3.7.0 of CMX.
Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.
Thrifty : If yesterday rain detected, graphs are always generated.
Thrifty : Finalised and perfected the logic.
General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.
General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).
 
 
version 3.9.7 (12/7/2020)
Website / All: First step - optimized the Thrifty logic.
Maps: Fixed bug in clean-up segment where an empty map was produced.
 
 
version 3.9.5 (4/7/2020)
Website: The HTML LANG now really contains the locale.
Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and only one station gets access to that file. Other stations wait at most 8 seconds, if they don't get the lock, the Map generation is abandoned for this run (and if that happens often, the user is advised to use a less occupied time slot).
Sysinfo: The report width is now configurable (Default is 700px)
Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That's it.
Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.
 
 
 
version 3.9.3 (27/6/2020)
SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.
Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.
Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView.
Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).
 
 
version 3.9.2 (23/6/2020)
Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!
Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)
 
 
version 3.9.1 (22/6/2020)
Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator).
Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup).
Graphs: Changed to the latest stable, made some minor corrections.
Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.
General: Fix for a possible interference with the Cumulus inifile read/write.
 
 
 
version 3.9.0 (20/6/2020)
WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.
Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).
Dashboard: Instead of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.
Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.
Manual: NOTE – just below the TOC – on performance during update because of WindRose.
General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.
Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.
if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge).
For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.
 
 
==== version 3.89.411 (1526/67/2020) ====
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:
YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.
## NOAA now have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key
## The System Info now adheres to the ReportView background and text colours.
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.
# Map : A lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.
# Checked against CMX 3.7.0 – minor glitches, no issues.
 
==== version 3.89.310 (1522/67/2020) ====
# Technical: Modification of the function for reading of XML data to counter a technical issue.
NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.
# Technical: Preparation for version 3.7.0 of CMX.
Dashboard: Moved UTC down in Clock section.
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.
WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.
# Thrifty : If yesterday rain detected, graphs are always generated.
Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.
# Thrifty : Finalised and perfected the logic.
Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set. You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.
DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).
DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).
YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.
Some code optimizations.
 
==== version 3.9.7 (12/7/2020) ====
# Website / All: First step - optimized the Thrifty logic.
# Maps: Fixed bug in clean-up segment where an empty map was produced.
 
==== version 3.89.25 (64/67/2020) ====
# Website: The HTML LANG now really contains the locale.
DayRecords: improved/corrected the Thrifty generation method.
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and only one station gets access to that file. Other stations wait at most 8 seconds, if they don't get the lock, the Map generation is abandoned for this run (and if that happens often, the user is advised to use a less occupied time slot).
Top10Records: improved/corrected the Thrifty generation method.
# Sysinfo: The report width is now configurable (Default is 700px)
Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That's it.
Some code optimizations.
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.
 
==== version 3.9.3 (27/6/2020) ====
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView.
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).
 
==== version 3.89.12 (423/6/2020) ====
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!
Records: improved/corrected the Thrifty generation method.
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)
Logging: improved messages.
General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!
General: Language must exist as gauges translation. If not CumulusUtils exits.
 
==== version 3.89.01 (0222/6/2020) ====
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator).
Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup).
# Graphs: Changed to the latest stable, made some minor corrections.
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.
# General: Fix for a possible interference with the Cumulus inifile read/write.
 
==== version 3.9.0 (20/6/2020) ====
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).
# Dashboard: Instead of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge).
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.
 
==== version 3.78.54 (0115/6/2020) ====
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.
Move log-directory to utils directory to prevent pollution of the CMX directory.
Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.
Manual: Updated the manual on the thrifty system general.
Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.
Manual: added the modifying parameter values for the gauges.
Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.
Thrifty: Yadr now only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).
Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).
Thrifty: Records is now only generated when a Yesterday record occurred.
Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.
Advise: For the website generator: run daily under Thrifty system.
pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.
 
==== version 3.78.3 (3015/56/2020) ====
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.
Dashboard: Added some configuration parameters for the gauges
# Dashboard: Moved UTC down in Clock section.
Thrifty system: fine tuned the top10 thrifty system
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.
Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.
Modified manual (I would appreciate feedback if erroneous or incomplete).
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set. You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.
# Some code optimizations.
 
Version==== version 3.78.2 (296/56/2020) – not public)====
# DayRecords: improved/corrected the Thrifty generation method.
Dashboard: Added some configuration parameters for the gauges
# Top10Records: improved/corrected the Thrifty generation method.
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)
# Some code optimizations.
 
==== version 3.78.1 (294/56/2020) ====
# Records: improved/corrected the Thrifty generation method.
pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.
# Logging: improved messages.
All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!
Dashboard: changing the appearance of the gauges should now work.
# General: Language must exist as gauges translation. If not CumulusUtils exits.
 
==== version 3.8.0 (02/6/2020) ====
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.
 
==== version 3.7.05 (2701/56/2020) ====
# Move log-directory to utils directory to prevent pollution of the CMX directory.
Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.
CheckOnly: increased performance by removing redundant writing to logfile. Now only markings and real error situations are logged.
# Manual: Updated the manual on the thrifty system general.
Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.
NOAA: Year selection through drop down now adjusts months selectable.
# Manual: added the modifying parameter values for the gauges.
Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.
# Thrifty: Yadr now only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).
# Thrifty: Records is now only generated when a Yesterday record occurred.
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.
# Advise: For the website generator: run daily under Thrifty system.
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.
 
==== version 3.67.93 (2530/5/2020) ====
# Dashboard: Added some configuration parameters for the gauges
Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)
# Thrifty system: fine tuned the top10 thrifty system
Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.
pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.
# Modified manual (I would appreciate feedback if erroneous or incomplete).
 
==== Version 3.67.82 (2429/5/2020)patchnot releasepublic) for debugging.====
# Dashboard: Added some configuration parameters for the gauges
 
==== version 3.6.7.1 (2429/5/2020) ====
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.
Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.
Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).
# Dashboard: changing the appearance of the gauges should now work.
Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is 'dirty'). Only Yesterday is checked so a daily run is assumed.
Thrifty: Under the Thrifty system, YADR only uploads the current year.
PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).
pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.
CheckOnly: Added Monthly Logs to the CheckOnly command.
 
==== version 3.67.60 (2227/5/2020) ====
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.
WindRose: the ZeroWind percentage is now shown for each period selected.
# CheckOnly: increased performance by removing redundant writing to logfile. Now only markings and real error situations are logged.
WindRose: added footer when used as module.
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.
Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)
# NOAA: Year selection through drop down now adjusts months selectable.
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.
 
==== version 3.6.9 (25/5/2020) ====
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.
 
version==== Version 3.6.58 (1924/5/2020) – patch release for debugging. ====
General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.
WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.
WindRose: Bugfix concerning the filelist of the monthly log files.
WindRose: changed the Y-scale from fractions to percentage.
Made some modifications to the manual for clarity.
Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.
 
==== version 3.6.7 (24/5/2020) ====
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is 'dirty'). Only Yesterday is checked so a daily run is assumed.
# Thrifty: Under the Thrifty system, YADR only uploads the current year.
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.
# CheckOnly: Added Monthly Logs to the CheckOnly command.
 
==== version 3.6.26 (1922/5/2020) ====
# WindRose: the ZeroWind percentage is now shown for each period selected.
WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.
# WindRose: added footer when used as module.
General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)
 
==== version 3.6.5 (19/5/2020) ====
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.
# WindRose: Bugfix concerning the filelist of the monthly log files.
# WindRose: changed the Y-scale from fractions to percentage.
# Made some modifications to the manual for clarity.
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.
 
==== version 3.6.12 (1819/5/2020) ====
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.
Maps: Added more exception handling to Maps, more specific for Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.
WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).
WindRose: Now the month of March is also displayed.
WindRose: Improved error handling and minor HTML correction.
Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).
 
==== version 3.6.1 (18/5/2020) ====
# Maps: Added more exception handling to Maps, more specific for Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).
# WindRose: Now the month of March is also displayed.
# WindRose: Improved error handling and minor HTML correction.
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).
 
==== version 3.6.0 (17/5/2020) ====
# DayRecords: Numbers changed from 2 decimal positions to one.
# ShowSolar=false now also removed the solar pane on the first dashboard.
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won't hurt)
# Beta release WindRose. See Readme and release post.
 
==== version 3.5.7 (16/5/2020) ====
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift.
# 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: Modified gauges Language.js
 
==== version 3.5.6 (13/5/2020) ====
# Language handling: correction for single quotes outside javascript.
# 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).
 
==== 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.54 (1211/5/2020) ====
Last# bitFinalized ofthe language handling: theof CumulusUtils. The two letter ISO language code isnow usedsets asthe language independent of the locale forof CumulsuUtilsthe andmachine forwhere HighChartsCumulus/CumulusUtils forruns. specificSee languagethe handlingmanual.
Bugfix: you can now use a single quote in a word in the translation system.
 
==== version 3.5.4 (11/5/2020) ====
# Added the third and last phase of the translation system for CumulusUtils.
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.
 
==== version 3.5.43 (1110/5/2020) ====
# Added the third and lastsecond 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.30 (107/5/2020) ====
# Added the secondfirst 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.54.01 (7/5/2020) ====
# Changed the Cumulus Graphs (the opening graph) to accommodate 'Feels Like'.
Added the first phase of the translation system for CumulusUtils.
# 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.10 (75/5/2020) ====
# New module Forecast.
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.43.09 (51/5/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.
New module Forecast.
 
==== version 3.3.98 (130/54/2020) ====
# Graphs: bug fix for Daily Rain graphs. Thethe 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 beennow implementedcorrect.
# 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.87 (3029/4/2020) ====
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won't change though.
Graphs: bug fix for the max Yearly Rain Y-scale value: the value is now correct.
# Synchronize displayed version number with the distribution.
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.76 (2928/4/2020) ====
# Website Color iniparameter bugfix for Menu Background.
Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won't change though.
Synchronize displayed version number with the distribution.
 
==== version 3.3.65 (2827/4/2020) ====
# Website Personalisation of colours now possible.
Website Color iniparameter bugfix for Menu Background.
 
==== version 3.3.50 (2725/4/2020) ====
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.
Website Personalisation of colours now possible.
# 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.32.0 (2523/4/2020) ====
# The moon had another bug.
Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.
# And there are 60 minutes in an hour, not 24
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.
# Graphs: implemented Temperature statistics per month. 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.21.01 (2322/4/2020) ====
# The moon hadnow shows correctly on the anotherSouthern bugHemisphere.
# Reference lines for Average rainfall are added to the daily rainfall graph.
And there are 60 minutes in an hour, not 24
# Changed the text Barometer to Pressure (see here)
Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.
# 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.10 (2218/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.
The moon now shows correctly on the Southern Hemisphere.
# Added latitude, longitude and altitude information to the header.
Reference lines for Average rainfall are added to the daily rainfall graph.
# Added a green LED indication station status to the left side of the menu bar.
Changed the text Barometer to Pressure (see here)
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.
Website Gen. : Changed the menu layout a bit
# Maps: entries are now required to have a website entry
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.
# 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.6 (1814/4/2020) ====
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.
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.
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.65 (1413/4/2020) ====
# Bug fix release to solveaccommodate an issue with includessync/async Ajax reads of jQuery,the Highchartsnew andcumuluscharts Leafletcode.
 
==== version 3.0.54 (13/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.
Bug fix release to accommodate an issue with sync/async Ajax reads of the new cumuluscharts code.
# 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.43 (1311/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.
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.
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.
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).
# Responsiveness is satisfactory now for the time being.
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.
# Maps show directly when clicked and to correct zoom level.
Known issue: time of moonset is appr. One hr off when seen from west of UTC.
# 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.31 (118/4/2020) ====
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!
Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.
# Known issues:
Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.
# the times are wrong in another timezone
Responsiveness is satisfactory now for the time being.
Maps# showThe directlymoonphases whendo clickednot and toshow correct zoom level.
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.
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.10 (86/4/2020) ====
# Added the website generator. See the README for how to use that.
Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!
# Added Wind Run to the records page
Known issues:
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 32.04.06 (625/43/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.
Added the website generator. See the README for how to use that.
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.
Added Wind Run to the records page
# 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.65 (2516/3/2020) ====
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.
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: 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:
Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.
# UseNormalTempReference
The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).
# UseNormalRainReference
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.
# Please see section of ini-parameters
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.
# 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==== Version 2.4.51 – 2.4.2 (1612/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)
Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.
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 –version 2.4.20 (12/3/2020) ====
# Addition of the 'All' command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).
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)
# 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.43.0 (128/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.
Addition of the 'All' command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.
Cleaned up the log generation from redundant entries.
# 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).
Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process).
# Started a climate graphing module.
Added 'total yearly rain to date' as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.
# Implemented temperature HeatMap for Climate Graphs.
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 Climate statistics on temperature and Rain (to be possibly modified and or expanded to other measurements). Comment is welcome.
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.32.06 (85/3/2020) ====
# Corrected the relation between the header and the values for the wind measurements
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.
# 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).
DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.
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.65 (54/3/2020) ====
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)
Corrected the relation between the header and the values for the wind measurements
# 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).
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).
# Addition of Day Records module.
 
==== version 2.2.52 (427/32/2020) ====
# Optimisation of records module
Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)
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.21 (27/2/2020) ====
# Optimisation of records module
# Fixed a bug for display of month of March (all years)
 
==== version 2.2.10 (2725/2/2020) ====
# Another minor legend correction in YADR
Optimisation of records module
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).
Fixed a bug for display of month of March (all years)
 
==== version 2.21.07 (2528/21/2020) ====
# Correction on 2.1.6 for different units in YADR
Another minor legend correction in YADR
Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).
 
==== version 2.1.76 (28/1/2020) ====
# Corrected the README where necessary
Correction on 2.1.6 for different units in YADR
# 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.60 (2822/1/2020) ====
# Maps: Technical correction concerning refresh of station
Corrected the README where necessary
# Reading Dayfile: Complete overhaul and creation of internal datalist
Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)
YADR: changed wind value format to one (1) decimal accuracy
# YADR: Correction for legend of Humidity and Pression
YADR: changed humidity values to zero (0) decimal accuracy
# 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 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: Corrected an error in the output table and at the same time slightly modified the <Style>
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.0.3 (225/1/2020) ====
# Some code optimisation
Maps: Technical correction concerning refresh of station
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0
Reading Dayfile: Complete overhaul and creation of internal datalist
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.
Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header
YADR: Correction for legend of Humidity and Pression
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).
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)
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)
Top10: Corrected an error in the output table and at the same time slightly modified the <Style>
 
==== version 2.0.32 (5/112/20202019) ====
# Yadr: Corrected the colour key for rain table
Some code optimisation
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope).
Graphs: Daily rain graph now has right Y-axis cross x-axis at 0
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.21 (52/12/2019) ====
# Yadr: some bug fixes, removed the reference to Yadr.css
Yadr: Corrected the colour key for rain table
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.
Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope).
# 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.10 (229/1211/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)
Yadr: some bug fixes, removed the reference to Yadr.css
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 21.09.07 (2921/11/2019) ====
# Addition of Internal FTP upload. Read the README for explanation
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)
# Fix for kocher (intermediate version 1.9.6).
 
==== version 1.9.75 (2118/11/2019) ====
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)
Addition of Internal FTP upload. Read the README for explanation
# Code optimisation and error handling changes.
Fix for kocher (intermediate version 1.9.6).
 
==== version 1.9.54 (1817/11/2019) ====
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.
Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)
# Optimized the XML/Linq code.
Code optimisation and error handling changes.
# 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.43 (1716/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: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.
Optimized the XML/Linq code.
# Maps: Website entry for the popup is created in cumulusutils.ini
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.32 (1615/11/2019) ====
# Maps: bug fix: now all stations show on map, not just the first one.
Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.
# pwsFWI: fixcredit for colourthe ofprediction themust pointerbe ofin 1.9.0the wascorrect refixed.<div>
Maps: Website entry for the popup is created in cumulusutils.ini
 
==== version 1.9.20 (15/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).
Maps: bug fix: now all stations show on map, not just the first one.
# Introduction of module Maps.
pwsFWI: credit for the prediction must be in the correct <div>
 
==== version 1.98.04 (155/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.
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).
Introduction of module Maps.
 
==== version 1.8.43 (52/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).
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.
# 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.32 (2/11/2019) ====
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.
Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).
# 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 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.21 (231/1110/2019) ====
# Graphs/pwsFWI: the degree symbol (again)before Celsius or Fahrenheit is now OKencoded 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)
# 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!)
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.10 (3130/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)
# In Graphs, the Go button has been moved to the right side of the graph selector.
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 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.87.02 (3027/10/2019) ====
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.
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 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.21 (2725/10/2019) ====
In# Initially in the Monthly TempRain and Monthly RainTemp graphs, theonly MaxNrOfSeriesVisibileInGraph, nowseries isare validshown. forThis theini-parameter mostdefaults recentto years2. isoIf you set it to a number greater than the firstnumber years.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.10 (2522/10/2019) ====
# The Normal series in the Graphs now always have the colour black;
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;
# 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;
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 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;
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.
# 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;
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.
# 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.76.07 (2219/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.
The Normal series in the Graphs now always have the colour black;
# 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.
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 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.75 (1918/10/2019) ====
# Formal release of the Graphs module.
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.
# Added ini parameter for MovingAveragePeriod (default 180)
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.
# 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.52 (1816/10/2019) ====
# Bug fix for the position of the credits under the pwsFWI and top10 tables;
Formal release of the Graphs module.
# Some minor spaces/CSS fixes;
Added ini parameter for MovingAveragePeriod (default 180)
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;
Changed title of graph Daily Rainfall and added period to x-axis title;
# 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.
Changed some minor things in layout of graphs;
# Added the Monthly Temperature graph. See above.
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.20 (1614/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.
Bug fix for the position of the credits under the pwsFWI and top10 tables;
# 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.
Some minor spaces/CSS fixes;
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.65.01 (1412/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;
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.
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.
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.
 
==== version 1.5.10 (129/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.
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;
# 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.
Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.
# 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.1 (93/10/2019) ====
# In top10, unit 'percentage' has changed to '%'
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.
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.10 (330/109/2019) ====
# Good enough for version 1.0.0
In top10, unit 'percentage' has changed to '%'
# 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.09.1 (3026/9/2019) ====
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).
Good enough for version 1.0.0
# Closed a call on SysInfo: Windows 8 really needs to have its updates.
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.
# Several minor bugfixed/tunings in the Beteljuice-format.
Changed copyright notice / text under the tables.
# Code cleanup and minor fixes.
Fixed scaling when pwsFWI value surpassed value outside scale
 
==== version 0.9.10 (2624/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).
Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).
# 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!
Closed a call on SysInfo: Windows 8 really needs to have its updates.
Several minor bugfixed/tunings in the Beteljuice-format.
Code cleanup and minor fixes.
 
==== version 0.98.08 (2422/9/2019) ====
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.
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).
# Changed header of pwsFWI table: "Drought" was changed to "Consecutive days without rain"
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!
# Ran spellchecker on this file
 
==== version 0.8.87 (2221/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: monthly rainfall did not show in top10 if the station was running ten or more months.
Changed header of pwsFWI table: "Drought" was changed to "Consecutive days without rain"
Ran spellchecker on this file
 
==== version 0.8.76 (21/9/2019) ====
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.
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.
 
==== version 0.8.65 (2120/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.
Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.
# 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.87.5 (2019/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.
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.
# Headers of the top10 table now include the unit of measurement
Dry period added to the pwsFWI table.
# Headers of the top10 table now can be translated via the cumulusutils.ini
Changed some table width.
# some corrections and code cleanup
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.7.50 (1918/9/2019) ====
# Made a ReadMe
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.
# Finished the implementation of the ini-handling
Headers of the top10 table now include the unit of measurement
# some corrections and code cleanup
Headers of the top10 table now can be translated via the cumulusutils.ini
some corrections and code cleanup
 
==== version 0.76.05 (1817/9/2019) ====
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).
Made a ReadMe
# 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.
Finished the implementation of the ini-handling
# Minor changes everywhere. Cleaning up.
some corrections and code cleanup
 
==== version 0.6.50 (1716/9/2019) ====
Completed# theAdded a System Info page which is now also available for Windows 10 (maybe also lowerUnix/Linux. versions,Run ifwith not,command letline meparameter know)-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.65.03 (16/9/2019) ====
# Solved a technical problem in pwsFWI which had a big functional effect.
Added a System Info page for Unix/Linux. Run with command line parameter -ftp.
# 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.31 (16/9/2019)====
# 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.
Solved a technical problem in pwsFWI which had a big functional effect.
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.
Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.
# 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.
 
[[Category:CumulusUtils]]
version 0.5.1
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.