Commit 4013ed9a authored by Ronan Trépos's avatar Ronan Trépos
Browse files

remove default values for parameters.

All parameters have to be given in vpz.
parent ccc0357e
This diff is collapsed.
......@@ -146,6 +146,7 @@ public :
pv.initialiser( events );
ps.initialiser( events );
psi.initialiser( events );
RUmmC1 = ( ps.Hcc_C1 - ps.Hpf_C1 ) / 100.0 * ps.da_C1 * ( 1.0 - ps.TC );
RUmmC2 = ( ps.Hcc_C2 - ps.Hpf_C2 ) / 100.0 * ps.da_C2 * ( 1.0 - ps.TC );
......
......@@ -224,7 +224,10 @@ public :
// traduit condition TT_A2 >= date_TT_M3
RDT_tmp = TDM() * photo_IRs_aFinMATURATION() / 10.0;
} else {
RDT_tmp = TDM() * IRs() / 10.0;
double dI = IRs() - IRs(-1);
double dT = TDM() - TDM(-1);
//RDT_tmp = TDM() * IRs() / 10.0;
RDT_tmp = RDT(-1) + (TDM(-1)*dI + IRs(-1)*dT +dI*dT)/ 10.0;
}
RDT = RDT_tmp;
......
......@@ -12,40 +12,40 @@
#include <vle/devs/InitEventList.hpp>
#define VALEURPARDEFAUT_date_TT_germination 86.2 ///< valeur par defaut
#define VALEURPARDEFAUT_dHE 1.19 ///< valeur par defaut
#define VALEURPARDEFAUT_Eb_0 1.0 ///< valeur par defaut
#define VALEURPARDEFAUT_Eb_c 4.5 ///< valeur par defaut
#define VALEURPARDEFAUT_Eb_fin 0.015 ///< valeur par defaut
#define VALEURPARDEFAUT_Eb_max 3.0 ///< valeur par defaut
#define VALEURPARDEFAUT_LAI_a 400.0 ///< valeur par defaut
#define VALEURPARDEFAUT_LAI_b 1.0 ///< valeur par defaut
#define VALEURPARDEFAUT_LAI_c 153.0 ///< valeur par defaut
#define VALEURPARDEFAUT_LAI_d 851.33 ///< valeur par defaut
#define VALEURPARDEFAUT_LAI_e -0.03783 ///< valeur par defaut
#define VALEURPARDEFAUT_LAI_f 0.78469 ///< valeur par defaut
#define VALEURPARDEFAUT_LAI_Kei 0.01379 ///< valeur par defaut
#define VALEURPARDEFAUT_Phy1 71.43 ///< valeur par defaut
#define VALEURPARDEFAUT_Phy2 16.34 ///< valeur par defaut
#define VALEURPARDEFAUT_Tbase 4.8 ///< valeur par defaut
#define VALEURPARDEFAUT_Tmax_PHS 37.0 ///< valeur par defaut
#define VALEURPARDEFAUT_Topt1_PHS 20.0 ///< valeur par defaut
#define VALEURPARDEFAUT_Topt2_PHS 28.0 ///< valeur par defaut
#define VALEURPARDEFAUT_a_Pho -25.0 ///< valeur par defaut
#define VALEURPARDEFAUT_AA_a 0.1 ///< valeur par defaut
#define VALEURPARDEFAUT_zRac_max 1800.0 ///< valeur par defaut
#define VALEURPARDEFAUT_FNLEm 0.3 ///< valeur par defaut
#define VALEURPARDEFAUT_INNseuil 0.6 ///< valeur par defaut
#define VALEURPARDEFAUT_AP_a 0.1 ///< valeur par defaut
#define VALEURPARDEFAUT_date_TT_F1M0 350.0 ///< valeur par defaut
#define VALEURPARDEFAUT_VitCroiRac 0.7 ///< valeur par defaut
#define VALEURPARDEFAUT_Kc 1.2 ///< valeur par defaut
#define VALEURPARDEFAUT_PNCc_a 5.0 ///< valeur par defaut
#define VALEURPARDEFAUT_PNCc_b 0.5 ///< valeur par defaut
#define VALEURPARDEFAUT_TDMc_seuil 100.0 ///< valeur par defaut
#define VALEURPARDEFAUT_PNCm_a 7.0 ///< valeur par defaut
#define VALEURPARDEFAUT_PNCm_b 0.5 ///< valeur par defaut
#define VALEURPARDEFAUT_TDMm_seuil 100.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_date_TT_germination 86.2 ///< valeur par defaut
//#define VALEURPARDEFAUT_dHE 1.19 ///< valeur par defaut
//#define VALEURPARDEFAUT_Eb_0 1.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_Eb_c 4.5 ///< valeur par defaut
//#define VALEURPARDEFAUT_Eb_fin 0.015 ///< valeur par defaut
//#define VALEURPARDEFAUT_Eb_max 3.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_LAI_a 400.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_LAI_b 1.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_LAI_c 153.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_LAI_d 851.33 ///< valeur par defaut
//#define VALEURPARDEFAUT_LAI_e -0.03783 ///< valeur par defaut
//#define VALEURPARDEFAUT_LAI_f 0.78469 ///< valeur par defaut
//#define VALEURPARDEFAUT_LAI_Kei 0.01379 ///< valeur par defaut
//#define VALEURPARDEFAUT_Phy1 71.43 ///< valeur par defaut
//#define VALEURPARDEFAUT_Phy2 16.34 ///< valeur par defaut
//#define VALEURPARDEFAUT_Tbase 4.8 ///< valeur par defaut
//#define VALEURPARDEFAUT_Tmax_PHS 37.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_Topt1_PHS 20.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_Topt2_PHS 28.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_a_Pho -25.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_AA_a 0.1 ///< valeur par defaut
//#define VALEURPARDEFAUT_zRac_max 1800.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_FNLEm 0.3 ///< valeur par defaut
//#define VALEURPARDEFAUT_INNseuil 0.6 ///< valeur par defaut
//#define VALEURPARDEFAUT_AP_a 0.1 ///< valeur par defaut
//#define VALEURPARDEFAUT_date_TT_F1M0 350.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_VitCroiRac 0.7 ///< valeur par defaut
//#define VALEURPARDEFAUT_Kc 1.2 ///< valeur par defaut
//#define VALEURPARDEFAUT_PNCc_a 5.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_PNCc_b 0.5 ///< valeur par defaut
//#define VALEURPARDEFAUT_TDMc_seuil 100.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_PNCm_a 7.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_PNCm_b 0.5 ///< valeur par defaut
//#define VALEURPARDEFAUT_TDMm_seuil 100.0 ///< valeur par defaut
namespace sunflo {
......@@ -183,172 +183,172 @@ struct ParametresPlante {
if ( events.exist("date_TT_germination") ){
date_TT_germination = events.getDouble("date_TT_germination");
} else {
date_TT_germination = VALEURPARDEFAUT_date_TT_germination;
throw vle::utils::ModellingError("[ParametersPlante] missing 'date_TT_germination'");
}
if ( events.exist("dHE") ){
dHE = events.getDouble("dHE");
} else {
dHE = VALEURPARDEFAUT_dHE;
throw vle::utils::ModellingError("[ParametersPlante] missing 'dHE'");
}
if ( events.exist("Eb_0") ){
Eb_0 = events.getDouble("Eb_0");
} else {
Eb_0 = VALEURPARDEFAUT_Eb_0;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Eb_0'");
}
if ( events.exist("Eb_c") ){
Eb_c = events.getDouble("Eb_c");
} else {
Eb_c = VALEURPARDEFAUT_Eb_c;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Eb_c'");
}
if ( events.exist("Eb_fin") ){
Eb_fin = events.getDouble("Eb_fin");
} else {
Eb_fin = VALEURPARDEFAUT_Eb_fin;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Eb_fin'");
}
if ( events.exist("Eb_max") ){
Eb_max = events.getDouble("Eb_max");
} else {
Eb_max = VALEURPARDEFAUT_Eb_max;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Eb_max'");
}
if ( events.exist("LAI_a") ){
LAI_a = events.getDouble("LAI_a");
} else {
LAI_a = VALEURPARDEFAUT_LAI_a;
throw vle::utils::ModellingError("[ParametersPlante] missing 'LAI_a'");
}
if ( events.exist("LAI_b") ){
LAI_b = events.getDouble("LAI_b");
} else {
LAI_b = VALEURPARDEFAUT_LAI_b;
throw vle::utils::ModellingError("[ParametersPlante] missing 'LAI_b'");
}
if ( events.exist("LAI_c") ){
LAI_c = events.getDouble("LAI_c");
} else {
LAI_c = VALEURPARDEFAUT_LAI_c;
throw vle::utils::ModellingError("[ParametersPlante] missing 'LAI_c'");
}
if ( events.exist("LAI_d") ){
LAI_d = events.getDouble("LAI_d");
} else {
LAI_d = VALEURPARDEFAUT_LAI_d;
throw vle::utils::ModellingError("[ParametersPlante] missing 'LAI_d'");
}
if ( events.exist("LAI_e") ){
LAI_e = events.getDouble("LAI_e");
} else {
LAI_e = VALEURPARDEFAUT_LAI_e;
throw vle::utils::ModellingError("[ParametersPlante] missing 'LAI_e'");
}
if ( events.exist("LAI_f") ){
LAI_f = events.getDouble("LAI_f");
} else {
LAI_f = VALEURPARDEFAUT_LAI_f;
throw vle::utils::ModellingError("[ParametersPlante] missing 'LAI_f'");
}
if ( events.exist("LAI_Kei") ){
LAI_Kei = events.getDouble("LAI_Kei");
} else {
LAI_Kei = VALEURPARDEFAUT_LAI_Kei;
throw vle::utils::ModellingError("[ParametersPlante] missing 'LAI_Kei'");
}
if ( events.exist("Phy1") ){
Phy1 = events.getDouble("Phy1");
} else {
Phy1 = VALEURPARDEFAUT_Phy1;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Phy1'");
}
if ( events.exist("Phy2") ){
Phy2 = events.getDouble("Phy2");
} else {
Phy2 = VALEURPARDEFAUT_Phy2;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Phy2'");
}
if ( events.exist("Tbase") ){
Tbase = events.getDouble("Tbase");
} else {
Tbase = VALEURPARDEFAUT_Tbase;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Tbase'");
}
if ( events.exist("Tmax_PHS") ){
Tmax_PHS = events.getDouble("Tmax_PHS");
} else {
Tmax_PHS = VALEURPARDEFAUT_Tmax_PHS;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Tmax_PHS'");
}
if ( events.exist("Topt1_PHS") ){
Topt1_PHS = events.getDouble("Topt1_PHS");
} else {
Topt1_PHS = VALEURPARDEFAUT_Topt1_PHS;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Topt1_PHS'");
}
if ( events.exist("Topt2_PHS") ){
Topt2_PHS = events.getDouble("Topt2_PHS");
} else {
Topt2_PHS = VALEURPARDEFAUT_Topt2_PHS;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Topt2_PHS'");
}
if ( events.exist("a_Pho") ){
a_Pho = events.getDouble("a_Pho");
} else {
a_Pho = VALEURPARDEFAUT_a_Pho;
throw vle::utils::ModellingError("[ParametersPlante] missing 'a_Pho'");
}
if ( events.exist("AA_a") ){
AA_a = events.getDouble("AA_a");
} else {
AA_a = VALEURPARDEFAUT_AA_a;
throw vle::utils::ModellingError("[ParametersPlante] missing 'AA_a'");
}
if ( events.exist("zRac_max") ){
zRac_max = events.getDouble("zRac_max");
} else {
zRac_max = VALEURPARDEFAUT_zRac_max;
throw vle::utils::ModellingError("[ParametersPlante] missing 'zRac_max'");
}
if ( events.exist("FNLEm") ){
FNLEm = events.getDouble("FNLEm");
} else {
FNLEm = VALEURPARDEFAUT_FNLEm;
throw vle::utils::ModellingError("[ParametersPlante] missing 'FNLEm'");
}
if ( events.exist("INNseuil") ){
INNseuil = events.getDouble("INNseuil");
} else {
INNseuil = VALEURPARDEFAUT_INNseuil;
throw vle::utils::ModellingError("[ParametersPlante] missing 'INNseuil'");
}
if ( events.exist("AP_a") ){
AP_a = events.getDouble("AP_a");
} else {
AP_a = VALEURPARDEFAUT_AP_a;
throw vle::utils::ModellingError("[ParametersPlante] missing 'AP_a'");
}
if ( events.exist("date_TT_F1M0") ){
date_TT_F1M0 = events.getDouble("date_TT_F1M0");
} else {
date_TT_F1M0 = VALEURPARDEFAUT_date_TT_F1M0;
throw vle::utils::ModellingError("[ParametersPlante] missing 'date_TT_F1M0'");
}
if ( events.exist("VitCroiRac") ){
VitCroiRac = events.getDouble("VitCroiRac");
} else {
VitCroiRac = VALEURPARDEFAUT_VitCroiRac;
throw vle::utils::ModellingError("[ParametersPlante] missing 'VitCroiRac'");
}
if ( events.exist("Kc") ){
Kc = events.getDouble("Kc");
} else {
Kc = VALEURPARDEFAUT_Kc;
throw vle::utils::ModellingError("[ParametersPlante] missing 'Kc'");
}
if ( events.exist("PNCc_a") ){
PNCc_a = events.getDouble("PNCc_a");
} else {
PNCc_a = VALEURPARDEFAUT_PNCc_a;
throw vle::utils::ModellingError("[ParametersPlante] missing 'PNCc_a'");
}
if ( events.exist("PNCc_b") ){
PNCc_b = events.getDouble("PNCc_b");
} else {
PNCc_b = VALEURPARDEFAUT_PNCc_b;
throw vle::utils::ModellingError("[ParametersPlante] missing 'PNCc_b'");
}
if ( events.exist("TDMc_seuil") ){
TDMc_seuil = events.getDouble("TDMc_seuil");
} else {
TDMc_seuil = VALEURPARDEFAUT_TDMc_seuil;
throw vle::utils::ModellingError("[ParametersPlante] missing 'TDMc_seuil'");
}
if ( events.exist("PNCm_a") ){
PNCm_a = events.getDouble("PNCm_a");
} else {
PNCm_a = VALEURPARDEFAUT_PNCm_a;
throw vle::utils::ModellingError("[ParametersPlante] missing 'PNCm_a'");
}
if ( events.exist("PNCm_b") ){
PNCm_b = events.getDouble("PNCm_b");
} else {
PNCm_b = VALEURPARDEFAUT_PNCm_b;
throw vle::utils::ModellingError("[ParametersPlante] missing 'PNCm_b'");
}
if ( events.exist("TDMm_seuil") ){
TDMm_seuil = events.getDouble("TDMm_seuil");
} else {
TDMm_seuil = VALEURPARDEFAUT_TDMm_seuil;
throw vle::utils::ModellingError("[ParametersPlante] missing 'TDMm_seuil'");
}
}
};
......
......@@ -13,11 +13,11 @@
namespace sunflo {
#define VALEURPARDEFAUT_zC1 300.0 ///< valeur par defaut
#define VALEURPARDEFAUT_dateLevee_casForcee "00/00" ///< valeur par defaut
#define VALEURPARDEFAUT_Hini_C1 19.7 ///< valeur par defaut
#define VALEURPARDEFAUT_Hini_C2 19.7 ///< valeur par defaut
#define VALEURPARDEFAUT_SeuilETRETM 0.6 ///< valeur par defaut
//#define VALEURPARDEFAUT_zC1 300.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_dateLevee_casForcee "00/00" ///< valeur par defaut
//#define VALEURPARDEFAUT_Hini_C1 19.7 ///< valeur par defaut
//#define VALEURPARDEFAUT_Hini_C2 19.7 ///< valeur par defaut
//#define VALEURPARDEFAUT_SeuilETRETM 0.6 ///< valeur par defaut
struct ParametresSimuInit
{
......@@ -43,27 +43,27 @@ struct ParametresSimuInit
if ( events.exist("zC1") ){
zC1 = events.getDouble("zC1");
} else {
zC1 = VALEURPARDEFAUT_zC1;
throw vle::utils::ModellingError("[ParametersSimuInit] missing 'zC1'");
}
if ( events.exist("dateLevee_casForcee") ){
dateLevee_casForcee = events.getString("dateLevee_casForcee");
} else {
dateLevee_casForcee = VALEURPARDEFAUT_dateLevee_casForcee;
throw vle::utils::ModellingError("[ParametersSimuInit] missing 'dateLevee_casForcee'");
}
if ( events.exist("Hini_C1") ){
Hini_C1 = events.getDouble("Hini_C1");
} else {
Hini_C1 = VALEURPARDEFAUT_Hini_C1;
throw vle::utils::ModellingError("[ParametersSimuInit] missing 'Hini_C1'");
}
if ( events.exist("Hini_C2") ){
Hini_C2 = events.getDouble("Hini_C2");
} else {
Hini_C2 = VALEURPARDEFAUT_Hini_C2;
throw vle::utils::ModellingError("[ParametersSimuInit] missing 'Hini_C2'");
}
if ( events.exist("SeuilETRETM") ){
SeuilETRETM = events.getDouble("SeuilETRETM");
} else {
SeuilETRETM = VALEURPARDEFAUT_SeuilETRETM;
throw vle::utils::ModellingError("[ParametersSimuInit] missing 'SeuilETRETM'");
}
}
};
......
......@@ -13,15 +13,15 @@
namespace sunflo {
#define VALEURPARDEFAUT_da_C1 1.5 ///< valeur par defaut
#define VALEURPARDEFAUT_da_C2 1.5 ///< valeur par defaut
#define VALEURPARDEFAUT_Hcc_C1 19.7 ///< valeur par defaut
#define VALEURPARDEFAUT_Hcc_C2 19.7 ///< valeur par defaut
#define VALEURPARDEFAUT_Fpf 0.2 ///< valeur par defaut
#define VALEURPARDEFAUT_Vp 0.5 ///< valeur par defaut
#define VALEURPARDEFAUT_Hpf_C1 9.7 ///< valeur par defaut
#define VALEURPARDEFAUT_Hpf_C2 9.7 ///< valeur par defaut
#define VALEURPARDEFAUT_TC 0.0 ///< valeur par defaut
//#define VALEURPARDEFAUT_da_C1 1.5 ///< valeur par defaut
//#define VALEURPARDEFAUT_da_C2 1.5 ///< valeur par defaut
//#define VALEURPARDEFAUT_Hcc_C1 19.7 ///< valeur par defaut
//#define VALEURPARDEFAUT_Hcc_C2 19.7 ///< valeur par defaut
//#define VALEURPARDEFAUT_Fpf 0.2 ///< valeur par defaut
//#define VALEURPARDEFAUT_Vp 0.5 ///< valeur par defaut
//#define VALEURPARDEFAUT_Hpf_C1 9.7 ///< valeur par defaut
//#define VALEURPARDEFAUT_Hpf_C2 9.7 ///< valeur par defaut
//#define VALEURPARDEFAUT_TC 0.0 ///< valeur par defaut
struct ParametresSol
{
......@@ -70,52 +70,51 @@ struct ParametresSol
if ( events.exist("profondeur") ){
profondeur = events.getDouble("profondeur");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersSol] missing 'profondeur'");
}
if ( events.exist("da_C1") ){
da_C1 = events.getDouble("da_C1");
} else {
da_C1 = VALEURPARDEFAUT_da_C1;
throw vle::utils::ModellingError("[ParametersSol] missing 'da_C1'");
}
if ( events.exist("da_C2") ){
da_C2 = events.getDouble("da_C2");
} else {
da_C2 = VALEURPARDEFAUT_da_C2;
throw vle::utils::ModellingError("[ParametersSol] missing 'da_C2'");
}
if ( events.exist("Hcc_C1") ){
if (events.exist("Hcc_C1") and events.exist("Hcc_C2")) {
Hcc_C1 = events.getDouble("Hcc_C1");
} else {
Hcc_C1 = VALEURPARDEFAUT_Hcc_C1;
}
if ( events.exist("Hcc_C2") ){
Hcc_C2 = events.getDouble("Hcc_C2");
} else if (events.exist("Hcc")){
Hcc_C1 = events.getDouble("Hcc");
Hcc_C2 = events.getDouble("Hcc");
} else {
Hcc_C2 = VALEURPARDEFAUT_Hcc_C2;
throw vle::utils::ModellingError("[ParametersSol] missing 'Hcc_*'");
}
if ( events.exist("Fpf") ){
Fpf = events.getDouble("Fpf");
} else {
Fpf = VALEURPARDEFAUT_Fpf;
throw vle::utils::ModellingError("[ParametersSol] missing 'Fpf'");
}
if ( events.exist("Vp") ){
Vp = events.getDouble("Vp");
} else {
Vp = VALEURPARDEFAUT_Vp;
throw vle::utils::ModellingError("[ParametersSol] missing 'Vp'");
}
if ( events.exist("Hpf_C1") ){
Hpf_C1 = events.getDouble("Hpf_C1");
} else {
Hpf_C1 = VALEURPARDEFAUT_Hpf_C1;
throw vle::utils::ModellingError("[ParametersSol] missing 'Hpf_C1'");
}
if ( events.exist("Hpf_C2") ){
Hpf_C2 = events.getDouble("Hpf_C2");
} else {
Hpf_C2 = VALEURPARDEFAUT_Hpf_C2;
throw vle::utils::ModellingError("[ParametersSol] missing 'Hpf_C2'");
}
if ( events.exist("TC") ){
TC = events.getDouble("TC");
} else {
TC = VALEURPARDEFAUT_TC;
throw vle::utils::ModellingError("[ParametersSol] missing 'TC'");
}
}
};
......
......@@ -99,67 +99,67 @@ struct ParametresVariete
if ( events.exist("date_TT_E1") ){
date_TT_E1 = events.getDouble("date_TT_E1");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'date_TT_E1'");
}
if ( events.exist("date_TT_F1") ){
date_TT_F1 = events.getDouble("date_TT_F1");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'date_TT_F1'");
}
if ( events.exist("date_TT_M0") ){
date_TT_M0 = events.getDouble("date_TT_M0");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'date_TT_M0'");
}
if ( events.exist("date_TT_M3") ){
date_TT_M3 = events.getDouble("date_TT_M3");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'date_TT_M3'");
}
if ( events.exist("cSF") ){
cSF = events.getDouble("cSF");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'cSF'");
}
if ( events.exist("bSF") ){
bSF = events.getDouble("bSF");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'bSF'");
}
if ( events.exist("TLN") ){
TLN = events.getDouble("TLN");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'TLN'");
}
if ( events.exist("ext") ){
ext = events.getDouble("ext");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'ext'");
}
if ( events.exist("PHS") ){
PHS = events.getDouble("PHS");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'PHS'");
}
if ( events.exist("a_LE") ){
a_LE = events.getDouble("a_LE");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'a_LE'");
}
if ( events.exist("a_TR") ){
a_TR = events.getDouble("a_TR");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'a_TR'");
}
if ( events.exist("IRg") ){
IRg = events.getDouble("IRg");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'IRg'");
}
if ( events.exist("thp") ){
thp = events.getDouble("thp");
} else {
throw "erreur";
throw vle::utils::ModellingError("[ParametersVariete] missing 'thp'");
}
}
......
......@@ -107,7 +107,7 @@ public :
&& ( pv.date_TT_M0 < pv.date_TT_M3 ) ){
// ok
} else { // probleme
throw "erreur";
throw vle::utils::ModellingError("[Phenologie] error date_TT_*");
}
double FHTR_valeurInitiale = 1.0;
......@@ -224,7 +224,7 @@ public :
// verification de coherence (dateLevee_casForcee non anterieur a semis)
if ( simulationPhaseSemisLevee == false ){
if ( utils::ordreChronologique( psi.dateLevee_casForcee, utils::dateJJMM(time) ) ){ // date semis anormalement >= dateLevee_casForcee
throw "erreur";
throw vle::utils::ModellingError("[Phenologie] Error dateLevee_casForcee");
}
}
} else {
......@@ -232,7 +232,7 @@ public :
}
if ((int)ActionRecolte() == ACTIONCONDUITE_ACTIVE ){
throw "erreur";
throw vle::utils::ModellingError("[Phenologie] Error recolte avant semis");
}
break;
......@@ -249,7 +249,7 @@ public :
photo_DatePsgPhasePhenoPlante_GERMINATION_A_JUVENILE = photo_DatePsgPhasePhenoPlante_GERMINATION_A_JUVENILE(-1);
PhasePhenoPlante_tmp = PHASEPHENOPLANTE_RECOLTEE ;
ChgtPhasePhenoPlante_tmp = (double)CHGTPHASEPHENOPLANTE_ACTIF_AUTRE;
throw "erreur";
throw vle::utils::ModellingError("[Phenologie] Error recolte en germination ");
} else if ( simulationPhaseSemisLevee ){
if ( TT_A0() >= estimationTTentreSemisEtLevee_casPhaseSemisLeveeSimulee ){
PhasePhenoPlante_tmp = PHASEPHENOPLANTE_JUVENILE ;
......@@ -283,7 +283,7 @@ public :
photo_DatePsgPhasePhenoPlante_JUVENILE_A_CROISSANCEACTIVE = photo_DatePsgPhasePhenoPlante_JUVENILE_A_CROISSANCEACTIVE(-1);
PhasePhenoPlante_tmp = PHASEPHENOPLANTE_RECOLTEE ;
ChgtPhasePhenoPlante_tmp = (double)CHGTPHASEPHENOPLANTE_ACTIF_AUTRE;
throw "Phenologie::compute : la recolte a lieu alors que la plante est en phase phenologique JUVENILE.";
throw vle::utils::ModellingError("[Phenologie] Error recolte pendant juvenile");
} else if ( TT_A2() >= pv.date_TT_E1 ){ // date thermique du stade etoiles atteinte
PhasePhenoPlante_tmp = PHASEPHENOPLANTE_CROISSANCEACTIVE ;
......@@ -307,7 +307,7 @@ public :
photo_DatePsgPhasePhenoPlante_CROISSANCEACTIVE_A_FLORAISON = photo_DatePsgPhasePhenoPlante_CROISSANCEACTIVE_A_FLORAISON(-1);
PhasePhenoPlante_tmp = PHASEPHENOPLANTE_RECOLTEE ;
ChgtPhasePhenoPlante_tmp = (double)CHGTPHASEPHENOPLANTE_ACTIF_AUTRE;
throw "Phenologie::compute : la recolte a lieu alors que la plante est en phase phenologique CROISSANCEACTIVE.";
throw vle::utils::ModellingError("[Phenologie] Error recolte pendant croissance active");
} else if ( TT_A2() >= pv.date_TT_F1 ){ // date thermique du stade floraison atteinte
PhasePhenoPlante_tmp = PHASEPHENOPLANTE_FLORAISON ;
ChgtPhasePhenoPlante_tmp = (double)CHGTPHASEPHENOPLANTE_CROISSANCEACTIVE_A_FLORAISON;
......@@ -330,7 +330,8 @@ public :
photo_DatePsgPhasePhenoPlante_FLORAISON_A_MATURATION = photo_DatePsgPhasePhenoPlante_FLORAISON_A_MATURATION(-1);
PhasePhenoPlante_tmp = PHASEPHENOPLANTE_RECOLTEE ;
ChgtPhasePhenoPlante_tmp = (double)CHGTPHASEPHENOPLANTE_ACTIF_AUTRE;