Elaboradar  0.1

◆ read_t_ground()

float elaboradar::Assets::read_t_ground ( ) const

fornisce temperatura al suolo, da lettura file esterno

funzione che restituisce la temperatura al suolo

apre file temperature , legge lon lat e t, calcola differenze rispetto coordinate radar, se diff < soglia media il dato, stampa il nr di dati usati per la media e ritorna la temperatura

Restituisce
it_gr temperatura al suolo

Definizione alla linea 201 del file assets.cpp.

202 {
203  LOG_CATEGORY("radar.vpr");
204  File in(logging_category);
205  if (!in.open_from_env("FILE_T", "rt"))
206  return NODATAVPR;
207 
208  float media_t = 0;
209  int icount = 0;
210  float lon, lat, t;
211 
212  while (1) {
213  if(fscanf(in, "%f %f %f \n",&lon,&lat,&t) == EOF) break;
214  if (fabs(conf_site->radarSite.lat_r-lat)<=maxdlat && fabs(conf_site->radarSite.lon_r-lon)<=maxdlon) {
215  ++icount;
216  media_t += t - 273.15;
217  }
218  }
219 
220  if (icount == 0)
221  {
222  LOG_ERROR("Temperature data not found in $FILE_T=%s", in.name());
223  return NODATAVPR;
224  }
225 
226  media_t /= (float)icount;
227  LOG_INFO("ho %i stazioni dati affidabili e la t media è %f\n", icount, media_t);
228  return media_t;
229 }
Open a file taking its name from a given env variable.
Definition: utils.h:22
RadarSite radarSite
Description of radar site.
Definition: site.h:41

Referenzia radarelab::File::open_from_env(), e elaboradar::Site::radarSite.

Referenziato da elaboradar::CalcoloVPR::CalcoloVPR().