Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
record
sunflo
Commits
9b75dd11
Commit
9b75dd11
authored
Jun 26, 2019
by
RemiM
Committed by
Ronan Trepos
Sep 24, 2019
Browse files
"Modify Diagnostic.cpp to get more indicators"
parent
dbb47fac
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
sunflo/exp/sunflo_web_modified_TT.vpz
0 → 100644
View file @
9b75dd11
This diff is collapsed.
Click to expand it.
sunflo/src/Diagnostic.cpp
View file @
9b75dd11
...
...
@@ -34,6 +34,14 @@ public :
/*Sync*/
Var
TT_A2
;
/*Sync*/
Var
ETRETM
;
////////////////////////////////////////////////////////////////////////
/////////////////////////////REMI ADDS//////////////////////////////////
////////////////////////////////////////////////////////////////////////
/*Sync*/
Var
PhasePhenoPlante
;
////////////////////////////////////////////////////////////////////////
/// # Jours de stress jusqu'a la floraison (estimationTTentreSemisEtLevee_casPhaseSemisLeveeSimulee - F1)
/// # (pas utilisé dans le modèle, sortie de Diagnostic)
...
...
@@ -47,6 +55,36 @@ public :
/// # (pas utilisé dans le modèle, sortie de Diagnostic)
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
,
const
vle
::
devs
::
InitEventList
&
events
)
:
DiscreteTimeDyn
(
model
,
events
)
...
...
@@ -61,6 +99,22 @@ public :
ISH2
.
init
(
this
,
"ISH2"
,
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
;
}
...
...
@@ -73,6 +127,17 @@ public :
ISH1
=
0.0
;
//codeMMpourMemo Initial Value = 0.0
ISH2
=
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
{
{
double
ddt
=
0.0
;
...
...
@@ -119,6 +184,107 @@ public :
}
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
;
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
}
}
};
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment