inishell issueshttps://gitlabext.wsl.ch/snow-models/inishell/-/issues2022-07-06T22:32:53Zhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/893METEOPATH link getting lost2022-07-06T22:32:53ZMathias BavayMETEOPATH link getting lostIn some (admittedly weird) circumstances, the link between METEOPATH and STATION# is lost:
* in ~/.config/SLF/INIshell/inishell_config.xml, set last_panel_path to an invalid path (practically, this happens when the last remembered path...In some (admittedly weird) circumstances, the link between METEOPATH and STATION# is lost:
* in ~/.config/SLF/INIshell/inishell_config.xml, set last_panel_path to an invalid path (practically, this happens when the last remembered path was on a mounted drive that is not mounted anymore);
* open inishell, select meteoio application;
* in the [Input] section, select the CSV plugin. Select the METEOPATH field, do **not** enter anything in it;
* now select the SMET plugin;
* open the path selector for METEOPATH. It opens up at your CWD since the last remembered path is invalid;
* select a path different from CWD;
* now add a STATION key. Select a file -> it opens up a file selector at CWD instead of METEOPATH;
* moreover, when trying to build a relative path, it builds it relative to CWD instead of relative to METEOPATH, so the path+filename combination that will be generated (internally) in MeteoIO will be wrong
Of course, I found this when doing a demo... :-(
I guess that by selecting but not entering anything in METEOPATH for the CSV plugin we overwrite the *base_path_* variable with an empty string and somehow it never recovers from there...https://gitlabext.wsl.ch/snow-models/inishell/-/issues/892Passing special character file names to external programs fails2022-06-06T21:31:50ZMichael ReiseckerPassing special character file names to external programs failsFor example, if I select `testüng.ini` in a FilePath, then preview it, then context-click on "open in external editor" I get the following error due to character encodings:
> gio: file:///home/mir/Desktop/test%25C3%25BCng.ini: Error whe...For example, if I select `testüng.ini` in a FilePath, then preview it, then context-click on "open in external editor" I get the following error due to character encodings:
> gio: file:///home/mir/Desktop/test%25C3%25BCng.ini: Error when getting information for file “/home/mir/Desktop/test%C3%BCng.ini”: No such file or directory
See https://doc.qt.io/qt-5/qurl.html#ComponentFormattingOption-enumhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/891DEM Input Key for 2D-Interpolations is missing2022-05-18T23:30:11ZAltenbacDEM Input Key for 2D-Interpolations is missingThere is no option in INIshell Input to select the DEM-file necessary to use some 2D interpolations (which for example calculate slope and curvature). It has still to be edited manually in the Ini-File.There is no option in INIshell Input to select the DEM-file necessary to use some 2D interpolations (which for example calculate slope and curvature). It has still to be edited manually in the Ini-File.https://gitlabext.wsl.ch/snow-models/inishell/-/issues/890Configuration of VIRs in Inishell2022-06-23T15:49:54ZAltenbacConfiguration of VIRs in InishellThis Issue is an exhausted explanation of what I experienced trying to use Virtual Stations and what is missing or wrong with Inishell configurations.
I got VIRs running with manual modifications of the .io-File. I did this according to...This Issue is an exhausted explanation of what I experienced trying to use Virtual Stations and what is missing or wrong with Inishell configurations.
I got VIRs running with manual modifications of the .io-File. I did this according to the explanation found in the documentation:
https://models.slf.ch/docserver/meteoio/html/spatial_resampling.html
On this we can see that the commands should be in the [Input] section of the .io-File. However, if we set up a VIR-configuration with Inishell, one can see that the commands show up in the own [Input Editing] section of the .io-File. SNOWPACK is not recognizing this section and only starts running on the defined input meteo-stations, using the first .sno-files which were actually meant to be for the VIRs.
Example: I am using four stations and want to interpolate 10 VIRs in between. When I start SNOWPACK, it runs for the four stations, using the first four .sno-Files from the list of ten .sno-files, even if they were meant to be for the 10 VIRS. The VIRs do not get calculated at all.
Running the VIRs with manual editing of the .io-File works for me. Here is the attached section of the .io-File and how it is supposed to be looking when coming out of Inishell:
[INPUT]
...
RESAMPLING_STRATEGY = VSTATIONS
VIRTUAL_PARAMETERS = TA RH PSUM PSUM_PH ILWR P VW ISWR TSG RSWR TSS
VSTATION01 = latlon 46.81860666 9.836693151 1803
VSTATION02 = latlon 46.81730042 9.835261476 1801
VSTATION03 = latlon 46.81807001 9.833798598 1880
VSTATION04 = latlon 46.82153266 9.836398119 1909
VSTATION05 = latlon 46.82254657 9.8339609 2043
VSTATION06 = latlon 46.82146987 9.832020879 2069
VSTATION07 = latlon 46.81872706 9.835625947 1848
VSTATION08 = latlon 46.82021042 9.833028772 1966
VSTATION09 = latlon 46.81938632 9.83628006 1943
VSTATION10 = latlon 46.81915118 9.830371909 2036
VSTATIONS_REFRESH_RATE = 1800
SLOPE_FROM_SNO = TRUE
...
Also note the naming of the VIRs with numbers VSTATION**0**1 instead of VSTATION1, which I reported in an extra Issue.
I hope this explanation helps to adjust Inishell in order to easily use VIRs in the future.https://gitlabext.wsl.ch/snow-models/inishell/-/issues/889VIR Station order when using 10 or more VIRs2022-06-23T15:48:42ZAltenbacVIR Station order when using 10 or more VIRsWhen using more than 10 VIRs, Inishell puts them in order like this (just example):
VSTATION1 = latlon (46.81860666,9.836693151,1803)
VSTATION2 = latlon (46.81860666,9.836693151,1803)
VSTATION3 = latlon (46.81860666,9.836693151,1803)
...When using more than 10 VIRs, Inishell puts them in order like this (just example):
VSTATION1 = latlon (46.81860666,9.836693151,1803)
VSTATION2 = latlon (46.81860666,9.836693151,1803)
VSTATION3 = latlon (46.81860666,9.836693151,1803)
VSTATION4 = latlon (46.81860666,9.836693151,1803)
VSTATION5 = latlon (46.81860666,9.836693151,1803)
VSTATION6 = latlon (46.81860666,9.836693151,1803)
VSTATION7 = latlon (46.81860666,9.836693151,1803)
VSTATION8 = latlon (46.81860666,9.836693151,1803)
VSTATION9 = latlon (46.81860666,9.836693151,1803)
VSTATION10 = latlon (46.81860666,9.836693151,1803)
The issue with that is, that SNOWPACK then produces the forcings in the order 1, 10, 2, 3, 4 ... and so on.
Therefore it takes the information from the .sno-files incorrectly, as they`re still in the order 1, 2, 3, 4 ... 10.
I fixed it by changing the naming of the VSTATIONS to (always adding the 0 before the single digit count):
VSTATION01 = latlon (46.81860666,9.836693151,1803)
VSTATION02 = latlon (46.81860666,9.836693151,1803)
VSTATION03 = latlon (46.81860666,9.836693151,1803)
VSTATION04 = latlon (46.81860666,9.836693151,1803)
VSTATION05 = latlon (46.81860666,9.836693151,1803)
VSTATION06 = latlon (46.81860666,9.836693151,1803)
VSTATION07 = latlon (46.81860666,9.836693151,1803)
VSTATION08 = latlon (46.81860666,9.836693151,1803)
VSTATION09 = latlon (46.81860666,9.836693151,1803)
VSTATION10 = latlon (46.81860666,9.836693151,1803)
Maybe this can be implemented so working with multiple VIRs doesn`t mix up the linking between VIR and the according .sno-files.https://gitlabext.wsl.ch/snow-models/inishell/-/issues/888METADATA_FROM_SNO for Virtual Stations not selectable2022-04-21T08:29:23ZAltenbacMETADATA_FROM_SNO for Virtual Stations not selectableThe configuration METADATA_FROM_SNO = TRUE (or FALSE) is not selectable in Inishell when using Virtual Stations. This should be implemented, as otherwise manual configuration of the Ini-file is mandatory.The configuration METADATA_FROM_SNO = TRUE (or FALSE) is not selectable in Inishell when using Virtual Stations. This should be implemented, as otherwise manual configuration of the Ini-file is mandatory.https://gitlabext.wsl.ch/snow-models/inishell/-/issues/887Migration to QT62022-05-24T09:23:51ZMathias BavayMigration to QT6I've already committed several things that should deal with most of the qt6 compatibility. However, since qt5.13 the QtXmlPatterns class has been deprecated and it has been removed in Qt6. In the code, QAbstractMessageHandler is used to ...I've already committed several things that should deal with most of the qt6 compatibility. However, since qt5.13 the QtXmlPatterns class has been deprecated and it has been removed in Qt6. In the code, QAbstractMessageHandler is used to derive a class and QXmlSchema and QXmlSchemaValidator are used in the XMLReader class, in XMLReader::validateSchema().
If I understand correctly, all of this is "only" needed in order to offer schema validation, which we currently don't really do as our xsd is pretty much empty. So, it should be OK to just drop XMLReader::validateSchema() so we have no dependency to QtXmlPatterns anymore, at a latter stage populate the xsd and rely on external tools for schema validation?Mathias BavayMathias Bavayhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/886Syntax for CSVn_EXCLUDE_LINES cumbersome2022-01-19T16:10:32ZFierzSyntax for CSVn_EXCLUDE_LINES cumbersomeThe help window states, "_Exclude a comma delimited list of line ranges (line numbers separated by ' - ') such as 456 - 468 or individual lines._"
While it becomes clear that a space is needed in the range, it is less so regarding the sp...The help window states, "_Exclude a comma delimited list of line ranges (line numbers separated by ' - ') such as 456 - 468 or individual lines._"
While it becomes clear that a space is needed in the range, it is less so regarding the spaces after a comma. I tried to enter first _7 - 10, 12 - 15, 18 - 21, 23 - 26, 28 - 31, 34 - 37_, which validated. However, when I continued with a comma, a and then pasted _11723 - 11726, 11734 - 11737, 11739 - 11742, 11744 - 11747, 11749 - 11752, 11754 - 11757_, the string was no longer valid. Pasting the two strings concatenated beforehand worked in the end.
_Note_: in INIshell the final string is shown without spaces after the comma while it is space-separated in the INI-file. But such an INI-file is correctly read in.Mathias BavayMathias Bavayhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/885Specific station settings2022-06-06T21:39:24ZFierzSpecific station settingsIf one clicks on _show station specific settings_ for station N, CSVN_Delimiter and CSVN_NR_HEADERS have default values set ![Screenshot_2022-01-18_at_11.52CET](/uploads/f55e810f952bf0ecb418341d2077a28b/Screenshot_2022-01-18_at_11.52CET....If one clicks on _show station specific settings_ for station N, CSVN_Delimiter and CSVN_NR_HEADERS have default values set ![Screenshot_2022-01-18_at_11.52CET](/uploads/f55e810f952bf0ecb418341d2077a28b/Screenshot_2022-01-18_at_11.52CET.png), which may escape the attention of the user. If the settings section is not hidden again, these values will be written to the INI-files, leading to problems if the global settings are different.
Moreover, if the user _wants_ to set specific settings, the section **must** be open to be written to the INI-file. This is unexpected indeed.Michael ReiseckerMichael Reiseckerhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/884Interface translation by CMake2021-12-15T20:24:07ZMichael ReiseckerInterface translation by CMakeWith a fresh clone, compilation through CMake will currently fail.
Previously, qmake handled auto-generating the language files (.qm files from .ts files) by calling the appropriate Qt tool.
In CMake this might be a bit tricky because ...With a fresh clone, compilation through CMake will currently fail.
Previously, qmake handled auto-generating the language files (.qm files from .ts files) by calling the appropriate Qt tool.
In CMake this might be a bit tricky because apparently it is not the same on all systems. I vaguely remember reading about this not being straight-forward to guarantee it on all systems (at least back then). But maybe this is a non-issue.
Simple solution for now: remove *.qm from gitignore, add it to the repo (after having qmake generate it) and update it manually (or via a simplified qmake file) each time after translating some stuff.
For the future: have CMake find the proper language tool. This would then be as intended, because a dedicated translator could work on the .ts file (with Qt Linguist e. g.) and have nothing to do with compiling.
(Also the README needs updating)https://gitlabext.wsl.ch/snow-models/inishell/-/issues/883Offer files previews2022-06-06T21:37:15ZMathias BavayOffer files previewsIt would be nice to be able to give a preview of data files declared in Inishell (for example, first 200 lines). This would be useful when declaring something like _STATION1 = great_data.csv_ in order to see the headers and get a quick i...It would be nice to be able to give a preview of data files declared in Inishell (for example, first 200 lines). This would be useful when declaring something like _STATION1 = great_data.csv_ in order to see the headers and get a quick idea of the file structure, all within Inishell.
This would require an additional (possibly optional) button next to the file selector that would open a new window showing the first _n_ lines of the file (_n_ being hard coded) with line numbering but no additional widgets (no support for file editing or other fancy stuff). Possibly, showing invisible characters would be a great bonus (to see that CR LF are used for end of lines for example).Michael ReiseckerMichael Reiseckerhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/882Section tooltips2021-06-05T21:20:44ZMichael ReiseckerSection tooltipsSections could accept a `<help>` node like everything else and show that as a tooltip for its tab.Sections could accept a `<help>` node like everything else and show that as a tooltip for its tab.https://gitlabext.wsl.ch/snow-models/inishell/-/issues/881Unify GUI and Workflow panels2022-06-16T15:04:09ZMichael ReiseckerUnify GUI and Workflow panelsNow that XMLs can be built anywhere, it should be investigated if the Workflow could meaningfully utilize the main panel parser.
The other way around, Inishell could then be a full canvas describing experiments where for example buttons ...Now that XMLs can be built anywhere, it should be investigated if the Workflow could meaningfully utilize the main panel parser.
The other way around, Inishell could then be a full canvas describing experiments where for example buttons to run the experiments could be integrated within the main text describing a simulation.https://gitlabext.wsl.ch/snow-models/inishell/-/issues/880Allow multi-language help texts2022-06-27T20:00:43ZMichael ReiseckerAllow multi-language help textsIn the future there may be efforts to utilize that we can easily parse our XMLs for help texts and feed them through e. g. DeepL.
Maybe check the set language string of Inishell (e. g. "de") and then display <help_de> if available?In the future there may be efforts to utilize that we can easily parse our XMLs for help texts and feed them through e. g. DeepL.
Maybe check the set language string of Inishell (e. g. "de") and then display <help_de> if available?Michael ReiseckerMichael Reiseckerhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/879Help system overhaul2022-06-27T20:00:43ZMichael ReiseckerHelp system overhaulRevisiting the help files (user guide and developer help) is overdue and now luckily a few hours are available.
- [x] New text panel tailored to showing Inishell syntax
- [x] XML syntax highlighting
- [x] New panel to show images
- [ ] ...Revisiting the help files (user guide and developer help) is overdue and now luckily a few hours are available.
- [x] New text panel tailored to showing Inishell syntax
- [x] XML syntax highlighting
- [x] New panel to show images
- [ ] User guide
- [ ] Describe new features and appearance
- [ ] Clarify workflow
- [ ] Dev help
- [x] Table of content
- [ ] Uniform description of panels with options
- [ ] Copyable code snippets
- [x] Symbol table
- [x] Solarized color pickerhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/878Pick a filename relative to METEOPATH in the MeteoIO application2022-06-23T17:38:02ZMathias BavayPick a filename relative to METEOPATH in the MeteoIO applicationWhen a METEOPATH is set in MeteoIO, it is not possible to select a relative path for a file compared to METEOPATH. So a file in a subdirectory of METEOPATH will set its STATION# to {filename} instead of {relative-path/filename}... In ord...When a METEOPATH is set in MeteoIO, it is not possible to select a relative path for a file compared to METEOPATH. So a file in a subdirectory of METEOPATH will set its STATION# to {filename} instead of {relative-path/filename}... In order to make it work properly, it would need a way to express the relationship between METEOPATH and STATION# in the xml file so a relative path could be returned by the file selector.Michael ReiseckerMichael Reiseckerhttps://gitlabext.wsl.ch/snow-models/inishell/-/issues/877no possibility to revert to default2022-07-07T15:44:21ZMathias Bavayno possibility to revert to defaultOnce a value has been entered in a field, it is not possible to revert back to the default value (ie have the key being skipped in the generated ini file).Once a value has been entered in a field, it is not possible to revert back to the default value (ie have the key being skipped in the generated ini file).https://gitlabext.wsl.ch/snow-models/inishell/-/issues/876Numeric INI values are sometimes not displayed correctly2023-09-21T20:14:26ZMichael ReiseckerNumeric INI values are sometimes not displayed correctlyCurrently on my computer there is a bug where in some circumstances numbers coming from an INI file are not displayed correctly. This is very bad, because e. g. a MIN filter with minimum = 0 does not work.
The reason is a culmination of...Currently on my computer there is a bug where in some circumstances numbers coming from an INI file are not displayed correctly. This is very bad, because e. g. a MIN filter with minimum = 0 does not work.
The reason is a culmination of annoyances we unfortunately have little control over:
1) The whole thing with a QSpinBox not supporting empty values, but we have to support them. Now we hide the value by setting the font color to the background color, but this is a hack and needs to be handled with care.
2) Since the font color is a matter of stylesheets, this is inherently problematic. Within submodules we need to apply them from "outside" with a tiny delay, see e. g. [Number.cc@514](https://gitlabext.wsl.ch/snow-models/inishell/-/blob/v2.0.6/src/panels/Number.cc#L514). Otherwise the change is just not registered. For me here increasing this to 3 ms solves the bug but obviously this can not be the right way. Will try to commit a minimal effort hotfix though when the new repo is open. (`qApp.processEvents()` instead of the timer does not help.)
3) If a QSpinBox is set to the same value it already displays, no "changed" signal is emitted, so in this case (an INI delivers the same value as currently displayed) we need to trigger the signal manually. This in itself is not really a problem, but it convolutes the whole thing with more special cases. Since a QSpinBox must have a number set, this can also apply to hidden values.
The question now is if there is a better way for all of this...https://gitlabext.wsl.ch/snow-models/inishell/-/issues/875Bad cursor behavior2023-09-12T11:55:38ZMathias BavayBad cursor behaviorIn some fields (input of numbers as well as TextEdit widgets), the cursor often jumps back to the beginning of the input field, making data entry difficult and error prone. This does not happen if the field is empty.
This has been seen ...In some fields (input of numbers as well as TextEdit widgets), the cursor often jumps back to the beginning of the input field, making data entry difficult and error prone. This does not happen if the field is empty.
This has been seen on Linux as well as MacOS.https://gitlabext.wsl.ch/snow-models/inishell/-/issues/874Better handling of coordinates2021-12-06T20:26:49ZMathias BavayBetter handling of coordinatesCurently, if there is a regex in the XML to validate coordinates, the globe symbols does not get displayed (it either validates text filed for coordinates or for provided regexp, not both). But removing a validation regexp means there is...Curently, if there is a regex in the XML to validate coordinates, the globe symbols does not get displayed (it either validates text filed for coordinates or for provided regexp, not both). But removing a validation regexp means there is no negative feedback if the user provide something more or less random.
Ideally, we would have a new property ""coordinates=TRUE"" in the XML that would allow Inishell to automatically validate the input and either shows invalid entry or globe...