{#snippet weatherIcon(name: string, size: number = 24)} {/snippet} {#if displayModels.length > 0}

Model Comparison Timeline

3h 1h
{#each filteredIndices as idx, i (idx)} {@const ts = timestamps[idx]} {@const isNewDay = checkNewDay(i, ts)} {/each} {#each displayModels as model (model)} {#each filteredIndices as idx, i (idx)} {@const ts = timestamps[idx]} {@const codes = hourlyFlat[`weather_code_${model}`]} {@const code = codes ? codes[idx] : 0} {@const day = allDaytimeFlags[idx]} {@const isNewDay = checkNewDay(i, ts)} {/each} {/each}
Model
{formatZoned(new Date(ts), timezone, 'HH')}
{isNewDay ? formatZoned(new Date(ts), timezone, 'EEE d') : ''}
{model.replace(/_/g, ' ')} {@render weatherIcon(getWeatherIconName(code, day))}
{/if}