File: Intgrid.py.test.in

package info (click to toggle)
cdo 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 49,836 kB
  • sloc: cpp: 185,271; ansic: 95,766; sh: 7,192; f90: 6,147; makefile: 1,977; ruby: 1,078; csh: 1,028; python: 995; fortran: 319; pascal: 219; perl: 9
file content (53 lines) | stat: -rw-r--r-- 1,826 bytes parent folder | download | duplicates (3)
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()