Vă aduceți cu siguranță aminte de cursurile lungi de Calcul Numeric din primele/ultimele semestre de facultate, în cadrul cărora domnul profesor Ivan (UTCN) și domnul profesor Trâmbițas (UBB) ne povesteau despre metoda Gauss-Newton și cum apreciam cu toții, mai mult sau mai puțin întemeiat, că “asta nu o să ne prea ajute”. Deși am luat 10 la examenul de Calcul Numeric (prin 2008, toamna), până acum doi ani nu am avut ocazia să mă lovesc de Gauss-Newton niciodată în practică. Prin 2015 (tot toamna), m-am angajat la compania la care lucrez și azi. Mi-au promis că mă lasă să mă joc cu date satelitare și că îmi arată ei cum să folosesc Gauss-Newton ca să deduc concentrații de tot felul de aerosoli de prin atmosferă și că, dacă fac treabă bună, mă lasă să văd “adevărata” culoare a Pământului. Am acceptat, pentru că suna a ceva ce nu mai auzisem pe nimeni să facă și iată-mă, după doi ani, tot aici, băgând încă un satelit în Gauss-Newton și văzând-o pe Terra încă o dată, goală.
Procesarea de date satelitare implică la diferitele sale nivele cunoștințe de fizică, matematică și, într-o ultimă fază, de "computer science" (aceasta pentru că sună mai inginerește decât informatica). La fel ca în multe alte domenii, când începi să pui totul pe foaie, vei simți nevoia să abstractizezi -și atunci o cam dai în teorie. Nici acest domeniu nu e diferit. Aștepți să se prindă fizicienii cum merge atmosfera, încerci să modelezi geometric o soluție pe care s-o implementezi, îți dai seama că double-float precission nu îi în avantajul tău, doar că nici nu îți permiți mai mult (pentru că vrei și performanță) și apoi implementezi ce ți-a rămas.
Așa cum probabil unii cititori știu, datele satelitare (numite deseori produse) sunt organizate în patru nivele:
Nivelul 0, compus din pachete de date recepționate de un centru de date/procesare mai mult sau mai puțin direct de la satelit și care, în general, nu sunt făcute publice;
Nivelul 1, compus din date calibrate radiometric și aranjate frumos sub forma unor imagini cu mai multe canale (i.e. câte o poză, în fiecare bandă de frecvență de interes pentru misiune), accesibile publicul larg (deseori gratuit, că doar noi plătim taxe și impozite și deci indirect și pentru sateliți);
Nivelul 2, compus din rezultatul procesării datelor de la Nivelul 1, cum ar fi o mască de nori sau concentrația de CO2, culoarea reală a suprafeței terestre etc., uneori publicate, alteori nu;
Nivelul 1 este la rândul lui împărțit în trei sub-nivele: 1A, 1B și 1C, diferența constând în modul mai mult sau mai puțin standardizat în care sunt aranjate imaginile mai sus menționate.
La capitolul rezoluție, în general un pixel e echivalentul unei suprafețe reale aproximativ dreptunghiulare cu laturile măsurând câteva sute de metri (mai rar, zeci de metri sau zeci de kilometri).
Ca orice alt membru de rând al comunității, descărcăm la greu date (câțiva PB buni) la nivelul 1 (A sau B). Apoi, pentru a nu ne bate capul prea mult la pașii următori, aliniem totul pe bunul plac în niște produse intermediare de nivel 1C, un proces care ar putea să pară ușor (comparat cu ce implică pașii ce urmează), dar care uneori necesită o groază de geometrie și calcul numeric, depinzând de calitatea produselor de nivel 1A și/sau B. Procesul implică uneori chiar reîntoarcerea la ceva care seamănă mai mult a date de nivel 0 și refacerea totală a procesului de aliniere, localizarea precisă a satelitului prin triangulare etc. . Alteori, preluam date de la toți sateliții cu care lucrăm, fiecare cu standardul lui de aliniere și creăm cuburi de date, perfect aliniate. Tot la nivelul 1, aplicăm și o serie de corecții, unele pur geometrice, altele de ordin fizic (e.g. ortorectificare, corecții topografice, eliminări de nori, corecții atmosferice). După ce am terminat cu alinierea, interpolările de coordonate și alte măsurători geometrice și cu aplicarea de corecții ajungem la partea importantă: procesarea datelor de nivel 1 pentru a crea produse de nivelul 2. Aici intervine GRASP-ul (i.e. Generalized Retrieval of Aerosols and Surface Properties algorithm) si Gauss-Newton. În linii mari, fără a intra în detalii prea tehnice (ca să nu pierdem audiența), vorbim cu fizicienii de la LOA (Laboratoire d’Optique Atmospherique, Université de Lille, France), ei ne spun cum să modelăm atmosfera ca o funcție primind ca date de intrare concentrația diferitelor gaze și alți aerosoli (vreo 50 la număr), culoarea suprafeței terestre, tot felul de unghiuri și unghiușoare (cum bate soarele, cum observă instrumentul satelitar) și alte geometrii și oferind ca date de ieșire ce măsoară/ar trebui să măsoare satelitul în astfel de condiții (de obicei vreo 5-10 valori pe pixel, numite radianțe). Și aici vine partea interesantă, pentru care merită să fim atenți la orele de Calcul Numeric. Noi avem outputul funcției, pentru că aceasta a măsurat satelitul (i.e. imaginile pe care le-am tot reorganizat mai sus) și dacă știm aproximativ cum arată funcția (cu excepția unor parametri pe care am vrea să-i învățăm), folosind Gauss-Newton, o putem “inversa” și afla parametrii funcției ghicind în final inputul care ar produce outputul măsurat de satelit.
Pe lângă acest element de magie, totul se paralelizează printr-un centru de procesare, referit de team lead-ul meu (tata la proiectele cu sateliți, mein Geschäftsführer, Michael Aspetsberger), drept Arsenalul și accelerăm totul, începând de la optimizări low-level până la nivel de observație matematică. De fapt, secretul GRASP-ului, apreciat drept cel mai rapid din clasa lui de algoritmi, constă în principal în diferite observații matematice și fizice despre ce se poate aproxima ușor și ce nu, și cât de precis.
Până acum am lucrat în principal cu date venite de la instrumentele instalate pe sateliții din cadrul programelor Columbus (AATSR, MERIS) și Copernicus (misiunile Sentinel). Chiar acum e pe masă Sentinel3 cu două instrumente de interes: OLCI și SLSTR. Facem cu ocazia aceasta și un proiect de precizie: estimăm nivelul de zăpadă la sol pentru toată Europa.
Atât de impresionați au fost băieții de la ESA de unele din rezultatele noastre anterioare, încât ne lasă tot pe noi (LOA și Catalysts, printre mulți alții) să procesăm datele ce urmează să fie achiziționate de un satelit ce va fi lansat în orbită prin 2023 (Sentinel4). Momentan, facem planurile și scriem documentație.
Adevărul e că Terra, goală sau în see-through-ul ei de zi cu zi, nu arătă foarte diferit. Cu ochiul liber ai zice ca nici măcar n-ai dat nimic jos. Poate dacă improvizezi un GIF dintr-o succesiune rapidă de săgeată-stânga săgeată-dreapta, vei vedea o ușoară diferență, însă efectele atmosferei, cu tot ce conține ea, nu sunt foarte puternice.
Produs agregat (Nivel 3) pentru întregul an 2008 (10km), reprezentând albedo-ul terestru la 560nm, obținut din date achiziționate de Envisat MERIS (MEdium Resolution Imaging Spectrometer).