Elaboradar  0.1
 Tutto Classi Namespace File Funzioni Variabili Tipi enumerati (enum) Gruppi
int elaboradar::CalcoloVPR::profile_heating ( bool  has_inst_vpr)

calcola riscaldamento in quarti d'ora

funzione che calcola quanto il profilo è 'caldo' restituendo la variabile heating

calcola il 'riscaldamento' del profilo (numero di combinazioni successive) e stampa il file che contiene questo valore oltre al file contenente l'ultima data se il calcolo del profilo è andato ok. Se il numero è superiore a WARM passa direttamente al valore MEMORY che rappresenta la 'memoria del profilo'. heating=heating-gap; se il profilo non è stato aggiornato heating=heating-gap+2; se il profilo è stato aggiornato heating=MEMORY; se heating raggiunge WARM resta costante finchè non inizia raffreddamento

Restituisce
heating , numero di combinazioni di riscaldamento

Definizione alla linea 824 del file cum_bac.cpp.

Referenziato da esegui_tutto().

826 {
827  LOG_CATEGORY("radar.vpr");
828  //---leggo ultimo file contenente riscaldamento , se non esiste impongo heating=0 (verificare comando)
830 
831  //--una volta letto il file, se il calcolo del vpr è andato bene incremento di uno heating sottraendo però la differenza di date (in quarti d'ora)-1 tra gli ultimi due profili
832  //--lo faccio perchè potrei avere heating più alto del dovuto se ho avuto un interruzione del flusso dei dati
833  //-- heating ha un valore massimo pari WARM dopodichè diventa heating = MEMORY e così resta finchè non sono passati MEMORY istanti non aggiornati ( va bene?)
834  //---se il profil non è stato aggiornato invece decremento la variabile riscaldamento di gap con un minimo pari a 0
835  if (!has_inst_vpr){
836  heating=heating-gap; /*se il profilo non è stato aggiornato, ho raffreddamento, in caso arrivi sotto WARM riparto da 0, cioè serve riscaldamento */
837  }
838  else {
839  heating = heating - (gap-1) + 1; /*se il profilo è stato aggiornato, ho riscaldamento , in caso arrivi sopra WARM riparto da MEMORY */
840  if (heating>=WARM) heating=MEMORY; /* se heating raggiunge WARM allora lo pongo uguale a MEMORY */
841  }
842  if (heating<0) heating=0;
843 
844  //----stampo heating su file
846 
847  //----stampo log vpr
848  LOG_INFO("gap %li heating %i",gap,heating);
849 
850  return(heating);
851 }
Assets assets
others
Definition: cum_bac.h:88
CUM_BAC & cum_bac
oggeto CUM_BAC di riferimento
Definition: cum_bac.h:227
void write_vpr_heating(int value) const
Write a new value to $VPR_HEATING (counter of consecutive vpr calculated, see scientific documentatio...
Definition: assets.cpp:265
long int gap
distanza temporale dall&#39;ultimo file vpr [numero acquisizioni intercorse dall&#39;ultimo vpr ...
Definition: cum_bac.h:229
int read_vpr_heating() const
Read the value of $VPR_HEATING (counter of consecutive vpr calculated, see scientific documentation) ...
Definition: assets.cpp:248
int heating
variabile di riscaldamento
Definition: cum_bac.h:239