diff --git a/README.md b/README.md index 96ad53a7cf56488ea552e14691ea7ac1ddcbbc57..dca3c0f69cb1cf4e0ab314d7b93b9bad443853f0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,98 @@ -# insel-8-3 +# INSEL 8.3 release notes -User feedback for INSEL 8.3 Alpha release. \ No newline at end of file +## Planned Timeline + +* Alpha release, 19th July 2021 +* Beta release, September 2021 +* Official release, October 2021 + +## What's new? + +* First release since 2014. +* First release without Jürgen :-( +* First release for macOs. +* Relatively easy to compile and package for Windows/Linux/macOs. When bugs are found and fixed, it shouldn't take too long to get a new installer. +* Split in two : INSEL Core & INSEL GUI. +* Cooperation between Concordia & HfT Stuttgart (Guillermo, Kai & Eric). +* Updated examples. +* Automated tests with Python. +* Many bugfixes. +* Probably many new bugs. :D + +### Blocks + +* Every block accepting coordinates (e.g. MTMLALO, GENGT, ...) is deprecated and has a new version (MTMLALO2, GENGT2, ...) using east-positive longitude and timezones. Stuttgart (48.77°N, 9.18°E, UTC+1) is now described with (48.77, 9.18, 1) instead of (48.77, -9.18, 23). +* Models with old coordinates automatically get converted to the new convention when opened in INSEL GUI. +* ROOT, GAIN, ATT, OFFSET, DELAYS, ABS, SQRT, EXP, NOP, CHS, ANINT, INT, FRAC now accept between 1 and 10 inputs. +* PLOTv2 is now the default PLOT block. +* Models with old PLOT blocks automatically get converted to PLOTv2 when opened in INSEL GUI. +* SCREEN block displays a nicer output (only 7 significant digits, no trailing zeroes, decimal points are aligned). +* Unused parameters for WRITE block have been deprecated, and it's now possible to define Header from GUI. +* Two new constants have been defined : NaN & Infinity. NaN can be useful in order to indicated missing data in plots. +* DIFF block has been added : it calculates `x - y` directly, removing the need to calculate `x + (-y)`. +* Finer defaults for GENGT2 (± 0.1 K deviation allowed instead of ± 2K for monthly average). +* GENGT had a bug since at least 2010: temperature generation had large deviations after the first year. Monthly averages were still mostly correct, though. +* EPS output format in PLOT Block. +* Contour drawing for 3D Plots. +* MTM2 has 8 outputs by default. +* Same name for MTM2 outputs and GENGT2 inputs. +* D18599 block has been added. + +### GUI +* "Show INSEL model" has a nicer output (no trailing zeroes). +* Default language is English. +* Default model size is 8x8. +* INSEL GUI now uses Java 15. +* New GUI themes (light/dark modes, high-contrast for accessibility, ...) +* New keyboard shortcuts: + * <kbd>Ctrl</kbd><kbd>R</kbd> to run a model + * <kbd>Ctrl</kbd><kbd>P</kbd> to pause a model + * <kbd>Ctrl</kbd><kbd>Z</kbd> to stop a model +* An experimental LIVECHART Block is available in the GUI. Data is displayed in real time. + +### INSEL Engine +* INSEL Core can use Fortran 90. +* Easier way to integrate and share userblocks (UB library files can have any name, e.g. `libInselAlice.dll`, `libInselBob.dll`). +* `libInselCommunity` has been created, and it contains useful user blocks from the community (e.g. `UBSTORAGE`, CHP blocks, ...). +* Source can have any filename (e.g. `ubstorage.cpp`) instead of `ub1234.cpp`. +* Function names can be called `ubstorage(...)` and not just `ub0001(...)`, in order to avoid conflicts. +* Can list every available block with `insel -b`. +* Can list the version of every module with `insel -v`. +* Possible to use underscores in constants : `C stuttgart_latitude 48.77` + +## Beta-testers: What to test? + +* Please backup every model before opening them in INSEL 8.3! +* Please backup userblock libraries if you have any. +* Please backup your palette folder. (`%AppData%\INSEL`) +* Please keep an INSEL 8.2 installer, just in case. +* Start INSEL 8.3 GUI. +* Rebuild the palette (Right-click > "Rebuild the palette..."). +* Old models should still be readable. +* Old PLOT blocks should be converted. +* Old coordinates should be converted. If they are defined via constants, please update constants manually. +* Can userblocks still be used? They probably need to get compiled again. +* Models shouldn't run slower than before. +* Please report any crash (with any `replay_*.log` and `hs_err_*.log` file you can find) (TODO: Where?). +* A gitlab project will be created in order to collect user-feedback. (TODO: Where?) + +## Known bugs + +* MTMUP somehow does not update MTM weather database. +* If variables are not properly initialized in blocks, they might be shared between simulation runs when run from the GUI. +* Text might not be readable in dark modes. +* Name and parameters for userblocks might not be displayed correctly. +* Underscores in filenames or function names might break documentation. +* Simulink blocks have not been tested for years, and might be broken. + +## What's next? + +* New GUI, based on Eclipse Sirius (with zoom / undo / web-interface / ...). +* Double-precision instead of single-precision floats. +* PVGIS Block (month as input, coordinates as parameters, monthly average irradiances and temperatures as output). +* SORT Block (n inputs, data is saved during simulation, sorted at the end according to the first input, and written to a file). +* READCSV Block. +* Updated Weather DB. +* Updated Photovoltaics DB. +* Upload install files to an official server (insel.eu?) +* Preparation for open-sourcing in the future.