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

Last change on this file since 14796 was 14796, checked in by bdef, 12 years ago

CHG: Hydrologydc have now several ways of fixing the inefficient laer upper limit

File size: 1.6 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 "../../../io/io.h"
8#include "../../../EnumDefinitions/EnumDefinitions.h"
9#include "../../../classes/objects/objects.h"
10#include "../../../shared/shared.h"
11#include "../../../include/include.h"
12#include "../ModelProcessorx.h"
13
14void CreateParametersHydrologyDCInefficient(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type){
15
16 Parameters *parameters = NULL;
17 int hydrology_model;
18 int sedimentlimit_flag;
19 bool isefficientlayer;
20 IssmDouble sedimentlimit;
21
22 /*Get parameters: */
23 parameters=*pparameters;
24
25 /*retrieve some parameters: */
26 iomodel->Constant(&hydrology_model,HydrologyEnum);
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
37 if(sedimentlimit_flag==1){
38 iomodel->FetchData(&sedimentlimit,HydrologydcSedimentlimitEnum);
39 parameters->AddObject(new DoubleParam(HydrologydcSedimentlimitEnum,sedimentlimit));
40 }
41
42 parameters->AddObject(new IntParam(HydrologyEnum,hydrology_model));
43 parameters->AddObject(new BoolParam(HydrologydcIsefficientlayerEnum,isefficientlayer));
44 parameters->AddObject(new IntParam(HydrologydcSedimentlimitFlagEnum,sedimentlimit_flag));
45
46 /*Assign output pointer: */
47 *pparameters=parameters;
48}
Note: See TracBrowser for help on using the repository browser.