Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
libcdi
Commits
4d5ad270
Commit
4d5ad270
authored
Nov 26, 2014
by
Thomas Jahns
🤸
Browse files
Extract common test data generator code into header.
parent
410f50ab
Changes
3
Show whitespace changes
Inline
Side-by-side
tests/deco2d_model.c
View file @
4d5ad270
...
...
@@ -57,15 +57,11 @@ modelRegionCompute(double region[], int nlev, int nlat, int nlon,
for
(
unsigned
j
=
0
;
j
<
n
;
++
j
)
for
(
unsigned
i
=
0
;
i
<
m
;
++
i
)
region
[
k
*
kstride
+
j
*
jstride
+
i
]
=
sign_flat
(
round
((
cos
(
2
.
0
*
M_PI
*
(
lons
[(
i
+
is
+
(
unsigned
)
tsID
)
%
(
unsigned
)
nlon
]
-
lons
[
0
])
/
(
lons
[
nlon
-
1
]
-
lons
[
0
]))
*
sin
(
2
.
0
*
M_PI
*
(
lats
[(
j
+
js
+
k
+
ks
)
%
(
unsigned
)
nlat
]
-
lats
[
0
])
/
(
lats
[
nlat
-
1
]
-
lats
[
0
]))
)
*
mscale
))
*
mrscale
;
=
dg_wobble
((
lons
[(
i
+
is
+
(
unsigned
)
tsID
)
%
(
unsigned
)
nlon
]
-
lons
[
0
])
/
(
lons
[
nlon
-
1
]
-
lons
[
0
]),
(
lats
[(
j
+
js
+
k
+
ks
)
%
(
unsigned
)
nlat
]
-
lats
[
0
])
/
(
lats
[
nlat
-
1
]
-
lats
[
0
]),
mscale
,
mrscale
);
}
#ifdef USE_MPI
...
...
tests/simple_model.c
View file @
4d5ad270
...
...
@@ -51,11 +51,10 @@ modelRegionCompute(double region[], size_t offset, size_t len,
int
j
=
(
int
)(
global_pos
%
(
size_t
)(
nlon
*
nlat
)
/
(
size_t
)
nlon
);
int
i
=
(
int
)(
global_pos
%
(
size_t
)
nlon
);
region
[
local_pos
]
=
sign_flat
(
round
((
cos
(
2
.
0
*
M_PI
*
(
lons
[(
i
+
tsID
)
%
nlon
]
-
lons
[
0
])
/
(
lons
[
nlon
-
1
]
-
lons
[
0
]))
*
sin
(
2
.
0
*
M_PI
*
(
lats
[(
j
+
k
)
%
nlat
]
-
lats
[
0
])
/
(
lats
[
nlat
-
1
]
-
lats
[
0
]))
)
*
mscale
))
*
mrscale
;
=
dg_wobble
((
lons
[(
i
+
tsID
)
%
nlon
]
-
lons
[
0
])
/
(
lons
[
nlon
-
1
]
-
lons
[
0
]),
(
lats
[(
j
+
k
)
%
nlat
]
-
lats
[
0
])
/
(
lats
[
nlat
-
1
]
-
lats
[
0
]),
mscale
,
mrscale
);
}
}
...
...
tests/simple_model_helper.h
View file @
4d5ad270
...
...
@@ -6,6 +6,7 @@
#endif
#include
<inttypes.h>
#include
<math.h>
#include
<time.h>
void
...
...
@@ -19,6 +20,15 @@ sign_flat(double v)
return
v
;
}
/* data generator function */
static
inline
double
dg_wobble
(
double
frac_x
,
double
frac_y
,
double
mscale
,
double
mrscale
)
{
double
r
=
sign_flat
(
round
((
cos
(
2
.
0
*
M_PI
*
frac_x
)
*
sin
(
2
.
0
*
M_PI
*
frac_y
))
*
mscale
))
*
mrscale
;
return
r
;
}
time_t
cditime2time_t
(
int
date
,
int
timeofday
);
void
...
...
Write
Preview
Supports
Markdown
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