Most common problems
Missing weather data on PVGIS server
SimStadt: 0.10.0-SNAPSHOT (master, rev. 6d7c707, 20230828)
java.io.UncheckedIOException: java.io.FileNotFoundException: https://re.jrc.ec.europa.eu/api/v5_1/MRcalc?lat=49.98975&lon=8.45495&horirrad=1&avtemp=1&outputformat=csv
PVGIS has been updated in September 2024, and doesn't offer data for v5.1 anymore. Old versions of SimStadt try to download data from PVGIS over the old API, and the server doesn't return any data.
SimStadt has been updated to use the new 5.3 API. You can download the last version here.
Wrong Java version
Launching: java -d64 -classpath lib/*:workflows/* -Xms512m -Xmx2g -Djava.util.logging.config.file=logging.properties eu.simstadt.desktop.SimStadtApp
Unrecognized option: -d64
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
SimStadt requires Java 8. See here.
SimStadt might be ported to newer Java versions in the future.
Missing JavaFX
Launching: java -d64 -classpath lib/*:workflows/* -Xms512m -Xmx2g -Djava.util.logging.config.file=logging.properties eu.simstadt.desktop.SimStadtApp
Error: Could not find or load main class eu.simstadt.desktop.SimStadtApp
SimStadt requires JavaFX libraries. See here.
32-bit Java
Error: This Java instance does not support a 64-bit JVM.
This error message means that the installed Java version is 32-bit, but SimStadt requires 64-bit Java. See here.
Negative thermal boundary area above ground
======================== Summary ========================
Excluded 2 buildings from processing (reason: Negative thermal boundary area above ground.)
================ Excluded buildings lists ===============
Excluded 2 buildings from processing (reason: Negative thermal boundary area above ground.)
# GML ID [-];Volume [m3];Footprint area [m2];X [m];Y [m];Original ID
_Oberstadt4736_BD.3hed4aOE5j7UIYdXDgpD;2941.75;591.29;447818.78700;5536496.37450;-
_Oberstadt4736_BD.wX8nkPR3sRSdqyVQfXHW;976.95;231.12;447725.63500;5536501.52650;-
This error was due to a buggy implementation in older versions. Many buildings were discarded from the simulation.
Updating to a newer version (September 2020) should help solve the problem.
Envelope missing
SimStadt: development version (2020-12-15)
java.lang.UnsupportedOperationException: Envelope missing in City GML model or it has no SRS name!
at eu.simstadt.geo.GeoCoordinatesAccessor.<init>(GeoCoordinatesAccessor.java:124)
at eu.simstadt.geo.GeoCoordinatesAccessor.coordinatesComputedFromBuildingsIfNeeded(GeoCoordinatesAccessor.java:68)
at eu.simstadt.datamodel.SimStadtModel.coordinatesComputedFromBuildingsIfNeeded(SimStadtModel.java:82)
...
The coordinate reference system should be defined at the beginning of the CityGML file. For example:
<gml:boundedBy>
<gml:Envelope srsName="EPSG:25832" srsDimension="3">
<gml:lowerCorner>512665.134 5403112.331 254.0</gml:lowerCorner>
<gml:upperCorner>512698.044 5403161.657 265.315</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
Unknown srsName format
SimStadt: development version (2020-12-15)
java.lang.IllegalArgumentException: Unknown srsName format: IncorrectCRS:1234567
at eu.simstadt.geo.GeoUtils.crsFromSrsName(GeoUtils.java:94)
at eu.simstadt.geo.GeoCoordinatesAccessor.<init>(GeoCoordinatesAccessor.java:97)
at eu.simstadt.geo.GeoCoordinatesAccessor.coordinatesComputedFromBuildingsIfNeeded(GeoCoordinatesAccessor.java:55)
at eu.simstadt.datamodel.SimStadtModel.coordinatesComputedFromBuildingsIfNeeded(SimStadtModel.java:82)
...
This error happens if the CityGML model contains an envelope, but with an incorrectly defined coordinate reference system.
The simplest format is "EPSG:" followed by a valid id:
"ESPG:31467"
for DHDN / 3-degree Gauss-Kruger zone 3"EPSG:32640"
for WGS 84 / UTM zone 40N"EPSG:32118"
for NAD83 / New York Long Island- ...
Incorrect EPSG id
Even if the envelope is correctly defined, with an existing coordinate reference system, the model might still not be correctly georeferenced.
For example, merely taking a German 3D model (e.g. with EPSG:31467
) and replacing the EPSG id with ESPSG:32740
(UTM 40 S, for La Réunion) will not break the CityGML model. SimStadt will happily start the simulation, but with a 3D model located very far away from either Germany or La Réunion.
With some luck, some exception will occur (java.lang.IllegalArgumentException: Monthly weather values don't seem to be plausible for this location. Cannot generate hourly values.
) so that at least it should be clear that there is a problem somewhere.
But if you have changed the EPSG id and the simulation completes without exception, it might be worth it to look at the log in the console, searching for suspicious information:
INFORMATION: Nearest weather station in INSELDB is 'Perth / Australia' (2421,4 km).
or
INFORMATION: Nearest weather station in INSELDB is 'Hami / China' (27,4 km).
In that case, the coordinates would need to be transformed too, according to the EPSG ids.
RegionChooser could be helpful for debugging.
Empty CSV file
If Heat Demand Analysis runs until the last workflowstep, it means that:
- the geometry is correct
- the model is georeferenced
- weather data has been found for this location.
Still, the output CSV file can be empty.
Missing year of construction
If the log file looks like:
======================== Summary ========================
Excluded 927 buildings from processing (reason: Missing year of construction)
================ Excluded buildings lists ===============
Excluded 927 buildings from processing (reason: Missing year of construction)
# GML ID [-];Volume [m3];Footprint area [m2];X [m];Y [m];Original ID
UUID_Building_733_689925_217494;50,80;16,93;340217,93641;7689037,27931;-
UUID_Building_767_561812_246917;302,66;100,89;340369,43699;7688845,44421;-
...
The buildings with missing "yearOfConstruction" are filtered out in Physics Preprocessor.
Make backups!
Feel free to modify the CityGML in a text editor, but please be sure to have backups of your data before you start.
A quick-and-dirty way to add a "yearOfConstruction" attribute to buildings (e.g. 2003) is to open the CityGML file in a text-editor, and replace all occurrences of:
<bldg:lod2Solid>
with
<bldg:yearOfConstruction>2003</bldg:yearOfConstruction><bldg:lod2Solid>
and
<bldg:lod1Solid>
with
<bldg:yearOfConstruction>2003</bldg:yearOfConstruction><bldg:lod1Solid>
Once done, every building inside the CityGML file should have a year of construction of 2003.
For more complex examples, inject_citygml_attributes.py
or FME could be used.
Missing building function
If yearOfConstruction is defined for each building, Usage Preprocessor might still filters some building out if they do not have a building function (e.g. "residential" or "office"). See Usage Library Editor and AlkisCode.
======================== Summary ========================
Excluded 934 buildings from processing (reason: Missing building function)
================ Excluded buildings lists ===============
Excluded 934 buildings from processing (reason: Missing building function)
# GML ID [-];Volume [m3];Footprint area [m2];X [m];Y [m];Original ID
UUID_Building_236_9383_293477;182,55;60,85;340358,82959;7688757,69115;-
UUID_Building_79_855748_199796;2433,61;270,40;339737,98619;7688615,64091;-
...
It is possible to either define <bldg:function>1010</bldg:function>
attribute in the CityGML file for the corresponding buildings, or simply select "Assume residential if unknown?" in Usage Preprocessor.
For more complex examples, inject_citygml_attributes.py
or FME could be used.
Heat Demand Analysis should be able to complete the simulation with this information.
Unknown ALKIS code
Even if a building function (e.g. 31001_1000
) is defined inside the CityGML model, it might be unknown to SimStadt or Usage Library Editor.
======================== Summary ========================
Excluded 1 buildings from processing (reason: Unknown ALKIS code: 31001_3000.)
Excluded 26 buildings from processing (reason: Unknown ALKIS code: 31001_2000.)
Excluded 5 buildings from processing (reason: Unknown ALKIS code: 31001_9998.)
Excluded 1 buildings from processing (reason: Unknown ALKIS code: 31001_3020.)
Excluded 46 buildings from processing (reason: Unknown ALKIS code: 31001_1000.)
Excluded 1 buildings from processing (reason: Unknown ALKIS code: 31001_3041.)
================ Excluded buildings lists ===============
Excluded 1 buildings from processing (reason: Unknown ALKIS code: 31001_3000.)
# GML ID [-];Volume [m3];Footprint area [m2];X [m];Y [m];Original ID
DEBY_LOD2_604881;2267.58;220.78;568080.14250;5517134.97850;-
Excluded 26 buildings from processing (reason: Unknown ALKIS code: 31001_2000.)
# GML ID [-];Volume [m3];Footprint area [m2];X [m];Y [m];Original ID
DEBY_LOD2_605705;19.69;9.19;568338.96200;5517132.37700;-
DEBY_LOD2_605662;97.81;38.89;568176.42100;5517187.76300;-
...
It is possible to define a translation table, written in an AlkisCodes.xml
file, located in the same folder as the CityGML file:
<?xml version="1.0" encoding="UTF-8"?>
<codes xmlns:buLib="http://www.simstadt.eu/BuildingUsageLibraries" xmlns="http://www.simstadt.eu/AlkisCodes">
<codesForBuildingUsageLibraryNamed>Germany_DIN18599-10</codesForBuildingUsageLibraryNamed>
<code from="31001_1000" to="1010"/>
<code from="31001_1010" to="1010"/>
...
<code from="31001_3242" to="3242"/>
<code from="31001_3260" to="3260"/>
<code from="31001_9701" to="9701"/>
</codes>
The AlkisCode parameter can be activated in Usage Preprocessor, and the building functions should then be translated to known codes.
Only 1 building in model
If only one Building is found in the whole model, but the model looks fine otherwise (e.g. in Solar Potential Analysis), it means there might have been a problem during the export process. It can happen with SketchUp and GeoRES Plugin.
AccessDeniedException
SimStadt: 0.10.0-SNAPSHOT (refactor, rev. a86aac1, 20201130)
java.nio.file.AccessDeniedException: /home/ricou/Desktop/TestRepository/LaRéunion.proj/k.step
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
at java.nio.file.Files.createDirectory(Files.java:674)
at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
at java.nio.file.Files.createDirectories(Files.java:767)
...
An AccessDeniedException
means that SimStadt tries to create or modify a file or folder, and is not allowed to do so. It might happen if the repository is located:
- on a read-only network share.
- in a
Program Files
folder. - in a folder owned by another user.
Solution: the Repository should be moved to a writable folder owned by the current user, e.g. on the Desktop or in Documents
.
The program SimStadt itself can still be saved in a read-only location (e.g. Program Files
).
java.lang.NoClassDefFoundError
SimStadt: development version (2021-02-09)
java.lang.NoClassDefFoundError: eu/simstadt/districtgraph/AutomaticDistrictHeating
at de.hftstuttgart.simstadtworkflowsteps.energy.DistrictHeatingGenerator.lambda$0(DistrictHeatingGenerator.java:67)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:440)
...
Some workflows might fail when SimStadt GUI is run from Eclipse, and if the corresponding projects have been added to the Classpath but not to the Build Path.
Either:
- Run SimStadt from an extracted zip package
- Add the workflows to the Build Path
CityGML file cannot be selected in SimStadt
Only files ending with .gml
can be imported in SimStadt.
On Windows, after a CityGML file has been edited in Notepad, it might get another extension (.txt
), so that the model.gml
file is actually saved as model.gml.txt
, but only displayed as model.gml
in File Explorer.
Since the file is now technically a .txt
file, it won't be possible to use it as a CityGML model in SimStadt.
In order to remove the unneeded .txt
, it might be necessary to first display the extensions (File Explorer > View tab > File name extensions). The complete filename is then displayed, and can be modified.
java.nio.file.FileSystemException
Simplified Radiosity Algorithm (SRA) might fail if the model is too large, or if not enough memory is available. Among other symptoms, the simulation might fail with java.nio.file.FileSystemException The process cannot access the file because it is being used by another process
.
In this case, it might help to split the CityGML model in smaller tiles, which can be done automatically by selecting SRA_Perez_with_tiling
in IrradianceProcessor.
Empty Project List
If no project can be found in the drop-down menu, it might be because a project was selected instead of a repository.
Solution: make sure to set the Repository to the correct path, e.g. TestRepositoryWithCache
, and not TestRepositoryWithCache/NYC.proj
.