Commit 66909250 authored by Dorchies David's avatar Dorchies David
Browse files

feat: Output PaChrVob.txt with Vobj only

Fix #9
parent 14dc2c8b
......@@ -24,7 +24,8 @@ ligne 7 : d
ligne 8 : fin de période de calcul
ligne 9 : code indiquant les sous-programmes à lancer:
0 : tous les sous-programmes
1 : uniquement la simulation en chronologie inverse
1 : uniquement la simulation en chronologie inverse (sortie détaillée PaChrono.txt)
2 : uniquement la simulation en chronologie inverse (sortie PaChrVob.txt)
ligne 10 : code pour format d'édition des résultats de volume : 1 pour valeurs absolues en m3, 2 pour valeurs relatives par rapport à Vtot ou somme(Vtot)
ligne 11 : code indiquant le mode de répartition du débit à stocker entre les réservoirs:
1=figée;
......
......@@ -163,6 +163,27 @@ procedure Ici_CalculDebitsResRef_CalculRepartition(ZChron:boolean;ZDate:longint)
end; {fin de Ici_CalculDebitsResRef_CalculRepartition}
{================================}
{--criture des chroniques Vobj--}
{================================}
procedure Ici_Ecriture_resultats_Vobj();
begin
for YRangLac:=1 to YNbLacs do
begin
write(YFicResChrShort,YChaiDate[YRangLac],' ');
if YAbsRel=1 then
write(YFicResChrShort,YVolume[YRangLac]:21,' ')
else
write(YFicResChrShort,(YVolume[YRangLac]/YVtot[YRangLac]):27:20,' ');
end;
writeln(YFicResChrShort);
flush(YFicResChrShort);
end;
{=====================================================}
{--criture de rsultats dtaills sur fichier texte--}
{=====================================================}
......@@ -709,7 +730,12 @@ procedure C3_CalculChroniquesVolume;
{==INITIALISATIONS AVANT CALCUL DEFINITIF EN CHRONO INVERSE==}
reset(YFicDeb);
C1_EcritureEnteteResultDetail(false);
if YChoixSubProg<2 then C1_EcritureEnteteResultDetail(false)
else begin
assign(YFicResChrShort,YRepR+YNomFicResChrShort);
rewrite(YFicResChrShort);
end;
Ici_Init_Stat_Repartition;
YVolTot1:=0;
gotoxy(Ax,Ay);
......@@ -786,7 +812,8 @@ procedure C3_CalculChroniquesVolume;
YVolumePeutEtr[YRangLac]:=B_mindouble(YVtot[YRangLac],B_maxdouble(0,YVolume[YRangLac]-YQST[YrangLac]*YdT));
{Ecriture des rsultats dtaills sur fichier texte--}
Ici_Ecriture_Resultats_Detailles(false);
if YChoixSubProg<2 then Ici_Ecriture_Resultats_Detailles(false)
else Ici_Ecriture_resultats_Vobj();
{--nouvelles valeurs pour les dbits du pas de temps prcdent --}
{--l'aval des restitutions (QVVeille) et pour le volume au pas de--}
......@@ -840,6 +867,7 @@ procedure C3_CalculChroniquesVolume;
for Xi:=0 to 2 do
close(YFicQXdef[Xi,1]);
close(YFicResult2);
close(YFicResChrShort);
for Xi:=0 to 2 do
if YQXdefmoyGlop[Xi,1]>0 then
YQXdefmoyGlop[Xi,1]:=exp(ln(YQXdefmoyGlop[Xi,1]/(YDateFin-YDateDebut+1))/YPuiss);
......@@ -853,7 +881,7 @@ procedure C3_CalculChroniquesVolume;
gotoxy(Ax-36,Ay);
clreol;
writeln(' : termin ');
if YChoixSubProg=1 then exit;
if YChoixSubProg>0 then exit;
write(' calcul de Vges en sens chrono (iter. en cours sur Vges initial : ');
A_lecture_xy;
......
......@@ -48,6 +48,7 @@ CONST {chaines de caract
YnomFicReglage= 'REGLAGE.txt'; {nom du fichier des r‚glages pour r‚partition des taches'}
YNomFicResChr1= 'Chrono.txt'; {nom de fichier des r‚sultats d‚taill‚s obtenus en sens chronologique --> calcul de Vges}
YNomFicResChr2= 'PaChrono.txt';{nom de fichier des r‚sultats d‚taill‚s obtenus en sens chronologique inverse --> calcul de Vobj}
YNomFicResChrShort= 'PaChrVob.txt'; {nom de fichier des Vobj obtenus en sens chronologique inverse}
YNomFicResDef = 'QXdef';
YNomFicResult1= 'Qobs-P-R.txt';{nom de fichiers de r‚sultats : chronique des d‚bits observ‚s}
YNomFicResult2= 'QSynchro.txt';{nom fichier de d‚bits synchronis‚s (prise en compte des d‚lais de propagation)}
......@@ -127,6 +128,7 @@ VAR {fichiers}
YFicResult2 : text; {fichiers texte pour sortie de r‚sultats}
YFicResult3 : text; {fichier texte pour sortie de r‚sultats}
YFicResult4 : text;
YFicResChrShort: text; {fichier texte pour sortie r‚sultat chronique Vobj}
YFicTest : text;
YFicQXdef : array[0..3,1..2] of YTypFOD;{pour QXdef0 … QXdef?, et pour sens pas chrono et sens chrono}
......@@ -182,7 +184,7 @@ VAR {entiers}
YAnFinV : integer;
YAnPremier : integer;
YChoix : integer; {0 pour saisie clavier et autre pour lecture sur fichier (options de calcul)}
YChoixSubProg : integer; {0 pour tout le programme, 1 pour backward simulation uniquement}
YChoixSubProg : integer; {0 pour tout le programme, 1 et 2 pour backward simulation uniquement}
YCode : integer; {code de bonne traduction de chaŒne en num‚rique}
YComplet : integer; {1 si d‚bit aval et d‚bits d‚cal‚s aux prises et restit. existent, 0 sinon}
YCompteur : integer; {rang du calcul}
......
......@@ -55,6 +55,7 @@ procedure P_ChoixEntreeOptions;
begin
YChoixSubProg:=0;
assign(YFitext,YNomFicFin);
{$i-}
erase(YFitext);
......
......@@ -21,6 +21,7 @@ procedure Ici_Effacement;
assign(YFitext,YRepR+YNomFicResChr1); rewrite(YFitext); close(YFitext);
assign(YFitext,YRepR+YNomFicResChr2); rewrite(YFitext); close(YFitext);
assign(YFitext,YRepR+YNomFicQuant); rewrite(YFitext); close(YFitext);
assign(YFitext,YRepR+YNomFicResChrShort); rewrite(YFitext); close(YFitext);
for YRangLac:=1 to YNmaxLacs do
begin
str(YRanglac,YNum);
......@@ -626,7 +627,6 @@ BEGIN
with YDeb2 do
BEGIN
YJJ_MM_AAAA[0]:=B_Date(YDateEnJour[0]);
val(copy(YJJ_MM_AAAA[0],4,2),YMois[0],YCode);
val(copy(YJJ_MM_AAAA[0],1,2),YJour[0],YCode);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment