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

Last change on this file since 14960 was 14960, checked in by Mathieu Morlighem, 12 years ago

CHG: moved EnumDefinitions to src/c/shared/Enum

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