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

"Modify Diagnostic.cpp to get more indicators"

parent dbb47fac
This diff is collapsed.
...@@ -34,6 +34,14 @@ public : ...@@ -34,6 +34,14 @@ public :
/*Sync*/ Var TT_A2; /*Sync*/ Var TT_A2;
/*Sync*/ Var ETRETM; /*Sync*/ Var ETRETM;
////////////////////////////////////////////////////////////////////////
/////////////////////////////REMI ADDS//////////////////////////////////
////////////////////////////////////////////////////////////////////////
/*Sync*/ Var PhasePhenoPlante;
////////////////////////////////////////////////////////////////////////
/// # Jours de stress jusqu'a la floraison (estimationTTentreSemisEtLevee_casPhaseSemisLeveeSimulee - F1) /// # Jours de stress jusqu'a la floraison (estimationTTentreSemisEtLevee_casPhaseSemisLeveeSimulee - F1)
/// # (pas utilisé dans le modèle, sortie de Diagnostic) /// # (pas utilisé dans le modèle, sortie de Diagnostic)
...@@ -47,6 +55,36 @@ public : ...@@ -47,6 +55,36 @@ public :
/// # (pas utilisé dans le modèle, sortie de Diagnostic) /// # (pas utilisé dans le modèle, sortie de Diagnostic)
Var ISH3; Var ISH3;
////////////////////////////////////////////////////////////////////////
/////////////////////////////REMI ADDS//////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// # Jours entre maturation et récolte.
Var D_MH;
/// # Jours entre semis et germination.
Var D_SE;
/// # Somme ETPET entre maturation et récolte.
Var SET_MH;
/// # Moyenne ETPET entre maturation et récolte.
Var MET_MH;
/// # Somme ETPET entre germinatioan et initiation florale.
Var SET_EF;
/// # Moyenne ETPET entre germinatioan et initiation florale.
Var MET_EF;
// Thermal stress entre germinatioan et initiation florale.
Var NHT28_EF;
// Thermal stress during whole season
Var NHT28;
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
Diagnostic(const vle::devs::DynamicsInit& model, Diagnostic(const vle::devs::DynamicsInit& model,
const vle::devs::InitEventList& events) : const vle::devs::InitEventList& events) :
DiscreteTimeDyn(model, events) DiscreteTimeDyn(model, events)
...@@ -61,6 +99,22 @@ public : ...@@ -61,6 +99,22 @@ public :
ISH2.init(this, "ISH2" , events); ISH2.init(this, "ISH2" , events);
ISH3.init(this, "ISH3" , events); ISH3.init(this, "ISH3" , events);
////////////////////////////////////////////////////////////////////////
/////////////////////////////REMI ADDS//////////////////////////////////
D_MH.init(this, "D_MH" , events);
D_SE.init(this, "D_SE", events);
SET_MH.init(this, "SET_MH" , events);
MET_MH.init(this, "MET_MH" , events);
SET_EF.init(this, "SET_MH" , events);
MET_EF.init(this, "MET_MH" , events);
NHT28_EF.init(this, "NHT28_EF.init", events);
PhasePhenoPlante.init(this, "PhasePhenoPlante", events);
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
first_compute = true; first_compute = true;
} }
...@@ -73,6 +127,17 @@ public : ...@@ -73,6 +127,17 @@ public :
ISH1 = 0.0; //codeMMpourMemo Initial Value = 0.0 ISH1 = 0.0; //codeMMpourMemo Initial Value = 0.0
ISH2 = 0.0; //codeMMpourMemo Initial Value = 0.0 ISH2 = 0.0; //codeMMpourMemo Initial Value = 0.0
ISH3 = 0.0; //codeMMpourMemo Initial Value = 0.0 ISH3 = 0.0; //codeMMpourMemo Initial Value = 0.0
/////////////////////////////REMI ADDS//////////////////////////////////
D_MH = 0.0;
D_SE = 0.0;
SET_MH = 0.0;
MET_MH = 0.0;
SET_EF = 0.0;
MET_EF = 0.0;
NHT_28 = 0.0;
NHT28_MH = 0.0;
////////////////////////////////////////////////////////////////////////
} else { } else {
{ {
double ddt = 0.0; double ddt = 0.0;
...@@ -119,6 +184,107 @@ public : ...@@ -119,6 +184,107 @@ public :
} }
ISH3 = ISH3(-1) + ddt; ISH3 = ISH3(-1) + ddt;
} }
////////////////////////////////////////////////////////////////////////
/////////////////////////////REMI ADDS//////////////////////////////////
////////////////////////////////////////////////////////////////////////
{
double ddt = 0.0;
if ( ( PhasePhenoPlante() < PHASEPHENOPLANTE_MATURATION )
// traduit condition TT_A2 < date_TT_M0
|| ( PhasePhenoPlante() < PHASEPHENOPLANTE_JUVENILE )
|| ( PhasePhenoPlante() >= PHASEPHENOPLANTE_RECOLTEE )){
// traduit condition TT_A2 = 0
ddt = 0.0;
} else {
ddt = 1;
}
D_MH = D_MH(-1) + ddt;
}
{
double ddt = 0.0;
if ( PhasePhenoPlante() == PHASEPHENOPLANTE_JUVENILE){
ddt = 0.0;
} else {
ddt = 1;
}
D_EF = D_EF(-1) + ddt;
}
{
double ddt = 0.0;
if ( PhasePhenoPlante() == PHASEPHENOPLANTE_GERMINATION ){
// traduit condition TT_A2 = 0
ddt = 0.0;
} else {
ddt = 1;
}
D_SE = D_SE(-1) + ddt;
}
{
double ddt = 0.0;
if ( ( PhasePhenoPlante() < PHASEPHENOPLANTE_MATURATION )
// traduit condition TT_A2 < date_TT_M0
|| ( PhasePhenoPlante() < PHASEPHENOPLANTE_JUVENILE )
|| ( PhasePhenoPlante() >= PHASEPHENOPLANTE_RECOLTEE ) ){
// traduit condition TT_A2 = 0
ddt = 0.0;
} else {
ddt = ETRETM();
}
SET_MH = SET_MH(-1) + ddt;
}
// calcul de MET_MH
MET_MH = SET_MH() / D_MH();
{
double ddt = 0.0;
if ( ( PhasePhenoPlante() == PHASEPHENOPLANTE_JUVENILE ) ){
// traduit condition TT_A2 = 0
ddt = 0.0;
} else {
ddt = ETRETM();
}
SET_EF = SET_EF(-1) + ddt;
}
// calcul de MET_EF
MET_EF = SET_EF() / D_EF();
// calcul de NHT28_EF
{
double ddt = 0.0;
if ( Tx() < 28.0 ){
ddt = 0.0;
} else if (( PhasePhenoPlante() != PHASEPHENOPLANTE_JUVENILE )){
ddt = 0.0;
} else {
ddt = 1.0;
}
NHT28_EF = NHT28_EF(-1) + ddt;
}
// calcul de NHT28
{
double ddt = 0.0;
if ( Tx() < 28.0 ){
ddt = 0.0;
} else if (( PhasePhenoPlante() >= PHASEPHENOPLANTE_RECOLTEE) || PhasePhenoPlante() == PHASEPHENOPLANTE_NONSEMEE){
ddt = 0.0;
} else {
ddt = 1.0;
}
NHT28 = NHT28(-1) + ddt;
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
} }
} }
}; };
......
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