Arbor.guideLandscapeStudio.light / Methods← Back to the studio
Observe · Measure · Explore

A model you can inspect

A useful design starts with clear assumptions. Here is how the Studio turns your site, tree measurements and calendar into growth scenarios and sunlight studies.

Method version 2 · 7 October 2026
A tree intercepts a ray of sunlightA ray from a sun at the upper right crosses the crown of a tree and reaches the ground to the lower left. A longer path through the crown reduces model transmission.A horizontal site, measured in metresCrown path lengthSolar altitudeSun ray
The sunlight model intersects rays with building prisms and tree-crown envelopes. Expressive drawing details are not additional measurements.

Begin with what you know

Draw a site boundary, set its dimensions and place the elements you can observe. Imported plans and photographs can be scaled for tracing. They supply a background image; they do not automatically survey a site or recover ground levels.

Metres

Lengths, heights, crown diameters and local coordinates use metres. Areas use square metres.

True north

Rotate north clockwise from the top of the plan. Solar bearings are measured from geographic north.

Year zero

Existing-tree measurements describe the beginning of your design timeline.

Plan X increases to the right; Z increases downwards. Objects rotate clockwise. Closed outlines must be simple, nonzero polygons. A path or hedge uses an open centreline and its entered width.

Flat grade is an explicit assumption. The Studio does not infer topography, elevation contours, slope drainage or an obstructed terrain horizon. A perspective drawing is not a terrain survey. Add neighbouring buildings or trees when their shade matters.

For an observed tree, enter a positive baseline age, measured height and measured crown diameter. Radius is half that diameter. Leave measurements empty when they are unknown; the species model then supplies a scenario size.

The right sun, at the right time

Latitude, longitude, calendar date and local clock time determine solar position. Enter the UTC offset for the selected date, including daylight saving time where it applies. The app does not guess a time zone from a location.

Solar azimuth is clockwise from true north. A bearing of 90° is east; 180° is south. Site north rotation converts that bearing into plan coordinates. Altitude is the angle of the solar centre above the horizon.

The calculation follows compact Meeus/NOAA equations. Displayed sunrise and sunset use the conventional −0.833° centre threshold for the apparent horizon; shade calculations require geometric altitude above 0°. These thresholds account for a small difference between the displayed daylight span and integrated direct-sun hours. Continuous polar day and night are handled explicitly. NOAA calculation details ↗

The calendar and foliage season are separate. Date controls the sun. Spring, summer, autumn and winter control a manual canopy scenario. You can deliberately compare leaf-on and leaf-off conditions under the same sun; this is not an automatic local phenology prediction.

Species knowledge, visible assumptions

The Studio draws from the atlas’s 1,074 canonical plants (862 trees and 212 shrubs) and shares its precomputed architecture-derived dimensions. Height follows the highest woody point, and crown dimensions follow the foliage envelope. The time machine advances tree age; trees scheduled for a later planting year remain absent until that year.

Development = (1 − e−2.4 × age / maturityAge)shape; height = highest woody point

For a tree with field measurements, future height and crown diameter scale from those year-zero observations by the corresponding change in the reference architecture. Height measurements do not scale stem diameter. Completed woody sections retain their positions as new shoots extend; section thickness follows an independent local wood-production schedule. Observing a tree once does not prove that it follows that curve in the future.

These are authored design scenarios. Growth does not respond automatically to drought, pruning, crowding, disease, soil volume or mortality. The model does not assign a survival probability or a scientifically calibrated growth reduction to an overlapping tree.

The root envelope illustrates possible exploration space using the atlas profile and soil scenario. It is neither an excavated root map nor a legally defined root-protection zone. Root overlap does not establish competition, foundation damage or an unsafe planting distance.

Follow a ray through the design

Buildings and placed structures

Solid objects are vertical prisms with their entered footprints and heights. Concave building outlines remain concave in the sunlight test. Roof pitch, windows, individual pergola slats and overhangs are not separately ray-traced. Roof details in the drawing communicate design character.

Buildings, walls and fences are opaque envelopes. Generic pergolas, hedges and greenhouses use assumed obstruction values of 55%, 85% and 25%, respectively. These are illustrative defaults, not measured performance ratings for a particular product.

Tree crowns

A ray intersects a lightweight ellipsoid defined by crown width, crown base and height. A longer path through it attenuates the direct beam more strongly. Canopy density is the user’s assumed obstruction through a central vertical crown chord. Multiple crowns multiply their transmission. Clear stems below crown base are opaque cylinders, including when canopy density is set to zero. Raising the receiver shortens prism shadows and changes the chord through a crown.

Transmission = (1 − density)path length / crown height

The deciduous season scenario changes that density: spring ×0.8, autumn ×0.65 and winter ×0.12. Summer uses the entered density; evergreen crowns retain it. A winter crown therefore retains some assumed woody obstruction. Species-specific leaf-out dates and individual leaf gaps are not inferred.

The shadow illustration is not the exposure value. Plan shadows use a uniform tinted envelope for clarity. The sunlight study calculates continuously varying chord transmission inside that envelope. Perspective shadows are a visual rendering; read the calculated exposure and probe values for numerical comparison.

