Ice Sheet System Model  4.18
Code documentation
Functions
IssmConfig.cpp File Reference
#include "./IssmConfig.h"

Go to the source code of this file.

Functions

void IssmConfigUsage (void)
 
 WRAPPER (IssmConfig_python)
 

Function Documentation

◆ IssmConfigUsage()

void IssmConfigUsage ( void  )

Definition at line 13 of file IssmConfig.cpp.

13  {/*{{{*/
14  _printf0_("\n");
15  _printf0_(" usage: " << __FUNCT__ << "value = IssmConfig('string');\n");
16  _printf0_("\n");
17 }/*}}}*/

◆ WRAPPER()

WRAPPER ( IssmConfig_python  )

Definition at line 18 of file IssmConfig.cpp.

18  {
19 
20  /*input/output*/
21  char *name = NULL;
22  bool isstring = false;
23  IssmDouble value = 0.;
24  char *svalue = NULL;
25 
26  /*Boot module: */
27  MODULEBOOT();
28 
29  /*checks on arguments: */
30  CHECKARGUMENTS(NLHS,NRHS,&IssmConfigUsage);
31 
32  /*Fetch inputs: */
33  FetchData(&name,NAME);
34 
35  /*Core*/
36  if(strcmp(name,"_HAVE_MPI_")==0){
37  #ifdef _HAVE_MPI_
38  value = 1.;
39  #endif
40  }
41  else if(strcmp(name,"_HAVE_PETSC_MPI_")==0){
42  #ifdef _HAVE_PETSC_MPI_
43  value = 1.;
44  #endif
45  }
46  else if(strcmp(name,"_HAVE_DAKOTA_")==0){
47  #ifdef _HAVE_DAKOTA_
48  value = 1.;
49  #endif
50  }
51  else if(strcmp(name,"_HAVE_MUMPS_")==0){
52  #ifdef _HAVE_MUMPS_
53  value = 1.;
54  #endif
55  }
56  else if(strcmp(name,"_HAVE_GSL_")==0){
57  #ifdef _HAVE_GSL_
58  value = 1.;
59  #endif
60  }
61  else if(strcmp(name,"_HAVE_TAO_")==0){
62  #ifdef _HAVE_TAO_
63  value = 1.;
64  #endif
65  }
66  else if(strcmp(name,"_HAVE_M1QN3_")==0){
67  #ifdef _HAVE_M1QN3_
68  value = 1.;
69  #endif
70  }
71  else if(strcmp(name,"_HAVE_ADOLC_")==0){
72  #ifdef _HAVE_ADOLC_
73  value = 1.;
74  #endif
75  }
76  else if(strcmp(name,"_HAVE_CODIPACK_")==0){
77  #ifdef _HAVE_CODIPACK_
78  value = 1.;
79  #endif
80  }
81  else if(strcmp(name,"_HAVE_PETSC_")==0){
82  #ifdef _HAVE_PETSC_
83  value = 1.;
84  #endif
85  }
86  else if(strcmp(name,"_PETSC_MAJOR_")==0){
87  #ifdef _PETSC_MAJOR_
88  value = IssmDouble(_PETSC_MAJOR_);
89  #else
90  _error_("_PETSC_MAJOR_ not found in config.h");
91  #endif
92  }
93  else if(strcmp(name,"_PETSC_MINOR_")==0){
94  #ifdef _PETSC_MINOR_
95  value = IssmDouble(_PETSC_MINOR_);
96  #else
97  _error_("_PETSC_MINOR_ not found in config.h");
98  #endif
99  }
100  else if(strcmp(name,"_DAKOTA_VERSION_")==0){
101  #ifdef _DAKOTA_VERSION_
102  isstring = true;
103  svalue =xNew<char>(strlen(_DAKOTA_VERSION_)+1);
104  xMemCpy<char>(svalue,_DAKOTA_VERSION_,(strlen(_DAKOTA_VERSION_)+1));
105  #else
106  _error_("_DAKOTA_VERSION_ not found in config.h");
107  #endif
108  }
109  else if(strcmp(name,"ISSM_PREFIX")==0){
110  isstring = true;
111  svalue =xNew<char>(strlen(ISSM_PREFIX)+1);
112  xMemCpy<char>(svalue,ISSM_PREFIX,(strlen(ISSM_PREFIX)+1));
113  }
114  else if(strcmp(name,"PACKAGE_NAME")==0){
115  isstring = true;
116  svalue =xNew<char>(strlen(PACKAGE_NAME)+1);
117  xMemCpy<char>(svalue,PACKAGE_NAME,(strlen(PACKAGE_NAME)+1));
118  }
119  else if(strcmp(name,"PACKAGE_VERSION")==0){
120  isstring = true;
121  svalue =xNew<char>(strlen(PACKAGE_VERSION)+1);
122  xMemCpy<char>(svalue,PACKAGE_VERSION,(strlen(PACKAGE_VERSION)+1));
123  }
124  else if(strcmp(name,"PACKAGE_URL")==0){
125  isstring = true;
126  svalue =xNew<char>(strlen(PACKAGE_URL)+1);
127  xMemCpy<char>(svalue,PACKAGE_URL,(strlen(PACKAGE_URL)+1));
128  }
129  else if(strcmp(name,"PACKAGE_BUGREPORT")==0){
130  isstring = true;
131  svalue =xNew<char>(strlen(PACKAGE_BUGREPORT)+1);
132  xMemCpy<char>(svalue,PACKAGE_BUGREPORT,(strlen(PACKAGE_BUGREPORT)+1));
133  }
134  else if(strcmp(name,"PACKAGE_BUILD_DATE")==0){
135  isstring = true;
136  svalue =xNew<char>(strlen(PACKAGE_BUILD_DATE)+1);
137  xMemCpy<char>(svalue,PACKAGE_BUILD_DATE,(strlen(PACKAGE_BUILD_DATE)+1));
138  }
139  else if(strcmp(name,"HOST_OS")==0){
140  isstring = true;
141  svalue =xNew<char>(strlen(HOST_OS)+1);
142  xMemCpy<char>(svalue,HOST_OS,(strlen(HOST_OS)+1));
143  }
144  else if(strcmp(name,"USER_NAME")==0){
145  isstring = true;
146  svalue =xNew<char>(strlen(USER_NAME)+1);
147  xMemCpy<char>(svalue,USER_NAME,(strlen(USER_NAME)+1));
148  }
149  else if(strcmp(name,"HOST_VENDOR")==0){
150  isstring = true;
151  svalue =xNew<char>(strlen(HOST_VENDOR)+1);
152  xMemCpy<char>(svalue,HOST_VENDOR,(strlen(HOST_VENDOR)+1));
153  }
154  else if(strcmp(name,"HOST_OS")==0){
155  isstring = true;
156  svalue =xNew<char>(strlen(HOST_OS)+1);
157  xMemCpy<char>(svalue,HOST_OS,(strlen(HOST_OS)+1));
158  }
159  else if(strcmp(name,"HOST_ARCH")==0){
160  isstring = true;
161  svalue =xNew<char>(strlen(HOST_ARCH)+1);
162  xMemCpy<char>(svalue,HOST_ARCH,(strlen(HOST_ARCH)+1));
163  }
164  else{
165  _error_("variable " << name << " not supported yet");
166  }
167 
168  /* output: */
169  if(isstring)
170  WriteData(SVALUE,svalue);
171  else
172  WriteData(VALUE,value);
173 
174  /*Clean up*/
175  xDelete<char>(name);
176  xDelete<char>(svalue);
177 
178  /*end module: */
179  MODULEEND();
180 }
IssmDouble
double IssmDouble
Definition: types.h:37
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
WriteData
void WriteData(IssmPDouble **pmatrix, int *pnel, int *matrix, int M, int N)
Definition: WriteJavascriptData.cpp:16
NRHS
#define NRHS
Definition: BamgConvertMesh.h:52
FetchData
void FetchData(char **pstring, char *stringin)
Definition: FetchJavascriptData.cpp:16
__FUNCT__
#define __FUNCT__
Definition: Chacox.h:43
NLHS
#define NLHS
Definition: BamgConvertMesh.h:50
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
IssmConfigUsage
void IssmConfigUsage(void)
Definition: IssmConfig.cpp:13