Elaboradar  0.1
 Tutto Classi Namespace File Funzioni Variabili Tipi enumerati (enum) Gruppi
bool elaboradar::Assets::find_vpr0 ( const radarelab::algo::DBZ dbz,
radarelab::algo::VPR &  vpr0,
long int &  gap 
)

Read the gap and the vpr0, and if vpr0 is not found, look it up among the archived VPRs.

Definizione alla linea 389 del file assets.cpp.

Referenzia read_archived_vpr(), read_profile_gap(), e read_vpr0().

390 {
391  /*------calcolo la distanza temporale che separa l'ultimo profilo calcolato dall'istante attuale--*/
392  /* (dentro il file LAST_VPR c'è una data che contiene la data cui si riferisce il vpr in n0 di secondi dall'istante di riferimento)*/
393  gap = read_profile_gap();
394 
395  /*------leggo il profilo vecchio più recente di MEMORY ----*/
396  /*------nota bene: è in R ovvero pioggia!! ----*/
397 
398  if (!read_vpr0(vpr0))
399  {
400  LOG_WARN("non esiste file vpr vecchio: %s",getenv("VPR0_FILE"));
401 
402  //----se file non esiste assegno gap=100----
403  gap = 100;
404  }
405 
406  //------------se gap < MEMORY leggo vpr e area per ogni strato-----------
407 
408  if (gap <= MEMORY)
409  return true;
410 
411  //-----Se gap > MEMORY
412 
413  //a)----- tento .. sono in POST-ELABORAZIONE:----
414 
415  //-----devo andare a ricercare tra i profili 'buoni' in archivio quello con cui combinare il dato----
416  //---- trattandosi di profili con data nel nome del file, costruisco il nome a partire dall'istante corrente ciclando su un numero di quarti d'ora
417  //---- pari a memory finchè non trovo un profilo. se non lo trovo gap resta=100
418 
419  /* questo per fare ciclo sul vpr vecchio*/
420  time_t Time = conf_acq_time;
421 
422  // TODO: cerca in archivio se esiste un VPR piú recente del
423  // last_vpr: togliere dal calcolo VPR generico e spostarlo nel
424  // punto dove viene caricato il VPR precedente
425  for (unsigned i=0;i<MEMORY;i++)
426  if (read_archived_vpr(dbz, Time + i * 900, vpr0))
427  {
428  gap = 0;
429  return true;
430  }
431 
432  return false;
433 }
bool read_vpr0(radarelab::algo::VPR &vpr0)
Read in $VPR0_FILE the last vpr available.
Definition: assets.cpp:329
long int read_profile_gap() const
Read the gap between the time in $LAST_VPR and the current acquisition time.
Definition: assets.cpp:229
bool read_archived_vpr(const radarelab::algo::DBZ &dbz, time_t time, radarelab::algo::VPR &vpr)
Try to read the archived VPR at time time.
Definition: assets.cpp:345