Measurements of crown gaps and irradiance are different. Tree structure, diffuse light and reflection affect what a person or plant actually receives. The Studio’s simple direct-beam model does not calculate that complete light environment. US Forest Service shade-factor research ↗

Read the colours in hours

Direct sun hours
Time when no modelled element interrupts the receiver-to-sun ray. Partial canopy obstruction counts as shade in this measure.
Canopy-filtered / transmitted hours
Time weighted by model direct-beam transmission. Four clock hours at 50% transmission contribute two transmitted hours. They are direct-sun-equivalent hours, not energy.
Geometric daylight
Time with the solar centre above the horizon. It is the upper bound for either exposure measure.
Indoor cells
A receiver below the roof inside a house, garage, shed or greenhouse is occupied and excluded from outdoor averages. A plane at roof height is outdoors. Indoor daylight through glazing is not simulated.

The app samples a horizontal plane above grade and integrates a day in midpoint intervals. Select ground, planting height, eye level or a custom roof height. Quick uses 24 × 24 cells and 20-minute steps; Balanced uses 48 × 48 and 10 minutes; Detailed uses 72 × 72 and 5 minutes. A worker keeps the editor responsive and supports immediate cancellation. Horizon crossings and extrema are refined, retaining even a very short polar-transition day. Editing the geometry, location, season or growth year invalidates a previous study. A finer grid resolves smaller features; a shorter time step resolves faster shadow movement.

A point probe uses the same solar and obstruction model. Its bars describe direct-beam transmission over the day, not perceived brightness. Use it to compare seating areas, planting beds or roof surfaces. The probe uses five-minute steps, identifies shade contributors and gives approximate clear-sun windows. Contributor hours can overlap. Compare four representative dates with the same geometry, foliage scenario and UTC offset; change those settings explicitly for seasonal scenarios. Direct and transmission-weighted maps use the same ray calculation. Smooth contours are interpolated for display; Show sample cells reveals the numerical grid.

Potential direct sunlight only. The study excludes clouds, diffuse sky light, reflected light, terrain and unmodelled nearby structures. It does not calculate lux, PAR, UV exposure, solar yield, temperature, thermal comfort or plant survival.

General gardening labels such as “full sun” depend on context and the time of day. They do not turn model hours into an automatic planting prescription. University of Maryland light guidance ↗

Understand what overlaps mean

The boundary’s polygon area is calculated directly. Coverage is estimated on an 80 × 80 cell grid and normalized to that site area. Small or narrow objects may be undersampled.

Water, hard surface and remaining permeable ground are disjoint categories. Water takes priority where categories overlap; these three areas sum to the site area. A pool counts as water surface without implying infiltration through its lining. Permeability overrides apply to other ground elements.

Crown cover is a separate overlay. Shared crown area is counted once, and a crown can cover paving or water. Its envelope includes canopy gaps; it is not an absorbing leaf-area measurement.

Spatial checks distinguish crowns that occupy the same three-dimensional envelope from crowns whose projections overlap at different heights. Other flags identify a crown intersecting a building, a crown crossing the property edge, overlapping buildings and a building inside an illustrative root envelope.

These are geometric observations. They contain no assumed legal setbacks, ecological compatibility scores, root-protection standards or structural hazard ratings.

Explore air at a chosen height

The wind study is a horizontal, two-dimensional design scenario. Choose where wind comes from, clockwise from true north: 0° north, 90° east, 180° south, 270° west. Drag the compass, use a direction preset, or enter a precise bearing. Site north rotation converts it into plan coordinates. The incoming angle is horizontal; vertical incidence is not solved.

Direction

Flow lines and the point vector show local deflection. Moving dashes indicate direction, not parcel travel time.

Speed

Switch between a ratio to inflow and scenario m/s. A ratio of 0.5 means half the entered or height-adjusted inflow.

Height

Only obstructions intersecting this horizontal slice affect it. Below a tree crown, only the clear stem is solid.

Reference-height observations

Existing projects retain speed entered at the study height. You can instead select Measured at another height and enter that height. A neutral logarithmic profile estimates the incoming speed at the study plane:

U(z) = U(reference) × ln(z / z₀) / ln(reference / z₀)

Both heights must exceed the roughness length z₀. The scenario presets use 0.03 m for open grass, 0.1 m for low crops and 0.3 m for rough suburban approach. These are editable scenario categories, not measured site properties. No atmospheric-stability or urban-displacement correction is inferred. This profile only rescales inflow; it does not add vertical flow. NIST neutral-profile formulation ↗

Numerical method

An original D2Q9 lattice-Boltzmann solver runs in a browser worker. BGK collision uses lattice inflow 0.045 and τ = 0.5 + 0.32 × (resolution − 2) / 126. Lattice viscosity is (τ − 0.5) / 3. This scaling preserves the analogue viscosity in metre coordinates when refining the same domain. Quick, Balanced and Detailed target 96, 128 and 176 cells along its longest dimension.

