nd(1): A simple Fortran program for comparing two files for numeric differences
nd -old FILENAME -new FILENAME -percent REAL_VALUE
ND is a small utility that assumes two text files are basically identical except for numeric values, and finds differences that exceed a specified tolerance.
It is assumed that file widths are less than 264 characters; and numbers are delimited by spaces.
This program was originally written to simplify the comparison of values generated by new versions of numeric libraries to previous versions of the libraries; which up to that point was done by extensive spot-checking of printed values by eye.
nd -old MASTER_TEMPLATE_FILE -new NEW_OUTPUT_FILE -percent 0.0001
The source code for the nd(1) utility is in nd.f90. If you do not have the KRACKEN(3F) library for cracking the command line, a few lines will need changed to prompt for the input files and the threshold percentage.
nd -old cray_results.txt -new cygwin_results.txt -percent 0.00001
A diff(1) of the following input files would show every line, as one uses the "E" prefix for exponents, while the other uses "D". Even when a diff(1) would show few lines, you have to inspect each difference to see how large a difference in value was found. Using nd(1) you can ignore most insignificant differences.
numerical differences
old file=cray_output.txt
new file=cygwin_output.txt
percent= 0.00001
Copyright (C) 1990,John. S. Urban, all rights reserved
>> line 8 maximum difference = 0.000010426813 (%)
0.32000000E+02 0.88589141E-01 -0.17863993E-01 -0.36879559E-04 0.16022057E-01 0.31990327E+02
0.32000000D+02 0.88589141D-01 -0.17863994D-01 -0.36879562D-04 0.16022057D-01 0.31990327D+02
for threshold = 0.00001 (%)
maximum difference= 0.000010426813 (%)
1TESTS STARTED.
1 T,PSL(T),HSL(T),SSL(T),VSL(T),TSLH(H)
0 PMIN= 0.885891E-01 PMAX= 0.320823E+04 DELP= 0.100000E+03
TMIN= 0.320000E+02 TMAX= 0.705470E+03 DELT= 0.200000E+02
0
0.32000000E+02 0.88589141E-01 -0.17863993E-01 -0.36879559E-04 0.16022057E-01 0.31990327E+02
0.40000000E+02 0.12163360E+00 0.80272719E+01 0.16194175E-01 0.16018940E-01 0.40003431E+02
0.60000000E+02 0.25611401E+00 0.28059533E+02 0.55503370E-01 0.16033165E-01 0.60005984E+02
0.80000000E+02 0.50682853E+00 0.48036541E+02 0.93222577E-01 0.16071928E-01 0.79998151E+02
0.10000000E+03 0.94923553E+00 0.67998872E+02 0.12954114E+00 0.16129956E-01 0.99994830E+02
0.12000000E+03 0.16927366E+01 0.87966229E+02 0.16459153E+00 0.16204270E-01 0.11999684E+03
0.14000000E+03 0.28891787E+01 0.10794963E+03 0.19847772E+00 0.16293096E-01 0.14000080E+03
0.16000000E+03 0.47413557E+01 0.12795766E+03 0.23128914E+00 0.16395272E-01 0.16000351E+03
0.18000000E+03 0.75110274E+01 0.14799946E+03 0.26310734E+00 0.16510005E-01 0.18000351E+03
0.20000000E+03 0.11526035E+02 0.16808606E+03 0.29400880E+00 0.16636808E-01 0.20000116E+03
0.22000000E+03 0.17186197E+02 0.18823058E+03 0.32406594E+00 0.16775474E-01 0.21999785E+03
0.24000000E+03 0.24967794E+02 0.20844802E+03 0.35334719E+00 0.16926045E-01 0.23999513E+03
0.26000000E+03 0.35426601E+02 0.22875486E+03 0.38191689E+00 0.17088786E-01 0.25999384E+03
0.28000000E+03 0.49199533E+02 0.24916873E+03 0.40983516E+00 0.17264170E-01 0.27999361E+03
0.30000000E+03 0.67005075E+02 0.26970823E+03 0.43715817E+00 0.17452875E-01 0.29999280E+03
0.32000000E+03 0.89642735E+02 0.29039297E+03 0.46393855E+00 0.17655789E-01 0.31998899E+03
0.34000000E+03 0.11799178E+03 0.31124389E+03 0.49022610E+00 0.17874025E-01 0.33998018E+03
0.36000000E+03 0.15300954E+03 0.33228370E+03 0.51606862E+00 0.18108958E-01 0.35996652E+03
0.38000000E+03 0.19572950E+03 0.35353750E+03 0.54151277E+00 0.18362259E-01 0.38000205E+03
0.40000000E+03 0.24725940E+03 0.37509279E+03 0.56667770E+00 0.18637646E-01 0.40003002E+03
0.42000000E+03 0.30877960E+03 0.39689616E+03 0.59150311E+00 0.18935141E-01 0.41998032E+03
0.44000000E+03 0.38154169E+03 0.41902722E+03 0.61609004E+00 0.19258996E-01 0.43998928E+03
0.46000000E+03 0.46686778E+03 0.44153583E+03 0.64049662E+00 0.19613160E-01 0.46000991E+03
0.48000000E+03 0.56615075E+03 0.46448172E+03 0.66478705E+00 0.20002609E-01 0.48002037E+03
0.50000000E+03 0.68085599E+03 0.48793750E+03 0.68903400E+00 0.20433708E-01 0.50001633E+03
0.52000000E+03 0.81252603E+03 0.51199311E+03 0.71332237E+00 0.20914751E-01 0.52000390E+03
0.54000000E+03 0.96279001E+03 0.53676266E+03 0.73775486E+00 0.21456790E-01 0.53999326E+03
0.56000000E+03 0.11333816E+04 0.56239502E+03 0.76246065E+00 0.22074947E-01 0.55999280E+03
0.58000000E+03 0.13261708E+04 0.58909059E+03 0.78760893E+00 0.22790623E-01 0.58000418E+03
0.60000000E+03 0.15432192E+04 0.61712901E+03 0.81343122E+00 0.23635444E-01 0.60001858E+03
0.62000000E+03 0.17868695E+04 0.64691984E+03 0.84026231E+00 0.24659110E-01 0.62001710E+03
0.64000000E+03 0.20598878E+04 0.67911317E+03 0.86863104E+00 0.25947611E-01 0.63998803E+03
0.66000000E+03 0.23656783E+04 0.71493433E+03 0.89954128E+00 0.27678770E-01 0.66001396E+03
0.68000000E+03 0.27085898E+04 0.75845725E+03 0.93651903E+00 0.30369395E-01 0.68000016E+03
0.70000000E+03 0.30943291E+04 0.82243999E+03 0.99006883E+00 0.36618048E-01 0.70000112E+03
0.70547000E+03 0.32082348E+04 0.90600741E+03 0.10611600E+01 0.50778529E-01 0.00000000E+00
0 SUM= 0.6353636479732371E+05
1TESTS STARTED.
1 T,PSL(T),HSL(T),SSL(T),VSL(T),TSLH(H)
0 PMIN= 0.885891E-01 PMAX= 0.320823E+04 DELP= 0.100000E+03
TMIN= 0.320000E+02 TMAX= 0.705470E+03 DELT= 0.200000E+02
0
0.32000000D+02 0.88589141D-01 -0.17863994D-01 -0.36879562D-04 0.16022057D-01 0.31990327D+02
0.40000000D+02 0.12163360D+00 0.80272719D+01 0.16194175D-01 0.16018940D-01 0.40003431D+02
0.60000000D+02 0.25611401D+00 0.28059533D+02 0.55503370D-01 0.16033165D-01 0.60005984D+02
0.80000000D+02 0.50682853D+00 0.48036541D+02 0.93222577D-01 0.16071928D-01 0.79998151D+02
0.10000000D+03 0.94923553D+00 0.67998872D+02 0.12954114D+00 0.16129956D-01 0.99994830D+02
0.12000000D+03 0.16927366D+01 0.87966229D+02 0.16459153D+00 0.16204270D-01 0.11999684D+03
0.14000000D+03 0.28891787D+01 0.10794963D+03 0.19847772D+00 0.16293096D-01 0.14000080D+03
0.16000000D+03 0.47413557D+01 0.12795766D+03 0.23128914D+00 0.16395272D-01 0.16000351D+03
0.18000000D+03 0.75110274D+01 0.14799946D+03 0.26310734D+00 0.16510005D-01 0.18000351D+03
0.20000000D+03 0.11526035D+02 0.16808606D+03 0.29400880D+00 0.16636808D-01 0.20000116D+03
0.22000000D+03 0.17186197D+02 0.18823058D+03 0.32406594D+00 0.16775474D-01 0.21999785D+03
0.24000000D+03 0.24967794D+02 0.20844802D+03 0.35334719D+00 0.16926045D-01 0.23999513D+03
0.26000000D+03 0.35426601D+02 0.22875486D+03 0.38191689D+00 0.17088786D-01 0.25999384D+03
0.28000000D+03 0.49199533D+02 0.24916873D+03 0.40983516D+00 0.17264170D-01 0.27999361D+03
0.30000000D+03 0.67005075D+02 0.26970823D+03 0.43715817D+00 0.17452875D-01 0.29999280D+03
0.32000000D+03 0.89642735D+02 0.29039297D+03 0.46393855D+00 0.17655789D-01 0.31998899D+03
0.34000000D+03 0.11799178D+03 0.31124389D+03 0.49022610D+00 0.17874025D-01 0.33998018D+03
0.36000000D+03 0.15300954D+03 0.33228370D+03 0.51606862D+00 0.18108958D-01 0.35996652D+03
0.38000000D+03 0.19572950D+03 0.35353750D+03 0.54151277D+00 0.18362259D-01 0.38000205D+03
0.40000000D+03 0.24725940D+03 0.37509279D+03 0.56667770D+00 0.18637646D-01 0.40003002D+03
0.42000000D+03 0.30877960D+03 0.39689616D+03 0.59150311D+00 0.18935141D-01 0.41998032D+03
0.44000000D+03 0.38154169D+03 0.41902722D+03 0.61609004D+00 0.19258996D-01 0.43998928D+03
0.46000000D+03 0.46686778D+03 0.44153583D+03 0.64049662D+00 0.19613160D-01 0.46000991D+03
0.48000000D+03 0.56615075D+03 0.46448172D+03 0.66478705D+00 0.20002609D-01 0.48002037D+03
0.50000000D+03 0.68085599D+03 0.48793750D+03 0.68903400D+00 0.20433708D-01 0.50001633D+03
0.52000000D+03 0.81252603D+03 0.51199311D+03 0.71332237D+00 0.20914751D-01 0.52000390D+03
0.54000000D+03 0.96279001D+03 0.53676266D+03 0.73775486D+00 0.21456790D-01 0.53999326D+03
0.56000000D+03 0.11333816D+04 0.56239502D+03 0.76246065D+00 0.22074947D-01 0.55999280D+03
0.58000000D+03 0.13261708D+04 0.58909059D+03 0.78760893D+00 0.22790623D-01 0.58000418D+03
0.60000000D+03 0.15432192D+04 0.61712901D+03 0.81343122D+00 0.23635444D-01 0.60001858D+03
0.62000000D+03 0.17868695D+04 0.64691984D+03 0.84026231D+00 0.24659110D-01 0.62001710D+03
0.64000000D+03 0.20598878D+04 0.67911317D+03 0.86863104D+00 0.25947611D-01 0.63998803D+03
0.66000000D+03 0.23656783D+04 0.71493433D+03 0.89954128D+00 0.27678770D-01 0.66001396D+03
0.68000000D+03 0.27085898D+04 0.75845725D+03 0.93651903D+00 0.30369395D-01 0.68000016D+03
0.70000000D+03 0.30943291D+04 0.82243999D+03 0.99006883D+00 0.36618048D-01 0.70000112D+03
0.70547000D+03 0.32082348D+04 0.90600741D+03 0.10611600D+01 0.50778529D-01 0.00000000D+00
0 SUM= 0.6353636479675987E+05