jenže lua nevyhazuje chybu "out of rage" při přístupu k neexistujícímu prvku v poli, vrací pouze nil, když prvek neexistuje.
ta část "to index" v chybové hlášce je sloveso, říká, že nemůže přistoupit na nějaký prvek/vlastnost u typu "nil". Text v závorce "field '?'" mi zase říká, že prvek na který přistupuji není explicitně ve výrazu zadaný, ale pochází z proměnné, tady je jen proměnná t, takže viník je nalezen hned.
Když se kouknu do zdrojáku, tak tam je v řětězci několik volání atributů a indexů v poli v rámci výrazu "table.properties.timeseries[t].data.instant.details.air_temperature", jakýkoliv prvek v pořadí může neexistovat a vrátit hodnotu nil, pak bude i následný prvek uveden v chybě jakou hodnota field, programátor by to měl ověřovat a nespoléhat na správnou strukturu.
Lua je takhle navržena, s tímhle design vznikla a takhle funguje tak 30 let.