Solid footprints block cell centres and every lattice link intersecting their exact boundary, including narrow walls lying between centres. These links use halfway bounceback; the numerical wall still has grid-scale positional uncertainty. Equilibrium populations set the inlet and far sides; the outlet has zero population gradient. Padding is at least 8 m, or twice the largest included height (height capped at 30 m), upstream and laterally; downstream padding is 2.5 times larger. These finite, approximate far-field conditions affect results. Compare grid settings and domain context; the calculation is not an unbounded atmospheric flow.

Structures and vegetation

Buildings, cars and other solid elements use maximum-height prisms. Roof slopes, open windows and flow over roofs are absent. Tree crowns use horizontal sections through their analytical ellipsoids. Shrubs, hedges and fences use porous footprints below their entered height. Sixteen area samples per cell improve representation of small porous elements; unresolved elements are still reported.

Porous drag is quadratic: force / density = −β |u|u. Guo forcing and half-force velocity are used together. The per-metre coefficient is 0.15 × canopy density² for trees, 0.18 × density² for shrubs, and 0.18 × (1 − porosity)² / (porosity² × width) for hedges and fences, with denominators bounded. Cell size and occupied fraction scale the coefficient. Overlapping drag contributions add. These authored coefficients are not measured species aerodynamics. Guo, Zheng & Shi, 2002 ↗ · OpenLB formulation, equations 6.10–6.11 ↗

Read the quality checks

A field is labelled numerically settled only after the minimum travel-time allowance and four consecutive checks spaced 80 iterations apart. The vector RMS change must be below 0.0007 of inflow, boundary flux imbalance below 2%, mass-conservation error below 0.1%, and density deviation below 12%. A run initially allows 2.5 domain travel times; Run longer increases that budget. Reaching the budget alone does not establish convergence.

The closed interior control volume counts populations crossing all four faces, including lateral inflow and outflow. Boundary imbalance measures net flux relative to nominal inlet flow; conservation error checks it against stored-mass change on the same step. The convergence graph records vector change throughout the run. Unresolved elements and subgrid barriers distinguish missed geometry from geometry represented by blocked links. Area fractions use outdoor grid cells in the parcel.

Numerical verification is different from field validation. The solver is a low-Reynolds-number analogue. Changing the entered m/s scales the result, without reproducing an atmospheric Reynolds-number change. Terrain, vertical flow, turbulence, gust statistics, comfort ratings, structural loads and tree stability are not predicted.

The colour field interpolates sampled values without adding numerical resolution. Exact obstacle masks preserve building edges; flow lines cannot cross solid barriers. Wind JSON retains the frame, vectors, masks, drag, blocked links, inflow profile and numerical history. SVG, PNG and PDF retain the selected metric, height and quality status. Editing model inputs invalidates the old field; cancellation terminates its worker.

One geometry, several drawing languages

Botanical wash, fine ink, graphite, ink and colour, architectural wash, technical plan, canopy diagram and presentation use the same metre coordinates. Pencil and ink marks are original deterministic vector illustrations, not scanned botanical specimens. Crown symbols indicate model spread and habit rather than individual surveyed leaves or branch positions.

Smooth curves is an explicit object property. Quadratic corner curves preserve the authored bounding dimensions. SVG renders the exact quadratic paths; three-dimensional surfaces, area calculations and obstacle footprints sample the same curves with a 0.015 m midpoint chord-error target (at most eight subdivision levels). Sharp outlines remain available for measured corners. Curves that create a self-intersecting footprint are rejected.

Paving intersections use the exterior boundary of the union of their sampled footprints. Internal edges are removed, and a shared clipped stone pattern prevents overlapping pattern seams. Each route remains independently editable. Pond edge artwork avoids paving, but the decorative shore wash is not measured bathymetry.

Modern pavilion, Nordic timber, courtyard and terraced-villa concepts are original parametric assets. The six architecture projects update actual footprint, height and dimensions; choosing a preset is one undoable action. Building analysis conservatively uses the maximum-height prism over that footprint, including the terrace footprint of a villa. Glazing, railings and roof details communicate a concept, not a construction specification.

The outer-context option displays mapped off-site geometry with subdued detail. The Surroundings library includes a simple neighbouring-building mass. No neighbouring structures, terrain or land boundaries are inferred. Entered neighbours still participate in sun and wind calculations; a display treatment does not remove their effect.

Shrub planting and evidence

The shared plant catalogue includes 212 shrub species with cited NC State Extension height and spread ranges. Each has an editable maintained design size, original side and plan illustrations, and a multistem 3D envelope. These sizes stay fixed through the design timeline; changing the season changes illustrative foliage, flowers or fruit.

Sun analysis treats a shrub as a porous elliptical prism at the entered height. Winter deciduous density is reduced. The wind study applies porous drag to the shrub footprint only below that height. These are planning scenarios; they do not predict a measured canopy, species-specific aerodynamics or local flowering dates.

The construction-blueprint style displays the entered plan envelope dimensions and 1 m / 5 m grids. Its linework omits painted shadows. Colour-plan shadows use the same numerical projections, with a softened display edge clipped inside their analytical footprints.

Browse plant profiles and field-linked evidence

Go one level deeper

All calculations, tree data and graphics run locally in the browser. External references support the method and botanical context; they are not required to open or calculate a design.

Return to your design →