source: issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateParametersHydrologyDCInefficient.cpp@ 14996

Last change on this file since 14996 was 14996, checked in by Eric.Larour, 12 years ago

CHG: integrated Container/ directory into src/c/classes/objects directory. No reason to have the containers
and the objects that they contain defined in different places.

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