1 | /*!\file: CreateParametersHydrologyDCInefficient.cpp
|
---|
2 | * \brief driver for creating parameters dataset, for control analysis.
|
---|
3 | */
|
---|
4 |
|
---|
5 | #include "../../../toolkits/toolkits.h"
|
---|
6 | #include "../../../classes/objects/objects.h"
|
---|
7 | #include "../../../shared/shared.h"
|
---|
8 | #include "../ModelProcessorx.h"
|
---|
9 |
|
---|
10 | void CreateParametersHydrologyDCInefficient(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type){
|
---|
11 |
|
---|
12 | Parameters *parameters = NULL;
|
---|
13 | int hydrology_model;
|
---|
14 | int sedimentlimit_flag;
|
---|
15 | bool isefficientlayer;
|
---|
16 | IssmDouble sedimentlimit;
|
---|
17 | IssmDouble penalty_factor;
|
---|
18 |
|
---|
19 | /*Get parameters: */
|
---|
20 | parameters=*pparameters;
|
---|
21 |
|
---|
22 | /*retrieve some parameters: */
|
---|
23 | iomodel->Constant(&hydrology_model,HydrologyModelEnum);
|
---|
24 |
|
---|
25 | /*Now, do we really want DC?*/
|
---|
26 | if(hydrology_model!=HydrologydcEnum){
|
---|
27 | *pparameters=parameters;
|
---|
28 | return;
|
---|
29 | }
|
---|
30 |
|
---|
31 | iomodel->FetchData(&isefficientlayer,HydrologydcIsefficientlayerEnum);
|
---|
32 | iomodel->FetchData(&sedimentlimit_flag,HydrologydcSedimentlimitFlagEnum);
|
---|
33 | iomodel->FetchData(&penalty_factor,HydrologydcPenaltyFactorEnum);
|
---|
34 |
|
---|
35 | if(sedimentlimit_flag==1){
|
---|
36 | iomodel->FetchData(&sedimentlimit,HydrologydcSedimentlimitEnum);
|
---|
37 | parameters->AddObject(new DoubleParam(HydrologydcSedimentlimitEnum,sedimentlimit));
|
---|
38 | }
|
---|
39 |
|
---|
40 | parameters->AddObject(new DoubleParam(HydrologydcPenaltyFactorEnum,penalty_factor));
|
---|
41 | parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model));
|
---|
42 | parameters->AddObject(new BoolParam(HydrologydcIsefficientlayerEnum,isefficientlayer));
|
---|
43 | parameters->AddObject(new IntParam(HydrologydcSedimentlimitFlagEnum,sedimentlimit_flag));
|
---|
44 |
|
---|
45 | /*Assign output pointer: */
|
---|
46 | *pparameters=parameters;
|
---|
47 | }
|
---|