This diskette holds the files which make up the FREEFORM TUTORIAL. ********************************************* USING THE TUTORIAL DISKETTE and DOCUMENT ********************************************* To install: 1) Create a directory 2) cd to the new directory 3) copy *.* from the directory containing the tutorial diskette into the new directory To follow the tutorial document: 1) Begin with "Creating a Binary Archive" 2) The commands in command boxes can be entered at the keyboard ********************************************* GENERAL PROBLEMS AND THEIR FIXES ********************************************* Various problems have been reported due to the placement of non-printing characters (like ^Z) into files. This problem has been noted by users of EDIX KEDIT (Problems can be avoided by set end_of_char(?) to OFF If you have problems please check to make sure the files you have are the same length as those listed in the file named files. 1) The first record changes formats corectly, but others do not. The problem is that you have not described the last variable in the format. FREEFORM needs a way to find out how long a record is in the files it is reading, both ASCII and binary. It does this by finding the variable with the largest end position and assumes that this variable is at the end of the record. If this assumption is not true, FREEFORM gets lost after the first record. 2) Make sure your file lengths are correct. For ASCII files on DOS machines the length should be: number of records * (record length + 2) because the DOS EOL is 2 characters. For ASCII files on UNIX machines or MACS the length should be: number of records * (record length + 1) For binary files on any machines the length should be: number of records * record length Pre-Release versions: During the development phase of FREEFORM we have had versions of newform available in anonymous/pub/FREEFORM on luna. These pre-release versions included Dopey, Sleepy, Bashful, Grumpy, Sneezy, Doc and Happy. A summary of improvements made during this time include: Improved variable list processing: 33% increase in speed! Able to read files with non printable characters at the beginning of lines. Tested binary to ASCII conversions more completely If you are writing an ASCII file from a binary file with a header the header will be included in the ASCII file. Added some checks to find file lengths that do not match the record lengths. Check for variable record lengths in the input file. Headers no longer come out on ASCII outputs from binary files with headers. Some conversions added for latitude, longitude signs and earthquake magnitudes. Grumpy runs under UNIX on a SUN SPARCII!! If an attempt to write a number which is too large for an ASCII variable is made, the field is filled with *'s. Conversions from ASCII to binary are checked for overflow and an ERROR occurs if such an overflow is detected. This means that you attempted to write an ASCII number which was TOO BIG for its binary format description. The type of the binary variable needs to be changed to make it larger. Release version 2.1 This version includes all of the above improvements and is being used extensively by data managers at the Data Center. Release version 2.2 Included testting of data files with record headers and some number of data records following. The number of data records can be described either in the record headers with a variable "count" or in a .eqv file. Degree/minute/second conversions were changed to allow minutes or seconds to be signed if the value was between -1 and 0. ********************************************* DIRECTORY CONTENTS USED BY FREEFORM TUTORIAL ********************************************* Executables: AFM2BFM EXE CHECKVAR EXE FILLHEAD EXE GETHEAD EXE GETLL EXE GETLLSYM EXE NEWFORM EXE READFILE EXE DIFF COM Files used in the tutorial: CALIF TAP DEGABSM AFM DEGMGEOG AFM D_M AFM D_M_S AFM EQTAPE AFM GETLL C GETLLSYM C HYPO71 AFM HYPOE AFM HYPOI AFM LATLON AFM LATLON BFM LATLON DAT LATLON FMT LATLON1 LL LATLON2 LL LATLON3 LL LATLON4 LL LATLON5 LL LATLON_D BFM LL FMT LLMAXMIN DAT LLMAXMIN FMT MDY AFM MDY DAT NODC DAB NODC FMT NODCHEAD AFM SERIAL BFM SERIAL BFM TIME AFM TIME DAT USGS DAT USGS FMT YYMMDD AFM