⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes

📁 seed格式数据解压程序,地震分析人员必备
💻
字号:
13 apr 90	bugfix	mwthe command: output xxx yyy 4096 32768 0,30 0,1failed with a msg, create_T: nlvol not zero. This meanta mismatch between the timespan count and the number intthe linked list. The cause turned out to be a bad addressin output_tspan, in the code which checked how many T typelogical records to output. It output them all in the first tspan.Also, there was an internal assumption that the end timespanwould be start tspan + ntspan*tspan_break. This is not trueif there are holes in the request (as there were). See thecomments in create_T.c and create_V.c about this. They nowsearch for a  start/end tspan which brackets the start timeof the next data to be accepted (in the lvol linked list).** This may not be the way that IRIS will always want to do it **Probably the tspan_list structure should be amended to containthe start and end times within each node - it would make all ofthis much more simple, but it needs a bit more checking to implement.struct tspan_list{	int					count;	int					seqno;	struct	input_time	start;	/* start time for this tspan */	struct	input_time	end;	/* this too just in case tspans are not all								 * the same size ?? */	struct	lvol		*start;	struct	tspan_list	*next;};usage.c was updated to note that output disk files are *appended*to, which might be unexpected behavior. Rdseed will break ifthe same output file is used twice.A bug in the way that the volume logical record, end_volume timewas computed in create_V.c was fixed. It was setting the end_volumetime to the start_volume + ntspan*tspan_break if tspan_break wasnon-zero. If the volume break is zero, it now prints an error msgand dies, since the sum of tspans volume span is wrong if holytspans are used.15may90 mw	enhancementSEED v2.1 has several new blockettes which reduce the amount ofinformation redundantly included. These are 043-048 abbreviationblockettes, and 060, which references them. Include code inHeader_phase/{ load_data.c, is_in_twindow.c } which permits this.Also clean up load_data.c (getmore), which was calling big_buffermore often than necessary.PROBLEM: these blockettes should not appear on a V2.0 SEED volume.We can't yet call output a v2.1 writer, since it does not write 074blockettes yet.12jul90 mw	bugfixChannels with sample interval = 0 were being ignored even thoughthey were requested and seemed to be in the window.The problem was that the end time of a data record was computedas the start time, due to delta-t = 0. This is fixed by passing theend timespan time down from the main into the routine which computesthis end time. If the sample int is zero, the tspan time is used ratherthan start+deltat*nsamples.Main/main.c	Scan/{find_data.c,find_segment.c,get_scaninfo.c}16jul90 mw		BUGFIX	more timespan screwupsSigh. A typo in two strncmp() calls which determined when thestation/locations/channel changed while scanning the lvol listcaused a fatal core dump. The incorrect character count was5+7+3, and it should have been either 5+2+3 *or* 7+3.It would have additionally compared the year and one byte of theday in the data record header.fix problem with large (n=255) datapeices. This generates blockettesabout 13k in size (if it could). Breaking blockettes into 9999 bytepieces broke during the fix of 04/13/90 (was that a Friday?)fix problem with last pointer in each 073 - was not adjusted forthe size of the logical records comprising the timespan headers.Header_phase/create_T.c was modified.09 Nov 90 mwchange debugging printout level of all subroutines in Utilitiesfrom >= D_MAX to > D_MAX - I'm tired of paging throughall the crap. Will do same to other routines later...BUGFIX:The problem seems to be that when triggered data is not in theuser window, there may be no data in the timespan, even thoughmany user reqeust records were processed. For example, in theend of req.temp,[find_data] Nodes added to lvol = 1[find_data] Nodes added to lvol = 1end_tspan       1989    071     00:00:00.0000[find_data] Nodes added to lvol = 1[find_data] Nodes added to lvol = 1[find_data] Nodes added to lvol = 0[find_data] Nodes added to lvol = 1[find_data] Nodes added to lvol = 0[find_data] Nodes added to lvol = 1[find_data] Nodes added to lvol = 0[find_data] Nodes added to lvol = 1[find_data] Nodes added to lvol = 0end_tspan       1989    072     00:00:00.0000end_tspan       1989    073     00:00:00.0000[find_data] Nodes added to lvol = 0[find_data] Nodes added to lvol = 0[find_data] Nodes added to lvol = 0[find_data] Nodes added to lvol = 0[find_data] Nodes added to lvol = 0day 72 has no requests for it, but 73 has requests, but thereis no data which is within the window. This blows up create_Twhich tries to make a tspan for a non-existent time span!This was fixed by having both create_T.c and create_V.c checkfor a count of 0 datachunks in a timespan. This will only occurif the last timespan in a volume found no data records in a window.(It is ok if there is an empty tspan in the middle of a volume -eventually it will either have something in it, or it will be thelast tspan in a volume and so be caught by the above test.)Flush_output_volume.c also now checks for this trailing emptytimespan.Along the way, a bug which caused create_T.c to mistakenlyomit blockette 070's in a timespan was fixed. The problemhere was the improbable assumption that having the samestation/channel/location together in the lvol list meantthat these were the same "datapeices" for 073 blockettepurposes.The incorrect version was gluing together datapieces evenacross timespan boundaries. This is fixed by downcountingthe count of datachunks (lvol nodes) within each timespan.It only worked before because there were always a mix ofstation/channels in adjacent timespans. Sigh. The data recordswere *not* affected, only the timespan headers.create_T.c was neatened up some by adding new routine make_room.19-nov-90 mw	begin changes for SEED v2.1changed SEED_VERSION to SEED_DEFAULT ("02.0")added new routine get_SEED_version which sets SEED_Version to	environment variable SEED_VERSION's float valuecoding in create_v.c and create_T.c will be done to detect	value of SEED_Version and respond accordingly.20-nov-90 mw	continue seed v2.1 changes	create_V.c	use SEED_Version instead of SEED_DEFAULT (see above)	create_T.c	add if-then-elses based on SEED_Version and blockette_type				completely untested yet.02dec90	mw		continue seed v2.1 changes	create_V.c				leading zero in format ("02.1", not " 2.1")	create_T.c				get the 074 pointers right, get tspan numbering							right	flush_output_volume.c	put all tspans at front24dec90 mw		more robustness	get_scaninfo.c			if sample rate factor is non-zero, but sample							rate multiplier is zero, assume that the multiplier							should be one. This is undefined by the seed							document. Should it be an error?19mar91	mw		problems with "non-existent file"s which really exist	find_data.c				in the case that a request record finds							no data in the file, in one case, this routine							would return without closing the open file.							Eventually, open() would get a "too many							files open" error. This was fixed, and better							error messages for debugging added.							This particular problem occurred because the							end time was earlier than the start time in							several bad Holdings.File records.03apr91 mw		better appearance	Main/main.c				remove "untested v2.1" message	Main/usage.c			better description of SEED time fields16apr91 mw		bugfixes	Header/		get_chnl_hdr.c		zero last byte of atoi() strings clen,ctype		load_data.c			zero last byte of atoi() strings clen,ctype		make_lrec.c			zero last byte of atoi() strings clen,ctype	Utility/		big_buffer.c		change scheme for allocation to prevent extra							block of allocation.	tested on 4/330 under 4.1 in combinations of <none>, -p, -g, -O.	tested on 3/50 under 4.1; 3/280 under 3.5; 4.280 under 4.1.06 june 91	mw			change	Includes/structures.h			increase the size of the file name remembered in the lvol			node from 40 chars to 256 chars so nobody can ever again			build a directory/filename which is too long. So long as			we always have lots of virtual space, 10,000 name requests			will only eat 2.5 Mbyte of virtual. Traversing this list			is usually done in io bound loops, so the increased paging			should not be a factor. Also move the name to the end of			the structure, to reduce potential padding problems.17 june 91	mw			change	Scan_phase/find_data.c			check the offsets found by find_segment. If they are			impossible ( <0, end>=start, >size of file ) then barf			with a FATAL bugcheck. Prompted by such case (how?) in			Scripps testing data.18 june 91	mw			bugfix (sort of)	Scan_phase/find_data.c		Warn if the file's actual size is not consistent with that		given by the request record, but use the actual.		Always set the expected number of segments to zero, as the		code within find_segment should never quit checking for		segments.	Scan_phase/find_segment.c		More debugging included; this routine needs a rewrite badly		and should be simplified.03 dec 91 mw		bugfixes from Sue Schoch, made in ?june 91	Scan_phase/find_data.c		don't warn about file offsets which seem to be incorrect;		find_segment can in some cases return none. find_segment		should probably be fixed to avoid this.	Scan_phase/find_segment.c		increase the size of msg[] for long file names and seed times.04 dec 91 mw	changes for v2.2 SEED started	Main/main.c					add call to get_creator()	Main/usage.c				document environment variable CREATOR	Utilities/get_creator.c		new routine, needed for new blockette 10 field	Header_phase/create_V.c		change code for blockette 10	Header_phase/make_headers.c	change assumption that blockette 10 size fixed	change all references from floating point SEED_Version to	integer *10 SEED_Version; thus, version 2.2 appears as 22.    	Header_phase/create_T.c, create_V.c, make_headers.c		Include/output.h, globals.h		Main/main.c		Output_phase/flush_output_volume.c07 dec 91 mw	more changes for v2.2 SEED	Include/structures.h	new fields for lvol: gofast and ngofast		for eventual use by Scan_phase stuff to find accelerator indicies	Scan_phase/put_lvol.c	zeroes out both new fields.09 jan 92 mw	bugfix	Scan_phase/get_scaninfo.c	symptoms: when a slow channel (ANMO UHE) data record crossed a	year boundary (90 - 91) and the start time was late in the day	(12:00) the calculation of the end time in get_scaninfo did not	take into account the possibility of overflow in add_time. Up to	one day of time might have to be added in, this could cause	overflow.10 jan 92 mw	more problems	also a problem: when ultra low sample int channels have 2 records,	say 2 4k records, then the start time of the second chunk is	about 3 days after the start of the 1st chunk. If you use 1 day	tspans, then the second chunk is 3 tspans after higher rate channels	which surround it. This causes "holy" tspans11 feb 92 mw	bugfixes	Scan_phase/get_segment.c	for SEED v2.1 or greater, blockette 074's had end times which came	from the next record's end times, typically. This has been fixed.	No other symptoms were observed for this bug.14 sep 92 wan	cosmetic	Header_phase/get_stn_path.c	Print "No station comments available" message only when above	D_MIN debugging level.	15 sep 92 wan   bugfix	Header_phase/build_stn_path.c	This function did not allow station name "PFO_T" to be processed.	Changed station name QC to allow the "_" character in station names.sept, 93 chris L		added support for block 71s being in the data_files or header 	directories.	Fixed problem with outputing DATALESS seed	added support for seed version 2.3 including SEED_LABEL    fixed bug in make_room	added check for byte swapped data. Timing data in data records are	integers.	changed program name from "output" to "pod"Aug 31st, 94 - added checking for garbage in the data files.Mar 1st 1995 - changed the volume beg end time to really be the		  	   beginning and ending time span	Mar 15th 95  - updated volume start end time for dataless seed. Since no				timespans available, use the request start,endMAr 15th 95  - made pod "network" aware, no longer dependent upon unique				station names within volume. New HAR... station/channel				naming convention - took out 'S' & '###' & 'C'May of 97   - support for varying record lengths, from passcal dataDec-Feb -97,Spring 98      - support for location code processing	       - added PODJUSTDOIT functionality	       - some bug fixes, bug when user entered logical record 		 size less then 4k 	       - bug with processing LOG records	       - bug fix for multi log record processing. pod sometimes was		    off slightly when calculating B74s.POD 4.0.b1Sept 30 1998   - changed the h file, took out old and unused fields.	       - final version of location code processing		    - new channel directory naming convention, ala LHE.03POD 4.0.b2Nov 2, 1998    -took out BW from holdings file	POD 4.1 	added in support for Blockette 42 and 62		added ability to scan data directories recursively.			No need to specify each and every data			directory in the environment		added in PODJUSTDOIT functionality to DATALESSes		small bug, check for sample rate of zero in 			get_scan_info().POD4.1.2 	small bug in data record length scan		added in rec->nsamples == 0 test (from UCB)podv4.1.5  	Sept 27 2002	small bug in scan_info.c. When calculating the		duration of a record, it used nsamples-1, which 		caused problems. Took out the -1.podv4.2March 3 2004	Redid how pod outputs sequential record numbers.		Sequential record numbers now exactly mirror the		logical record.			data records < log rec size now get built			with sequential record numbers == log rec count				Changes some warnings to ouput the stn/chn info on		same line as the warning label 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -