1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#! @PYTHON@
from cdoTest import *
from collections import defaultdict
import os
FORMAT="-f srv -b 32"
GRIDS=["F16", "F32"]
OPERATORS=["intgridbil"]
UNSTRUC_OPERATORS=[]
ABS=defaultdict(lambda : 0.001, {"intgriddis" : 0.2})
if (os.getenv("USER") == "m214003"):
OPERATORS=OPERATORS + ["intgriddis", "intgridnn"]
UNSTRUC_OPERATORS=UNSTRUC_OPERATORS + ["intgriddis", "intgridnn"]
GRIDTYPES=["regular", "unstructured"]
HAS_THREADS=cdo_check_req("has-threads")
HAS_OPENMP=cdo_check_req("has-openmp")
IFILE=DATAPATH + "/bathy4.grb"
test_module=TestModule()
for GRIDTYPE in GRIDTYPES:
SETGRID=f'-setgridtype,{GRIDTYPE}' if (GRIDTYPE != "regular") else ""
for GRID in GRIDS:
STATS=UNSTRUC_OPERATORS if (GRIDTYPE == "unstructured") else OPERATORS
for OPERATOR in STATS:
OFILE=f'{GRID}_{OPERATOR[7:]}_res'
RFILE=f'{DATAPATH}/{GRID}_{OPERATOR[7:]}_ref'
if (not HAS_THREADS):
test_module.add_skip("POSIX threads not enabled")
else:
if (HAS_OPENMP):
t=TAPTest(f'{OPERATOR} {GRIDTYPE} {GRID} +threading')
for NTHREADS in [1,2,4]:
command=f'{CDO} {FORMAT} -P {NTHREADS} {OPERATOR},{GRID} {SETGRID} {IFILE} {OFILE}'
t.add(command)
t.add(f'{CDO} diff,abslim={ABS[OPERATOR]} {OFILE} {RFILE}')
t.clean(OFILE)
else:
t=TAPTest(f'{OPERATOR} {GRIDTYPE} {GRID}')
command=f'{CDO} {FORMAT} {OPERATOR},{GRID} {SETGRID} {IFILE} {OFILE}'
t.add(command)
t.add(f'{CDO} diff,abslim={ABS[OPERATOR]} {OFILE} {RFILE}')
t.clean(OFILE)
test_module.add(t)
test_module.run()
|