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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
#! @PYTHON@
from cdoTest import *
import os
CDOTESTDATA=os.getenv("CDOTESTDATA") or ""
XTESTDIR=f'{CDOTESTDATA}/cdicache/'
HAS_NETCDF=cdo_check_req("has-nc")
test_module = TestModule();
FILE="P1D_inst_r7_atm_t"
NUM=4
TEST=1
for k in 0,1:
for i in range(1, NUM + 1):
if (not os.path.isdir(XTESTDIR)):
test_module.add_skip("test not enabled")
continue
if (not HAS_NETCDF):
test_module.add_skip("NetCDF not enabled")
continue
IFILE=f'{XTESTDIR}/{FILE}{i}.nc4'
OFILE=f'{FILE}{i}_{TEST}_res'
RFILE=f'{XTESTDIR}/{FILE}1_{TEST}_ref'
t=TAPTest(f'TEST={TEST} CDI_CACHE_NC={k} CHUNK_SET={i}')
t.add(f'CDI_CACHE_NC={k} CDI_CACHE_INFO=1 {CDO} -f nc4 -timmean {IFILE} {OFILE}')
t.add(f'{CDO} --pedantic diff {OFILE} {RFILE}')
t.clean(OFILE)
test_module.add(t)
TEST=2
for k in 0,1:
for i in range(1, NUM + 1):
if (not os.path.isdir(XTESTDIR)):
test_module.add_skip("test not enabled")
continue
if (not HAS_NETCDF):
test_module.add_skip("NetCDF not enabled")
continue
IFILE=f'{XTESTDIR}/{FILE}{i}.nc4'
OFILE=f'{FILE}{i}_{TEST}_res'
RFILE=f'{XTESTDIR}/{FILE}1_{TEST}_ref'
t=TAPTest(f'TEST={TEST} CDI_CACHE_NC={k} CHUNK_SET={i}')
t.add(f'CDI_CACHE_NC={k} CDI_CACHE_INFO=1 {CDO} -f nc4 -timmean -selgridcell,10000 -sellevel,8 {IFILE} {OFILE}')
t.add(f'{CDO} --pedantic diff {OFILE} {RFILE}')
t.clean(OFILE)
test_module.add(t)
TEST=3
for k in 0,1:
for i in range(1, NUM + 1):
if (not os.path.isdir(XTESTDIR)):
test_module.add_skip("test not enabled")
continue
if (not HAS_NETCDF):
test_module.add_skip("NetCDF not enabled")
continue
IFILE=f'{XTESTDIR}/{FILE}{i}.nc4'
OFILE=f'{FILE}{i}_{TEST}_res'
RFILE=f'{XTESTDIR}/{FILE}1_{TEST}_ref'
t=TAPTest(f'TEST={TEST} CDI_CACHE_NC={k} CHUNK_SET={i}')
t.add(f'CDI_CACHE_NC={k} CDI_CACHE_INFO=1 {CDO} -f nc4 -timmean -selgridcell,10000/20000 -sellevel,6/8 {IFILE} {OFILE}')
t.add(f'{CDO} --pedantic diff {OFILE} {RFILE}')
t.clean(OFILE)
test_module.add(t)
TEST=4
for k in 0,1:
for i in range(1, NUM + 1):
if (not os.path.isdir(XTESTDIR)):
test_module.add_skip("test not enabled")
continue
if (not HAS_NETCDF):
test_module.add_skip("NetCDF not enabled")
continue
IFILE=f'{XTESTDIR}/{FILE}{i}.nc4'
OFILE=f'{FILE}{i}_{TEST}_res'
RFILE=f'{XTESTDIR}/{FILE}1_2_ref'
t=TAPTest(f'TEST={TEST} CDI_CACHE_NC={k} CHUNK_SET={i}')
t.add(f'CDI_CACHE_NC={k} CDI_CACHE_INFO=1 {CDO} -f nc4 -timmean query:path={IFILE},cell=10000,layer=8 {OFILE}')
t.add(f'{CDO} --pedantic diff {OFILE} {RFILE}')
t.clean(OFILE)
test_module.add(t)
TEST=5
for k in 0,1:
for i in range(1, NUM + 1):
if (not os.path.isdir(XTESTDIR)):
test_module.add_skip("test not enabled")
continue
if (not HAS_NETCDF):
test_module.add_skip("NetCDF not enabled")
continue
IFILE=f'{XTESTDIR}/{FILE}{i}.nc4'
OFILE=f'{FILE}{i}_{TEST}_res'
RFILE=f'{XTESTDIR}/{FILE}1_3_ref'
t=TAPTest(f'TEST={TEST} CDI_CACHE_NC={k} CHUNK_SET={i}')
t.add(f'CDI_CACHE_NC={k} CDI_CACHE_INFO=1 {CDO} -f nc4 -timmean query:path={IFILE},cell=10000/to/20000,layer=6/to/8 {OFILE}')
t.add(f'{CDO} --pedantic diff {OFILE} {RFILE}')
t.clean(OFILE)
test_module.add(t)
test_module.run()
|