Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
cdo
Commits
93c0a925
Commit
93c0a925
authored
Jan 20, 2018
by
Uwe Schulzweida
Browse files
Replace OUTMODE by enum struct OutMode.
parent
3999c6cc
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/NCL_wind.cc
View file @
93c0a925
...
...
@@ -98,10 +98,10 @@ int find_name(int vlistID, char *name)
return
CDI_UNDEFID
;
}
enum
OUTMODE
{
OUTMODE_NEW
,
OUTMODE_APPEND
,
OUTMODE_
REPLACE
};
enum
struct
OutMode
{
NEW
,
APPEND
,
REPLACE
};
// Parameter
int
outMode
=
OUTMODE_
NEW
;
OutMode
outMode
(
OutMode
::
NEW
)
;
int
boundOpt
=
-
1
;
char
name_u
[
CDI_MAX_NAME
],
name_v
[
CDI_MAX_NAME
];
...
...
@@ -109,7 +109,7 @@ static
void
print_parameter
(
void
)
{
cdoPrint
(
"u=%s, v=%s, boundOpt=%d, outMode=%s"
,
name_u
,
name_v
,
boundOpt
,
outMode
==
O
UTMODE_
NEW
?
"new"
:
outMode
==
O
UTMODE_
APPEND
?
"append"
:
"replace"
);
outMode
==
O
utMode
::
NEW
?
"new"
:
outMode
==
O
utMode
::
APPEND
?
"append"
:
"replace"
);
}
static
...
...
@@ -140,9 +140,9 @@ void set_parameter(void)
else
if
(
STR_IS_EQ
(
key
,
"boundOpt"
)
)
boundOpt
=
parameter2int
(
value
);
else
if
(
STR_IS_EQ
(
key
,
"outMode"
)
)
{
if
(
STR_IS_EQ
(
value
,
"new"
)
)
outMode
=
O
UTMODE_
NEW
;
else
if
(
STR_IS_EQ
(
value
,
"append"
)
)
outMode
=
O
UTMODE_
APPEND
;
else
if
(
STR_IS_EQ
(
value
,
"replace"
)
)
outMode
=
O
UTMODE_
REPLACE
;
if
(
STR_IS_EQ
(
value
,
"new"
)
)
outMode
=
O
utMode
::
NEW
;
else
if
(
STR_IS_EQ
(
value
,
"append"
)
)
outMode
=
O
utMode
::
APPEND
;
else
if
(
STR_IS_EQ
(
value
,
"replace"
)
)
outMode
=
O
utMode
::
REPLACE
;
else
cdoAbort
(
"Invalid parameter key value: outMode=%s (valid are: new/append/replace)"
,
value
);
}
else
cdoAbort
(
"Invalid parameter key >%s<!"
,
key
);
...
...
@@ -174,9 +174,9 @@ void *NCL_wind(void *argument)
int
vlistID1
=
pstreamInqVlist
(
streamID1
);
int
vlistID2
=
CDI_UNDEFID
;
if
(
outMode
==
O
UTMODE_
NEW
)
if
(
outMode
==
O
utMode
::
NEW
)
vlistID2
=
vlistCreate
();
else
if
(
outMode
==
O
UTMODE_
APPEND
)
else
if
(
outMode
==
O
utMode
::
APPEND
)
vlistID2
=
vlistDuplicate
(
vlistID1
);
else
cdoAbort
(
"outMode=%d unsupported!"
,
outMode
);
...
...
@@ -211,7 +211,6 @@ void *NCL_wind(void *argument)
if
(
nlev
!=
zaxisInqSize
(
vlistInqVarZaxis
(
vlistID1
,
varIDv
))
)
cdoAbort
(
"u and v must have the same number of level!"
);
double
missvalu
=
vlistInqVarMissval
(
vlistID1
,
varIDu
);
double
missvalv
=
vlistInqVarMissval
(
vlistID1
,
varIDv
);
...
...
@@ -271,7 +270,7 @@ void *NCL_wind(void *argument)
if
(
varID
==
varIDv
)
{
memcpy
(
arrayv
+
levelID
*
gridsizeuv
,
array
,
gridsizeuv
*
sizeof
(
double
));
nmissv
+=
nmiss
;
}
}
if
(
outMode
==
O
UTMODE_
APPEND
)
if
(
outMode
==
O
utMode
::
APPEND
)
{
pstreamDefRecord
(
streamID2
,
varID
,
levelID
);
pstreamWriteRecord
(
streamID2
,
array
,
nmiss
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment