Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
Predicció i observació real per a totes les comarques, municipis i nuclis de població de Catalunya, amb dades del Meteocat i consens multimodel.
Translation pending
LifestyleTypeScript · CSSGitHub @bielromaniOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
El temps a Catalunya
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
El temps a Catalunya, poble a poble Plataforma meteorològica que arriba fins al nucli de població: no només els 947 municipis, sinó també les entitats i els nuclis que la resta de webs ignoren. 4.293 pàgines, cadascuna amb la seva altitud real i l'estació automàtica que li correspon. Aquest README explica què és i com funciona. El disseny complet és a docs/ i les normes per treballar-hi, a AGENTS.md.Read the full README ↗
tempscat.cat — plataforma meteorològica que arriba fins al nucli de població: no només els 947 municipis, sinó també les entitats i els nuclis que la resta de webs ignoren. 4.293 pàgines, cadascuna amb la seva altitud real i l'estació automàtica que li correspon.
Aquest README explica què és i com funciona. El disseny complet és a
docs/i les normes per treballar-hi, aAGENTS.md.
Es diu d'on ve cada número. Estació, distància, desnivell i hora de la lectura. No és només complir la CC-BY: és la millor decisió de producte del lloc. Quan una pàgina diu «22,4 °C a 3,9 km i 105 m de desnivell, fa 51 minuts», el lector pot decidir si s'ho creu.
Sense dada verificada no es publica. Una ubicació sense coordenada fiable no té pàgina. Val més un lloc amb 4.293 pàgines correctes que un amb 11.019 inventades — i per això dels 11.019 topònims del Nomenclàtor només se'n publiquen 4.250.
Les frases es generen amb plantilles, mai amb un model en temps d'execució.
Amb 4.293 pàgines, un generatiu produeix quatre mil afirmacions que ningú ha
comprovat. narrative.ts és determinista i auditable, i
si la dada no hi és, la frase no s'escriu.
No es promet precisió no demostrada. Mentre no existeixi la verificació d'encert, tots els models pesen igual i la pàgina ho diu.
La regla que ho ordena tot: la ingesta està desacoblada del renderitzat. Cap
petició d'un usuari dispara mai una crida a una API externa. Els workers
escriuen a data/cache/; les pàgines llegeixen d'allà.
scripts/workers/ → data/cache/ → src/app/
ingesta instantànies pàgines
| Next.js 16 amb App Router | Server components. Tres 'use client' a tot el projecte —el cercador, la barra del radar i el mapa que es mou—, i cap a una fitxa de lloc |
| Node 24 executa el TypeScript directament | Sense pas de compilació als scripts |
| Sense base de dades | Instantànies JSON a Cloudflare R2, que escriuen els workers des de GitHub Actions. L'esquema per migrar és a db/migrations/ |
| Sense còpia vella | Les pàgines amb dades d'ara es generen a cada petició i el CDN les guarda cinc minuts; no fan servir ISR, que serveix primer la còpia que té i la refà després |
Les pàgines territorials no porten JavaScript propi. El mapa que es mou viu a la
seva pròpia ruta, /mapa/interactiu, i és allà on carrega el seu codi.
El titular de cada fitxa és el cel d'aquell lloc, calculat: l'altura del sol
en graus, la nuvolositat, la pluja i la fase de la lluna, en CSS i tres textures.
sky.ts ho explica, i npm run test:sky comprova que el text
s'hi llegeixi damunt de qualsevol cel.
Construït un cop i versionat a data/build/, perquè és el que fa reproduïble
tota la resta:
| Comarques | 43 |
| Municipis | 947 |
| Entitats i nuclis publicats | 3.303 |
| Estacions XEMA operatives | 189 |
| Punts de predicció | 3.190 |
| Veïnatges per frontera real de l'ICGC | 5.424 |
No es diu «limítrof» al que només és a prop. La colindància surt de les línies de frontera de l'ICGC; la proximitat s'etiqueta diferent, i la diferència acaba al text de les pàgines.
Totes obertes, i totes citades a cada pàgina on apareixen.
| Font | Què aporta | Llicència |
|---|---|---|
| Meteocat · XEMA (Dades Obertes de la Generalitat) | Observació de 189 estacions automàtiques | CC-BY 4.0 |
| Open-Meteo | Predicció multimodel: ECMWF IFS, AROME HD i el consens | CC-BY 4.0 |
| AEMET OpenData | Avisos oficials en format CAP | Avís legal d'AEMET |
| Agència Catalana de l'Aigua | Embassaments, cabals i registre de sequera | Dades Obertes |
| XVPCA | Qualitat de l'aire mesurada | Dades Obertes |
| Protecció Civil i socorristes | Banderes de platja, meduses i estat del mar | Dades Obertes |
| CAMS via Open-Meteo | Qualitat de l'aire i pol·len modelats | CC-BY 4.0 |
| RainViewer | Tessel·les de radar de precipitació | Condicions de RainViewer |
| ICGC | Límits administratius i altimetria | CC-BY 4.0 |
Els avisos oficials no es reescriuen, no es recoloren i no se'ls ajusta el nivell. Es mostren com els publica AEMET, amb enllaç a l'original.
npm install
cp .env.example .env.local # omple AEMET_API_KEY
npm run data:all # construeix el territori (~35 min, un sol cop)
npm run workers:frequent # observació, radar i mar
npm run worker:forecast # predicció (triga; consumeix quota)
npm run dev
Sense data/cache/ el lloc arrenca igualment: surt el territori sencer i cada
buit es diu en veu alta, en comptes de sortir en blanc.
npm run check # tot el que corre el CI menys el build: workflows, tipus, lint i proves
npm run typecheck # aplicació i scripts, són dos projectes
npm run lint
npm run test # topònims, astronomia, cercador, cel, avisos i frases
I dues que van contra l'HTML servit, després de cada desplegament:
npm run check:coherence # que una fitxa no es contradigui a si mateixa
npm run check:jsonld # que cada tipus de pàgina porti el seu marcatge
Open-Meteo factura ubicacions, no peticions. Refrescar els 3.190 punts amb cinc models són 15.950 unitats contra un límit diari de 10.000: no hi cap ni un cop al dia. D'aquí la política de models per nivell, i d'aquí que la qualitat de l'aire es demani per cel·la de 0,1° i no per punt — de 3.190 punts en surten 372 cel·les, una desena part de la quota per exactament la mateixa informació.
QuotaGuard talla al 95 % i degrada al 80 %.
En producció a tempscat.cat, amb el redisseny «Cel» des de
l'octubre de 2026. El que ve i per quin ordre, a
docs/13-full-de-ruta.md; on som exactament i —el que
més temps estalvia— les trampes ja descobertes de cada font, a
docs/12-estado-y-continuacion.md. Gairebé
cap font dóna error: donen dades plausibles i equivocades.
Un tast, perquè es vegi de quina mena són:
coordenada_x és la latitud i coordenada_y la
longitud, al revés del que diuen els noms. Sense adonar-se'n, totes les
platges cauen a Somàlia.?? 0 sobre una dada que pot faltar converteix una llacuna en un zero mesurat:
el comptador de dies sense pluja donava 398 al Port de Barcelona, que no té
pluviòmetre.El codi, MIT.
Les dades no. Són de les fonts citades a dalt i mantenen cadascuna la seva llicència: si en reutilitzes cap, l'atribució és d'elles i no d'aquest repositori. És el mateix que fan les pàgines, que diuen a cada bloc d'on surt el número.