Elaboradar 0.1
Caricamento in corso...
Ricerca in corso...
Nessun risultato

◆ profile_heating()

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 905 del file cum_bac.cpp.

907{
908 LOG_CATEGORY("radar.vpr");
909 //---leggo ultimo file contenente riscaldamento , se non esiste impongo heating=0 (verificare comando)
910 int heating = cum_bac.assets.read_vpr_heating();
911
912 //--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
913 //--lo faccio perchè potrei avere heating più alto del dovuto se ho avuto un interruzione del flusso dei dati
914 //-- heating ha un valore massimo pari WARM dopodichè diventa heating = MEMORY e così resta finchè non sono passati MEMORY istanti non aggiornati ( va bene?)
915 //---se il profil non è stato aggiornato invece decremento la variabile riscaldamento di gap con un minimo pari a 0
916 if (!has_inst_vpr){
917 heating=heating-gap; /*se il profilo non è stato aggiornato, ho raffreddamento, in caso arrivi sotto WARM riparto da 0, cioè serve riscaldamento */
918 }
919 else {
920 heating = heating - (gap-1) + 1; /*se il profilo è stato aggiornato, ho riscaldamento , in caso arrivi sopra WARM riparto da MEMORY */
921 if (heating>=WARM) heating=MEMORY; /* se heating raggiunge WARM allora lo pongo uguale a MEMORY */
922 }
923 if (heating<0) heating=0;
924
925 //----stampo heating su file
926 cum_bac.assets.write_vpr_heating(heating);
927
928 //----stampo log vpr
929 LOG_INFO("gap %li heating %i",gap,heating);
930
931 return(heating);
932}
int heating
variabile di riscaldamento
Definition cum_bac.h:242
long int gap
distanza temporale dall'ultimo file vpr [numero acquisizioni intercorse dall'ultimo vpr ?...
Definition cum_bac.h:232
CUM_BAC & cum_bac
oggeto CUM_BAC di riferimento
Definition cum_bac.h:230

Referenzia cum_bac, gap, e heating.

Referenziato da esegui_tutto().