diff --git a/.gitignore b/.gitignore index 408e166a55d53e732e01c3ad43439b8c5de59b45..04e38af8eabeb74636565371d2f097b1143b8827 100644 --- a/.gitignore +++ b/.gitignore @@ -18,5 +18,8 @@ *.exe *.bp *.out +*.pyc +*.bp +*.bp.dir build/ diff --git a/testing/adios2/bindings/python/TestBPWriteTypes.py b/testing/adios2/bindings/python/TestBPWriteTypes.py new file mode 100644 index 0000000000000000000000000000000000000000..bec5aa3c08ef4e00b3ddaa29add274b1030106cd --- /dev/null +++ b/testing/adios2/bindings/python/TestBPWriteTypes.py @@ -0,0 +1,64 @@ +# +# Distributed under the OSI-approved Apache License, Version 2.0. See +# accompanying file Copyright.txt for details. +# +# TestBPWriteTypes.py: test Python numpy types in ADIOS2 File Write +# Created on: Feb 2, 2017 +# Author: William F Godoy godoywf@ornl.gov + + +from adios2NPTypes import SmallTestData +import adios2 + + +# Test data +data = SmallTestData() + +adios = adios2.ADIOS(adios2.DebugON) + +bpIO = adios.DeclareIO("NPTypes") + +# ADIOS Variable name, shape, start, offset, constant dims +# All local variables +varI8 = bpIO.DefineVariable( + "varI8", [], [], [data.I8.size], adios2.ConstantDims) +varI16 = bpIO.DefineVariable( + "varI16", [], [], [data.I16.size], adios2.ConstantDims) +varI32 = bpIO.DefineVariable( + "varI32", [], [], [data.I32.size], adios2.ConstantDims) +varI64 = bpIO.DefineVariable( + "varI64", [], [], [data.I64.size], adios2.ConstantDims) + +varU8 = bpIO.DefineVariable( + "varUI8", [], [], [data.U8.size], adios2.ConstantDims) +varU16 = bpIO.DefineVariable( + "varUI16", [], [], [data.U16.size], adios2.ConstantDims) +varU32 = bpIO.DefineVariable( + "varUI32", [], [], [data.U32.size], adios2.ConstantDims) +varU64 = bpIO.DefineVariable( + "varUI64", [], [], [data.U64.size], adios2.ConstantDims) + +varR32 = bpIO.DefineVariable( + "varR32", [], [], [data.R32.size], adios2.ConstantDims) + +varR64 = bpIO.DefineVariable( + "varR64", [], [], [data.R64.size], adios2.ConstantDims) + + +# ADIOS Engine +bpFileWriter = bpIO.Open("npTypes.bp", adios2.OpenModeWrite) + +bpFileWriter.Write(varI8, data.I8) +bpFileWriter.Write(varI16, data.I16) +bpFileWriter.Write(varI32, data.I32) +bpFileWriter.Write(varI64, data.I64) + +bpFileWriter.Write(varU8, data.U8) +bpFileWriter.Write(varU16, data.U16) +bpFileWriter.Write(varU32, data.U32) +bpFileWriter.Write(varU64, data.U64) + +bpFileWriter.Write(varR32, data.R32) +bpFileWriter.Write(varR64, data.R64) + +bpFileWriter.Close() diff --git a/testing/adios2/bindings/python/adios2NPTypes.py b/testing/adios2/bindings/python/adios2NPTypes.py new file mode 100644 index 0000000000000000000000000000000000000000..a5e030f570affead816414d23e46a637c6bf64f4 --- /dev/null +++ b/testing/adios2/bindings/python/adios2NPTypes.py @@ -0,0 +1,46 @@ +# +# Distributed under the OSI-approved Apache License, Version 2.0. See +# accompanying file Copyright.txt for details. +# +# nptypes.py small test data for np types +# Created on: Feb 2, 2017 +# Author: William F Godoy godoywf@ornl.gov + +import numpy as np + + +class SmallTestData: + + def __init__(self): + self.I8 = np.array([0, 1, -2, 3, -4, 5, -6, 7, -8, 9], dtype=np.int8) + self.I16 = np.array( + [512, 513, -510, 515, -508, 517, -506, 519, -504, 521], + dtype=np.int16) + self.I32 = np.array( + [131072, 131073, -131070, 131075, -131068, + 131077, -131066, 131079, -131064, 131081], + dtype=np.int32) + self.I64 = np.array( + [8589934592, 8589934593, -8589934590, 8589934595, -8589934588, + 8589934597, -8589934586, 8589934599, -8589934584, 8589934601], + dtype=np.int64) + + self.U8 = np.array( + [128, 129, 130, 131, 132, 133, 134, 135, 136, 137], dtype=np.uint8) + self.U16 = np.array( + [32768, 32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, + 32777], + dtype=np.uint16) + self.U32 = np.array( + [2147483648, 2147483649, 2147483650, 2147483651, 2147483652, + 2147483653, 2147483654, 2147483655, 2147483656, 2147483657], + dtype=np.uint32) + self.U64 = np.array( + [9223372036854775808, 9223372036854775809, 9223372036854775810, + 9223372036854775811, 9223372036854775812, 9223372036854775813, + 9223372036854775814, 9223372036854775815, 9223372036854775816, + 9223372036854775817], dtype=np.uint64) + + self.R32 = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=np.float32) + self.R64 = np.array([0, -1, -2, -3, -4, -5, -6, -7, -8, -9], + dtype=np.float64)