Commit fd6e4fca authored by RemiM's avatar RemiM Committed by Ronan Trepos
Browse files

Correct model of GY prediction, and add vpz model with classical TT

parent b50c4325
This diff is collapsed.
...@@ -98,6 +98,7 @@ ...@@ -98,6 +98,7 @@
<port name="NET_EF"/> <port name="NET_EF"/>
<port name="NET_FM"/> <port name="NET_FM"/>
<port name="NET_MH"/> <port name="NET_MH"/>
<port name="TT_MH"/>
</out>&#xd; </out>&#xd;
</model>&#xd; </model>&#xd;
<model observables="phenologie" conditions="itk,cBegin,CONFIG_SimuInit,CONFIG_Variete,phenologie,EXPERT_Plante,CONFIG_Plante,EXPERT_SimuInit" width="100" dynamics="Phenologie" height="105" x="252" y="22" name="phenologie" type="atomic">&#xd; <model observables="phenologie" conditions="itk,cBegin,CONFIG_SimuInit,CONFIG_Variete,phenologie,EXPERT_Plante,CONFIG_Plante,EXPERT_SimuInit" width="100" dynamics="Phenologie" height="105" x="252" y="22" name="phenologie" type="atomic">&#xd;
...@@ -148,6 +149,7 @@ ...@@ -148,6 +149,7 @@
<port name="NET_EF"/> <port name="NET_EF"/>
<port name="NET_FM"/> <port name="NET_FM"/>
<port name="NET_MH"/> <port name="NET_MH"/>
<port name="TT_MH"/>
</in>&#xd; </in>&#xd;
<out> <out>
<port name="IRs"/> <port name="IRs"/>
...@@ -186,6 +188,7 @@ ...@@ -186,6 +188,7 @@
<port name="NET_EF"/> <port name="NET_EF"/>
<port name="NET_FM"/> <port name="NET_FM"/>
<port name="NET_MH"/> <port name="NET_MH"/>
<port name="TT_MH"/>
</in>&#xd; </in>&#xd;
<out> <out>
<port name="IRs"/> <port name="IRs"/>
...@@ -193,9 +196,10 @@ ...@@ -193,9 +196,10 @@
<port name="JSF"/> <port name="JSF"/>
<port name="JSM"/> <port name="JSM"/>
<port name="RDT"/> <port name="RDT"/>
<port name="NET_EF"/> <port name="NET_EF"/>
<port name="NET_FM"/> <port name="NET_FM"/>
<port name="NET_MH"/> <port name="NET_MH"/>
<port name="photo_TDM_CROISSANCEACTIVE_A_FLORAISON"/>
</out>&#xd; </out>&#xd;
</model>&#xd; </model>&#xd;
</submodels>&#xd; </submodels>&#xd;
...@@ -276,6 +280,10 @@ ...@@ -276,6 +280,10 @@
<origin model="performances" port="NET_MH"/> <origin model="performances" port="NET_MH"/>
<destination model="elaboration_rendement" port="NET_MH"/> <destination model="elaboration_rendement" port="NET_MH"/>
</connection> </connection>
<connection type="input">
<origin model="performances" port="TT_MH"/>
<destination model="elaboration_rendement" port="TT_MH"/>
</connection>
</connections>&#xd; </connections>&#xd;
</model>&#xd; </model>&#xd;
<model width="100" height="330" x="372" y="577" name="contraintes" type="coupled">&#xd; <model width="100" height="330" x="372" y="577" name="contraintes" type="coupled">&#xd;
...@@ -963,6 +971,10 @@ ...@@ -963,6 +971,10 @@
<origin model="diagnostic" port="NET_MH"/> <origin model="diagnostic" port="NET_MH"/>
<destination model="performances" port="NET_MH"/> <destination model="performances" port="NET_MH"/>
</connection> </connection>
<connection type="internal">
<origin model="diagnostic" port="TT_MH"/>
<destination model="performances" port="TT_MH"/>
</connection>
</connections>&#xd; </connections>&#xd;
</model>&#xd; </model>&#xd;
<model width="100" height="120" x="19" y="43" name="climat" type="coupled">&#xd; <model width="100" height="120" x="19" y="43" name="climat" type="coupled">&#xd;
...@@ -1850,13 +1862,12 @@ ...@@ -1850,13 +1862,12 @@
&#xd; &#xd;
<port name="photo_INN_CROISSANCEACTIVE_A_FLORAISON"/>&#xd; <port name="photo_INN_CROISSANCEACTIVE_A_FLORAISON"/>&#xd;
&#xd; &#xd;
<port name="photo_IRs_aFinMATURATION"/>&#xd; <port name="photo_IRs_aFinMATURATION">
&#xd; <attachedview name="viewDbg"/>
<port name="photo_RDT_aFinMATURATION">&#xd;
<attachedview name="viewStatic"/>&#xd;
<attachedview name="viewDbg"/>&#xd;
</port>&#xd; </port>&#xd;
&#xd; &#xd;
&#xd;
&#xd;
<port name="RDT">&#xd; <port name="RDT">&#xd;
&#xd; &#xd;
</port>&#xd; </port>&#xd;
...@@ -1870,6 +1881,12 @@ ...@@ -1870,6 +1881,12 @@
<port name="NET_MH"> <port name="NET_MH">
<attachedview name="viewDbg"/> <attachedview name="viewDbg"/>
</port> </port>
<port name="photo_TDM_CROISSANCEACTIVE_A_FLORAISON">
<attachedview name="viewDbg"/>
</port>
<port name="photo_RDT_aFinMATURATION">
<attachedview name="viewDbg"/>
</port>
</observable>&#xd; </observable>&#xd;
&#xd; &#xd;
<observable name="lecture_climat">&#xd; <observable name="lecture_climat">&#xd;
...@@ -1951,6 +1968,9 @@ ...@@ -1951,6 +1968,9 @@
<port name="SGR_FM"> <port name="SGR_FM">
<attachedview name="viewDbg"/> <attachedview name="viewDbg"/>
</port> </port>
<port name="TT_MH">
<attachedview name="viewDbg"/>
</port>
</observable>&#xd; </observable>&#xd;
<observable name="temperature_efficace"/>&#xd; <observable name="temperature_efficace"/>&#xd;
<observable name="temperature_moyenne">&#xd; <observable name="temperature_moyenne">&#xd;
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE vle_project_metadata>
<vle_project_metadata version="1.x" author="me">
<condPlugins/>
<outputGUIplugins/>
</vle_project_metadata>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE vle_project_metadata>
<vle_project_metadata version="1.x" author="me">
<condPlugins/>
<outputGUIplugins/>
</vle_project_metadata>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE vle_project_metadata>
<vle_project_metadata version="1.x" author="me">
<condPlugins/>
<outputGUIplugins/>
</vle_project_metadata>
...@@ -83,6 +83,8 @@ public : ...@@ -83,6 +83,8 @@ public :
Var NET_FM; Var NET_FM;
// Jours de stress végétatifs (M0 - M3) (covariables statistiques) // Jours de stress végétatifs (M0 - M3) (covariables statistiques)
Var NET_MH; Var NET_MH;
// Somme temps thermique après floraison (M0 - M3) (covariables statistiques)
Var TT_MH;
...@@ -130,6 +132,7 @@ public : ...@@ -130,6 +132,7 @@ public :
NET_EF.init(this, "NET_EF" , events); NET_EF.init(this, "NET_EF" , events);
NET_FM.init(this, "NET_FM" , events); NET_FM.init(this, "NET_FM" , events);
NET_MH.init(this, "NET_MH" , events); NET_MH.init(this, "NET_MH" , events);
TT_MH.init(this, "TT_MH" , events);
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
...@@ -305,6 +308,24 @@ public : ...@@ -305,6 +308,24 @@ public :
} }
} }
{
if ( Tmoy() <= pp.Tbase ){
TT_MH = TT_MH(-1);
} else if ( ( PhasePhenoPlante() >= PHASEPHENOPLANTE_DESSICATION)
&& ( PhasePhenoPlante() < PHASEPHENOPLANTE_RECOLTEE) ){
// traduit condition TT_A2 > date_TT_M3
TT_MH = TT_MH(-1);
} else if ( ( PhasePhenoPlante() < PHASEPHENOPLANTE_MATURATION)
|| ( PhasePhenoPlante() >= PHASEPHENOPLANTE_RECOLTEE) ){
// traduit condition TT_A2 < date_TT_M0
TT_MH = TT_MH(-1);
} else {
TT_MH = TT_MH(-1) + (Tmoy() - pp.Tbase);
}
}
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
......
...@@ -66,7 +66,8 @@ public : ...@@ -66,7 +66,8 @@ public :
Var NET_FM; Var NET_FM;
// Jours de stress végétatifs (M0 - M3) (covariables statistiques) // Jours de stress végétatifs (M0 - M3) (covariables statistiques)
Var NET_MH; Var NET_MH;
// Somme temps thermique après floraison (M0 - M3) (covariables statistiques)
Var TT_MH;
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
...@@ -104,6 +105,7 @@ public : ...@@ -104,6 +105,7 @@ public :
NET_EF.init(this, "NET_EF", events); NET_EF.init(this, "NET_EF", events);
NET_FM.init(this, "NET_FM", events); NET_FM.init(this, "NET_FM", events);
NET_MH.init(this, "NET_MH", events); NET_MH.init(this, "NET_MH", events);
TT_MH.init(this, "TT_MH", events);
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
} }
...@@ -202,7 +204,8 @@ public : ...@@ -202,7 +204,8 @@ public :
if ((PhasePhenoPlante(-1) == PHASEPHENOPLANTE_CROISSANCEACTIVE) and if ((PhasePhenoPlante(-1) == PHASEPHENOPLANTE_CROISSANCEACTIVE) and
(PhasePhenoPlante() == PHASEPHENOPLANTE_FLORAISON)){ (PhasePhenoPlante() == PHASEPHENOPLANTE_FLORAISON)){
photo_TDM_CROISSANCEACTIVE_A_FLORAISON = TDM(-1); // derniere valeur en CROISSANCEACTIVE //photo_TDM_CROISSANCEACTIVE_A_FLORAISON = TDM(-1); // derniere valeur en CROISSANCEACTIVE
photo_TDM_CROISSANCEACTIVE_A_FLORAISON = TDM(); // première valeur en floraison
photo_INN_CROISSANCEACTIVE_A_FLORAISON = INN(-1); // derniere valeur en CROISSANCEACTIVE photo_INN_CROISSANCEACTIVE_A_FLORAISON = INN(-1); // derniere valeur en CROISSANCEACTIVE
} else if ( PhasePhenoPlante() >= PHASEPHENOPLANTE_FLORAISON ){ } else if ( PhasePhenoPlante() >= PHASEPHENOPLANTE_FLORAISON ){
photo_TDM_CROISSANCEACTIVE_A_FLORAISON = photo_TDM_CROISSANCEACTIVE_A_FLORAISON(-1); photo_TDM_CROISSANCEACTIVE_A_FLORAISON = photo_TDM_CROISSANCEACTIVE_A_FLORAISON(-1);
...@@ -238,7 +241,7 @@ public : ...@@ -238,7 +241,7 @@ public :
IRs_tmp = 0.416 + (-1.42e-04) * photo_TDM_CROISSANCEACTIVE_A_FLORAISON() IRs_tmp = 0.416 + (-1.42e-04) * photo_TDM_CROISSANCEACTIVE_A_FLORAISON()
+ (1.19e-03) * NET_EF() + (-8.45e-04) * NET_FM() + (1.19e-03) * NET_EF() + (-8.45e-04) * NET_FM()
+ (-2.47e-04) * NET_MH() + (-2.47e-04) * NET_MH()
+ 3.61e-04 * TT_F1() + 7.75e-01 * pv.IRg; + (-3.61e-04) * TT_MH() + 7.75e-01 * pv.IRg;
} }
IRs = IRs_tmp; IRs = IRs_tmp;
} }
...@@ -277,10 +280,12 @@ public : ...@@ -277,10 +280,12 @@ public :
(PhasePhenoPlante() == PHASEPHENOPLANTE_DESSICATION)){ (PhasePhenoPlante() == PHASEPHENOPLANTE_DESSICATION)){
photo_RDT_aFinMATURATION = RDT(-1); // derniere valeur en MATURATION et non pas 1ere en DESSICATION photo_RDT_aFinMATURATION = RDT(-1); // derniere valeur en MATURATION et non pas 1ere en DESSICATION
//photo_RDT_aFinMATURATION = RDT(); // derniere valeur en MATURATION et non pas 1ere en DESSICATION
} else if ((PhasePhenoPlante(-1) == PHASEPHENOPLANTE_MATURATION) and } else if ((PhasePhenoPlante(-1) == PHASEPHENOPLANTE_MATURATION) and
(PhasePhenoPlante() == PHASEPHENOPLANTE_RECOLTEE)){ (PhasePhenoPlante() == PHASEPHENOPLANTE_RECOLTEE)){
photo_RDT_aFinMATURATION = RDT(-1); // derniere valeur en MATURATION et non pas 1ere en RECOLTEE photo_RDT_aFinMATURATION = RDT(-1); // derniere valeur en MATURATION et non pas 1ere en RECOLTEE
//photo_RDT_aFinMATURATION = RDT(); // derniere valeur en MATURATION et non pas 1ere en RECOLTEE
} else { } else {
photo_RDT_aFinMATURATION = photo_RDT_aFinMATURATION(-1); photo_RDT_aFinMATURATION = photo_RDT_aFinMATURATION(-1);
} }
......
This diff is collapsed.
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