all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#60037] Update CDO to 2.1.0 and add libaec and eccodes
@ 2022-12-13 17:52 Roman Scherer
  2022-12-19 14:43 ` Guillaume Le Vaillant
  0 siblings, 1 reply; 5+ messages in thread
From: Roman Scherer @ 2022-12-13 17:52 UTC (permalink / raw)
  To: 60037


[-- Attachment #1.1: Type: text/plain, Size: 230 bytes --]


Hello Guix,

this patch series updates the Climate Data Operators package to version
2.1.0 and adds support for reading GRIB files by adding the libaec and
eccodes packages.

Could you please review the patches?

Thanks, Roman.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-libaec.patch --]
[-- Type: text/x-diff, Size: 1787 bytes --]

From 2becf2885f612579ac2b8e09c5b42c719abe3d1f Mon Sep 17 00:00:00 2001
From: r0man <roman@burningswell.com>
Date: Sat, 3 Dec 2022 12:14:53 +0100
Subject: [PATCH 1/3] gnu: Add libaec.

* gnu/packages/geo.scm (libaec): New variable.
---
 gnu/packages/geo.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index b3a5c0df3f..d2836b0358 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -128,6 +128,29 @@ (define-module (gnu packages geo)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public libaec
+  (package
+    (name "libaec")
+    (version "1.0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://gitlab.dkrz.de/k202009/libaec/-/archive/v" version
+                    "/libaec-v" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1252jn3l6jcmlhng9fz5gr0f9djp16968bb87c7ilpl33srnbyri"))))
+    (build-system cmake-build-system)
+    (home-page "https://gitlab.dkrz.de/k202009/libaec")
+    (synopsis "Adaptive Entropy Coding library")
+    (description "Libaec provides fast lossless compression of 1 up to 32 bit
+wide signed or unsigned integers (samples). The library achieves best results
+for low entropy data as often encountered in space imaging instrument data or
+numerical model output from weather or climate simulations. While floating
+point representations are not directly supported, they can also be efficiently
+coded by grouping exponents and mantissa.")
+    (license (list (license:non-copyleft "file://LICENSE.txt")))))
+
 (define-public cdo
   (package
     (name "cdo")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-gnu-Add-eccodes.patch --]
[-- Type: text/x-diff, Size: 2995 bytes --]

From a8c693aa62cf4d5adf088493eaa95a1e9d9a06b6 Mon Sep 17 00:00:00 2001
From: r0man <roman@burningswell.com>
Date: Sat, 3 Dec 2022 13:16:02 +0100
Subject: [PATCH 2/3] gnu: Add eccodes.

* gnu/packages/geo.scm (eccodes): New variable.
---
 gnu/packages/geo.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index d2836b0358..63fbfccab9 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -65,6 +65,7 @@ (define-module (gnu packages geo)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
@@ -79,6 +80,7 @@ (define-module (gnu packages geo)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -122,6 +124,7 @@ (define-module (gnu packages geo)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages wxwidgets)
@@ -151,6 +154,35 @@ (define-public libaec
 coded by grouping exponents and mantissa.")
     (license (list (license:non-copyleft "file://LICENSE.txt")))))
 
+(define-public eccodes
+  (package
+    (name "eccodes")
+    (version "2.27.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-"
+                     version "-Source.tar.gz"))
+              (sha256
+               (base32
+                "16cw4v2d0kjq6gq04paqny0sh5jymn70w449mig7m5h3spzv7rgd"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DENABLE_MEMFS=ON" "-DENABLE_PNG=ON")
+       #:validate-runpath? #f))
+    (inputs
+     (list git jasper libaec libjpeg-turbo libpng netcdf openjpeg))
+    (native-inputs
+     (list gfortran pkg-config perl python))
+    (home-page "https://confluence.ecmwf.int/display/ECC")
+    (synopsis "Library for handling the GRIB, BUFR and GTS file formats")
+    (description "ecCodes is a package developed by @acronym{ECMWF, European
+Centre for Medium-Range Weather Forecasts} which provides an application
+programming interface and a set of tools for decoding and encoding messages in
+the @acronym{WMO, World Meteorological Organization} FM-92 GRIB, WMO FM-94
+BUFR and WMO GTS abbreviated header formats.")
+    (license license:asl2.0)))
+
 (define-public cdo
   (package
     (name "cdo")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0003-gnu-cdo-Update-to-2.1.0.patch --]
[-- Type: text/x-diff, Size: 2569 bytes --]

From 0e293f2ac917f6256c86ebe95155e6432197ed18 Mon Sep 17 00:00:00 2001
From: r0man <roman@burningswell.com>
Date: Sat, 3 Dec 2022 13:17:57 +0100
Subject: [PATCH 3/3] gnu: cdo: Update to 2.1.0.

* gnu/packages/geo.scm (cdo): Update to 2.1.0.
---
 gnu/packages/geo.scm | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 63fbfccab9..abfa5963b9 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -186,22 +186,36 @@ (define-public eccodes
 (define-public cdo
   (package
     (name "cdo")
-    (version "2.0.5")
+    (version "2.1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "https://code.mpimet.mpg.de/attachments/download/26823/cdo-"
+                    "https://code.mpimet.mpg.de/attachments/download/27481/cdo-"
                      version ".tar.gz"))
               (sha256
                (base32
-                "1khdbd5cmnn7qm6hcqg4md5wbq14fs6brrns8b3g18diqgqvpvpd"))))
+                "1k18llghpf3jnjn0xcnhmbg7arb1fiy854qqn9m5c1abjin38wdq"))))
     (build-system gnu-build-system)
     (arguments
      (list #:configure-flags
-           #~(list (string-append "--with-netcdf="
-                                  #$(this-package-input "netcdf")))))
+           #~(list (string-append "--with-curl="
+                                  #$(this-package-input "curl"))
+                   (string-append "--with-eccodes="
+                                  #$(this-package-input "eccodes"))
+                   (string-append "--with-fftw3="
+                                  #$(this-package-input "fftw"))
+                   (string-append "--with-hdf5="
+                                  #$(this-package-input "hdf5"))
+                   (string-append "--with-netcdf="
+                                  #$(this-package-input "netcdf"))
+                   (string-append "--with-proj="
+                                  #$(this-package-input "proj"))
+                   (string-append "--with-udunits2="
+                                  #$(this-package-input "udunits"))
+                   (string-append "--with-libxml2="
+                                  #$(this-package-input "libxml2")))))
     (inputs
-     (list netcdf))
+     (list curl eccodes fftw hdf5 libxml2 netcdf proj udunits))
     (native-inputs
      (list pkg-config))
     (home-page "https://code.mpimet.mpg.de/projects/cdo")
-- 
2.38.1


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 528 bytes --]

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#60037] Update CDO to 2.1.0 and add libaec and eccodes
  2022-12-13 17:52 [bug#60037] Update CDO to 2.1.0 and add libaec and eccodes Roman Scherer
@ 2022-12-19 14:43 ` Guillaume Le Vaillant
  2022-12-19 16:24   ` Roman Scherer
  0 siblings, 1 reply; 5+ messages in thread
From: Guillaume Le Vaillant @ 2022-12-19 14:43 UTC (permalink / raw)
  To: Roman Scherer; +Cc: 60037

[-- Attachment #1: Type: text/plain, Size: 1446 bytes --]

Hi Roman,

I'm getting 5 errors during the tests when trying to build cdo:

--8<---------------cut here---------------start------------->8---
[...]
FAIL: Selregion.test 5 - selregion curvilinear region1
FAIL: Selregion.test 6 - selregion curvilinear region2
FAIL: Selregion.test 7 - selregion unstructured region0
FAIL: Selregion.test 8 - selregion unstructured region1
FAIL: Selregion.test 9 - selregion unstructured region2
[...]
Running test: 5 - selregion curvilinear region1

cdo    selregion (Abort): Open failed on region1
../src/cdo -f srv -b 32 selregion,region1 -setgridtype,curvilinear ../test/data/bathy4.grb selregion_c1_res
cdo    diff: Open failed on >selregion_c1_res<
             No such file or directory
../src/cdo  diff selregion_c1_res ../test/data/selregion_c1_ref
not ok 5 - selregion curvilinear region1
FAIL: Selregion.test 5 - selregion curvilinear region1
Running test: 6 - selregion curvilinear region2

cdo    selregion (Abort): Open failed on region2
../src/cdo -f srv -b 32 selregion,region2 -setgridtype,curvilinear ../test/data/bathy4.grb selregion_c2_res
cdo    diff: Open failed on >selregion_c2_res<
             No such file or directory
../src/cdo  diff selregion_c2_res ../test/data/selregion_c2_ref
not ok 6 - selregion curvilinear region2
FAIL: Selregion.test 6 - selregion curvilinear region2
[...]
--8<---------------cut here---------------end--------------->8---


Does cdo always build fine for you?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#60037] Update CDO to 2.1.0 and add libaec and eccodes
  2022-12-19 14:43 ` Guillaume Le Vaillant
