Skip to content

Commit 38f2cf4

Browse files
committed
Trap DiffNum.pl output, use O0 for test, fix tolerance, use GSL2.5
-Note that tee doesn't work here because the exit code returned will be from tee rather than DiffNum.pl. The usual workarounds seem to mostly require bash and the CI uses dash. -O0 is used here to mitigate optimizer differences from increase in GCC version. -Ubuntu 24.04 has GSL2.7 by default - this reverts to a manual install of 2.5 for testing
1 parent dec0c7c commit 38f2cf4

2 files changed

Lines changed: 32 additions & 28 deletions

File tree

.github/workflows/ramscb-ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,20 @@ jobs:
1919
sudo apt-get update -qq
2020
sudo apt-get install -y make gcc g++ gfortran
2121
sudo apt-get install -y make libopenmpi-dev openmpi-bin
22-
sudo apt-get install -y libgsl-dev libgslcblas0 gsl-bin libgsl-dbg
2322
sudo apt-get install -y libnetcdf-dev libnetcdff-dev nco netcdf-bin
23+
wget https://mirror.us-midwest-1.nexcess.net/gnu/gsl/gsl-2.5.tar.gz
24+
tar xzf gsl-2.5.tar.gz
25+
cd gsl-2.5.tar.gz
26+
./configure && make && make install
27+
cd ..
2428
gfortran --version
2529
gsl-config --version
2630
- name: Checkout
2731
uses: actions/checkout@v2
2832
- name: ram_test_tr
2933
run: |
3034
export PERL5LIB=$PERL5LIB:`pwd`
31-
./Config.pl -install -compiler=gfortran -mpi=openmpi -openmp -ncdf -gsl -O3
35+
./Config.pl -install -compiler=gfortran -mpi=openmpi -openmp -ncdf -gsl -O0
3236
make
3337
make testCI
3438
- name: unit_tests

Makefile

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -236,30 +236,30 @@ test1_run:
236236
cd ${TESTDIR1}; ${MPIRUN} ./ram_scb.exe | tee runlog
237237

238238
test1_check:
239-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
239+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
240240
${TESTDIR1}/output_ram/log_d20130317_t000000.log \
241241
${IMDIR}/output/test1/log.ref \
242-
> test1.diff
243-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
242+
> test1.diff || (cat test1.diff; exit 1;)
243+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
244244
${TESTDIR1}/output_ram/pressure_d20130317_t001500.dat \
245245
${IMDIR}/output/test1/pressure.ref \
246-
>> test1.diff
246+
>> test1.diff || (cat test1.diff; exit 1;)
247247
ncdump -v "Flux_H","B_xyz" \
248248
${TESTDIR1}/output_ram/sat1_d20130317_t000000.nc \
249249
| sed -e '1,/data:/d' > \
250250
${TESTDIR1}/output_ram/sat1.test
251-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
251+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
252252
${TESTDIR1}/output_ram/sat1.test \
253253
${IMDIR}/output/test1/sat1.ref \
254-
>> test1.diff
254+
>> test1.diff || (cat test1.diff; exit 1;)
255255
ncdump -v "Flux_H","B_xyz" \
256256
${TESTDIR1}/output_ram/sat2_d20130317_t000000.nc \
257257
| sed -e '1,/data:/d' > \
258258
${TESTDIR1}/output_ram/sat2.test
259-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
259+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
260260
${TESTDIR1}/output_ram/sat2.test \
261261
${IMDIR}/output/test1/sat2.ref \
262-
>> test1.diff
262+
>> test1.diff || (cat test1.diff; exit 1;)
263263
@echo "Test Successful!"
264264

265265
#TEST 2----------------------------------
@@ -293,30 +293,30 @@ test2_run:
293293
${MPIRUN} ./ram_scb.exe | tee runlog2;
294294

