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 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429
|
2002-02-04 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-2_2_0:
Changes since nco-2_1_3: Henry made subscripts lexer tokens and
improved dimension list handling so LHS casting works regardless
of precedence or presence of LHS expressions.
* Small ANSI fixes in ncap.c for AIX
* Replace math float prototypes required for AIX, Solaris builds
These are not required on Linux or IRIX, which keep them in math.h
* Documentation changes
2002-02-02 Charlie Zender <zender@uci.edu>
* Quieted output by removing verbose printing from debug level = 0
Execution is now silent except for WARNINGS and INFOs.
2002-01-30 Charlie Zender <zender@uci.edu>
* Added some Compile Farm procedures to nco_src_frg.txt
* Add FREEBSD support to Makefile, and allow environment
to override CC and C++ compiler variables
2002-01-29 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-2_1_3
Changes since nco-2_1_2: LHS casting really works as long as
dimensions are already in output file. Replaced var_add() in ncap,
no known parser bugs, just missing features.
* Created var_add_no_tally() by copying var_subtract() and
changing minuses to pluses. This routine does not use tally,
and does handle missing values appropriately.
Changed ncap_var_var_add() to use var_add_no_tally() rather than
var_add(). This fixed segfaults with prs_mdp definition,
which now works as expected.
* ncap variable addition scripts break in var_add()
Possibly because not all ncap routines malloc() tally array
Possibly because missing values handling is not failsafe in
var_add() (although I believe it is fine for other NCO operators)
* Allocate tally using sizeof(long) rather than
nco_typ_lng(NC_INT)
2002-01-28 Charlie Zender <zender@uci.edu>
* Move LHS_cst cleanup to statement_list rule so cleanup does
not occur before last expression in statement is evaluated
* Added ncap_var_stretch() to out_var_exp = att_exp action
* Spread out debug levels to create more uniform distribution
of diagnostics as dbg_lvl increases
* LHS casting is semi-working, semi-broken. Seems to work when all
required dimensions are already in input file and RHS is variable,
not attribute. Thus a3[lat,lon,lev] = one works but
a3[lat,lon,lev]=1.0 does not.
Still thinking about how to stretch attributes.
2002-01-27 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-2_1_2
Changes since nco-2_1_1: ncap warning cleanups, icc conformance,
plug most non-ncap leaks detected by insure++
* Move yylex() so only called once in ncap_initial_scan()
2002-01-26 Charlie Zender <zender@uci.edu>
* Use <limits.h> to get INT_MIN, INT_MAX
* Changed from gcc to icc on Intel, seems to work fine
* Cast char to unsigned char and visa versa where necessary to
prevent icc warnings. This solved all icc warnings on ncap, and
solved all IRIX cc warnings for ncap too. Since unsigned char
pointer and char pointer are same size, there should be no problem
casting between them. However, casting between unsigned char value
and char value could change answers.
String operations should be checked to ensure they still work.
2002-01-23 Charlie Zender <zender@uci.edu>
* Fix read overflow in ncks.c:prn_var_val_lmt() where
non-NUL-terminated character array was being printed with %s format
2002-01-22 Charlie Zender <zender@uci.edu>
* Fix non-NUL-terminated strings in hst_att_cat()
* Added nco/doc/purify.txt to track memory problems reported by purify
2002-01-21 Charlie Zender <zender@uci.edu>
* Remove templates for math functions from ncap.c
* Implement CCOMMENT start state to recognize C comments /* */
* Explicitly declare yy_scan_string() to remove compiler warnings
* Implement/use nco_set_fill() wrapper
Remove architecture-dependent wrapper on usage
Pass pointer to valid fll_md_old since NULL is not safe
because nc_set_fill() may try to write to it
2002-01-17 Charlie Zender <zender@uci.edu>
* Initialize RHS to False, add global LHS_cast
2002-01-16 Charlie Zender <zender@uci.edu>
* Enable assertion macros in ncap
* Changed Makefile default to OMP=N until further testing
* Began implementation of lexer for subscripted variables
with x[dmn1,dmn2,...dmnN] syntax. Currently creates list of
dimension structures but does nothing with it.
2002-01-13 Charlie Zender <zender@uci.edu>
* Verified ncap script gives same answers as odxc.ncl script
* var_free() superceded variable in ncap_var_conform_dim()
causes core dump (why?), but not free'ing must cause memory leak
* Realized var_conform_dim() has bug of omission: does not abort
when variables do not conform because dimension list of one is
subset of other but ORDER of dimensions differs, e.g.,
a(lat,lev,lon) !~ b(lon,lev).
NCO probably returns incorrect answers silently in this case!
2002-01-12 Charlie Zender <zender@uci.edu>
* Added variable/variable division (which had been overlooked)
* Created ncap_var_stretch() which generalizes var_conform_dim()
by including convolution of variables. ncap_var_stretch() appears
to work as drop in replacement for var_conform_dim().
Convolution is just a stub which does not do anything yet.
Realized that expansion might work by creating arbitrary variable
of convolution size and then separately calling var_conform_dim()
with that as var and both vars as wgt.
* First build of ncap on LINUXALPHA architecture
2001-12-31 Charlie Zender <zender@uci.edu>
* More ncap.* cleanup. Alter some variable names to conform to
rest of NCO.
2001-12-29 Charlie Zender <zender@uci.edu>
* Succeeded in building ncap on 64 bit machines: SGI, Alpha, Sun
All of these machines have bison installed
Some of these builds require building getopt.o separately
Build fails on IBM because yacc does not understand pure_parser
2001-12-28 Charlie Zender <zender@uci.edu>
* More CEWI initializations
* Changed copyright to 2002
* Remove C++ comment characters that crept into various routines
Using // comments causes default to compilation to break on many
architectures (Linux being an exception)
* cvs tag -c nco-2_1_1
Changes since nco-2_1_0: ncap uses @ for attributes
Mixed rank handling improved but still broken
* Fix '@' handling for global attributes
* Make handling of attribute indicator @ consistent in warnings
* ncap.l: cast void to ptr_aed->type not undefined type
* Begin clean up of ncap code, eliminate compiler warnings
2001-12-11 Henry Butowsky <henryb@ntlworld.com>
* Changed ncap.l so attributes now use the @ symbol rather than :
i.e var_nm@att_nm rather than var_nm:att_nm
* Changed ncap.y So that 1-D variables can be saved in an attribute
* Attempted to fix the rank problem. Added ncap_var_conform_dim() to
ncap_utl.c, Its not working correctly at the mo.
* Added att_lst_max to ncap.c
* Updated ncap.in
2001-12-02 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-2_1_0
Changes since nco-2_0_3: ncrename interactive query limiter
ncap extravaganza
* Move Henry's tests into ncap.in script
* Allow global:att_nm to signify global attributes in ncap
* Removed file query cruft from ncrename and added maximum
response count short circuit mechanism to prevent batch jobs
from going bonkers when -O not specified and output file exists
* Added hybrid coordinate info to in.cdl
2001-11-10 Charlie Zender <zender@uci.edu>
* Added three_dim_var_crd to check COORDS storage convention ordering
2001-10-30 Charlie Zender <zender@uci.edu>
* Fixed getopt dependencies and included nco_netcdf.h nco.h in
ncap stuff
2001-10-28 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-2_0_3
Changes since nco-2_0_2: ncks bugfixes for units printing,
and version information
* Use NC_REC_DMN_UNDEFINED instead of -1 where appropriate
* Fix argument list to nco_inq_varid() call in ncap
* Fix netCDF3 migration bug that could cause core dumps because
non-coordinate dimensions where being interpreted as coordinate
dimensions in ncks due to changed nature of nc_inq_varid returns
2001-10-15 Charlie Zender <zender@uci.edu>
* Added VERSION infrastructure for recording build information in executable
* Check rcd before Exit_Gracefully() in main() routines so
rcd does not generate "set but not used warnings"
2001-10-07 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-2_0_2
Changes since nco-2_0_1: No user-visible changes
All changes are in netCDF3 compliant function semantics
for the nco_netcdf wrappers. Altered many routines to call
information-specific versions of inquire functions where
possible.
* Verified nco-2_0_2 passes test suite
* nco_typ_sng(): NC_CHAR is unsigned char, moved nco_typ_sng(),
c_type_nm(), fortran_typ_nm() to nco_netcdf library so that
library may take advantage of these routines in printing useful
diagnostics, yet still be independent of the rest of NCO.
* Attempted to replace netCDF2-style use of -1 return codes
by rcd and comparison to NC_NOERR everywhere. This is not exactly
straightforward because there are many valid reasons to have
literal constant -1 in the code. I think I did this correctly.
However the use of -1, instead of NC_GLOBAL, for global attributes
and, for ncatted, to indicate that attribute changes should apply
to all variables, should be changed to NC_GLOBAL so code is more clear.
* Change functions to implement netCDF 3.X interface
Meaning pass answer holder as pointer and pass back return code
nco_open(), nco_create(), nco_inq_[var,dim,att]*()
* ncks.c prn_var_val_lmt(): Handle nco_inq_attid() correctly
2001-10-01 Charlie Zender <zender@uci.edu>
* Build is clean and successful with g++/Linux, xlC/AIX
* Return (int)0 instead of (int)NULL from nco_typ_lng()
* Initialize nc_type variables with new netCDF 3.5 token NC_NAT
This requires building NCO > 2.0.1 with netCDF >= 3.5
This change also permits successful builds with g++ again, which
complained about initializing nc_type with non nc_type enums
* cvs tag -c nco-2_0_1
Changes since nco-2_0_0:
Cleaner separation of netCDF wrappers into nco_netcdf.c,.h
Appearance of error messages slightly changed since prg_nm_get()
no longer invoked by wrappers
* ncap uses nco netCDF3 interface
* Structure nco_netcdf.h as standard library header
* Forbid multiple includes of nco_netcdf.h
* Changed nc.h to nco.h for namespace consistency
* Removed prg_nm_get() from all nco wrappers so wrappers have
no external dependencies
* Changed nc_err_exit() to nco_err_exit()
* Removed superfluous headers from nco_netcdf.c
2001-08-10 Charlie Zender <zender@uci.edu>
* Changed storage location of remotely accessible in.nc to
.../nco/in.nc
* Various Makefile changes for exotic NCAR platforms
* Changed band to bnd in in.cdl
2001-07-25 Charlie Zender <zender@uci.edu>
* TODO: Rearranged TODO list and put ~15 high-priority
items up on the top
2001-05-28 Charlie Zender <zender@uci.edu>
* Added HDF5 interface to nco_create(), using HDF5 preprocessor
token to isolate native HDF code currently
2001-05-07 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-2_0_0
* This netcdf3 branch is now merged into the main trunk.
The netcdf2 branch is now in maintenance mode.
* cvs tag -c nco-1_3_4
2001-04-04 Charlie Zender <zender@uci.edu>
* Changed to using nco_inq_att_flg() in ncar_csm_inq()
2001-03-26 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-1_3_3
* nco_tst.sh runs as expected when compiled with OPTS=D and OPTS=O
on both Linux 32 bit and Irix 64 bit
* Removed make options for NETCDF2_ONLY flag which is no longer
supported with NCO 1.3 branch
* Default build now compiles with -DNO_NETCDF_2 flag and tests
successfully.
* Replaced nclong with nco_long = long.
There's no need to remove nco_long just yet until a long term
strategy for dealing with long, size_t, int issues is decided
upon. netCDF 3.x deprecates the whole nclong issue, but it might
be useful to have reminders of where the issue was important,
e.g., in the fortran arithmetic routines.
* Changed in.cdl to use int rather than deprecated long and
removed deprecated "l", "L" suffices to numeric constants
* Added i18n headers to ncra.c and to Makefile with default being
no internationalization. Hooks appear to work fine.
* Changed NC_LONG to NC_INT to adhere closer to standard.
Type NC_LONG is currently synonymous with NC_INT and will continue
to be represented by native type long.
2001-03-07 Charlie Zender <zender@uci.edu>
* Added Makefile option to disable OpenMP support on compilers
that automatically support it: OMP=N
2001-03-06 Henry Butowsky <thin@thin.screaming.net>
* fixed ncdiff problem. There was a conversion error in dmn_dfn
* fixed ncrename problem. There was a typo error
in nco_rename_var ( it was calling itself) This
is the third such error in nco_netcdf.c.
2001-03-02 Charlie Zender <zender@uci.edu>
* Code fails to compile with -DNO_NETCDF_2
* Code compiles but is buggy. This command fails:
ncdiff -O -C -v three_dmn_rec_var in.nc in.nc foo.nc;ncks -H foo.nc
As does
ncdiff -O -C -v PS nco_tst.nc nco_tst.nc foo.nc
* Removed NETCDF2_ONLY code
2001-02-16 Charlie Zender <zender@uci.edu>
* cvs tag -c nco-1_3_2
* After many minor tweaks, made commits and retagged nco-1_2_2
and this is the version that will be merged into 1_3_1 to create
1_3_2
* Tagged changes until today as nco-1_3_1 and will merge with
nco-1_2_2
2001-02-11 Charlie Zender <zender@uci.edu>
* Figured out that texi2dvi --pdf really does work nicely and am
now using it rather than ps2pdf
* Tagged and released nco-1_2_2
2001-01-02 Charlie Zender <zender@uci.edu>
* Clean up some function prototypes, removed crud from nc.h,
implemented extern keyword on all functions
* Changed ncks print formatting of NC_BYTE data (i.e., signed
char) to print as unsigned char data to facilitate printing
HDF4 datasets.
2000-12-29 Charlie Zender <zender@uci.edu>
* Added make NETCDF2=Y to compare netCDF2 behavior with/without
HDF libraries. HDF libraries cause ncwa to fail certain tests
that work fine with Unidata netcdf2 libraries. All other operators
appear fine with HDF libraries.
* Added default statements to switch(type) constructs which
emitted warnings when compiled with -DNETCDF2_ONLY since,
apparently, there are a whole bunch of things besides numeric
types in the old nctype enum and gcc warns about enums that are
not exhaustively considered in switch() statements.
All these default statements can be removed with netCDF3 interface
so perhaps these should be surrounded with #ifdef NETCDF2_ONLY
constructs, but they actually do make sense for netCDF3 as well
so I have implemented a uniform error function, dfl_case_nctype_err(),
to be called by all routines which emit errors only when compiled with
NETCDF2_ONLY.
This makes the behavior easy to modify or remove in the future.
* Fixed echoing of Makefile diagnostics
* Added HDF4 option to Makefile to facilitate compiling with HDF
version of netCDF libraries
2000-11-25 Charlie Zender <zender@uci.edu>
* Added -q ("quiet") switch to ncks to suppress printing of
dimension indices and coordinate values
2000-11-04 Charlie Zender <zender@uci.edu>
* Created netcdf3 branch with tag netcdf3 and additional version
tag nco-1_3. This branch will hold the netcdf3 implmentation while
it is in development. When it is ready it will become the main
trunk of nco.
2000-10-29 Charlie Zender <zender@uci.edu>
* Implemented new @command{}, @env{}, and @acronym{} keywords in
nco.texi
2000-10-26 Charlie Zender <zender@uci.edu>
* Fixed makeinfo problem with nco.texi
2000-10-15 Charlie Zender <zender@uci.edu>
* Implemented Henry's ncrename and nco_tst patches: Former
allows renaming of attribute for a single variable, latter cleans
up nco_tst.sh and allows easier function-specific testing.
2000-10-01 Charlie Zender <zender@uci.edu>
* Cast results of sqrt() to LHS type to eliminate new gcc 2.96
warnings. g++ 2.96 is less forgiving than gcc 2.2
* Fixed some miscast missing values in arithmetic routines for
doubles, shorts, and longs. Odd that I had not noticed these
miscasts before. g++ 2.96 flagged them.
2000-09-21 Charlie Zender <zender@uci.edu>
* Fixed one-line bug where ncwa min,max,ttl cases fell
through to error exit rather than doing nothing with weights
* Adding critical regions about netCDF library calls appeared to
work. ncwa and ncra/ncea now give repeatable, correct answers when
multithreaded. Speedups appear to be about ~30--40% on small
numbers of typical GCM files when using 4 threads. Performance
appears to level out by 4 threads, although more timing is
necessary. For example, ncwa is now spending about 50% on I/O and
50% on computation.
2000-09-20 Charlie Zender <zender@uci.edu>
* Added OpenMP critical regions to var_get() and var_refresh()
* Added OpenMP critical regions around thread-unsafe netCDF
write calls in ncwa and ncra/ncea.
* Finally removed 1995--1996-era SGI enum workarounds from nc.h
SGI compiler on dataproc seems to behave sanely now
* Jim Rosinski and Stacy Walters have both pointed out that netCDF
is not thread-safe. Therefore the OpenMP implementation is bound
to fail until critical locks are added.
2000-09-19 Charlie Zender <zender@uci.edu>
* Added OpenMP pragmas to ncea,ncra,ncrcat. They probably don't
work either.
* Multi-threaded version of ncwa averages variables in T42 file
correctly sometimes, but also incorrectly. Currently unpredictable
what causes discrepancy.
* Removed arg_cnt from ncwa.c. ncwa.c now uses standard
fl_mk_lst() to diagnose incorrect argument counts
2000-09-18 Charlie Zender <zender@uci.edu>
* Got OpenMP compiling but not completely working on ncwa under IRIX
2000-09-17 Charlie Zender <zender@uci.edu>
* Added full OpenMP directives to ncwa. If this works then ncra is next.
2000-09-13 Charlie Zender <zender@uci.edu>
* Contrary to the documentation, ncflint has always processed
coordinate variables. Perhaps fixing coordinate variables is a
better idea? Patched var_lst_divide() to fix all non-record
coordinate variable to ncflint. Not sure if I will release this
though. Perhaps it should be a switch?
* Improved ncflint documentation, including its ability to add files
2000-08-31 Charlie Zender <zender@uci.edu>
* Changed handling of netCDF convetions to search for
"Conventions" attribute rather than "convention" attribute
Not sure why I ever used "convention" in the first place!
This should fix things like gasussian weights being subtracted
2000-08-30 Charlie Zender <zender@uci.edu>
* Updated var_dup(), var_free() to handle scl_fct.vp, add_fst.vp,
srd. That's right, these routines were not handling srd pointer
correctly.
2000-08-29 Charlie Zender <zender@uci.edu>
* Removed tally array from var_avg_reduce_max/min() routines
* Added some clarifications to memory handling in the manual, and
additional examples provoked by John Sheldon's GFDL netCDF
website.
* Integrated ncvarid_or_die() and ncdimid_or_die() into ncrename
2000-08-28 Charlie Zender <zender@uci.edu>
* Tagged nco-1_2_1
* Will all previous changes to nco_malloc(), nco_realloc(), and
memory management in general, make tst now seems to be well
behaved with Electric Fence, and duplicates answers without
Electric Fence.
* Another nco_realloc() tweak to satisfy Electric Fence:
Now realloc() is never called when size == 0
2000-08-27 Charlie Zender <zender@uci.edu>
* Automatic type conversions for arithmetic now work in ncwa,
ncea, ncra. Don't think ncflint would benefit from the capability.
2000-08-26 Charlie Zender <zender@uci.edu>
* Changed meaning and name of typ_prv to typ_dsk in var_sct
* Moved target dat_cln from cln to dst_cln, opposite for lib_cln
* Simplified internals of nco_opr_drv()
* Fixed nco_realloc() so it does not call realloc() when ptr==NULL
and size==0. Allowing a realloc() call in this situation is
ANSI-legal but triggers Electric Fence.
2000-08-25 Charlie Zender <zender@uci.edu>
* Merged Makefile refinements by Ethan Davis to better support
DODS compilations and less redundant building
2000-08-23 Charlie Zender <zender@uci.edu>
* Functionalized type conversion routines nco_cnv_var_dbl() and
nco_cnv_dbl_var()
* Fixed x:y bug in opt arg of ncra.c introduced in 1.2
2000-08-14 Charlie Zender <zender@uci.edu>
* Added this text to the license, provided by Steven G. Johnson
"As a special exception to the terms of the GPL, you are permitted
to link the NCO source code with the NetCDF and HDF libraries
and distribute the resulting executables under the terms of the GPL,
but in addition obeying the extra stipulations of the netCDF and
HDF library licenses."
This is intended to allow NCO to link to the non-GPL licenses of
netCDF and HDF and avoid the "KDE problem". Apparently binaries
are considered derived works of any libraries they are statically
linked to, i.e., netCDF and/or HDF. This means both licenses must
be obeyed, but that is impossible because no license except the
GPL is compatible with the GPL. So we the developers of NCO must
explicitly grant permission to all users to redistribute NCO under
both licenses.
2000-08-03 Charlie Zender <zender@uci.edu>
* Tagged nco-1_2
* Altered homepage
* Added PDF version of manual
2000-07-31 Charlie Zender <zender@uci.edu>
* Added mathematical definitions of all new operations to manual
* Rearranged order of operations in ncwa so that non-linear
operations may employ weighting correctly. Weighting is not
well-defined for some operations (rmssdn) but I did my best.
2000-07-28 Charlie Zender <zender@uci.edu>
* Applied final min/max/ttl patch so min/max/ttl capabilities
should now work as expected on ncwa,ncea,ncra
2000-07-16 Charlie Zender <zender@uci.edu>
* Added ncwa min/max/ttl patch
2000-07-09 Charlie Zender <zender@uci.edu>
* Added section on Contributing/contributors to nco.texi
* Fixed case when missing value is first in min and max operators
* Added min, max, ttl cases to nco_tst.sh
* Added temporary variable to all low-level arithmetic routines
(e.g., var_add()) to store missing value in order to reduce
dereferencing of pointers to missing values. This may result in
measurable speedups for all arithmetic operators.
2000-07-08 Charlie Zender <zender@uci.edu>
* Applied minmaxttl03 patch
2000-07-02 Charlie Zender <zender@uci.edu>
* Added nco_op_typ to SGI enum section of nc.h
* Update nco/doc/nco_src_frg.txt to include release instructions
* Released nco-1.1.48.tar.gz on sourceforge
* Switched all memory management to nco_malloc(), nco_realloc()
* Implemented min/max/ttl patch (min and ttl not working yet)
2000-06-20 Charlie Zender <zender@uci.edu>
* Implemented Schweitzer's 'make DODS=Y' patch in Makefile
Only works on Linux as configured but that's a start
* Added ncvarid_or_die() to replace simple ncvarid() on calls
where failure to find variable is an error and a dianostic of
which variable is missing would be nice.
2000-06-05 Charlie Zender <zender@uci.edu>
* Changed ~/nc/nco paths to ~/nco
2000-06-02 Charlie Zender <zender@uci.edu>
* Added explicity coercion to all lines which generated assignment
errors under g++ C++ compiler. This might affect speed of
conversions to long, short, char, and byte types from double and
float types. These conversions are rare and considered unimportant
so any performance penalty is acceptable.
* Small changes to make code compile cleanly with g++ C++ compiler
* Changed fl_mk_lcl() to try scp instead of rcp. scp should fall
through to rcp is sshd is not running on remote machine.
* Add Schweitzer's HTTP patch for DODS compatibility to
fl_mk_lcl(). Will probably alter implementation in the future so
fl_mk_lcl() works without netcdf library as before. NCO should now
be DODS compliant when linked to DODS libraries. This allows
reading, but not writing, of remote files using HTTP protocol.
* Tagged nco1_1_49 as clean new version to start work from
sourceforge without any overlaps with 1_1_48
* Had to re-tag nco1_1_48 because sourceforge CVS repository was
slightly out of sync with CGD repository
* Moved CVS repository to sourceforge
2000-05-16 Charlie Zender <zender@uci.edu>
* Tagged this as nco1_1_48
* Found and fixed ncdiff bug in TODO #155.
Bug had been inserted in ncdiff 1.5 (nco-1.1.15, November 1998)
when I switched from using dimension IDs to using dimension names
to identify and compare dimensions in var_conform_dim(). Problem
was that there are two locations in var_conform_dim() where this
needed to be done and I only changed the first location. Then I
turned off dimension remapping code in ncdiff which used to take
care of the problem. Fortunately I had left that code commented
out in ncdiff() so I was able to check that turning it back on
solves the problem. Now I have removed old commented-out block
from ncdiff (because it was confusing) and all logic is now local
to var_conform_dim(). This fix increases the number of strstr()
comparisons of dimension names because names must now be compared
twice in var_conform_dim() for each variable being expanded.
Oh well.
2000-05-12 Charlie Zender <zender@uci.edu>
* Fixed bug in -d dmn,,,srd case where lmt.end was incorrect
2000-05-10 Charlie Zender <zender@uci.edu>
* Finished testing of feature allowing skipping of initial files
when lmt_typ = dim_idx. Seems to work. Now dim_idx and crd_val
hyperslabs may have arbitrary numbers of superfluous files at
beginning and end.
* Added rec_skp_nsh member to lmt structure to support keeping
track of records skipped in superfluous initial files for lmt_typ
= dim_idx on multi-file operators
2000-05-09 Charlie Zender <zender@uci.edu>
* Altered behavior of single point hyperslabs so that single point
hyperslabs in the record coordinate (i.e., -d time,1.0,1.0) may be
treated differently than single point hyperslabs in other
coordinates. Multifile operators will skip files if single point
hyperslabs in record coordinate lays outside record coordinate
range of file. For non-record coordinates (and for all operators
besides ncra and ncrcat on record coordinates), single point
hyperslabs will choose the closest value rather than skip the file
(I believe). This should be verified.
* Switched NCO from atof(), atol() to strtod(), strtol()
* Added ability to skip superfluous trailing files to lmt_evl()
when limits are coordinate values. Needs testing but appears to
work. Had to use a goto statement, icky. Fixes TODO #157?
2000-05-04 Charlie Zender <zender@uci.edu>
* More fixes to fix problems with Electric Fence
2000-04-18 Charlie Zender <zender@uci.edu>
* Added ncra ncea to RPM
2000-03-22 Charlie Zender <zender@uci.edu>
* Added code to prevent malloc'ing 0 bytes because, although it
is perfectly legal, Electric Fence complains
2000-03-06 Charlie Zender <zender@uci.edu>
* Added target rpmnet to Makefile. Usage is
sudo make NCO_VRS=1.1.46 rpmnet
This downloads specified NCO version, builds RPMs from it, and
uploads the RPMs back to NCO FTP site
2000-03-01 Charlie Zender <zender@uci.edu>
* Added nco.spec to bld directory
* Adding rpm target to Makefile
2000-01-27 Charlie Zender <zender@uci.edu>
* Tagged this as nco-1_1_45
* Fix to PID length bug in fl_out_open() on SGIs
Now use dynamically allocated string to hold PID
Kudos to Juliana Rew for finding this bug
2000-01-16 Charlie Zender <zender@uci.edu>
* Changed all addresses except website to UCI ESS
* Changed license to GNU GPL (!)
2000-01-14 Charlie Zender <zender@uci.edu>
* Calling ncwa without arguments now causes operator to print
usage and exit successfully
* Print error message and hint when ncwa called with -a dim1 -a
dim2 instead of -a dim1,dim2
2000-01-10 Charlie Zender <zender@z.ppp.uci.edu>
* ncks now puts string values inside double quotes, character
values inside single quotes, other slight formatting changes too
1999-12-26 Charlie Zender <zender@dust.ps.uci.edu>
* Tagged this as nco1_1_44
* Documented record coordinate-stride capability for ncra, ncrcat
in nco.texi examples and command-line usage routines
* Added support for printing all character arrays as strings in ncks
1999-12-14 Charlie Zender <zender@dust.ps.uci.edu>
* Tagged this as nco1_1_43
* Merged all SGI builds (SGI5,SGI64,SGIMP64) into single makefile block
* Added support for C-language escape sequences to ncatted
Moved all this code from ncks to new sng_ascii_trn() function
1999-12-06 Charlie Zender <zender@dust.ps.uci.edu>
* Tagged this as nco1_1_42
* Fixed so that consecutive delimiter strings work,
e.g., ncatted -O -a history,global,o,c,"hi,,,hi" in.nc
1999-12-04 Charlie Zender <zender@dust.ps.uci.edu>
* Fixed bug where ncatted neglected string values after first
comma, e.g., would drop ", NCAR" from test attribute in
ncatted -O -h -a test,global,o,c,"NREL, NCAR" in.nc
because the new attribute value followed the comma delimiter used
internally by ncatted to delimit list elements
* Fixed so that setting strings to zero length with ncatted works,
e.g., ncatted -O -a history,global,o,c,"" in.nc
* Fixed attribute printing of lists in ncks: terminal delimiter is
no longer appended
1999-11-02 Charlie Zender <zender@dust.ps.uci.edu>
* Fixed some problems with AIX build environment, switched to
-DAIX on the IBM SP cluster environment
1999-10-21 Charlie Zender <zender@dust.ps.uci.edu>
* Defined MY_BLD_DIR in Makefile before it is used
Re-tagged this as nco1_1_41
1999-10-17 Charlie Zender <zender@dust.ps.uci.edu>
* Tagged this as nco1_1_41
* Added dir to targets which do not rebuild *.d dependencies
Doing this and installing latest make-3.78.1 fixes build on dataproc
1999-10-15 Charlie Zender <zender@dust.ps.uci.edu>
* Tagged this as nco1_1_40
* Added two more ncwa test cases to nco_tst.sh
* Fixed another bug in ncwa reported by Keith Lindsay.
The denominator in normalized averages did not always account for
missing values in the variable being averaged. This bug may have
been introduced sometime during ncwa rewrites around 19981201.
I'm sure it has not always been there.
1999-10-03 Charlie Zender <zender@dust.ps.uci.edu>
* Tagged this as nco1_1_39
* Added test target in bld/Makefile. Now `make test' automatically
downloads a small (66 kb) file on which it performs a small
battery of tests (bld/nco_tst.sh).
* Revamped build procedure to use GNU make dependencies rather
than makdep perl script.
* All *.c files now build cleanly with gcc -Wall
* Fixed Makefile bug where Fortran routines were compiled when
they were not needed and visa versa
* Moved NETCDF_INC and NETCDF_LIB out of architecture specific
portions of Makefile
1999-08-31 Charlie Zender <zender@dust.acd.ucar.edu>
* Tagged this as nco1_1_38
* ncwa now averages over all dimensions when none are specified
with -a
* Patched avg_reduce...() to fix set averages equal to zero when
tally is zero. This fixes Keith's problem.
* Added ncwa test #12 to nco_tst.sh. This tests for a bug
reported by Keith Lindsay where ncwa averaged a variable which is
completely missing_value to a value of 0.0 rather than
missing_value.
* Removed C_ONLY token and made builds completely C-based by
default. Introduced new token USE_FORTRAN_ARITHMETIC to build
old style NCO with fortran arithmetic routines. Seems to work
fine. Translated Fortran date routines newdate() and days2eom() to
C as part of this.
1999-08-04 Charlie Zender <zender@dust.acd.ucar.edu>
* Tagged this as nco1_1_37
* Implemented first attempt to use msrcp, seems to work
* Tagged this as nco1_1_36
* Improved patch to fl_mk_lcl() so it "does the right thing"
when determining whether to try to rcp files
1999-08-03 Charlie Zender <zender@dust.acd.ucar.edu>
* Patched fl_mk_lcl() to exit gracefully on filenames with
multiple colons (which are legal in UNIX). Files with single
colons in their names, as opposed to rcp requests, still cause
core dumps and will continue to do so until I write a routine
which determines whether to treat the filename as an rcp
request based on some sort of valid hostname recognition
algorithm.
1999-07-29 Charlie Zender <zender@dust.acd.ucar.edu>
* Tagged this as nco1_1_35
* Changed WARNING message to print in ncra only when insufficient
records have been found and last file has been processed
1999-07-03 Charlie Zender <zender@z.ppp.ucar.edu>
* Tagged this as nco1_1_34
* Altered ncatted behavior to replace missing data values with new
missing_value when missing_value attribute changes
1999-05-12 Charlie Zender <zender@z.ppp.ucar.edu>
* Tagged this as nco1_1_33
* Using the new lmt_evl() dim_idx code for operators besides ncra
and ncrcat, e.g. ncks, causes problems with wrapped and wrapped
stride limits. One line fix to lmt_evl() restored old lmt_evl()
dim_idx code to all operators except ncra and ncrcat. The new
lmt_evl() code simply will not (and should not) handle wrapped
coordinates for the record dimension in multi-file operators.
1999-05-11 Charlie Zender <zender@z.ppp.ucar.edu>
* Tagged this as nco1_1_31
* Fixed ncks problem caused by not initializing all boolean flags
of lmt structures in lmt_prs(). Changed lim to lmt.
* Tagged this as nco1_1_30
* Tentatively fixed record hyperslab problems introduced in 1_1_29
by extensively generalizing and rewriting lim_evl()
* Clarified in User's Guide that default behavior of stride is
that -d time,,,srd is syntactically equivalent to -d time,0,,srd
* Realized new record dimension features of nco1_1_29 were buggy
when min and max limits were not both user-specified because then
total number of records cannot be not known a priori
1999-05-10 Charlie Zender <zender@z.ppp.ucar.edu>
* Tagged this as nco1_1_29
* Cleaned up files for a clean compile with gcc -Wall
1999-05-09 Charlie Zender <zender@z.ppp.ucar.edu>
* Toggled behavior of `ncks -a' so that default is now to
alphabetize output
* Fixed error (missing comma) in stride documentation in User's Guide
* Implemented stride for the record dimension in ncra and ncrcat,
e.g., ncra -d time,1,100,12 in1.nc in2.nc ... out.nc should now
work correctly across files. Currently stride only works on the
record dimension of ncra and ncrcat, however, not the rest of
the dimensions.
* Implemented index-based hyperslabbing across files in the record
dimension in the multi-file operators ncra and ncrcat, e.g.,
ncra -d time,1,100 in1.nc in2.nc ... out.nc. The User's Guide said
this feature had already been implemented, but that, apparently,
was not true. The symptom was an "index out of range error" from
netCDF.
1999-04-27 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Tagged and released this as nco1_1_28
* Isolated build procedure in nco_dst.pl with --bld option, off by
default
* Added --dat_cnt to nco_dst.pl to support dataproc.ucar.edu
* Added SGIMP64 architecture to Makefile to support
dataproc.ucar.edu. Default netCDF lib is r4i4 rather than r4i8 as
on winterpark so I am avoiding the whole issue by using C_ONLY
defaults and spoofing SGI64. nco_tst.sh executed without errors.
1999-04-20 Charlie Zender <zender@flagstaff.cgd.ucar.edu>
* Tagged and released this as nco1_1_26
* Fixed so arguments to log10() are reasonable
* Tagged and released this as nco1_1_25
* New version requires -lm for log() and ceil() functions
Added -lm to Makefile for some architecture which were missing it
* Tagged and released this as nco1_1_24
* Fixed bug where ncrcat and ncra omitted the last slice of the
record dimension when -F (Fortran indexing) was user-specified AND
user-specified hyperslab information was provided for some
dimensions BUT not for the record dimension. This bug only
affected ncrcat and ncra and only under these conditions. Thanks
to John Sheldon <jps@server1.gfdl.gov> for pointing this out.
1999-04-04 Charlie Zender <zender@z.ppp.ucar.edu>
* Tagged and released this as nco1_1_22
* Added -a switch to ncks for alphabetizing the output list.
Added index_alpha() and changed lst_heapsort() to accept an
boolean switch argument to accomplish this.
1999-02-25 Charlie Zender <zender@z.ppp.ucar.edu>
* Added partial diagnostic message and workaround for TODO #116
1999-01-29 Charlie Zender <zender@z.ppp.ucar.edu>
* Added nco_dst.pl to distribution
* Changed ALPHA makefile to support native compilers (untested)
* Added NETCDF2_ONLY option to circumvent ncdiff nc_inq_vartype()
call.
1999-01-24 Charlie Zender <zender@z.ppp.ucar.edu>
* Moved index.shtml to NCO doc directory
Thu Jan 21 15:23:02 1999 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Tagged and released this as nco1_1_20
* Updated various portions of User's Guide
* Added NETCDF2_ONLY token to eliminate nc_inq_libvers() call
1999-01-13 Charlie Zender <zender@garcia.acd.ucar.edu>
* Fixed bug in var_def() where wrong branch was executed when
called by ncwa for files with no output dimensions. Symptom was a
core dump or "ncvardef: ncid 4: Invalid dimension id or name"
error.
Wed Jan 6 17:55:26 1999 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Tagged and released this as nco1_1_18
* Added kludge to ncwa to workaround bug in var_conform_dim()
where var_conform_dim() sometimes allows the returned weight
not to have same size tally array as the template variable. This
caused core dumps in ncwa.
Fri Dec 4 15:06:23 1998 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Tagged and released this as nco1_1_16
* Added new logic switch DO_CONFORM to var_conform_dim() to allow
ncwa to tell when to mask variables. Reran test cases, everything
seems to be working. Documentation seems up-to-date.
1998-12-03 Charlie Zender <zender@z.ppp.ucar.edu>
* Tagged and released this as nco1_1_15
* Disabled ncwa -n and -W normalization options until I think of
better way to implement them. -N option now causes ncwa not to
divide by the denominator. Disabled -n and -W tests in nco_tst.sh
(tests #2 and #3).
1998-12-02 Charlie Zender <zender@z.ppp.ucar.edu>
* Changed ncwa to default to weighting coordinates just like
variables, i.e., toggle default value of -I switch
* Added more exhaustive ncwa tests to nco_tst.sh
* Rewrote ncwa section of User's Guide
1998-12-01 Charlie Zender <zender@z.ppp.ucar.edu>
* Made sure ncwa weights were being masked when normalization was
invoked. Formerly, they were not. This was a bug. The bug is now
fixed.
* Rearranged normalization logic of ncwa
* Removed special treatment of "gw" from ncwa
1998-11-25 Charlie Zender <zender@z.ppp.ucar.edu>
* Allow hyperslab coordinate specification in exponential format
even when decimal point is missing, e.g., "-d lon,36e1" is valid
* var_conform_dim() now checks dimension names rather than IDs
Mon Nov 23 17:29:02 1998 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Added -I switch to ncwa to enable weighting and masking of
coordinates. Rewrote var_conform_dim() to allow mutually exclusive
dimensions in ncwa.
1998-11-01 Charlie Zender <zender@z.ppp.ucar.edu>
* Added wrapped coordinate caveats to hyperslabe section of
manual, and implemented warning message whenever wrapped
coordinates are used.
Sat Oct 31 14:56:33 1998 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Tagged and released this as version nco1_1_10
1998-10-29 Charlie Zender <zender@z.ppp.ucar.edu>
* Fixed bug in ncra which only occured when NC_CHAR and NC_BYTE
types also had a record dimension. var_lst_divide() decided these
should be fixed variables, thus the output file size included the
record dimension. The timecom variable in LSM history files was
triggering this bug. Solution was to make ncra, like ncrcat,
simply process ALL record variable even NC_CHAR and NC_BYTE,
though the averaging operation on these types is still
ill-defined.
Wed Aug 26 16:30:27 1998 Charlie Zender <zender@odin.cgd.ucar.edu>
* Fixed bld/nco_tst.sh to work again at NCAR. `make test' now
performs non-trivial tests of ncwa and ncdiff. Only works at
NCAR (a necessary input file is rather large).
Wed Aug 19 11:26:25 1998 Charlie Zender <zender@odin.cgd.ucar.edu>
* Fixed bug where pvmgetarch returned "SGI" on UNICOS 10.0.0.
* Improved Makefile fortran switches and added convenience
housekeeping targets.
* Fixed bug where cvs_vrs_prs() crashed with -kkv exports
1998-08-18 Charlie Zender <zender@z.ppp.ucar.edu>
* Added nco_vrs_prs() to parse NCO versions. NCO version is now
always printed with -r option.
* Fixed bug where -n NINTAP list did not recognize `.cdf'
suffixes.
Mon Aug 10 21:53:34 1998 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Split ncks -m option into -m and -M so now global metadata can
be avoided if desired.
* Fixed bug in ncrename where fl_in could be free()'d before it
was malloc()'d in fl_nm_prs().
* Fixed bug in ncdiff where variables of same rank but different
types would cause core dump when being subtracted. Improved
diagnostics for failures with ncdiff.
1998-07-07 Charlie Zender <zender@z.ppp.ucar.edu>
* Added -h option (suppresses history concatentation) to all
operators. Changed existing ncks -h option to -m (for metadata).
Sun Jun 7 17:45:20 1998 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Added more descriptive error diagnostics to ncvarid() calls
to var_lst_mk() ncks to report the names of user-specified
variables which do not exist in input files.
1998-05-16 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Improved nc_lib_vers_prn()
1998-05-08 Charlie Zender <zender@sanitas-e0.cgd.ucar.edu>
* Added improved error diagnostics to ncks when -A fails.
Added improved error diagnostics to fl_out_close() and fl_mv().
-r now prints library version for all operators.
-r and usg_prn() now prints NCO homepage URL.
Wed Mar 11 11:16:39 1998 Charlie Zender <zender@odin.cgd.ucar.edu>
* Removed warning message for processed text fields in ncecat.
Mon Mar 2 22:00:59 1998 Charlie Zender <zender@odin.cgd.ucar.edu>
* Added nc_inq_libvers() call to ncwa to diagnose SGI
problems. This is the first netCDF 3.x call in NCO. There's no
stopping the avalanche now, so user's must install netCDF3.x
Mon Feb 9 09:50:26 1998 Charlie Zender <zender@odin.cgd.ucar.edu>
* Merged all three ncwa loops that access output and tally buffers
so that these buffers can be allocated and deleted inside the main
loop over variables. This reduces peak memory consumption by a
factor of three and sustained memory by a factor of two to three.
ncwa performance should be noticeably enhanced by this. This
problem affected, and this fix improves, only the ncwa operator.
Sun Feb 8 21:50:32 1998 Charlie Zender <zender@odin.cgd.ucar.edu>
* Downloaded and altered pvmgetarch from pvm3.4b6. This version
was returning SGI instead of CRAY on Ouray (=Cray J90 Unicos
10.0.0) because pvmgetarch thinks machines with /bin/4D are SGI.
Distributing this customized version of pvmgetarch with NCO.
Also changed new pvmgetarch so it returns SUNMP on any Sun
multiprocessor, regardless of whether PVM_SHMEM is set to ON.
Mon Jan 19 13:13:08 1998 Charlie Zender <zender@odin.cgd.ucar.edu>
* Added HTML keywords and section on large numbers of files to the
NCO User's Guide.
* Eliminated compiler warnings caused by type--format mismatches
from all source code. Should now compile without warnings on SGI.
* Removed -ansi switch from Linux CFLAGS in order to support
glibc2. glibc2 considers resolv.h non ANSI so that using the -ansi
swithc results in unresolved tokens in system #include files.
Tue Dec 2 21:35:19 1997 Charlie Zender <zender@odin.cgd.ucar.edu>
* Added fl_nm_nbr_max and fl_nm_nbr_min as optional arguments 4
and 5, respectively, to the -n switch on the multi-file
operators. This allows the NINTAP automatic filename generation
feature to handle input sets of cyclic filenames whose suffixes
grow to fl_nm_nbr_max and then wrap back to fl_nm_nbr_min.
Now, e.g., DJF files may be specified with -n 3,2,1,12,1.
Fri Nov 14 14:20:23 1997 Charlie Zender <zender@odin.cgd.ucar.edu>
* Added additional diagnostics concerning record dimensions to
ncra and ncrcat. ncra and ncrcat now exit when called to operate
on files without record dimensions.
* Made ncar_csm_date() more fault tolerant for files which do not
adhere to de facto atmospheric model time conventions involving
date, time, nbdate.
1997-11-04 Charlie Zender <zender@z.ppp.ucar.edu>
* Added error diagnostics for large malloc()'s in ncwa and var_dup
in nc_utl.c. These should aid in identifying causes for core dumps
when running with extremely large files or insufficient memory.
Fri Oct 17 12:53:54 1997 Charlie Zender <zender@odin.cgd.ucar.edu>
* Deprecated checking for "gw" for NCAR CSM conformance and
replaced it with comparing global attribute "convention"'s value
to "NCAR-CSM". Fixed up ncar_csm_date accordingly and rewrote
warning messages.
* Improved usg_prn for ncatted.
1997-10-12 Charlie Zender <zender@z.ppp.ucar.edu>
* Fixed fl_out_open() to abort after receiving more than 10
incorrect user responses. This fixes a bug where NCO would
crash in non-interactive shells when the -O or -A options were
omitted.
1997-10-07 Charlie Zender <zender@z.ppp.ucar.edu>
* Finished ncatted documentation. Cleaned up code to avoid
compilation errors with SGI on memcpy(). Touched up manual.
Releasing this as NCO Version 1.1.
Sun Sep 21 15:08:49 1997 Charlie Zender <zender@z.ppp.ucar.edu>
* Merged WIN32 modifications into distribution. Added WIN32 and
C_ONLY tokens to code. Relinked with netCDF 3.3.1, had no
problems.
Tue Sep 16 23:53:44 1997 Charlie Zender <zender@z.ppp.ucar.edu>
* Wrote ncatted.
* Fixed ncks to omit trailing commas after printing scalar
attribute values.
Thu Aug 28 17:07:50 1997 Charlie Zender <zender@heinlein.cgd.ucar.edu>
* Rewrote ncdiff documention, which had many errors and
omissions.
Sat Jun 28 23:26:40 1997 Charlie Zender <zender@z.ppp.ucar.edu>
* Fixed bug in cpy_var_val_lim() in ncks.c which caused core dumps
when hyperslabbing on multiple coordinates where at least one of
the coordinates was wrapped.
Tue Jun 17 14:15:53 1997 Charlie Zender <zender@heinlein.cgd.ucar.edu>
* Changed Makefile compile rules for f90 on CRAY to explicitly
preprocess *.F files. This had stopped working, perhaps when I
switched CRAY default from f77 to f90.
Fri May 30 13:12:25 1997 Charlie Zender <zender@heinlein.cgd.ucar.edu>
* Improved mss_val_get to allow any NC_TYPE for missing_value
attribute. This was needed for ARM files which store missing_value
as an NCCHAR. Converting NCCHAR to short, long, float, or double
now uses strdod() instead of implicit type conversion.
* Added routines to process time variables in ARM files.
* Added hyam,hybm,hyai,hybi to list of variables which will not
be differenced by ncdiff.
* ncdiff now chooses mss_val from either file where it's valid,
and from fl_1 when it's valid in both. This fixed the last known
bug in NCO.
Tue May 27 00:08:23 1997 Charlie Zender <zender@z.ppp.ucar.edu>
* Moved var_refresh() out of inner loop to file loop level in
ncra.c. This should speed things up a little because var_refresh()
can be an expensive call since it calls mss_val_get().
* Altered mss_val_get to accomodate missing_value attributes whose
type did not match their variable's type. Also made allowance for
missing_value's of type NC_CHAR, as in ARM data files. Added three
routines, arm_inq(), arm_time_mk(), and arm_time_install(), which
implemente the ARM convention time=base_time+time_offset
convention in ncrcat.
Fri May 16 16:28:02 1997 Charlie Zender <zender@heinlein.cgd.ucar.edu>
* Fixed bug in srt vector in ncdiff. Now ncdiff should be working
with hyperslabs.
Mon May 5 17:55:00 1997 Charlie Zender <zender@heinlein.cgd.ucar.edu>
* Implemented nclong fix for SGI64. This involved very slight
changes: made defs.h:ptr_unn->lp point to nclong rather than long
cast_void_nctype():ptr->lp evaluates to (nclong *).
Sun Mar 30 15:26:10 1997 Charlie Zender <zender@z.ppp.ucar.edu>
* added and removed some return() statements to nc_utl.c to stop
compiler warnings from SGI cc.
* fixed small memory leak and bug in var_srt_zero() where var->srt
was being allocated twice, and the xrf sct was pointing to the
copy that had not been zeroed.
Thu Mar 27 15:13:18 1997 Charlie Zender <zender@z.ppp.ucar.edu>
* Removed ncap from target all in Makefile
* Added section describing differences between ncra, ncea, ncrcat,
and ncecat to nco.texi.
* Fixed memory leak in ncecat in which memory never seemed
to be deallocated until the end of the file loop.
Wed Mar 26 21:13:09 1997 Charlie Zender <zender@z.ppp.ucar.edu>
* Added nco.ps, nco.dvi, nco.html, texi2html, texi2dvi to
distribution
* Changed ncks -s option to accept full printf() style format
strings
* Fixed memory leak in var_get() in nc_utl.c which caused memory
to be allocated twice. This also fixed longstanding performance
problem where ncrcat() allocated memory for entire array not just
current record. Thanks to jps@GFDL.GOV (John Sheldon) for
discovering this bug.
* General release of nco-0.9 on netCDF and CCM mailing lists
Thu Feb 8 23:01:04 MST 1996 Charlie Zender <zender@ncar.ucar.edu>
* First internal CGD release of operator set known as ncz-0.9
|