@ 2022-12-19 16:24   ` Roman Scherer
  2022-12-19 18:31     ` bug#60037: " Guillaume Le Vaillant
  0 siblings, 1 reply; 5+ messages in thread
From: Roman Scherer @ 2022-12-19 16:24 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 60037

[-- Attachment #1: Type: text/plain, Size: 38344 bytes --]


Hi Guillaume,

thanks for looking at this patch series and sorry for the trouble. I
just rebuild the patch series on top of the current master 3 times with
the following command:

```
./pre-inst-env guix build --check --no-grafts --no-substitutes --rounds=3 cdo
```

I see some tests are skipped, but the whole thing passed every time. I
also don't remember seeing them failing a single time.

I'm running this on the following system:

```
Linux precision 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
```

And here are the logs of one of the test runs:

---
make  check-TESTS
make[3]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/libcdi/tests'
PASS: cksum_verify
PASS: test_cksum_grib
PASS: test_cksum_nc
PASS: test_cksum_extra
PASS: test_cksum_service
PASS: test_cksum_nc2
PASS: test_cksum_nc4
PASS: test_cksum_ieg
PASS: test_chunk_cksum
PASS: pio_write_run
SKIP: pio_cksum_mpinonb
SKIP: pio_cksum_fpguard
SKIP: pio_cksum_asynch
SKIP: pio_cksum_writer
SKIP: pio_cksum_cdf
SKIP: pio_cksum_mpi_fw_ordered
SKIP: pio_cksum_mpi_fw_at_all
SKIP: pio_cksum_mpi_fw_at_reblock
PASS: test_resource_copy_run
PASS: pio_write_deco2d_run
SKIP: test_f2003
PASS: test_cdf_transformation
PASS: test_table_run
PASS: test_byteswap_run
======================
All 15 tests passed
(9 tests were not run)
======================
make[3]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/libcdi/tests'
make[2]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/libcdi/tests'
make[2]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/libcdi'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/libcdi'
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/libcdi'
Making check in src/lib/ncl
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/ncl'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/ncl'
Making check in src/lib/yac
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/yac'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/yac'
Making check in src/lib/gradsdes
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/gradsdes'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/gradsdes'
Making check in src/lib/healpix
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/healpix'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src/lib/healpix'
Making check in src
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src'
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/src'
Making check in contrib
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/contrib'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/contrib'
Making check in test/data
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/test/data'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/test/data'
Making check in test
make[1]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/test'
make  check-TESTS
make[2]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/test'
make[3]: Entering directory '/tmp/guix-build-cdo-2.1.0.drv-0/cdo-2.1.0/test'
SKIP: CMOR.test 1 - cmor # SKIP test not enabled
SKIP: X_arith.test 1 - add # SKIP test not enabled
SKIP: X_arith.test 2 - sub # SKIP test not enabled
SKIP: X_arith.test 3 - mul # SKIP test not enabled
SKIP: X_arith.test 4 - div # SKIP test not enabled
SKIP: X_arith.test 5 - add # SKIP test not enabled
SKIP: X_arith.test 6 - sub # SKIP test not enabled
SKIP: X_arith.test 7 - mul # SKIP test not enabled
SKIP: X_arith.test 8 - div # SKIP test not enabled
SKIP: X_arith.test 9 - add # SKIP test not enabled
SKIP: X_arith.test 10 - sub # SKIP test not enabled
SKIP: X_arith.test 11 - mul # SKIP test not enabled
SKIP: X_arith.test 12 - div # SKIP test not enabled
SKIP: X_arith.test 13 - add # SKIP test not enabled
SKIP: X_arith.test 14 - sub # SKIP test not enabled
SKIP: X_arith.test 15 - mul # SKIP test not enabled
SKIP: X_arith.test 16 - div # SKIP test not enabled
SKIP: X_arith.test 17 - add # SKIP test not enabled
SKIP: X_arith.test 18 - sub # SKIP test not enabled
SKIP: X_arith.test 19 - mul # SKIP test not enabled
SKIP: X_arith.test 20 - div # SKIP test not enabled
SKIP: X_arith.test 21 - add # SKIP test not enabled
SKIP: X_arith.test 22 - sub # SKIP test not enabled
SKIP: X_arith.test 23 - mul # SKIP test not enabled
SKIP: X_arith.test 24 - div # SKIP test not enabled
PASS: Cat.test 1 - cat
PASS: Afterburner.test 1 - TYPE=20 FORMAT=1
PASS: threads.test 1 - chaining set 1
PASS: Adisit.test 1 - adisit
PASS: Adisit.test 2 - adipot
PASS: Detrend.test 1 - detrend
PASS: Detrend.test 2 - trend/subtrend
PASS: Change.test 1 - showcode
PASS: Change.test 2 - showname
PASS: Change.test 3 - showunit
PASS: Change.test 4 - showlevel
PASS: Eca.test 1 - eca_hwfi
PASS: Eca.test 2 - etccdi_wsdi
PASS: userInput.test 1 -
PASS: userInput.test 2 -
PASS: userInput.test 3 -
PASS: Dayarith.test 1 - dayadd
PASS: Dayarith.test 2 - daysub
PASS: Dayarith.test 3 - daymul
PASS: Dayarith.test 4 - daydiv
PASS: EOFcoeff.test 1 - eofcoeff - jacobi
PASS: EOFcoeff.test 2 - eofcoeff - danielson_lanczos
PASS: EOFcoeff.test 3 - eofcoeff3d - jacobi
PASS: EOFcoeff.test 4 - eofcoeff3d - danielson_lanczos
PASS: Compc.test 1 - eqc
PASS: Compc.test 2 - nec
PASS: Compc.test 3 - lec
PASS: Compc.test 4 - ltc
PASS: Compc.test 5 - gec
PASS: Compc.test 6 - gtc
PASS: Filter.test 1 - lowpass,1
PASS: Filter.test 2 - highpass,1
PASS: Filter.test 3 - bandpass,0.5,5
PASS: Copy_netcdf.test 1 - copy datar.nc
PASS: Copy_netcdf.test 2 - copy datag.nc
PASS: Copy_netcdf.test 3 - copy datac.nc
PASS: Copy_netcdf.test 4 - copy datau.nc
PASS: Copy_netcdf.test 5 - copy testfile01c.nc
PASS: Etccdi.test 1 - etccdi_tx90p
PASS: Etccdi.test 2 - etccdi_tx10p
PASS: Comp.test 1 - eq
PASS: Comp.test 2 - ne
PASS: Comp.test 3 - le
PASS: Comp.test 4 - lt
PASS: Comp.test 5 - ge
PASS: Comp.test 6 - gt
PASS: EOF.test 1 - eof - jacobi
PASS: EOF.test 2 - eof - danielson_lanczos
PASS: EOF.test 3 - eof3d - jacobi
PASS: EOF.test 4 - eof3d - danielson_lanczos
PASS: Gradsdes.test 1 - gradsdes GRIB1
PASS: Fldstat2.test 1 - fldcor
PASS: Fldstat2.test 2 - fldcovar
PASS: wildcard.test 1 - 'testfile01'
PASS: wildcard.test 2 - 'testfile0?'
PASS: wildcard.test 3 - 'test*0?'
PASS: Expr.test 1 - instruction set 1
PASS: Expr.test 2 - instruction set 2
PASS: Expr.test 3 - instruction set 3
SKIP: Magplot.test 1 - shaded # SKIP test not enabled
SKIP: Magplot.test 2 - grfill # SKIP test not enabled
PASS: Intyear.test 1 - intyear
PASS: Inttime.test 1 - intntime
PASS: Inttime.test 2 - inttime
SKIP: Maggraph.test 1 - graph # SKIP test not enabled
SKIP: Magvector.test 1 - vector # SKIP test not enabled
PASS: Isosurface.test 1 - isosurface
PASS: Isosurface.test 2 - bottomvalue
PASS: Isosurface.test 3 - topvalue
PASS: Merge.test 1 - merge
PASS: Arith.test 1 - add
PASS: Arith.test 2 - sub
PASS: Arith.test 3 - mul
PASS: Arith.test 4 - div
PASS: Arith.test 5 - add
PASS: Arith.test 6 - sub
PASS: Arith.test 7 - mul
PASS: Arith.test 8 - div
PASS: Arith.test 9 - add
PASS: Arith.test 10 - sub
PASS: Arith.test 11 - mul
PASS: Arith.test 12 - div
PASS: Mergetime.test 1 - mergetime
PASS: Mergetime.test 2 - mergetime
PASS: Enspctl.test 1 - enspctl 1
PASS: Enspctl.test 2 - enspctl 20
PASS: Enspctl.test 3 - enspctl 25
PASS: Enspctl.test 4 - enspctl 33
PASS: Enspctl.test 5 - enspctl 50
PASS: Enspctl.test 6 - enspctl 66
PASS: Enspctl.test 7 - enspctl 75
PASS: Enspctl.test 8 - enspctl 80
PASS: Enspctl.test 9 - enspctl 99
PASS: Enspctl.test 10 - enspctl 100
PASS: Fldpctl.test 1 - fldpctl 1
PASS: Fldpctl.test 2 - fldpctl 20
PASS: Fldpctl.test 3 - fldpctl 25
PASS: Fldpctl.test 4 - fldpctl 33
PASS: Fldpctl.test 5 - fldpctl 50
PASS: Fldpctl.test 6 - fldpctl 66
PASS: Fldpctl.test 7 - fldpctl 75
PASS: Fldpctl.test 8 - fldpctl 80
PASS: Fldpctl.test 9 - fldpctl 99
PASS: Fldpctl.test 10 - fldpctl 100
PASS: MapReduce.test 1 - reducegrid on grid r18x9
PASS: MapReduce.test 2 - reducegrid on grid icon_cell
PASS: Monarith.test 1 - monadd
PASS: Monarith.test 2 - monsub
PASS: Monarith.test 3 - monmul
PASS: Monarith.test 4 - mondiv
PASS: Gridarea.test 1 - gridarea global_5
PASS: Gridarea.test 2 - gridarea global_2
PASS: Gridarea.test 3 - gridarea global_1
PASS: Gridarea.test 4 - gridarea global_.5
PASS: Gridarea.test 5 - gridarea n32
PASS: Gridarea.test 6 - gridarea n80
PASS: Gridarea.test 7 - gridarea n160
PASS: Fldstat.test 1 - fldmin
PASS: Fldstat.test 2 - fldmax
PASS: Fldstat.test 3 - fldrange
PASS: Fldstat.test 4 - fldsum
PASS: Fldstat.test 5 - fldavg
PASS: Fldstat.test 6 - fldmean
PASS: Fldstat.test 7 - fldstd
PASS: Fldstat.test 8 - fldstd1
PASS: Fldstat.test 9 - fldvar
PASS: Fldstat.test 10 - fldvar1
PASS: Fldstat.test 11 - fldkurt
PASS: Fldstat.test 12 - fldskew
PASS: Fldstat.test 13 - fldmedian
PASS: Read_grib.test 1 - sinfo testfile01
PASS: Read_grib.test 2 - sinfo testfile02
PASS: Read_grib.test 3 - sinfo testfile03
PASS: Read_grib.test 4 - info testfile01
PASS: Read_grib.test 5 - info testfile02
PASS: Read_grib.test 6 - info testfile03
PASS: Read_netcdf.test 1 - sinfon testfile01
PASS: Read_netcdf.test 2 - sinfon testfile02
PASS: Read_netcdf.test 3 - sinfon testfile03
PASS: Read_netcdf.test 4 - infon testfile01
PASS: Read_netcdf.test 5 - infon testfile02
PASS: Read_netcdf.test 6 - infon testfile03
PASS: Collgrid.test 1 - regular 4,3
PASS: Collgrid.test 2 - regular 12,1
PASS: Collgrid.test 3 - regular 1,6
PASS: Collgrid.test 4 - generic 4,3
PASS: Collgrid.test 5 - generic 12,1
PASS: Collgrid.test 6 - generic 1,6
PASS: Collgrid.test 7 - curvilinear 4,3
PASS: Collgrid.test 8 - curvilinear 12,1
PASS: Collgrid.test 9 - curvilinear 1,6
PASS: Gridboxstat.test 1 - gridboxmin
PASS: Gridboxstat.test 2 - gridboxmax
PASS: Gridboxstat.test 3 - gridboxrange
PASS: Gridboxstat.test 4 - gridboxsum
PASS: Gridboxstat.test 5 - gridboxavg
PASS: Gridboxstat.test 6 - gridboxmean
PASS: Gridboxstat.test 7 - gridboxstd
PASS: Gridboxstat.test 8 - gridboxstd1
PASS: Gridboxstat.test 9 - gridboxvar
PASS: Gridboxstat.test 10 - gridboxvar1
PASS: Gridboxstat.test 11 - gridboxkurt
PASS: Gridboxstat.test 12 - gridboxskew
PASS: Gridboxstat.test 13 - gridboxmedian
PASS: Remapeta.test 1 - remapeta
PASS: Remapeta.test 2 - remapeta
PASS: Merstat.test 1 - mermin
PASS: Merstat.test 2 - mermax
PASS: Merstat.test 3 - merrange
PASS: Merstat.test 4 - mersum
PASS: Merstat.test 5 - meravg
PASS: Merstat.test 6 - mermean
PASS: Merstat.test 7 - merstd
PASS: Merstat.test 8 - merstd1
PASS: Merstat.test 9 - mervar
PASS: Merstat.test 10 - mervar1
PASS: Merstat.test 11 - merskew
PASS: Merstat.test 12 - merkurt
PASS: Merstat.test 13 - mermedian
PASS: Ninfo.test 1 - ngridpoints on grid r18x9
PASS: Ninfo.test 2 - ngridpoints on grid ni4
PASS: Ninfo.test 3 - ngridpoints on grid ni96
PASS: Ninfo.test 4 - ngridpoints on grid global_10
PASS: Ninfo.test 5 - ngridpoints on grid t63grid
PASS: Ninfo.test 6 - ngrids
PASS: Ninfo.test 7 - ngrids -topo,r1x1
PASS: Ninfo.test 8 - ngrids -topo,global_1
PASS: Ninfo.test 9 - ngrids temp.2grids
PASS: Math.test 1 - abs
PASS: Math.test 2 - int
PASS: Math.test 3 - nint
PASS: Math.test 4 - sqr
PASS: Math.test 5 - sqrt
PASS: Math.test 6 - exp
PASS: Math.test 7 - ln
PASS: Math.test 8 - log10
PASS: Math.test 9 - sin
PASS: Math.test 10 - cos
PASS: Math.test 11 - tan
PASS: Math.test 12 - asin
PASS: Math.test 13 - acos
PASS: Math.test 14 - atan
PASS: Math.test 15 - reci
PASS: Math.test 16 - not
PASS: Runpctl.test 1 -  1
PASS: Runpctl.test 2 -  20
PASS: Runpctl.test 3 -  25
PASS: Runpctl.test 4 -  33
PASS: Runpctl.test 5 -  50
PASS: Runpctl.test 6 -  66
PASS: Runpctl.test 7 -  75
PASS: Runpctl.test 8 -  80
PASS: Runpctl.test 9 -  99
PASS: Runpctl.test 10 -  100
PASS: Setmiss.test 1 - setmisstoc
PASS: Setmiss.test 2 - setmisstonn
PASS: Setmiss.test 3 - setmisstodis
PASS: Select.test 1 - select
PASS: Select.test 2 - select
PASS: Select.test 3 - select
PASS: Select.test 4 - select
PASS: Select.test 5 - select
PASS: Select.test 6 - delete
PASS: Select.test 7 - delete
PASS: Select.test 8 - delete
PASS: Smooth.test 1 - parameter set 1
PASS: Smooth.test 2 - parameter set 2
PASS: Smooth.test 3 - parameter set 3
PASS: Timselpctl.test 1 - timselpctl  nsets=12
PASS: Timselpctl.test 2 - timselpctl  nsets=60
PASS: Ensstat.test 1 - ensmin
PASS: Ensstat.test 2 - ensmax
PASS: Ensstat.test 3 - ensrange
PASS: Ensstat.test 4 - enssum
PASS: Ensstat.test 5 - ensavg
PASS: Ensstat.test 6 - ensmean
PASS: Ensstat.test 7 - ensstd
PASS: Ensstat.test 8 - ensstd1
PASS: Ensstat.test 9 - ensvar
PASS: Ensstat.test 10 - ensvar1
PASS: Ensstat.test 11 - ensskew
PASS: Ensstat.test 12 - enskurt
PASS: Ensstat.test 13 - ensmedian
PASS: Ensstat.test 14 - ensmin with missing values
PASS: Ensstat.test 15 - ensmax with missing values
PASS: Ensstat.test 16 - ensrange with missing values
PASS: Ensstat.test 17 - enssum with missing values
PASS: Ensstat.test 18 - ensavg with missing values
PASS: Ensstat.test 19 - ensmean with missing values
PASS: Ensstat.test 20 - ensstd with missing values
PASS: Ensstat.test 21 - ensstd1 with missing values
PASS: Ensstat.test 22 - ensvar with missing values
PASS: Ensstat.test 23 - ensvar1 with missing values
PASS: Ensstat.test 24 - ensskew with missing values
PASS: Ensstat.test 25 - enskurt with missing values
PASS: Ensstat.test 26 - ensmedian with missing values
PASS: Maskregion.test 1 - maskregion regular region0
PASS: Maskregion.test 2 - maskregion regular region1
PASS: Maskregion.test 3 - maskregion regular region2
PASS: Maskregion.test 4 - maskregion curvilinear region0
PASS: Maskregion.test 5 - maskregion curvilinear region1
PASS: Maskregion.test 6 - maskregion curvilinear region2
PASS: Maskregion.test 7 - maskregion unstructured region0
PASS: Maskregion.test 8 - maskregion unstructured region1
PASS: Maskregion.test 9 - maskregion unstructured region2
PASS: Maskregion.test 10 - masklonlatbox regular lonlatbox0
PASS: Maskregion.test 11 - masklonlatbox regular lonlatbox1
PASS: Maskregion.test 12 - masklonlatbox regular lonlatbox2
PASS: Maskregion.test 13 - masklonlatbox curvilinear lonlatbox0
PASS: Maskregion.test 14 - masklonlatbox curvilinear lonlatbox1
PASS: Maskregion.test 15 - masklonlatbox curvilinear lonlatbox2
PASS: Maskregion.test 16 - masklonlatbox unstructured lonlatbox0
PASS: Maskregion.test 17 - masklonlatbox unstructured lonlatbox1
PASS: Maskregion.test 18 - masklonlatbox unstructured lonlatbox2
PASS: Maskregion.test 19 - maskindexbox regular indexbox0
PASS: Maskregion.test 20 - maskindexbox regular indexbox1
PASS: Maskregion.test 21 - maskindexbox curvilinear indexbox0
PASS: Maskregion.test 22 - maskindexbox curvilinear indexbox1
PASS: Spectral.test 1 - gp2sp
PASS: Spectral.test 2 - sp2gp
PASS: Spectral.test 3 - gp2spl
PASS: Spectral.test 4 - sp2gpl
PASS: Timpctl.test 1 - seaspctl
PASS: Timpctl.test 2 - timpctl
PASS: Timpctl.test 3 - yearpctl
PASS: Timpctl.test 4 - monpctl
PASS: Timpctl.test 5 - daypctl
PASS: Timpctl.test 6 - yseaspctl
PASS: Timpctl.test 7 - ymonpctl
PASS: Timpctl.test 8 - ydaypctl
PASS: Remap3.test 1 - remapdis regional
PASS: Remap3.test 2 - remapnn regional
PASS: Remap3.test 3 - remapbil regional
PASS: Remap3.test 4 - remapbic regional
PASS: Remap3.test 5 - remapcon regional
PASS: Remap3.test 6 - remapcon2 regional
PASS: Remap3.test 7 - remapscon regional
PASS: Remap3.test 8 - remaplaf regional
PASS: Timstat2.test 1 - timcor
PASS: Timstat2.test 2 - timcovar
PASS: Remap2.test 1 - remapdis regional
PASS: Remap2.test 2 - remapnn regional
PASS: Remap2.test 3 - remapbil regional
PASS: Remap2.test 4 - remapbic regional
PASS: Remap2.test 5 - remapcon regional
PASS: Remap2.test 6 - remapcon2 regional
PASS: Remap2.test 7 - remapscon regional
PASS: Remap2.test 8 - remaplaf regional
PASS: Varsstat.test 1 - varsmin
PASS: Varsstat.test 2 - varsmax
PASS: Varsstat.test 3 - varsrange
PASS: Varsstat.test 4 - varssum
PASS: Varsstat.test 5 - varsavg
PASS: Varsstat.test 6 - varsmean
PASS: Varsstat.test 7 - varsstd
PASS: Varsstat.test 8 - varsstd1
PASS: Varsstat.test 9 - varsvar
PASS: Varsstat.test 10 - varsvar1
PASS: Ydrunpctl.test 1 - ydrunpctl
PASS: Vertint.test 1 - intlevel
PASS: Vertint.test 2 - intlevel
PASS: Vertint.test 3 - intlevel
PASS: Vertint.test 4 - intlevel3d
PASS: Vertint.test 5 - intlevel3d
PASS: Vertint.test 6 - ml2plx
PASS: Vertint.test 7 - ap2pl
PASS: Vertint.test 8 - gh2hl
PASS: Vertint.test 9 - gh2hlx
PASS: Yeararith.test 1 - yearadd
PASS: Yeararith.test 2 - yearsub
PASS: Yeararith.test 3 - yearmul
PASS: Yeararith.test 4 - yeardiv
PASS: Wind.test 1 - dv2ps
PASS: Wind.test 2 - dv2uv
PASS: Wind.test 3 - uv2dv
PASS: Wind.test 4 - dv2uvl
PASS: Wind.test 5 - uv2dvl
PASS: Selregion.test 1 - selregion regular region0
PASS: Selregion.test 2 - selregion regular region1
PASS: Selregion.test 3 - selregion regular region2
PASS: Selregion.test 4 - selregion curvilinear region0
PASS: Selregion.test 5 - selregion curvilinear region1
PASS: Selregion.test 6 - selregion curvilinear region2
PASS: Selregion.test 7 - selregion unstructured region0
PASS: Selregion.test 8 - selregion unstructured region1
PASS: Selregion.test 9 - selregion unstructured region2
PASS: Selregion.test 10 - sellonlatbox regular lonlatbox0
PASS: Selregion.test 11 - sellonlatbox regular lonlatbox1
PASS: Selregion.test 12 - sellonlatbox regular lonlatbox2
PASS: Selregion.test 13 - sellonlatbox curvilinear lonlatbox0
PASS: Selregion.test 14 - sellonlatbox curvilinear lonlatbox1
PASS: Selregion.test 15 - sellonlatbox curvilinear lonlatbox2
PASS: Selregion.test 16 - sellonlatbox unstructured lonlatbox0
PASS: Selregion.test 17 - sellonlatbox unstructured lonlatbox1
PASS: Selregion.test 18 - sellonlatbox unstructured lonlatbox2
PASS: Selregion.test 19 - selindexbox regular indexbox0
PASS: Selregion.test 20 - selindexbox regular indexbox1
PASS: Selregion.test 21 - selindexbox curvilinear indexbox0
PASS: Selregion.test 22 - selindexbox curvilinear indexbox1
PASS: Yearmonstat.test 1 - yearmonavg
PASS: Yearmonstat.test 2 - yearmonmean
PASS: Vertstat.test 1 - vertmin
PASS: Vertstat.test 2 - vertmax
PASS: Vertstat.test 3 - vertrange
PASS: Vertstat.test 4 - vertsum
PASS: Vertstat.test 5 - vertavg
PASS: Vertstat.test 6 - vertmean
PASS: Vertstat.test 7 - vertstd
PASS: Vertstat.test 8 - vertstd1
PASS: Vertstat.test 9 - vertvar
PASS: Vertstat.test 10 - vertvar1
PASS: Vertstat.test 11 - vertint
PASS: Vertstat.test 12 - vertcum
PASS: Ymonarith.test 1 - ymonadd
PASS: Ymonarith.test 2 - ymonsub
PASS: Ymonarith.test 3 - ymonmul
PASS: Ymonarith.test 4 - ymondiv
PASS: Ydayarith.test 1 - ydayadd
PASS: Ydayarith.test 2 - ydaysub
PASS: Ydayarith.test 3 - ydaymul
PASS: Ydayarith.test 4 - ydaydiv
PASS: tsformat.test 1 - chaining set 1 with SERVICE
PASS: tsformat.test 2 - chaining set 1 with EXTRA
PASS: tsformat.test 3 - chaining set 1 with IEG
PASS: tsformat.test 4 - chaining set 1 with GRIB
PASS: tsformat.test 5 - chaining set 1 with GRIB_API
PASS: tsformat.test 6 - chaining set 1 with netCDF
PASS: tsformat.test 7 - chaining set 1 with netCDF2
PASS: tsformat.test 8 - chaining set 1 with netCDF4
PASS: Arithc.test 1 - addc
PASS: Arithc.test 2 - subc
PASS: Arithc.test 3 - mulc
PASS: Arithc.test 4 - divc
PASS: Timselstat.test 1 - timselmin
PASS: Timselstat.test 2 - timselmax
PASS: Timselstat.test 3 - timselrange
PASS: Timselstat.test 4 - timselsum
PASS: Timselstat.test 5 - timselavg
PASS: Timselstat.test 6 - timselmean
PASS: Timselstat.test 7 - timselstd
PASS: Timselstat.test 8 - timselstd1
PASS: Timselstat.test 9 - timselvar
PASS: Timselstat.test 10 - timselvar1
PASS: Zonstat.test 1 - zonmin
PASS: Zonstat.test 2 - zonmax
PASS: Zonstat.test 3 - zonrange
PASS: Zonstat.test 4 - zonsum
PASS: Zonstat.test 5 - zonavg
PASS: Zonstat.test 6 - zonmean
PASS: Zonstat.test 7 - zonstd
PASS: Zonstat.test 8 - zonstd1
PASS: Zonstat.test 9 - zonvar
PASS: Zonstat.test 10 - zonvar1
PASS: Zonstat.test 11 - zonskew
PASS: Zonstat.test 12 - zonkurt
PASS: Zonstat.test 13 - zonmedian
PASS: Genweights.test 1 - gengenbil n16 regular
PASS: Genweights.test 2 - gengenbic n16 regular
PASS: Genweights.test 3 - gengencon n16 regular
PASS: Genweights.test 4 - gengenscon n16 regular
PASS: Genweights.test 5 - gengenbil n32 regular
PASS: Genweights.test 6 - gengenbic n32 regular
PASS: Genweights.test 7 - gengencon n32 regular
PASS: Genweights.test 8 - gengenscon n32 regular
PASS: Genweights.test 9 - gengenbil n16 curvilinear
PASS: Genweights.test 10 - gengenbic n16 curvilinear
PASS: Genweights.test 11 - gengencon n16 curvilinear
PASS: Genweights.test 12 - gengenscon n16 curvilinear
PASS: Genweights.test 13 - gengenbil n32 curvilinear
PASS: Genweights.test 14 - gengenbic n32 curvilinear
PASS: Genweights.test 15 - gengencon n32 curvilinear
PASS: Genweights.test 16 - gengenscon n32 curvilinear
PASS: Genweights.test 17 - gengencon n16 unstructured
PASS: Genweights.test 18 - gengenscon n16 unstructured
PASS: Genweights.test 19 - gengencon n32 unstructured
PASS: Genweights.test 20 - gengenscon n32 unstructured
PASS: File.test 1 - cdiwrite srv
PASS: File.test 2 - cdiwrite ext
PASS: File.test 3 - cdiwrite ieg
PASS: File.test 4 - cdiwrite grb
PASS: File.test 5 - cdiwrite grb2
PASS: File.test 6 - cdiwrite nc
PASS: File.test 7 - cdiwrite nc2
PASS: File.test 8 - cdiwrite nc4
PASS: File.test 9 - copy srv
PASS: File.test 10 - copy ext
PASS: File.test 11 - copy ieg
PASS: File.test 12 - copy grb
PASS: File.test 13 - copy grb2
PASS: File.test 14 - copy nc
PASS: File.test 15 - copy nc2
PASS: File.test 16 - copy nc4
PASS: Seasstat.test 1 - seasmin
PASS: Seasstat.test 2 - seasmax
PASS: Seasstat.test 3 - seasrange
PASS: Seasstat.test 4 - seassum
PASS: Seasstat.test 5 - seasavg
PASS: Seasstat.test 6 - seasmean
PASS: Seasstat.test 7 - seasstd
PASS: Seasstat.test 8 - seasstd1
PASS: Seasstat.test 9 - seasvar
PASS: Seasstat.test 10 - seasvar1
PASS: Seasstat.test 11 - seasmin with missing values
PASS: Seasstat.test 12 - seasmax with missing values
PASS: Seasstat.test 13 - seasrange with missing values
PASS: Seasstat.test 14 - seassum with missing values
PASS: Seasstat.test 15 - seasavg with missing values
PASS: Seasstat.test 16 - seasmean with missing values
PASS: Seasstat.test 17 - seasstd with missing values
PASS: Seasstat.test 18 - seasstd1 with missing values
PASS: Seasstat.test 19 - seasvar with missing values
PASS: Seasstat.test 20 - seasvar1 with missing values
PASS: Runstat.test 1 - runmin
PASS: Runstat.test 2 - runmax
PASS: Runstat.test 3 - runrange
PASS: Runstat.test 4 - runsum
PASS: Runstat.test 5 - runavg
PASS: Runstat.test 6 - runmean
PASS: Runstat.test 7 - runstd
PASS: Runstat.test 8 - runstd1
PASS: Runstat.test 9 - runvar
PASS: Runstat.test 10 - runvar1
PASS: Runstat.test 11 - runmin with missing values
PASS: Runstat.test 12 - runmax with missing values
PASS: Runstat.test 13 - runrange with missing values
PASS: Runstat.test 14 - runsum with missing values
PASS: Runstat.test 15 - runavg with missing values
PASS: Runstat.test 16 - runmean with missing values
PASS: Runstat.test 17 - runstd with missing values
PASS: Runstat.test 18 - runstd1 with missing values
PASS: Runstat.test 19 - runvar with missing values
PASS: Runstat.test 20 - runvar1 with missing values
PASS: Ydrunstat.test 1 - ydrunmin
PASS: Ydrunstat.test 2 - ydrunmax
PASS: Ydrunstat.test 3 - ydrunsum
PASS: Ydrunstat.test 4 - ydrunavg
PASS: Ydrunstat.test 5 - ydrunmean
PASS: Ydrunstat.test 6 - ydrunstd
PASS: Ydrunstat.test 7 - ydrunstd1
PASS: Ydrunstat.test 8 - ydrunvar
PASS: Ydrunstat.test 9 - ydrunvar1
PASS: Remap4.test 1 - remapnn global reg2d 1 to rotated grid
PASS: Remap4.test 2 - remapbil global reg2d 1 to rotated grid
PASS: Remap4.test 3 - remapbic global reg2d 1 to rotated grid
PASS: Remap4.test 4 - remapcon global reg2d 1 to rotated grid
PASS: Remap4.test 5 - remapnn global reg2d 2 to rotated grid
PASS: Remap4.test 6 - remapbil global reg2d 2 to rotated grid
PASS: Remap4.test 7 - remapbic global reg2d 2 to rotated grid
PASS: Remap4.test 8 - remapcon global reg2d 2 to rotated grid
PASS: Remapgrid.test 1 - remapdis global_2 to global_5
PASS: Remapgrid.test 2 - remapnn global_2 to global_5
PASS: Remapgrid.test 3 - remapbil global_2 to global_5
PASS: Remapgrid.test 4 - remapbic global_2 to global_5
PASS: Remapgrid.test 5 - remapcon global_2 to global_5
PASS: Remapgrid.test 6 - remapcon2 global_2 to global_5
PASS: Remapgrid.test 7 - remapscon global_2 to global_5
PASS: Remapgrid.test 8 - remaplaf global_2 to global_5
PASS: Remapgrid.test 9 - remapdis global_5 to global_2
PASS: Remapgrid.test 10 - remapnn global_5 to global_2
PASS: Remapgrid.test 11 - remapbil global_5 to global_2
PASS: Remapgrid.test 12 - remapbic global_5 to global_2
PASS: Remapgrid.test 13 - remapcon global_5 to global_2
PASS: Remapgrid.test 14 - remapcon2 global_5 to global_2
PASS: Remapgrid.test 15 - remapscon global_5 to global_2
PASS: Remapgrid.test 16 - remaplaf global_5 to global_2
PASS: Remapgrid.test 17 - remapdis global_5 to global_5
PASS: Remapgrid.test 18 - remapnn global_5 to global_5
PASS: Remapgrid.test 19 - remapbil global_5 to global_5
PASS: Remapgrid.test 20 - remapbic global_5 to global_5
PASS: Remapgrid.test 21 - remapcon global_5 to global_5
PASS: Remapgrid.test 22 - remapcon2 global_5 to global_5
PASS: Remapgrid.test 23 - remapscon global_5 to global_5
PASS: Remapgrid.test 24 - remaplaf global_5 to global_5
PASS: Remapstat.test 1 - remapmin global_2 to global_5
PASS: Remapstat.test 2 - remapmax global_2 to global_5
PASS: Remapstat.test 3 - remaprange global_2 to global_5
PASS: Remapstat.test 4 - remapsum global_2 to global_5
PASS: Remapstat.test 5 - remapavg global_2 to global_5
PASS: Remapstat.test 6 - remapmean global_2 to global_5
PASS: Remapstat.test 7 - remapstd global_2 to global_5
PASS: Remapstat.test 8 - remapstd1 global_2 to global_5
PASS: Remapstat.test 9 - remapvar global_2 to global_5
PASS: Remapstat.test 10 - remapvar1 global_2 to global_5
PASS: Remapstat.test 11 - remapskew global_2 to global_5
PASS: Remapstat.test 12 - remapkurt global_2 to global_5
PASS: Remapstat.test 13 - remapmedian global_2 to global_5
PASS: Remapstat.test 14 - remapmin global_5 to global_2
PASS: Remapstat.test 15 - remapmax global_5 to global_2
PASS: Remapstat.test 16 - remaprange global_5 to global_2
PASS: Remapstat.test 17 - remapsum global_5 to global_2
PASS: Remapstat.test 18 - remapavg global_5 to global_2
PASS: Remapstat.test 19 - remapmean global_5 to global_2
PASS: Remapstat.test 20 - remapstd global_5 to global_2
PASS: Remapstat.test 21 - remapstd1 global_5 to global_2
PASS: Remapstat.test 22 - remapvar global_5 to global_2
PASS: Remapstat.test 23 - remapvar1 global_5 to global_2
PASS: Remapstat.test 24 - remapskew global_5 to global_2
PASS: Remapstat.test 25 - remapkurt global_5 to global_2
PASS: Remapstat.test 26 - remapmedian global_5 to global_2
PASS: Remapstat.test 27 - remapmin global_5 to global_5
PASS: Remapstat.test 28 - remapmax global_5 to global_5
PASS: Remapstat.test 29 - remaprange global_5 to global_5
PASS: Remapstat.test 30 - remapsum global_5 to global_5
PASS: Remapstat.test 31 - remapavg global_5 to global_5
PASS: Remapstat.test 32 - remapmean global_5 to global_5
PASS: Remapstat.test 33 - remapstd global_5 to global_5
PASS: Remapstat.test 34 - remapstd1 global_5 to global_5
PASS: Remapstat.test 35 - remapvar global_5 to global_5
PASS: Remapstat.test 36 - remapvar1 global_5 to global_5
PASS: Remapstat.test 37 - remapskew global_5 to global_5
PASS: Remapstat.test 38 - remapkurt global_5 to global_5
PASS: Remapstat.test 39 - remapmedian global_5 to global_5
PASS: Remap.test 1 - remapbil n16 regular
PASS: Remap.test 2 - remapbic n16 regular
PASS: Remap.test 3 - remapcon n16 regular
PASS: Remap.test 4 - remapcon2 n16 regular
PASS: Remap.test 5 - remapscon n16 regular
PASS: Remap.test 6 - remapbil n32 regular
PASS: Remap.test 7 - remapbic n32 regular
PASS: Remap.test 8 - remapcon n32 regular
PASS: Remap.test 9 - remapcon2 n32 regular
PASS: Remap.test 10 - remapscon n32 regular
PASS: Remap.test 11 - remapbil n16 curvilinear
PASS: Remap.test 12 - remapbic n16 curvilinear
PASS: Remap.test 13 - remapcon n16 curvilinear
PASS: Remap.test 14 - remapcon2 n16 curvilinear
PASS: Remap.test 15 - remapscon n16 curvilinear
PASS: Remap.test 16 - remapbil n32 curvilinear
PASS: Remap.test 17 - remapbic n32 curvilinear
PASS: Remap.test 18 - remapcon n32 curvilinear
PASS: Remap.test 19 - remapcon2 n32 curvilinear
PASS: Remap.test 20 - remapscon n32 curvilinear
PASS: Remap.test 21 - remapcon n16 unstructured
PASS: Remap.test 22 - remapscon n16 unstructured
PASS: Remap.test 23 - remapcon n32 unstructured
PASS: Remap.test 24 - remapscon n32 unstructured
PASS: Multiyearstat.test 1 - ymonmin
PASS: Multiyearstat.test 2 - ymonmax
PASS: Multiyearstat.test 3 - ymonrange
PASS: Multiyearstat.test 4 - ymonsum
PASS: Multiyearstat.test 5 - ymonavg
PASS: Multiyearstat.test 6 - ymonmean
PASS: Multiyearstat.test 7 - ymonstd
PASS: Multiyearstat.test 8 - ymonstd1
PASS: Multiyearstat.test 9 - ymonvar
PASS: Multiyearstat.test 10 - ymonvar1
PASS: Multiyearstat.test 11 - ydaymin
PASS: Multiyearstat.test 12 - ydaymax
PASS: Multiyearstat.test 13 - ydayrange
PASS: Multiyearstat.test 14 - ydaysum
PASS: Multiyearstat.test 15 - ydayavg
PASS: Multiyearstat.test 16 - ydaymean
PASS: Multiyearstat.test 17 - ydaystd
PASS: Multiyearstat.test 18 - ydaystd1
PASS: Multiyearstat.test 19 - ydayvar
PASS: Multiyearstat.test 20 - ydayvar1
PASS: Multiyearstat.test 21 - yhourmin
PASS: Multiyearstat.test 22 - yhourmax
PASS: Multiyearstat.test 23 - yhourrange
PASS: Multiyearstat.test 24 - yhoursum
PASS: Multiyearstat.test 25 - yhouravg
PASS: Multiyearstat.test 26 - yhourmean
PASS: Multiyearstat.test 27 - yhourstd
PASS: Multiyearstat.test 28 - yhourstd1
PASS: Multiyearstat.test 29 - yhourvar
PASS: Multiyearstat.test 30 - yhourvar1
PASS: Multiyearstat.test 31 - yseasmin
PASS: Multiyearstat.test 32 - yseasmax
PASS: Multiyearstat.test 33 - yseasrange
PASS: Multiyearstat.test 34 - yseassum
PASS: Multiyearstat.test 35 - yseasavg
PASS: Multiyearstat.test 36 - yseasmean
PASS: Multiyearstat.test 37 - yseasstd
PASS: Multiyearstat.test 38 - yseasstd1
PASS: Multiyearstat.test 39 - yseasvar
PASS: Multiyearstat.test 40 - yseasvar1
PASS: Multiyearstat.test 41 - ymonmin with missing value
PASS: Multiyearstat.test 42 - ymonmax with missing value
PASS: Multiyearstat.test 43 - ymonrange with missing value
PASS: Multiyearstat.test 44 - ymonsum with missing value
PASS: Multiyearstat.test 45 - ymonavg with missing value
PASS: Multiyearstat.test 46 - ymonmean with missing value
PASS: Multiyearstat.test 47 - ymonstd with missing value
PASS: Multiyearstat.test 48 - ymonstd1 with missing value
PASS: Multiyearstat.test 49 - ymonvar with missing value
PASS: Multiyearstat.test 50 - ymonvar1 with missing value
PASS: Multiyearstat.test 51 - ydaymin with missing value
PASS: Multiyearstat.test 52 - ydaymax with missing value
PASS: Multiyearstat.test 53 - ydayrange with missing value
PASS: Multiyearstat.test 54 - ydaysum with missing value
PASS: Multiyearstat.test 55 - ydayavg with missing value
PASS: Multiyearstat.test 56 - ydaymean with missing value
PASS: Multiyearstat.test 57 - ydaystd with missing value
PASS: Multiyearstat.test 58 - ydaystd1 with missing value
PASS: Multiyearstat.test 59 - ydayvar with missing value
PASS: Multiyearstat.test 60 - ydayvar1 with missing value
PASS: Multiyearstat.test 61 - yhourmin with missing value
PASS: Multiyearstat.test 62 - yhourmax with missing value
PASS: Multiyearstat.test 63 - yhourrange with missing value
PASS: Multiyearstat.test 64 - yhoursum with missing value
PASS: Multiyearstat.test 65 - yhouravg with missing value
PASS: Multiyearstat.test 66 - yhourmean with missing value
PASS: Multiyearstat.test 67 - yhourstd with missing value
PASS: Multiyearstat.test 68 - yhourstd1 with missing value
PASS: Multiyearstat.test 69 - yhourvar with missing value
PASS: Multiyearstat.test 70 - yhourvar1 with missing value
PASS: Multiyearstat.test 71 - yseasmin with missing value
PASS: Multiyearstat.test 72 - yseasmax with missing value
PASS: Multiyearstat.test 73 - yseasrange with missing value
PASS: Multiyearstat.test 74 - yseassum with missing value
PASS: Multiyearstat.test 75 - yseasavg with missing value
PASS: Multiyearstat.test 76 - yseasmean with missing value
PASS: Multiyearstat.test 77 - yseasstd with missing value
PASS: Multiyearstat.test 78 - yseasstd1 with missing value
PASS: Multiyearstat.test 79 - yseasvar with missing value
PASS: Multiyearstat.test 80 - yseasvar1 with missing value
PASS: Timstat.test 1 - timmin
PASS: Timstat.test 2 - timmax
PASS: Timstat.test 3 - timrange
PASS: Timstat.test 4 - timsum
PASS: Timstat.test 5 - timavg
PASS: Timstat.test 6 - timmean
PASS: Timstat.test 7 - timstd
PASS: Timstat.test 8 - timstd1
PASS: Timstat.test 9 - timvar
PASS: Timstat.test 10 - timvar1
PASS: Timstat.test 11 - yearmin
PASS: Timstat.test 12 - yearmax
PASS: Timstat.test 13 - yearrange
PASS: Timstat.test 14 - yearsum
PASS: Timstat.test 15 - yearavg
PASS: Timstat.test 16 - yearmean
PASS: Timstat.test 17 - yearstd
PASS: Timstat.test 18 - yearstd1
PASS: Timstat.test 19 - yearvar
PASS: Timstat.test 20 - yearvar1
PASS: Timstat.test 21 - monmin
PASS: Timstat.test 22 - monmax
PASS: Timstat.test 23 - monrange
PASS: Timstat.test 24 - monsum
PASS: Timstat.test 25 - monavg
PASS: Timstat.test 26 - monmean
PASS: Timstat.test 27 - monstd
PASS: Timstat.test 28 - monstd1
PASS: Timstat.test 29 - monvar
PASS: Timstat.test 30 - monvar1
PASS: Timstat.test 31 - daymin
PASS: Timstat.test 32 - daymax
PASS: Timstat.test 33 - dayrange
PASS: Timstat.test 34 - daysum
PASS: Timstat.test 35 - dayavg
PASS: Timstat.test 36 - daymean
PASS: Timstat.test 37 - daystd
PASS: Timstat.test 38 - daystd1
PASS: Timstat.test 39 - dayvar
PASS: Timstat.test 40 - dayvar1
PASS: Timstat.test 41 - timmin with missing values
PASS: Timstat.test 42 - timmax with missing values
PASS: Timstat.test 43 - timrange with missing values
PASS: Timstat.test 44 - timsum with missing values
PASS: Timstat.test 45 - timavg with missing values
PASS: Timstat.test 46 - timmean with missing values
PASS: Timstat.test 47 - timstd with missing values
PASS: Timstat.test 48 - timstd1 with missing values
PASS: Timstat.test 49 - timvar with missing values
PASS: Timstat.test 50 - timvar1 with missing values
PASS: Timstat.test 51 - yearmin with missing values
PASS: Timstat.test 52 - yearmax with missing values
PASS: Timstat.test 53 - yearrange with missing values
PASS: Timstat.test 54 - yearsum with missing values
PASS: Timstat.test 55 - yearavg with missing values
PASS: Timstat.test 56 - yearmean with missing values
PASS: Timstat.test 57 - yearstd with missing values
PASS: Timstat.test 58 - yearstd1 with missing values
PASS: Timstat.test 59 - yearvar with missing values
PASS: Timstat.test 60 - yearvar1 with missing values
PASS: Timstat.test 61 - monmin with missing values
PASS: Timstat.test 62 - monmax with missing values
PASS: Timstat.test 63 - monrange with missing values
PASS: Timstat.test 64 - monsum with missing values
PASS: Timstat.test 65 - monavg with missing values
PASS: Timstat.test 66 - monmean with missing values
PASS: Timstat.test 67 - monstd with missing values
PASS: Timstat.test 68 - monstd1 with missing values
PASS: Timstat.test 69 - monvar with missing values
PASS: Timstat.test 70 - monvar1 with missing values
PASS: Timstat.test 71 - daymin with missing values
PASS: Timstat.test 72 - daymax with missing values
PASS: Timstat.test 73 - dayrange with missing values
PASS: Timstat.test 74 - daysum with missing values
PASS: Timstat.test 75 - dayavg with missing values
PASS: Timstat.test 76 - daymean with missing values
PASS: Timstat.test 77 - daystd with missing values
PASS: Timstat.test 78 - daystd1 with missing values
PASS: Timstat.test 79 - dayvar with missing values
PASS: Timstat.test 80 - dayvar1 with missing values
============================================================================
Testsuite summary for cdo 2.1.0
============================================================================
# TOTAL: 781
# PASS:  752
# SKIP:  29
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
---

On what kind of system is this failing for you? What can we do?

Roman

Guillaume Le Vaillant <glv@posteo.net> writes:

> [[PGP Signed Part:Undecided]]
> Hi Roman,
>
> I'm getting 5 errors during the tests when trying to build cdo:
>
> --8<---------------cut here---------------start------------->8---
> [...]
> FAIL: Selregion.test 5 - selregion curvilinear region1
> FAIL: Selregion.test 6 - selregion curvilinear region2
> FAIL: Selregion.test 7 - selregion unstructured region0
> FAIL: Selregion.test 8 - selregion unstructured region1
> FAIL: Selregion.test 9 - selregion unstructured region2
> [...]
> Running test: 5 - selregion curvilinear region1
>
> cdo    selregion (Abort): Open failed on region1
> ../src/cdo -f srv -b 32 selregion,region1 -setgridtype,curvilinear ../test/data/bathy4.grb selregion_c1_res
> cdo    diff: Open failed on >selregion_c1_res<
>              No such file or directory
> ../src/cdo  diff selregion_c1_res ../test/data/selregion_c1_ref
> not ok 5 - selregion curvilinear region1
> FAIL: Selregion.test 5 - selregion curvilinear region1
> Running test: 6 - selregion curvilinear region2
>
> cdo    selregion (Abort): Open failed on region2
> ../src/cdo -f srv -b 32 selregion,region2 -setgridtype,curvilinear ../test/data/bathy4.grb selregion_c2_res
> cdo    diff: Open failed on >selregion_c2_res<
>              No such file or directory
> ../src/cdo  diff selregion_c2_res ../test/data/selregion_c2_ref
> not ok 6 - selregion curvilinear region2
> FAIL: Selregion.test 6 - selregion curvilinear region2
> [...]
> --8<---------------cut here---------------end--------------->8---
>
>
> Does cdo always build fine for you?
>
> [[End of PGP Signed Part]]

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 528 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#60037: Update CDO to 2.1.0 and add libaec and eccodes
  2022-12-19 16:24   ` Roman Scherer
@ 2022-12-19 18:31     ` Guillaume Le Vaillant
  2022-12-20  8:32       ` [bug#60037] " Roman Scherer
  0 siblings, 1 reply; 5+ messages in thread
From: Guillaume Le Vaillant @ 2022-12-19 18:31 UTC (permalink / raw)
  To: Roman Scherer; +Cc: 60037-done

[-- Attachment #1: Type: text/plain, Size: 1393 bytes --]

Roman Scherer <roman.scherer@burningswell.com> skribis:

>
> Hi Guillaume,
>
> thanks for looking at this patch series and sorry for the trouble. I
> just rebuild the patch series on top of the current master 3 times with
> the following command:
>
> ```
> ./pre-inst-env guix build --check --no-grafts --no-substitutes --rounds=3 cdo
> ```
>
> I see some tests are skipped, but the whole thing passed every time. I
> also don't remember seeing them failing a single time.
>
> I'm running this on the following system:
>
> ```
> Linux precision 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
> ```
>
> And here are the logs of one of the test runs:
>
> [...]
>
> On what kind of system is this failing for you? What can we do?

On my main machine, with an AMD Ryzen 9 CPU with 32 threads, it failed
every time. On another machine, with an Intel I9 CPU with 16 threads, it
succeeded every time. It turns out that some tests can fail if the
machine has many threads, and adding '#:parallel-tests? #f' to the
'arguments' field fixes the issue.

I also changed the 'source' field of the libaec package to use
'git-fetch' instead of 'url-fetch', because archive files created
automatically by forges like gitlab can sometimes change in place and
have a different hash.

Patches pushed as d03b6fb0e3f0b81b35a9b35b89c213c144c59fe6 and
following. Thanks.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#60037] Update CDO to 2.1.0 and add libaec and eccodes
  2022-12-19 18:31     ` bug#60037: " Guillaume Le Vaillant
@ 2022-12-20  8:32       ` Roman Scherer
  0 siblings, 0 replies; 5+ messages in thread
From: Roman Scherer @ 2022-12-20  8:32 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 60037-done

[-- Attachment #1: Type: text/plain, Size: 1570 bytes --]

Nice. Thank you!

On Mon, Dec 19, 2022, 19:42 Guillaume Le Vaillant <glv@posteo.net> wrote:

> Roman Scherer <roman.scherer@burningswell.com> skribis:
>
> >
> > Hi Guillaume,
> >
> > thanks for looking at this patch series and sorry for the trouble. I
> > just rebuild the patch series on top of the current master 3 times with
> > the following command:
> >
> > ```
> > ./pre-inst-env guix build --check --no-grafts --no-substitutes
> --rounds=3 cdo
> > ```
> >
> > I see some tests are skipped, but the whole thing passed every time. I
> > also don't remember seeing them failing a single time.
> >
> > I'm running this on the following system:
> >
> > ```
> > Linux precision 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC
> 2022 x86_64 x86_64 x86_64 GNU/Linux
> > ```
> >
> > And here are the logs of one of the test runs:
> >
> > [...]
> >
> > On what kind of system is this failing for you? What can we do?
>
> On my main machine, with an AMD Ryzen 9 CPU with 32 threads, it failed
> every time. On another machine, with an Intel I9 CPU with 16 threads, it
> succeeded every time. It turns out that some tests can fail if the
> machine has many threads, and adding '#:parallel-tests? #f' to the
> 'arguments' field fixes the issue.
>
> I also changed the 'source' field of the libaec package to use
> 'git-fetch' instead of 'url-fetch', because archive files created
> automatically by forges like gitlab can sometimes change in place and
> have a different hash.
>
> Patches pushed as d03b6fb0e3f0b81b35a9b35b89c213c144c59fe6 and
> following. Thanks.
>

[-- Attachment #2: Type: text/html, Size: 2161 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-12-20  8:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-13 17:52 [bug#60037] Update CDO to 2.1.0 and add libaec and eccodes Roman Scherer
2022-12-19 14:43 ` Guillaume Le Vaillant
2022-12-19 16:24   ` Roman Scherer
2022-12-19 18:31     ` bug#60037: " Guillaume Le Vaillant
2022-12-20  8:32       ` [bug#60037] " Roman Scherer

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.