295295
test2_check:
296-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
296+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
297297
${TESTDIR2}/output_ram/pressure_d20130317_t001500.dat \
298298
${IMDIR}/output/test1/pressure.ref \
299-
> test2.diff
299+
> test2.diff || (cat test2.diff; exit 1;)
300300
ncrcat ${TESTDIR2}/output_ram/sat1_d20130317_t000000.nc \
301301
${TESTDIR2}/output_ram/sat1_d20130317_t001000.nc \
302302
${TESTDIR2}/output_ram/sat1.nc
303303
ncdump -v "Flux_H","B_xyz" ${TESTDIR2}/output_ram/sat1.nc \
304304
| sed -e '1,/data:/d' > \
305305
${TESTDIR2}/output_ram/sat1.test
306-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
306+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
307307
${TESTDIR2}/output_ram/sat1.test \
308308
${IMDIR}/output/test1/sat1.ref \
309-
>> test2.diff
309+
>> test2.diff || (cat test2.diff; exit 1;)
310310
ncrcat ${TESTDIR2}/output_ram/sat2_d20130317_t000000.nc \
311311
${TESTDIR2}/output_ram/sat2_d20130317_t001000.nc \
312312
${TESTDIR2}/output_ram/sat2.nc
313313
ncdump -v "Flux_H","B_xyz" ${TESTDIR2}/output_ram/sat2.nc \
314314
| sed -e '1,/data:/d' > \
315315
${TESTDIR2}/output_ram/sat2.test
316-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
316+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
317317
${TESTDIR2}/output_ram/sat2.test \
318318
${IMDIR}/output/test1/sat2.ref \
319-
>> test2.diff
319+
>> test2.diff || (cat test2.diff; exit 1;)
320320
@echo "Test Successful!"
321321

322322
#TEST 3----------------------------------
@@ -344,14 +344,14 @@ test3_run:
344344
cd ${TESTDIR3}; ${MPIRUN} ./ram_scb.exe | tee runlog;
345345

346346
test3_check:
347-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
347+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
348348
${TESTDIR3}/output_ram/pressure_d20130317_t001500.dat \
349349
${IMDIR}/output/test3/pressure.ref \
350-
> test3.diff
351-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
350+
> test3.diff || (cat test3.diff; exit 1;)
351+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
352352
${TESTDIR3}/output_scb/hI_output_d20130317_t001500.dat \
353353
${IMDIR}/output/test3/hI.ref \
354-
>> test3.diff
354+
>> test3.diff || (cat test3.diff; exit 1;)
355355
@echo "Test Successful!"
356356

357357
#TEST 4----------------------------------
@@ -385,34 +385,34 @@ test4_run:
385385
${MPIRUN} ./ram_scb.exe | tee runlog2;
386386

387387
test4_check:
388-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
388+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
389389
${TESTDIR4}/output_ram/pressure_d20130317_t001500.dat \
390390
${IMDIR}/output/test3/pressure.ref \
391-
> test4.diff
392-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
391+
> test4.diff || (cat test4.diff; exit 1;)
392+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
393393
${TESTDIR4}/output_scb/hI_output_d20130317_t001500.dat \
394394
${IMDIR}/output/test3/hI.ref \
395-
>> test4.diff
395+
>> test4.diff || (cat test4.diff; exit 1;)
396396
ncrcat ${TESTDIR4}/output_ram/sat1_d20130317_t000000.nc \
397397
${TESTDIR4}/output_ram/sat1_d20130317_t001000.nc \
398398
${TESTDIR4}/output_ram/sat1.nc
399399
ncdump -v "Flux_H","B_xyz" ${TESTDIR4}/output_ram/sat1.nc \
400400
| sed -e '1,/data:/d' > \
401401
${TESTDIR4}/output_ram/sat1.test
402-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
402+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
403403
${TESTDIR4}/output_ram/sat1.test \
404404
${IMDIR}/output/test3/sat1.ref \
405-
>> test4.diff
405+
>> test4.diff || (cat test4.diff; exit 1;)
406406
ncrcat ${TESTDIR4}/output_ram/sat2_d20130317_t000000.nc \
407407
${TESTDIR4}/output_ram/sat2_d20130317_t001000.nc \
408408
${TESTDIR4}/output_ram/sat2.nc
409409
ncdump -v "Flux_H","B_xyz" ${TESTDIR4}/output_ram/sat2.nc \
410410
| sed -e '1,/data:/d' > \
411411
${TESTDIR4}/output_ram/sat2.test
412-
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 \
412+
${SCRIPTDIR}/DiffNum.pl -b -a=1e-9 -r=1e-7 \
413413
${TESTDIR4}/output_ram/sat2.test \
414414
${IMDIR}/output/test3/sat2.ref \
415-
>> test4.diff
415+
>> test4.diff || (cat test4.diff; exit 1;)
416416
@echo "Test Successful!"
417417

418418
#TEST EMIC----------------------------------

0 commit comments

Comments
 (0)