Infrared Core is the simulation engine behind infrared.city. You give it a site: buildings, trees, ground and the weather. It computes wind, sun and light, and felt heat (UTCI) on a 1 m grid for streets, squares, facades and roofs, in seconds.
The same engine serves the browser platform, the Grasshopper, QGIS and ArcGIS plugins, the Python and TypeScript SDKs and the live layer for digital twins. A result from one tool agrees with the result from another.
What goes in
A simulation needs a 3D model of the site. The engine reads it in layers. Each layer is optional, but a result is only as good as the layers you give.
- Terrain: the heights of the ground. Hills change the sun and shade. The wind model does not read terrain.
- Ground materials: the surface of streets, squares and parks. Asphalt gets hotter than grass or water.
- Buildings: the 3D shapes of the buildings. They cast shade, block the wind and give off heat.
- Trees: each tree is a point with a height and a crown. Trees give shade and let some light through their crown.
- Installations: thin pieces that you add to a design, such as shade sails, green panels, PV canopies, fins and window strips.
- Context: buildings farther away. They cast shade into your site, but the engine computes no results on them.
You do not have to model everything. The platform and the SDK can load public data for buildings and trees.
What each object carries
Each object type has its own attributes. This list shows what you can set and which analyses read it.
- 3D shape: a closed mesh, in metres
- Optional: how much sunlight the walls absorb
- Facade material: in the engine, SDK support follows
Used byWindSun and lightThermal comfort
- Surface material: asphalt, concrete, soil, vegetation or water
- For the whole site: how much sunlight the ground reflects (albedo) and how hot its surface gets
Used byThermal comfort
- Position, height and crown diameter (no value: 6 m tall, 4 m crown)
- How much light passes through the crown
- Leaf on or off by month and latitude; evergreens keep their leaves
Used byWind (as a simple block)Sun and lightThermal comfort
- Ground heights, as a triangle mesh
Used bySun and lightThermal comfort
Not used by wind.
- Far buildings that cast shade into the site, by default up to 600 m away
- Shade only: the engine computes no results on them
Used bySun and light
- Thin pieces with two sides: shade sails, green panels, PV panels and PV canopies, fins, window strips
- Material, for example a green panel or PV
- How much light passes through
Used bySun and lightThermal comfort
Available in the engine; SDK support follows.
The weather file
A simulation needs the weather of the place. The weather file gives it: one row for each hour of one typical year, 8,760 rows. Each row has the air temperature, the humidity, the wind speed and direction, the sunlight, the heat from the sky and the rain.
Why the engine needs it. The location and the date give the position of the sun. The weather file gives the rest: how cloudy the sky is, how warm and humid the air is and how the wind blows. Wind comfort counts how often each wind speed and direction occurs. Felt heat needs the air temperature, humidity, wind and sun for each hour. Rain is in the file too. The engine's physics level for moist ground can use the rain to estimate how wet the ground is, because wet ground stays cooler. The SDK does not send the rain data yet.
How you get one.
- The public catalog. The SDK finds the weather stations nearest to your site, from a public catalog of typical-year weather files (TMYx). You choose one station. In a typical year, each month is a real month, chosen from many years of records.
- Your own EPW file. EPW is the standard file format for hourly weather. The SDK reads and checks your file on your machine. Only the hours and the values that the analysis needs go with the request. The file itself is not uploaded.
- A future climate. The catalog has no future climate. To study 2050, use a weather file that is changed (morphed) to a future climate, and bring it as your own EPW file.
Then you choose the time period: the months, the days and the hours, for example the afternoons in July or the winter from 1 December to 28 February.
How a request runs
Tiles are the reason a large area is fast: more area gives more tiles, not more waiting time. 400 km² of Berlin at 1 m takes 44 s. The SDK guide explains tiles, retries and costs in detail.
How the models work
All models use the same 3D scene and the same weather file. Three groups of physics run on it. The simulation library shows all twelve models with their method and their limits.
Sun and light: ray tracing
The engine traces rays from every grid point to the sky and to the surrounding surfaces. The sky comes from a Perez all-weather model, split into 145 patches, so a cloudy hour and a clear hour give different light. This gives sun hours, sky view, daylight and solar radiation on the ground, on facades and on roofs.
Wind: an AI model trained on CFD
A classic wind study with computational fluid dynamics (CFD) takes hours for each design. Infrared Core uses an AI model that was trained on high-fidelity CFD results. It reads the shape of the city and gives the wind at pedestrian level in seconds. Pedestrian wind comfort runs the model for 16 wind directions, combines them with the wind of the weather file and classifies each point with criteria such as Lawson, NEN 8100, Davenport or VDI 3787. How wind comfort criteria work.
Felt heat: UTCI combines sun, air and wind

On a summer afternoon, radiation drives most of the heat that people feel. For each 1 m cell and each hour, the engine computes the radiant heat (mean radiant temperature, Tmrt) from sun and shade, sky view, the materials of walls and ground, reflected sunlight and the heat that walls and ground store during the day. Trees and shade sails cast shade and let some light through.
The engine then puts Tmrt, air temperature, humidity and wind into the Universal Thermal Climate Index (UTCI), one number for how hot or cold a place feels. A level with local wind first runs the AI wind model, so each cell gets its own wind. The advanced thermal comfort article explains it.
Felt heat is not air temperature
The weather file gives the air temperature. Felt heat is what a person in the street feels. In the sun on hot asphalt, a place feels much hotter than the air. In the shade of a tree on grass, it feels cooler.
- Measured in the shade at a weather station
- One value for the whole site in each hour
- Does not know your buildings, trees or ground
- Air temperature plus sun and shade, heat from walls and ground, wind and humidity
- One value for each 1 m cell in each hour
- Changes with every tree, shade sail and material
Which heat metrics the engine gives
- UTCI, in °C: the felt temperature for each cell, at one time or over a time window. Available now.
- Thermal comfort, heat stress and cold stress: the percent of the chosen time that each cell is in the UTCI comfort band, above the heat-stress threshold or below the cold-stress threshold. Available now.
- Mean radiant temperature (Tmrt): the engine computes it in every felt-heat run, and we test it against street measurements. It is not a separate result today.
- WBGT and PET: other heat indices that some guidelines use. Infrared Core does not compute them today.
How the results are tested
We test each model against measurements or against the reference tool of its field, and we publish the method. Radiant heat (Tmrt) is checked against street measurements in four cities, with the same input as SOLWEIG. Wind is checked against high-fidelity CFD, and solar radiation against Radiance. Read the validation page, the wind model validation and the thermal model method. For a final, certified wind study of one chosen design, use full CFD or a wind tunnel; Infrared Core is for the fast decisions before that.
How to use it
Every route calls the same models and gives the same results:
- REST API and SDK: Python and TypeScript, for your own apps, scripts and products
- Plugins: Grasshopper, QGIS and ArcGIS, inside the tools your team already uses
- Browser platform: draw or import a site, run the analyses and share a climate report
- Live layer: results prepared for a whole city or digital twin, as map tiles and a dataset you can query. After the first preparation, each answer comes back about 500 times faster than a new run.
To start, run your first simulation or read more about Infrared Core.