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
b507a665
Commit
b507a665
authored
Oct 06, 2020
by
Oliver Heidmann
Browse files
refactored cdo string compare functions
parent
416944c3
Pipeline
#4501
passed with stages
in 19 minutes and 11 seconds
Changes
38
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/Adisit.cc
View file @
b507a665
...
...
@@ -185,18 +185,18 @@ Adisit(void *process)
cdiInqKeyString
(
vlistID1
,
varID
,
CDI_KEY_STDNAME
,
stdname
,
&
length
);
cstrToLowerCase
(
stdname
);
if
(
c
strIsEqual
(
varname
,
"s"
)
||
c
strIsEqual
(
stdname
,
"sea_water_salinity"
))
if
(
c
do_cmpstr
(
varname
,
"s"
)
||
c
do_cmpstr
(
stdname
,
"sea_water_salinity"
))
code
=
5
;
else
if
(
c
strIsEqual
(
varname
,
"t"
))
else
if
(
c
do_cmpstr
(
varname
,
"t"
))
code
=
2
;
if
(
operatorID
==
ADISIT
)
{
if
(
c
strIsEqual
(
stdname
,
"sea_water_potential_temperature"
))
code
=
2
;
if
(
c
do_cmpstr
(
stdname
,
"sea_water_potential_temperature"
))
code
=
2
;
}
else
{
if
(
c
strIsEqual
(
stdname
,
"sea_water_temperature"
))
code
=
2
;
if
(
c
do_cmpstr
(
stdname
,
"sea_water_temperature"
))
code
=
2
;
}
}
...
...
src/CMOR_lite.cc
View file @
b507a665
...
...
@@ -236,7 +236,7 @@ applyCmorList(PMList &pmlist, int nvars, int vlistID2, std::vector<CmorVar> &var
else
if
(
key
==
"out_name"
)
{
const
auto
outname
=
parameter2word
(
value
.
c_str
());
if
(
!
c
strIsEqual
(
var
.
name
,
outname
))
if
(
!
c
do_cmpstr
(
var
.
name
,
outname
))
{
cdiDefKeyString
(
vlistID2
,
varID
,
CDI_KEY_NAME
,
outname
);
cdiDefAttTxt
(
vlistID2
,
varID
,
"original_name"
,
(
int
)
strlen
(
var
.
name
),
var
.
name
);
...
...
src/Change_e5slm.cc
View file @
b507a665
...
...
@@ -91,18 +91,18 @@ Change_e5slm(void *process)
if
(
code
<
0
)
{
// clang-format off
if
(
c
strIsEqual
(
name
,
"SLM"
)
)
code
=
172
;
else
if
(
c
strIsEqual
(
name
,
"ALAKE"
)
)
code
=
99
;
else
if
(
c
strIsEqual
(
name
,
"WS"
)
)
code
=
140
;
else
if
(
c
strIsEqual
(
name
,
"AZ0"
)
)
code
=
173
;
else
if
(
c
strIsEqual
(
name
,
"ALB"
)
)
code
=
174
;
else
if
(
c
strIsEqual
(
name
,
"VGRAT"
)
)
code
=
198
;
else
if
(
c
strIsEqual
(
name
,
"FOREST"
)
)
code
=
212
;
else
if
(
c
strIsEqual
(
name
,
"FAO"
)
)
code
=
226
;
else
if
(
c
strIsEqual
(
name
,
"WSMX"
)
)
code
=
229
;
else
if
(
c
strIsEqual
(
name
,
"GLAC"
)
)
code
=
232
;
else
if
(
c
strIsEqual
(
name
,
"VLTCLIM"
)
)
code
=
71
;
else
if
(
c
strIsEqual
(
name
,
"VGRATCLIM"
))
code
=
70
;
if
(
c
do_cmpstr
(
name
,
"SLM"
)
)
code
=
172
;
else
if
(
c
do_cmpstr
(
name
,
"ALAKE"
)
)
code
=
99
;
else
if
(
c
do_cmpstr
(
name
,
"WS"
)
)
code
=
140
;
else
if
(
c
do_cmpstr
(
name
,
"AZ0"
)
)
code
=
173
;
else
if
(
c
do_cmpstr
(
name
,
"ALB"
)
)
code
=
174
;
else
if
(
c
do_cmpstr
(
name
,
"VGRAT"
)
)
code
=
198
;
else
if
(
c
do_cmpstr
(
name
,
"FOREST"
)
)
code
=
212
;
else
if
(
c
do_cmpstr
(
name
,
"FAO"
)
)
code
=
226
;
else
if
(
c
do_cmpstr
(
name
,
"WSMX"
)
)
code
=
229
;
else
if
(
c
do_cmpstr
(
name
,
"GLAC"
)
)
code
=
232
;
else
if
(
c
do_cmpstr
(
name
,
"VLTCLIM"
)
)
code
=
71
;
else
if
(
c
do_cmpstr
(
name
,
"VGRATCLIM"
))
code
=
70
;
// clang-format on
}
...
...
src/Derivepar.cc
View file @
b507a665
...
...
@@ -157,16 +157,16 @@ Derivepar(void *process)
if
(
code
<
0
)
{
// clang-format off
if
(
sgeopotID
==
-
1
&&
c
strIsEqual
(
varname
,
"geosp"
))
code
=
gribcodes
.
geopot
;
else
if
(
psID
==
-
1
&&
c
strIsEqual
(
varname
,
"aps"
))
code
=
gribcodes
.
ps
;
else
if
(
psID
==
-
1
&&
c
strIsEqual
(
varname
,
"ps"
))
code
=
gribcodes
.
ps
;
else
if
(
lnpsID
==
-
1
&&
c
strIsEqual
(
varname
,
"lsp"
))
code
=
gribcodes
.
lsp
;
else
if
(
lnpsID2
==
-
1
&&
c
strIsEqual
(
varname
,
"lnps"
))
code
=
777
;
else
if
(
tempID
==
-
1
&&
c
strIsEqual
(
varname
,
"t"
))
code
=
gribcodes
.
temp
;
else
if
(
humID
==
-
1
&&
c
strIsEqual
(
varname
,
"q"
))
code
=
gribcodes
.
hum
;
// else if ( geopotID == -1 && c
strIsEqual
(stdname, "geopotential_full")) code = gribcodes.geopot;
// else if (c
strIsEqual
(varname, "clwc")) code = 246;
// else if (c
strIsEqual
(varname, "ciwc")) code = 247;
if
(
sgeopotID
==
-
1
&&
c
do_cmpstr
(
varname
,
"geosp"
))
code
=
gribcodes
.
geopot
;
else
if
(
psID
==
-
1
&&
c
do_cmpstr
(
varname
,
"aps"
))
code
=
gribcodes
.
ps
;
else
if
(
psID
==
-
1
&&
c
do_cmpstr
(
varname
,
"ps"
))
code
=
gribcodes
.
ps
;
else
if
(
lnpsID
==
-
1
&&
c
do_cmpstr
(
varname
,
"lsp"
))
code
=
gribcodes
.
lsp
;
else
if
(
lnpsID2
==
-
1
&&
c
do_cmpstr
(
varname
,
"lnps"
))
code
=
777
;
else
if
(
tempID
==
-
1
&&
c
do_cmpstr
(
varname
,
"t"
))
code
=
gribcodes
.
temp
;
else
if
(
humID
==
-
1
&&
c
do_cmpstr
(
varname
,
"q"
))
code
=
gribcodes
.
hum
;
// else if ( geopotID == -1 && c
do_cmpstr
(stdname, "geopotential_full")) code = gribcodes.geopot;
// else if (c
do_cmpstr
(varname, "clwc")) code = 246;
// else if (c
do_cmpstr
(varname, "ciwc")) code = 247;
// clang-format on
}
}
...
...
src/Intlevel.cc
View file @
b507a665
...
...
@@ -465,7 +465,7 @@ Intlevel(void *process)
{
for
(
varID
=
0
;
varID
<
nvars
;
varID
++
)
{
if
(
c
strIsEqual
(
zvarname
.
c_str
(),
varList1
[
varID
].
name
))
if
(
c
do_cmpstr
(
zvarname
.
c_str
(),
varList1
[
varID
].
name
))
{
zvarID
=
varID
;
break
;
...
...
src/Maggraph.cc
View file @
b507a665
...
...
@@ -727,10 +727,10 @@ VerifyGraphParameters(int num_param, std::vector<std::string> ¶m_names)
{
for
(
j
=
0
;
j
<
graph_param_count
;
++
j
)
{
if
(
c
strIsEqual
(
split_str
[
0
],
graph_params
[
j
]))
if
(
c
do_cmpstr
(
split_str
[
0
],
graph_params
[
j
]))
{
found
=
true
;
if
(
c
strIsEqual
(
split_str
[
0
],
"obsv"
)
||
c
strIsEqual
(
split_str
[
0
],
"stat"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"obsv"
)
||
c
do_cmpstr
(
split_str
[
0
],
"stat"
))
{
if
(
cstrIsNumeric
(
split_str
[
1
]))
syntax
=
false
;
...
...
@@ -742,31 +742,31 @@ VerifyGraphParameters(int num_param, std::vector<std::string> ¶m_names)
}
}
if
(
c
strIsEqual
(
split_str
[
0
],
"ymin"
)
||
c
strIsEqual
(
split_str
[
0
],
"ymax"
)
||
c
strIsEqual
(
split_str
[
0
],
"sigma"
)
||
c
strIsEqual
(
split_str
[
0
],
"linewidth"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"ymin"
)
||
c
do_cmpstr
(
split_str
[
0
],
"ymax"
)
||
c
do_cmpstr
(
split_str
[
0
],
"sigma"
)
||
c
do_cmpstr
(
split_str
[
0
],
"linewidth"
))
{
if
(
!
cstrIsNumeric
(
split_str
[
1
]))
syntax
=
false
;
}
if
(
c
strIsEqual
(
split_str
[
0
],
"device"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"device"
))
{
if
(
cstrIsNumeric
(
split_str
[
1
]))
syntax
=
false
;
else
{
if
(
c
strIsEqual
(
split_str
[
0
],
"device"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"device"
))
{
if
(
DBG
)
fprintf
(
stderr
,
"Parameter value '%s'
\n
"
,
split_str
[
1
]);
if
(
checkdevice
(
split_str
[
1
]))
syntax
=
false
;
/* Graph not supported in google earth format */
if
(
c
strIsEqual
(
split_str
[
1
],
"GIF_ANIMATION"
)
||
c
strIsEqual
(
split_str
[
1
],
"gif_animation"
))
if
(
c
do_cmpstr
(
split_str
[
1
],
"GIF_ANIMATION"
)
||
c
do_cmpstr
(
split_str
[
1
],
"gif_animation"
))
{
syntax
=
false
;
fprintf
(
stderr
,
"Animation not supported for Graph!
\n
"
);
if
(
DBG
)
fprintf
(
stderr
,
"Parameter value '%s'
\n
"
,
split_str
[
1
]);
}
if
(
c
strIsEqual
(
split_str
[
1
],
"KML"
)
||
c
strIsEqual
(
split_str
[
1
],
"kml"
))
if
(
c
do_cmpstr
(
split_str
[
1
],
"KML"
)
||
c
do_cmpstr
(
split_str
[
1
],
"kml"
))
{
syntax
=
false
;
fprintf
(
stderr
,
" 'kml' format not supported "
...
...
@@ -778,7 +778,7 @@ VerifyGraphParameters(int num_param, std::vector<std::string> ¶m_names)
}
/*
if( c
strIsEqual
( split_str[0],"xml" ) )
if( c
do_cmpstr
( split_str[0],"xml" ) )
{
if( ( fp = fopen( split_str[1],"r") ) == nullptr )
{
...
...
src/Magplot.cc
View file @
b507a665
...
...
@@ -207,29 +207,29 @@ magplot(const char *plotfile, int operatorID, const char *varname, const char *u
sep_char
=
"="
;
split_str_count
=
cstrSplitWithSeperator
(
params
[
i
].
c_str
(),
sep_char
,
&
split_str
);
if
(
c
strIsEqual
(
split_str
[
0
],
"min"
))
fprintf
(
stderr
,
"Min Val %g
\n
"
,
YMIN
);
if
(
c
strIsEqual
(
split_str
[
0
],
"max"
))
fprintf
(
stderr
,
"Max Val %g
\n
"
,
YMAX
);
// if ( c
strIsEqual
( split_str[0],"resolution" ) ) fprintf(stderr,"RESOLUTION %g\n",RESOLUTION );
if
(
c
strIsEqual
(
split_str
[
0
],
"colour"
))
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR
);
if
(
c
strIsEqual
(
split_str
[
0
],
"colour_min"
))
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR_MIN
);
if
(
c
strIsEqual
(
split_str
[
0
],
"colour_max"
))
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR_MAX
);
if
(
c
strIsEqual
(
split_str
[
0
],
"interval"
))
fprintf
(
stderr
,
"INTERVAL %f
\n
"
,
INTERVAL
);
if
(
c
strIsEqual
(
split_str
[
0
],
"count"
))
fprintf
(
stderr
,
"COUNT %d
\n
"
,
COUNT
);
if
(
c
strIsEqual
(
split_str
[
0
],
"list"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"min"
))
fprintf
(
stderr
,
"Min Val %g
\n
"
,
YMIN
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"max"
))
fprintf
(
stderr
,
"Max Val %g
\n
"
,
YMAX
);
// if ( c
do_cmpstr
( split_str[0],"resolution" ) ) fprintf(stderr,"RESOLUTION %g\n",RESOLUTION );
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour"
))
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour_min"
))
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR_MIN
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour_max"
))
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR_MAX
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"interval"
))
fprintf
(
stderr
,
"INTERVAL %f
\n
"
,
INTERVAL
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"count"
))
fprintf
(
stderr
,
"COUNT %d
\n
"
,
COUNT
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"list"
))
{
for
(
j
=
0
;
j
<
split_str_count
;
j
++
)
fprintf
(
stderr
,
"LIST %f
\n
"
,
LEV_LIST
[
j
]);
}
if
(
c
strIsEqual
(
split_str
[
0
],
"thickness"
))
fprintf
(
stderr
,
"THICKNESS %d
\n
"
,
THICKNESS
);
if
(
c
strIsEqual
(
split_str
[
0
],
"style"
))
fprintf
(
stderr
,
"STYLE %s
\n
"
,
STYLE
);
if
(
c
strIsEqual
(
split_str
[
0
],
"device"
))
fprintf
(
stderr
,
"DEVICE %s
\n
"
,
DEVICE
);
if
(
c
strIsEqual
(
split_str
[
0
],
"step_freq"
))
fprintf
(
stderr
,
"STEP_FREQ %d
\n
"
,
STEP_FREQ
);
if
(
c
strIsEqual
(
split_str
[
0
],
"lat_min"
))
fprintf
(
stderr
,
"Lat Min Val %g
\n
"
,
LAT_MIN
);
if
(
c
strIsEqual
(
split_str
[
0
],
"lat_max"
))
fprintf
(
stderr
,
"Lat Max Val %g
\n
"
,
LAT_MAX
);
if
(
c
strIsEqual
(
split_str
[
0
],
"lon_min"
))
fprintf
(
stderr
,
"Lon Min Val %g
\n
"
,
LON_MIN
);
if
(
c
strIsEqual
(
split_str
[
0
],
"lon_max"
))
fprintf
(
stderr
,
"Lon Max Val %g
\n
"
,
LON_MAX
);
if
(
c
strIsEqual
(
split_str
[
0
],
"projection"
))
fprintf
(
stderr
,
"PROJECTION %s
\n
"
,
PROJECTION
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"thickness"
))
fprintf
(
stderr
,
"THICKNESS %d
\n
"
,
THICKNESS
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"style"
))
fprintf
(
stderr
,
"STYLE %s
\n
"
,
STYLE
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"device"
))
fprintf
(
stderr
,
"DEVICE %s
\n
"
,
DEVICE
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"step_freq"
))
fprintf
(
stderr
,
"STEP_FREQ %d
\n
"
,
STEP_FREQ
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lat_min"
))
fprintf
(
stderr
,
"Lat Min Val %g
\n
"
,
LAT_MIN
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lat_max"
))
fprintf
(
stderr
,
"Lat Max Val %g
\n
"
,
LAT_MAX
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lon_min"
))
fprintf
(
stderr
,
"Lon Min Val %g
\n
"
,
LON_MIN
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lon_max"
))
fprintf
(
stderr
,
"Lon Max Val %g
\n
"
,
LON_MAX
);
if
(
c
do_cmpstr
(
split_str
[
0
],
"projection"
))
fprintf
(
stderr
,
"PROJECTION %s
\n
"
,
PROJECTION
);
Free
(
split_str
);
}
...
...
@@ -605,20 +605,20 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
for
(
j
=
0
;
j
<
param_count
;
++
j
)
{
if
(
c
strIsEqual
(
split_str
[
0
],
params
[
j
]))
if
(
c
do_cmpstr
(
split_str
[
0
],
params
[
j
]))
{
found
=
true
;
if
(
c
strIsEqual
(
split_str
[
0
],
"colour"
)
||
c
strIsEqual
(
split_str
[
0
],
"style"
)
||
c
strIsEqual
(
split_str
[
0
],
"colour_min"
)
||
c
strIsEqual
(
split_str
[
0
],
"colour_max"
)
||
c
strIsEqual
(
split_str
[
0
],
"RGB"
)
||
c
strIsEqual
(
split_str
[
0
],
"colour_triad"
)
||
c
strIsEqual
(
split_str
[
0
],
"device"
)
||
c
strIsEqual
(
split_str
[
0
],
"file_split"
)
||
c
strIsEqual
(
split_str
[
0
],
"projection"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour"
)
||
c
do_cmpstr
(
split_str
[
0
],
"style"
)
||
c
do_cmpstr
(
split_str
[
0
],
"colour_min"
)
||
c
do_cmpstr
(
split_str
[
0
],
"colour_max"
)
||
c
do_cmpstr
(
split_str
[
0
],
"RGB"
)
||
c
do_cmpstr
(
split_str
[
0
],
"colour_triad"
)
||
c
do_cmpstr
(
split_str
[
0
],
"device"
)
||
c
do_cmpstr
(
split_str
[
0
],
"file_split"
)
||
c
do_cmpstr
(
split_str
[
0
],
"projection"
))
{
if
(
cstrIsNumeric
(
split_str
[
1
]))
syntax
=
false
;
else
{
if
(
c
strIsEqual
(
split_str
[
0
],
"RGB"
)
||
c
strIsEqual
(
split_str
[
0
],
"file_split"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"RGB"
)
||
c
do_cmpstr
(
split_str
[
0
],
"file_split"
))
{
temp_str
=
strdup
(
split_str
[
1
]);
cstrToUpperCase
(
temp_str
);
...
...
@@ -626,29 +626,29 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
syntax
=
false
;
else
{
if
(
c
strIsEqual
(
split_str
[
0
],
"RGB"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"RGB"
))
{
isRGB
=
c
strIsEqual
(
temp_str
,
"true"
);
isRGB
=
c
do_cmpstr
(
temp_str
,
"true"
);
}
else
if
(
c
strIsEqual
(
split_str
[
0
],
"file_split"
))
else
if
(
c
do_cmpstr
(
split_str
[
0
],
"file_split"
))
{
FILE_SPLIT
=
c
strIsEqual
(
temp_str
,
"true"
);
FILE_SPLIT
=
c
do_cmpstr
(
temp_str
,
"true"
);
}
}
}
else
if
(
c
strIsEqual
(
split_str
[
0
],
"style"
))
else
if
(
c
do_cmpstr
(
split_str
[
0
],
"style"
))
{
if
(
checkstyle
(
split_str
[
1
]))
syntax
=
false
;
}
else
if
(
c
strIsEqual
(
split_str
[
0
],
"colour"
)
||
c
strIsEqual
(
split_str
[
0
],
"colour_min"
)
||
c
strIsEqual
(
split_str
[
0
],
"colour_max"
))
else
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour"
)
||
c
do_cmpstr
(
split_str
[
0
],
"colour_min"
)
||
c
do_cmpstr
(
split_str
[
0
],
"colour_max"
))
{
if
(
checkcolour
(
split_str
[
1
]))
syntax
=
false
;
else
{
if
(
c
strIsEqual
(
split_str
[
0
],
"colour"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour"
))
{
temp_str
=
strdup
(
split_str
[
1
]);
if
(
!
isRGB
)
...
...
@@ -661,7 +661,7 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
COLOUR
=
temp_str
;
if
(
DBG
)
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR
);
}
if
(
c
strIsEqual
(
split_str
[
0
],
"colour_min"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour_min"
))
{
temp_str
=
strdup
(
split_str
[
1
]);
if
(
!
isRGB
)
...
...
@@ -674,7 +674,7 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
COLOUR_MIN
=
temp_str
;
if
(
DBG
)
fprintf
(
stderr
,
"COLOUR %s
\n
"
,
COLOUR_MIN
);
}
if
(
c
strIsEqual
(
split_str
[
0
],
"colour_max"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour_max"
))
{
temp_str
=
strdup
(
split_str
[
1
]);
if
(
!
isRGB
)
...
...
@@ -689,11 +689,11 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
}
}
}
else
if
(
c
strIsEqual
(
split_str
[
0
],
"device"
))
else
if
(
c
do_cmpstr
(
split_str
[
0
],
"device"
))
{
if
(
checkdevice
(
split_str
[
1
]))
syntax
=
false
;
}
else
if
(
c
strIsEqual
(
split_str
[
0
],
"colour_triad"
))
else
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour_triad"
))
{
temp_str
=
strdup
(
split_str
[
1
]);
cstrToUpperCase
(
temp_str
);
...
...
@@ -702,44 +702,44 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
else
{
if
(
DBG
)
fprintf
(
stderr
,
"TRIAD check %s!
\n
"
,
temp_str
);
if
(
c
strIsEqual
(
temp_str
,
"CW"
))
if
(
c
do_cmpstr
(
temp_str
,
"CW"
))
COLOUR_TRIAD
=
"clockwise"
;
else
COLOUR_TRIAD
=
"anti_clockwise"
;
}
}
else
if
(
c
strIsEqual
(
split_str
[
0
],
"projection"
))
else
if
(
c
do_cmpstr
(
split_str
[
0
],
"projection"
))
{
if
(
checkprojection
(
split_str
[
1
]))
syntax
=
false
;
}
}
}
if
(
c
strIsEqual
(
split_str
[
0
],
"min"
)
||
c
strIsEqual
(
split_str
[
0
],
"max"
)
||
c
strIsEqual
(
split_str
[
0
],
"lat_min"
)
||
c
strIsEqual
(
split_str
[
0
],
"lat_max"
)
||
c
strIsEqual
(
split_str
[
0
],
"lon_min"
)
||
c
strIsEqual
(
split_str
[
0
],
"lon_max"
)
||
c
strIsEqual
(
split_str
[
0
],
"count"
)
||
c
strIsEqual
(
split_str
[
0
],
"interval"
)
||
c
strIsEqual
(
split_str
[
0
],
"thickness"
)
||
c
strIsEqual
(
split_str
[
0
],
"resolution"
)
||
c
strIsEqual
(
split_str
[
0
],
"step_freq"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"min"
)
||
c
do_cmpstr
(
split_str
[
0
],
"max"
)
||
c
do_cmpstr
(
split_str
[
0
],
"lat_min"
)
||
c
do_cmpstr
(
split_str
[
0
],
"lat_max"
)
||
c
do_cmpstr
(
split_str
[
0
],
"lon_min"
)
||
c
do_cmpstr
(
split_str
[
0
],
"lon_max"
)
||
c
do_cmpstr
(
split_str
[
0
],
"count"
)
||
c
do_cmpstr
(
split_str
[
0
],
"interval"
)
||
c
do_cmpstr
(
split_str
[
0
],
"thickness"
)
||
c
do_cmpstr
(
split_str
[
0
],
"resolution"
)
||
c
do_cmpstr
(
split_str
[
0
],
"step_freq"
))
{
if
(
!
cstrIsNumeric
(
split_str
[
1
]))
syntax
=
false
;
else
{
if
(
c
strIsEqual
(
split_str
[
0
],
"min"
))
YMIN
=
atof
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"max"
))
YMAX
=
atof
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"count"
))
COUNT
=
atoi
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"interval"
))
INTERVAL
=
atof
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"thickness"
))
THICKNESS
=
atoi
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"resolution"
))
RESOLUTION
=
atoi
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"step_freq"
))
STEP_FREQ
=
atoi
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"lat_min"
))
LAT_MIN
=
atof
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"lat_max"
))
LAT_MAX
=
atof
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"lon_min"
))
LON_MIN
=
atof
(
split_str
[
1
]);
if
(
c
strIsEqual
(
split_str
[
0
],
"lon_max"
))
LON_MAX
=
atof
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"min"
))
YMIN
=
atof
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"max"
))
YMAX
=
atof
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"count"
))
COUNT
=
atoi
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"interval"
))
INTERVAL
=
atof
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"thickness"
))
THICKNESS
=
atoi
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"resolution"
))
RESOLUTION
=
atoi
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"step_freq"
))
STEP_FREQ
=
atoi
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lat_min"
))
LAT_MIN
=
atof
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lat_max"
))
LAT_MAX
=
atof
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lon_min"
))
LON_MIN
=
atof
(
split_str
[
1
]);
if
(
c
do_cmpstr
(
split_str
[
0
],
"lon_max"
))
LON_MAX
=
atof
(
split_str
[
1
]);
}
}
if
(
c
strIsEqual
(
split_str
[
0
],
"colour_table"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"colour_table"
))
{
if
((
fp
=
fopen
(
split_str
[
1
],
"r"
))
==
nullptr
)
{
...
...
@@ -752,7 +752,7 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
}
}
if
(
c
strIsEqual
(
split_str
[
0
],
"list"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"list"
))
{
sep_char
=
";"
;
split_str_count
=
cstrSplitWithSeperator
(
split_str
[
1
],
sep_char
,
&
split_str1
);
...
...
@@ -779,7 +779,7 @@ verifyPlotParameters(int num_param, const std::vector<std::string> ¶m_names,
}
}
sep_char
=
"="
;
}
/*** if( c
strIsEqual
( split_str[0], params[j] ) ) ***/
}
/*** if( c
do_cmpstr
( split_str[0], params[j] ) ) ***/
}
/*** Loop over param count ***/
}
/*** ( split_str_count > 1 ) ***/
else
...
...
@@ -877,7 +877,7 @@ checkcolour(char *colour_in)
cstrToLowerCase
(
colour_in
);
for
(
i
=
0
;
i
<
STD_COLOUR_COUNT
;
i
++
)
{
if
(
c
strIsEqual
(
STD_COLOUR_TABLE
[
i
],
colour_in
))
return
0
;
if
(
c
do_cmpstr
(
STD_COLOUR_TABLE
[
i
],
colour_in
))
return
0
;
}
cdoWarning
(
"Specified Colour not in Standard colour list, resetting to blue(default colour)!"
);
return
1
;
...
...
@@ -964,7 +964,7 @@ checkstyle(char *style_in)
{
if
(
DBG
)
fprintf
(
stderr
,
"Input %s ref %s
\n
"
,
style_in
,
STYLE_TABLE
[
i
]);
if
(
c
strIsEqual
(
STYLE_TABLE
[
i
],
style_in
))
if
(
c
do_cmpstr
(
STYLE_TABLE
[
i
],
style_in
))
{
found
=
true
;
STYLE
=
style_in
;
...
...
@@ -986,14 +986,14 @@ checkdevice(char *device_in)
{
if
(
DBG
)
fprintf
(
stderr
,
"Input %s ref %s
\n
"
,
device_in
,
DEVICE_TABLE
[
i
]);
if
(
c
strIsEqual
(
DEVICE_TABLE
[
i
],
device_in
))
if
(
c
do_cmpstr
(
DEVICE_TABLE
[
i
],
device_in
))
{
found
=
true
;
DEVICE
=
device_in
;
if
(
DBG
)
fprintf
(
stderr
,
"DEVICE %s
\n
"
,
DEVICE
);
if
(
c
strIsEqual
(
"GIF_ANIMATION"
,
device_in
)
||
c
strIsEqual
(
"KML"
,
device_in
))
if
(
c
do_cmpstr
(
"GIF_ANIMATION"
,
device_in
)
||
c
do_cmpstr
(
"KML"
,
device_in
))
{
ANIM_FLAG
=
1
;
STEP_FREQ
=
1
;
...
...
@@ -1018,7 +1018,7 @@ checkprojection(char *projection_in)
{
if
(
DBG
)
fprintf
(
stderr
,
"Input %s ref %s
\n
"
,
projection_in
,
PROJECTION_TABLE
[
i
]);
if
(
c
strIsEqual
(
PROJECTION_TABLE
[
i
],
projection_in
))
if
(
c
do_cmpstr
(
PROJECTION_TABLE
[
i
],
projection_in
))
{
found
=
true
;
PROJECTION
=
projection_in
;
...
...
src/Magvector.cc
View file @
b507a665
...
...
@@ -91,19 +91,19 @@ magvector(const char *plotfile, int operatorID, const char *varname, long nlon,
split_str_count
=
cstrSplitWithSeperator
(
params
[
i
].
c_str
(),
sep_char
,
&
split_str
);
(
void
)
split_str_count
;
if
(
c
strIsEqual
(
split_str
[
0
],
"thin_fac"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"thin_fac"
))
{
THIN_FAC
=
atof
(
split_str
[
1
]);
if
(
DBG
)
fprintf
(
stderr
,
"THIN FACTOR %g
\n
"
,
THIN_FAC
);
}
if
(
c
strIsEqual
(
split_str
[
0
],
"unit_vec"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"unit_vec"
))
{
UNIT_VEC
=
atof
(
split_str
[
1
]);
if
(
DBG
)
fprintf
(
stderr
,
"UNIT VECTOR %g
\n
"
,
UNIT_VEC
);
}
if
(
c
strIsEqual
(
split_str
[
0
],
"device"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"device"
))
{
temp_str
=
strdup
(
split_str
[
1
]);
cstrToUpperCase
(
temp_str
);
...
...
@@ -113,7 +113,7 @@ magvector(const char *plotfile, int operatorID, const char *varname, long nlon,
mag_setc
(
"output_format"
,
DEVICE
);
}
if
(
c
strIsEqual
(
split_str
[
0
],
"step_freq"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"step_freq"
))
{
STEP_FREQ
=
atoi
(
split_str
[
1
]);
if
(
DBG
)
fprintf
(
stderr
,
"STEP FREQ %d
\n
"
,
STEP_FREQ
);
...
...
@@ -240,29 +240,29 @@ VerifyVectorParameters(int num_param, std::vector<std::string> ¶m_names, int
for
(
j
=
0
;
j
<
param_count
;
++
j
)
{
if
(
c
strIsEqual
(
split_str
[
0
],
params
[
j
]))
if
(
c
do_cmpstr
(
split_str
[
0
],
params
[
j
]))
{
found
=
true
;
if
(
c
strIsEqual
(
split_str
[
0
],
"thin_fac"
)
||
c
strIsEqual
(
split_str
[
0
],
"unit_vec"
)
||
c
strIsEqual
(
split_str
[
0
],
"step_freq"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"thin_fac"
)
||
c
do_cmpstr
(
split_str
[
0
],
"unit_vec"
)
||
c
do_cmpstr
(
split_str
[
0
],
"step_freq"
))
{
if
(
!
cstrIsNumeric
(
split_str
[
1
]))
syntax
=
false
;
}
if
(
c
strIsEqual
(
split_str
[
0
],
"device"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"device"
))
{
if
(
cstrIsNumeric
(
split_str
[
1
]))
syntax
=
false
;
else
{
if
(
c
strIsEqual
(
split_str
[
0
],
"device"
))
if
(
c
do_cmpstr
(
split_str
[
0
],
"device"
))
{
if
(
DBG
)
fprintf
(
stderr
,
"Parameter value '%s'
\n
"
,
split_str
[
1
]);
if
(
checkdevice
(
split_str
[
1
]))
syntax
=
false
;
/* Vector not supported in google earth format */
if
(
c
strIsEqual
(
split_str
[
1
],
"KML"
)
||
c
strIsEqual
(
split_str
[
1
],
"kml"
))
if
(
c
do_cmpstr
(
split_str
[
1
],
"KML"
)
||
c
do_cmpstr
(
split_str
[
1
],
"kml"
))
{
syntax
=
false
;
if
(
DBG
)
fprintf
(
stderr
,
"Parameter value '%s'
\n
"
,
split_str
[
1
]);
...
...
@@ -397,14 +397,14 @@ Magvector(void *process)
if
(
operatorID
==
VECTOR
)
{
if
(
c
strIsEqual
(
varname
,
"var131"
)
||
c
strIsEqual
(
varname
,
"u"
))
// U Velocity as per GRIB is var131, as per NC 'u'
if
(
c
do_cmpstr
(
varname
,
"var131"
)
||
c
do_cmpstr
(
varname
,
"u"
))
// U Velocity as per GRIB is var131, as per NC 'u'
{
if
(
DBG
)
fprintf
(
stderr
,
"Found U VEL in Varname %s
\n
"
,
varname
);
cdoReadRecord
(
streamID
,
uarray
.
data
(),
&
nmiss
);
if
(
nmiss
)
cdoSetNAN
(
vlistInqVarMissval
(
vlistID
,
varID
),
gridsize
,
uarray
.
data
());
found
++
;
}
if
(
c
strIsEqual
(
varname
,
"var132"
)
||
c
strIsEqual
(
varname
,
"v"
))
// V Velocity as per GRIB is var132, as per NC 'v'
if
(
c
do_cmpstr
(
varname
,
"var132"
)
||
c
do_cmpstr
(
varname
,
"v"
))
// V Velocity as per GRIB is var132, as per NC 'v'
{
if
(
DBG
)
fprintf
(
stderr
,
"Found V VEL in Varname %s
\n
"
,
varname
);
cdoReadRecord
(
streamID
,
varray
.
data
(),
&
nmiss
);
...
...
src/NCL_wind.cc
View file @
b507a665
...
...
@@ -95,7 +95,7 @@ find_name(int vlistID, char *name)
for
(
int
varID
=
0
;
varID
<
nvars
;
++
varID
)
{
vlistInqVarName
(
vlistID
,
varID
,
varname
);
if
(
c
strIsEqual
(
name
,
varname
))
return
varID
;
if
(
c
do_cmpstr
(
name
,
varname
))
return
varID
;
}
return
CDI_UNDEFID
;
...
...
src/Pressure.cc
View file @
b507a665
...
...
@@ -164,17 +164,17 @@ Pressure(void *process)
cstrToLowerCase
(
varname
);
// ECHAM ECMWF
if
(
c
strIsEqual
(
varname
,
"geosp"
)
||
c
strIsEqual
(
varname
,
"z"
))
if
(
c
do_cmpstr
(
varname
,
"geosp"
)
||
c
do_cmpstr
(
varname
,
"z"
))
code
=
129
;
else
if
(
c
strIsEqual
(
varname
,
"st"
)
||
c
strIsEqual
(
varname
,
"t"
))
else
if
(
c
do_cmpstr
(
varname
,
"st"
)
||
c
do_cmpstr
(
varname
,
"t"
))
code
=
130
;
else
if
(
c
strIsEqual
(
varname
,
"aps"
)
||
c
strIsEqual
(
varname
,
"sp"
))
else
if
(
c
do_cmpstr
(
varname
,
"aps"
)
||
c
do_cmpstr
(
varname
,
"sp"
))
code
=
134
;
else
if
(
c
strIsEqual
(
varname
,
"ps"
))
else
if
(
c
do_cmpstr
(
varname
,
"ps"
))
code
=
134
;
else
if
(
c
strIsEqual
(
varname
,
"lsp"
)
||
c
strIsEqual
(
varname
,
"lnsp"
))
else
if
(
c
do_cmpstr
(
varname
,
"lsp"
)
||
c
do_cmpstr
(
varname
,
"lnsp"
))
code
=
152
;
/* else if (c
strIsEqual
(varname, "geopoth") == 0 ) code = 156; */
/* else if (c
do_cmpstr
(varname, "geopoth") == 0 ) code = 156; */
}
if
(
mode
==
ModelMode
::
ECHAM
)
...
...
src/Remapeta.cc
View file @
b507a665
...
...
@@ -377,11 +377,11 @@ Remapeta(void *process)
{
// ECHAM ECMWF
// clang-format off
if
(
sgeopotID
==
-
1
&&
(
c
strIsEqual
(
varname
,
"geosp"
)
||
c
strIsEqual
(
varname
,
"z"
)))
code
=
129
;
else
if
(
tempID
==
-
1
&&
(
c
strIsEqual
(
varname
,
"st"
)
||
c
strIsEqual
(
varname
,
"t"
)))
code
=
130
;
else
if
(
psID
==
-
1
&&
(
c
strIsEqual
(
varname
,
"aps"
)
||
c
strIsEqual
(
varname
,
"ps"
)))
code
=
134
;
else
if
(
lnpsID
==
-
1
&&
(
c
strIsEqual
(
varname
,
"lsp"
)
||
c
strIsEqual
(
varname
,
"lnsp"
)))
code
=
152
;
else
if
(
sqID
==
-
1
&&
(
c
strIsEqual
(
varname
,
"q"
)))
code
=
133
;
if
(
sgeopotID
==
-
1
&&
(
c
do_cmpstr
(
varname
,
"geosp"
)
||
c
do_cmpstr
(
varname
,
"z"
)))
code
=
129
;
else
if
(
tempID
==
-
1
&&
(
c
do_cmpstr
(
varname
,
"st"
)
||
c
do_cmpstr
(
varname
,
"t"
)))
code
=
130
;
else
if
(
psID
==
-
1
&&
(
c
do_cmpstr
(
varname
,
"aps"
)
||
c
do_cmpstr
(
varname
,
"ps"
)))
code
=
134
;
else
if
(
lnpsID
==
-
1
&&
(
c
do_cmpstr
(
varname
,
"lsp"
)
||
c
do_cmpstr
(
varname
,
"lnsp"
)))
code
=
152
;
else
if
(
sqID
==
-
1
&&
(
c
do_cmpstr
(
varname
,
"q"
)))
code
=
133
;
// clang-format on
}
}
...
...
src/Replace.cc
View file @
b507a665
...
...
@@ -72,7 +72,7 @@ Replace(void *process)
{
for
(
varID1
=
0
;
varID1
<
nvars1
;
varID1
++
)
{