DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
scenario.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // DISPLACE: DYNAMIC INDIVIDUAL VESSEL-BASED SPATIAL PLANNING
3 // AND EFFORT DISPLACEMENT
4 // Copyright (c) 2012-2019 Francois Bastardie <fba@aqua.dtu.dk>
5 
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
10 
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 
16 // You should have received a copy of the GNU General Public License along
17 // with this program; if not, write to the Free Software Foundation, Inc.,
18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 // --------------------------------------------------------------------------
20 
21 /* --------------------------------------------------------------------------
22  * DISPLACE: DYNAMIC INDIVIDUAL VESSEL-BASED SPATIAL PLANNING
23  * AND EFFORT DISPLACEMENT
24  * Copyright (c) 2012, 2013, 2014 Francois Bastardie <fba@aqua.dtu.dk>
25  *
26  * This program is free software; you can redistribute it and/or modify
27  * it under the terms of the GNU General Public License as published by
28  * the Free Software Foundation; either version 2 of the License, or
29  * (at your option) any later version.
30  *
31  * This program is distributed in the hope that it will be useful,
32  * but WITHOUT ANY WARRANTY; without even the implied warranty of
33  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34  * GNU General Public License for more details.
35  *
36  * You should have received a copy of the GNU General Public License along
37  * with this program; if not, write to the Free Software Foundation, Inc.,
38  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
39  * --------------------------------------------------------------------------
40  */
41 #ifndef SCENARIO_H
42 #define SCENARIO_H
43 
44 #include <idtypes.h>
45 #include <QString>
46 #include <QList>
47 #include <QStringList>
48 
49 #include <vector>
50 
51 class Scenario
52 {
53 private:
54  QStringList dyn_alloc_sce;
55  QStringList dyn_pop_sce;
56  QString biolsce;
57  QString fleetsce;
58  int freq_do_growth;
59  int freq_redispatch_the_pop;
60  int graph;
61  int nrow_coord;
62  int nrow_graph;
63  types::NodeId a_port;
64  QStringList graph_res;
65  bool is_individual_vessel_quotas;
66  bool check_all_stocks_before_going_fishing;
67  bool use_dtrees;
68 
69  QString mDtGoFishing;
70  QString mDtChooseGround;
71  QString mDtStartFishing;
72  QString mDtChangeGround;
73  QString mDtStopFishing;
74  QString mDtChangePort;
75 
76  QStringList tariff_pop;
77  int freq_update_tariff_code;
78  int update_tariffs_based_on_lpue_or_dpue_code;
79  QStringList arbitary_breaks_for_tariff;
80  int total_amount_credited;
81  double tariff_annual_hcr_percent_change;
82 
83 public:
84  Scenario();
85 
86  QStringList getDyn_alloc_sce() const;
87  std::vector<std::string> getDyn_alloc_sce_asVector() const;
88 
89  void setDyn_alloc_sce(const QStringList &value);
90  QStringList getDyn_pop_sce() const;
91  std::vector<std::string> getDyn_pop_sce_asVector() const;
92 
93  void setDyn_pop_sce(const QStringList &value);
94  QString getBiolsce() const;
95  QString getFleetsce() const;
96  void setBiolsce(const QString &value);
97  void setFleetsce(const QString &value);
98  int getFreqDoGrowth() const;
99  void setFreqDoGrowth(int value);
100  int getFreqDispatchThePop() const;
101  void setFreqDispatchThePop(int value);
102  int getGraph() const;
103  void setGraph(int value);
104  int getNrow_coord() const;
105  void setNrow_coord(int value);
106  int getNrow_graph() const;
107  void setNrow_graph(int value);
108  types::NodeId getA_port() const;
110  void setGraph_res(const QStringList &value);
111  QStringList getGraph_res() const;
112  bool getIs_individual_vessel_quotas() const;
116 
117  bool isDtreesEnabled() const { return use_dtrees; }
118  void setDtreesEnabled(bool en) { use_dtrees = en; }
119 
120  bool save (QString path, QString modelname, QString outputname, QString *error);
121 
122  static Scenario readFromFile (QString path, QString modelname, QString outputname);
123 
124  QString getDtGoFishing() const;
125  void setDtGoFishing(const QString &dtGoFishing);
126  QString getDtChooseGround() const;
127  void setDtChooseGround(const QString &dtChooseGround);
128  QString getDtStartFishing() const;
129  void setDtStartFishing(const QString &dtStartFishing);
130  QString getDtChangeGround() const;
131  void setDtChangeGround(const QString &dtChangeGround);
132  QString getDtStopFishing() const;
133  void setDtStopFishing(const QString &dtStopFishing);
134  QString getDtChangePort() const;
135  void setDtChangePort(const QString &dtChangePort);
136 
137  std::vector<double> getGraph_res_asVector() const;
138  std::vector<int> getTariffPop_asVector() const;
139 
140  void setTariffPop(const QStringList &value);
141  int getFreqUpdateTariffCode() const;
143  void setFreqUpdateTariffCode(int value);
145  std::vector<double> getArbitraryBreaksForTariff_asVector() const;
146  void setArbitraryBreaksForTariff(const QStringList &value);
147  int getTotalAmountCredited() const;
148  void setTotalAmountCredited(int value);
149  double getTariffAnnualHcrPercentChange() const;
151 
152 
153 
154 };
155 
156 #endif // SCENARIO_H
void setFreqDispatchThePop(int value)
Definition: scenario.cpp:126
QStringList getGraph_res() const
Definition: scenario.cpp:177
void setGraph(int value)
Definition: scenario.cpp:142
void setFreqDoGrowth(int value)
Definition: scenario.cpp:116
std::vector< double > getGraph_res_asVector() const
Definition: scenario.cpp:182
QString getBiolsce() const
Definition: scenario.cpp:96
void setDtChangeGround(const QString &dtChangeGround)
Definition: scenario.cpp:433
QString getDtChangePort() const
Definition: scenario.cpp:448
void setDtStopFishing(const QString &dtStopFishing)
Definition: scenario.cpp:443
bool save(QString path, QString modelname, QString outputname, QString *error)
Definition: scenario.cpp:288
QString getDtStartFishing() const
Definition: scenario.cpp:418
Scenario()
Definition: scenario.cpp:36
void setFreqUpdateTariffCode(int value)
Definition: scenario.cpp:230
void setTariffAnnualHcrPercentChange(double value)
Definition: scenario.cpp:276
int getGraph() const
Definition: scenario.cpp:137
void setTotalAmountCredited(int value)
Definition: scenario.cpp:266
void setUpdateTariffsBasedOnLpueOrDpueCode(int value)
Definition: scenario.cpp:241
Definition: idtypes.h:52
void setTariffPop(const QStringList &value)
Definition: scenario.cpp:217
void setDtStartFishing(const QString &dtStartFishing)
Definition: scenario.cpp:423
bool isDtreesEnabled() const
Definition: scenario.h:117
bool use_dtrees
Definition: main.cpp:237
void setArbitraryBreaksForTariff(const QStringList &value)
Definition: scenario.cpp:252
std::vector< std::string > getDyn_pop_sce_asVector() const
Definition: scenario.cpp:83
int getFreqDoGrowth() const
Definition: scenario.cpp:121
QString getDtStopFishing() const
Definition: scenario.cpp:438
bool getIs_individual_vessel_quotas() const
Definition: scenario.cpp:196
void setIs_individual_vessel_quotas(bool value)
Definition: scenario.cpp:201
void setDtreesEnabled(bool en)
Definition: scenario.h:118
void setNrow_coord(int value)
Definition: scenario.cpp:152
void setA_port(types::NodeId value)
Definition: scenario.cpp:172
static Scenario readFromFile(QString path, QString modelname, QString outputname)
Definition: scenario.cpp:336
std::vector< std::string > getDyn_alloc_sce_asVector() const
Definition: scenario.cpp:65
int getFreqDispatchThePop() const
Definition: scenario.cpp:131
types::NodeId getA_port() const
Definition: scenario.cpp:167
int getTotalAmountCredited() const
Definition: scenario.cpp:271
std::pair< box, unsigned > value
Definition: diffusion.cpp:30
void setDyn_pop_sce(const QStringList &value)
Definition: scenario.cpp:91
void setDtChooseGround(const QString &dtChooseGround)
Definition: scenario.cpp:413
void setDtChangePort(const QString &dtChangePort)
Definition: scenario.cpp:453
int getNrow_coord() const
Definition: scenario.cpp:147
void setBiolsce(const QString &value)
Definition: scenario.cpp:101
void setDtGoFishing(const QString &dtGoFishing)
Definition: scenario.cpp:403
std::vector< int > getTariffPop_asVector() const
Definition: scenario.cpp:222
QString getDtGoFishing() const
Definition: scenario.cpp:398
QString getFleetsce() const
Definition: scenario.cpp:106
void setNrow_graph(int value)
Definition: scenario.cpp:162
void setDyn_alloc_sce(const QStringList &value)
Definition: scenario.cpp:73
int getNrow_graph() const
Definition: scenario.cpp:157
int getFreqUpdateTariffCode() const
Definition: scenario.cpp:235
double getTariffAnnualHcrPercentChange() const
Definition: scenario.cpp:281
QStringList getDyn_alloc_sce() const
Definition: scenario.cpp:60
QStringList getDyn_pop_sce() const
Definition: scenario.cpp:78
QString getDtChangeGround() const
Definition: scenario.cpp:428
Definition: scenario.h:51
void setIs_check_all_stocks_before_going_fishing(bool value)
Definition: scenario.cpp:211
bool getIs_check_all_stocks_before_going_fishing() const
Definition: scenario.cpp:206
int getUpdateTariffsBasedOnLpueOrDpueCode() const
Definition: scenario.cpp:246
void setFleetsce(const QString &value)
Definition: scenario.cpp:111
std::vector< double > getArbitraryBreaksForTariff_asVector() const
Definition: scenario.cpp:257
void setGraph_res(const QStringList &value)
Definition: scenario.cpp:190
QString getDtChooseGround() const
Definition: scenario.cpp:408