1. すべての"long int"型(除くスレッド関係)を"int"型に変更した
2. int64_t型のフォーマット記述子に"%u"や"%d"や"%ld"を使っていた部分を"%lld"に変更した。
3. scanfにおいて
char cbuf[20];
scanf("%s",&cbuf);
を
int iret;
char cbuf[20];
iret=scanf("%s",cbuf);
のように修正し、
warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[3]’
warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
の警告がでないようにした
4. 戻り値のある関数( int scanf, int system, char* fgets)の戻り値を無視しないようにした。
具体的には
system(...); ==> iret=system(...); (where "iret" is int type)
scanf(...); ==> iret=ssanf(...); (where "iret" is int type)
fgets(...); ==> ret=fgets(...); (where "ret" is char* type)
pcalcheckを改修し、1ビットADデータでも4010kHzのような中途半端なPCAL周波数を処理できるようにした。
// #include < asm/semaphore.h >
のようにコメントアウトし、さらに最初の方に以下の2行を追加(カーネルバージョン少なくとも2.6.35以降で関数名が変更されているよう)してからドライバーをインストールすること。
#define usb_buffer_alloc usb_alloc_coherent
#define usb_buffer_free usb_free_coherent
"komb"に'-LAGOFFSET lagoffset'オプションを追加した。このオプションでラグ数が32より大きいcoutファイルを処理する際の 相関ラグの切り出し位置を設定するパラメータを設定する。デフォルトは0である。例えば1024ラグで相関処理 したcoutファイルでフリンジピークの位置が大きくセンターからずれている場合に、このオプションを セットすることにより、正常な32ラグ範囲内に収めることができる。その際に、クロックオフセットおよび 遅延時間の予測値もlagoffsetを反映するように修正される。この機能追加に伴う修正箇所は komb.c, libcout2ksp.c, libcout2ksp.h。
one2fourのプログラム使用法の記述に一部不具合があったので修正した。
$SATKEYS NONEを追加する。
datatime_edit filename [HH:MM:SS|offset [outfile]] [options]
or
datatime_edit [options]
where filename -- data file name
HH:MM:SS|offset -- time label of 1st data or time offset in sec
(offset is just added to a current time label)
outfile -- output file name after time is editted
(default : datatime_edit.dat)
[options]
-f filename --- set data file name
-o outfile --- set output file name
-s HH:MM:SS|offset --- set 1st time label or offset in seconds
-n --- set non-interactive mode (default is interactive mode)
k5tom5を改修し、"-short"オプションを追加した。このオプション指定時は 従来と同様な動作(作成されるMk5ファイルの観測時間は、K5ファイル群の 一番短い時間となる)となる。デフォルトではK5ファイル群の一番長い 時間となる(データがない部分はヘッダー以外は0データで埋められる)
m5checkの走らせ方は以下の通り
m5check mk5file [mode]
or
m5check mk5file options -- for non sync block checking mode run
where mk5file -- Mark V data file name
mode -- data mode (or display mode)
0: with parity and 8|16|32|64 bit-word mode
1: without parity and 8|16|32|64 bit-word mode
2: to display using old display mode
if mode is omitted, both modes are checked automatically
options
-f --- force to run with non synnc block check mode.
if one of following parameters is set,
'-f' is omittable.
so '-f' can use when you want to run with non
sync block check mode with default parameters
-t[rack] ntrack --- # of tracks (8|16|32|64)
(default is 32)
-vlba --------- set VLBA mode (default mark IV)
-p[arity] --- set with parity mode (default non parity mode)
-nrzm ------- set NRZM mode (default non NRZM)
-s samples --- set # of samples to be skipped initially
cor, fx_corの自己相関モードでY局データファイル名がディレクトリを含んでいるときにエラーとなるバグを修正した。
src/以下のプログラムにオプション'--help'および'--version'を追加した。実際に修正したプログラムは以下の通り: adbitconv,datacut,data_double,data_half,extdata,four2one,speana,speana2,autoobs,aux_recov,data_recov,datachk, k5tok5v32,k5v32tok5,one2four,pcalcheck,skdchk,vssplogana,signalcheck,timesettk,timeadjust,timedisp, timesync,sampling,sampling2,monit,monit2,setdcoffset,timesetpc,timecheck.
mark5/以下のプログラムにオプション'--help'および'--version'を追加した。実際に修正したプログラムは以下の通り: k5tom5,m5check,m5time,m5tok5,m5vex_ana
apri/apri_calにオプション'--help'および'--version'を追加した。
corr/以下のプログラムにオプション'--help'および'--version'を追加した。実際に修正したプログラムは以下の通り: cor,cor_all,fx_cor,fx_cor_all
sdelay/以下のプログラムにオプション'--help'および'--version'を追加した。実際に修正したプログラムは以下の通り: sdelay,sdelay2
komb/以下のプログラムにオプション'--help'および'--version'を追加した。実際に修正したプログラムは以下の通り: corlp,corpc,krmon,komon_lpc,komon,cortx,cout2ksp,runkombc,komb
KERNVER=`uname -r`
/sbin/insmod /lib/modules/$KERNVER/kernel/drivers/usb/misc/utds.ko
chmod 666 /dev/utds0
linuxのmakefile中のif文
ifeq ($(S),NONE)
......
else
......
endif
FreeBSDのmakefile中のif文
.if $(S) == NONE
......
.else
......
.endif
更にインストール用シェルスクリプトの中でOSを判定し、linux用のmakefileとFreeBSD用のmakefileを使い分けるように
した。シェルスクリプト中でのOS判定法およびmakefileの使い分けは以下のようにしている。
OS=`uname`
if [ "$OS" = "FreeBSD" ]; then
file="-f BSDmakefile"
else
file=""
fi
make $file
上記シェルスクリプトの変更に伴い、sourceコマンドを使用してのシェルスクリプトの実行はif文でエラーを起こす
場合があるため、source文は使わずに、いきなりシェルスクリプトのファイル名にて実行すること。
FreeBSDで直接makeするときは以下のようにする。
make -f BSDmakefile [S=VSSP32|VSSP(default)|NONE] [G=GNUPLOT] [X=64] [OPEN=64]
sdelay,corri以下のmakefileを改修してmake時のオプションで別々のmakefile (makefile.64, makefile.usefftw, makefile.usefftw.64) で行っていた作業を一つのmakefileで出来るようにした。具体的なmakeの仕方は以下の通り
make [F=FFTW] [G=GNUPLOT] [X=64] [OPEN=64]
ここで F=FFTW --- FFTWパッケージを使用する(デフォルトは使用しない)
G=GNUPLOT --- グラフィック表示にGNUPLOTを使用する場合
(デフォルトはPGPLOT)
X=64 --- 64bit CPUを使用する場合(/usr/X11R6/lib64以下のライブラリを使用)
OPEN=64 --- fopen64を使用する場合
この改修に応じて、install_obs.sh, install_obs_vssp32.sh, install_obs.64.sh, install_m5k.sh, install_m5k.64.sh, install_all.sh, install_all_usefftw.sh, install_all_usefftw.64.sh, install_all_vssp32.sh, install_all_vssp32_usefftw.sh, install_cor.sh, install_cor.64.sh, install_cor_usefftw.sh, install_cor_usefftw.64.sh, の中身を書き替えた。
各ディレクトリの実行形式ファイルと.o拡張子のファイルを消去するスクリプトを新たに作成した(clean_obs.sh, clean_m5k.sh, clean_cor.sh, clean_all.sh)。
src以下のmakefileを改修してmake時のオプションで今まで別々のmakefile (makefile.64, makefile.vssp32, makefile2, makefile2.64) で行っていた作業を一つのmakefileで出来るようにした。具体的なmakeの仕方は以下の通り
make [S=VSSP32|VSSP(default)|NONE] [G=GNUPLOT] [X=64] [OPEN=64]
ここで S=VSSP32 --- K5/VSSP32サンプラーユニット用に観測ソフトをコンパイルする場合
S=VSSP --- K5/VSSPサンプラーボード用 にコンパイルする時(デフォルト)
S=NONE --- サンプラーを直接制御しないプログラムのみをコンパイルする場合
G=GNUPLOT --- グラフィック表示にGNUPLOTを使用する場合
(デフォルトはPGPLOT)
X=64 --- 64bit CPUを使用する場合(/usr/X11R6/lib64以下のライブラリを使用)
OPEN=64 --- fopen64を使用する場合
install_obs.sh, install_obs.64.sh, install_obs_vssp32.shは上記を反映するよう修正した。またこれらのオプションにG=GNUPLOTを
つけることにより(例: source install_obs.sh G=GNUPLOT)、GNUPLOTを使用できるようにした。
cor k5file1 [k5file2] [options] fx_cor k5file1 [k5file2] [options]ここでoptionsは通常のオプションと同じ。k5file2でディレクトリを省略するとk5file1のディレクトリと見なされる。
data_recov 32 k5file名 -recover または data_recov k5file名 -recover -vssp32ここで'-recover'は非会話型で修復を行う指定。VSSP32データを指定するには最初のパラメータを'32'とするかオプションで '-vssp32'をつける方法が可能。
$CODES F GEOSX4F 4F TSUKUB32 WETTZELL C 4F X 8212.99 10000.0 1 Mk341:2 8.000 1(-1,3) C 4F X 8252.99 10000.0 2 Mk341:2 8.000 1(7) ......周波数情報ラインの最後のフィールド(上記の例では"1(-1,3)"や"1(7)"の部分)にパスおよびサイドバンド毎のトラック 情報が記されているが、この部分を解読するようにした。"1(-1,3)"はパス#1,USBのトラック番号が"-1",LSBのトラック番号が "3"であることを示している。この場合はUSB,LSB両方のデータがあることを意味している。"1(7)"はUSBデータしかないことを 意味している。"8212.99"などはRF周波数(MHz)を表しており、その後の"10000.0"はUSBデータにおけるPCAL周波数(Hz)を示している。 LSBに対するPCAL周波数は1MHz間隔のPCAL周波数を仮定して1000000.0-(USBのPCAL周波数)としている。
VSSP32用ドライバー更新に伴い、libipvlbi_board.c中の'sampleget'関数にVSSP32のFPGAバージョンを読みとる機能を追加(ログにも出力)。
sampling, sampling2, autoobsのランパラメータのADビット数の部分をadbit[:bitshift]の形式に拡張し、2ビット、4ビットサンプリング時に抜き出すビット位置の
選択機能(bitshift)を指定できるようにした。autoobsについてはK5runinfoファイル中にもbitshiftパラメータを記述出来るようにした。
signalcheckを改修。VSSP32の場合、FPGAのバージョンを表示するようにした(ただし、ドライバー、VSSP32の
ファームウェア供にはVer2007-08-17以降を使用のこと)。
関数get_fpga_versionをlibipvlbi_board.cに追加した。
autoobsを改修し、VSSP32の場合、FPGAのバージョン情報のログ出力および画面表示を行うようにした。
これらの機能を使用するにはVSSP32のファームウェアは2007-08-17以降に更新されたものを使用し、更に
ドライバーはVer2007-08-17以降を使用すること。
datachkを改修。1,0のバランス表示モード時に偽シンク検出を抑制した。
#warning using private kernel header; include <endian.h> instead
という警告が出る。tdssdh.hはVSSP32のドライバをmakeする際にインクルードされるが、K5ユーティリティソフト群では使用
していない。
data_recov.cをコンパイル時に最新のgcc (3.4.6以降)において
trigraph ??) ignored, use -trigraphs to enableという警告が出る不具合を修正した。原因はprintfで??という文字列を直接出力するように記述していたため。'?'の部分を'\?'に置きかえた。
相関処理時のラグが16および8の場合のkomb処理をサポートするようにlibcout2ksp.c中の関数cd2kspを改修した。
旧 ape_expid_sid1sid2_scanid_YYYYDDDDHHMMSS.txt
新(2007.4.4より) ape_expid_sid1sid2_P_scanid_YYYYDDDDHHMMSS.txt
ここで、Pは1,2,3,4またはヌルで周波数グループに対応。従来の定義では周波数グループ情報が反映されていなかった。
Sync not detected in 2 frames!
Hit return key for continuing search
というメッセージを出すようにした。また、"-s nbyte"オプションで最初のnbyteバイトを読み飛ばせるようにもした。
sdelay2.cの780行目
a0, a1, a2, a3, 3);
を
a0, a1, a2, a3, 3, sbindex);
と修正する
komb: libkomb.c内の関数"frqsp"にあったバグを修正。周波数配置を割り振る際の最大公約数の求め方にバグがあり、ある周波数配置に おいて /FRQSP: FREQUENCY LOCATION ERROR !!というエラーが発生することがあった。
最新のgcc(linux2.6)でコンパイルした場合、int64_t定整数を0x800000000のように32ビットを越えて記述していると警告メッセージ
warning: integer constant is too large for "long" typeがでるが、0x800000000LLのように最後にLLをつけることにより回避できた。(該当ソース:mark5/libmk5tok5.c,mark5/k5tom5,mark5/k5tom5H)
観測ソフトダウンロードページのファイル名を変更した(install1.html->install_obs.html)
"warning: tempnam() possibly used unsafely; consider using mkstemp()" (FreeBSD)
"the use of `tmpnam' is dangerous, better use `mkstemp'" (linux)
ただし、PGPLOTパッケージに起因する同じ警告メッセージは残る。
corr/libcor.c中のcorr_engineおよびlibcor_gtable_use.c中のcorr_engine_g関数で1ビットサンプリング以外のデータに対して処理不可能メッセージを 出力して終了する際のバグを修正。
Type 3 : e-VLBIファイル命名則準拠
(参照:ftp://web.haystack.mit.edu/pub/e-vlbi/filenaming_conventions.pdf)
expid_sidG_scanid_YYYYDDDDHHMMSS.k5
ここで
expid -- 実験コード
sid -- 局ID(小文字2文字)大文字の場合は小文字に変換
G -- ターミナル(PC)ID (1|2|3|4) またはnull。freqgパラメータで指定
scanid -- スキャンID
VEXファイル使用時はスキャンIDそのまま
SKED使用時はddd-hhmm 同じ分の中に複数の観測が
ある場合は2つ目以降に時間順に最後にa,b,c,d,.. をつけていく
<<!!この2つ目以降の解釈が間違っていた。ただしくは!!>>
==>ある場合は時間順に最後にa,b,c,d,.. をつけていく
YYYYDDDHHMMSS -- 観測開始時刻
.k5 -- K5データ識別子
apri_calcの改修。autoobsの観測ファイル命名則追加に対応(Type -1,-2,3,5を追加)。 ここでType5は従来VEXファイル使用時の命名則。JIVE提供版の互換性を保つため、 オペレータがコマンドラインで指定をしない場合かつVEXファイルを使用時はType5が デフォルト命名則となる。通常のデフォルトはType1。 Type-1,-2の追加に伴い、apri_calcコマンドラインおよび環境変数でも 衛星コードを記述できるようにした。 デフォルトはスケジュールファイルを自動的に判定し、中に"HYB","NOZ","GEO" のサテライトがあった場合は「のぞみ」観測モードと自動的に判定し、1ch 観測時にはそれに応じた予測値ファイルを作成する。1ch観測時の周波数chは コマンドラインからch指定を行わない場合はCH#1が指定された物と見なす。
1または-1: タイプ1 従来タイプ(デフォルト)
XDDDNNNN.[#ch.]dat
ここで
X -- 局ID(1文字)
DDD -- 一番目のスキャンの通日
NNNN -- 観測番号 (4桁)
#ch -- チャンネル数 (1 または 4) (タイプが負の場合のみ)
2または-2: タイプ2 K5/VSSP固有タイプ
sidDDDHHMMSSG.[#ch.]dat
ここで
sid -- 局ID (1文字か2文字)
DDD -- スキャン開始通日(3桁)
HH -- スキャン開始時(2桁)
MM -- スキャン開始分(2桁)
SS -- スキャン開始秒(2桁)
G -- 周波数グループID (a|b|c|d) または
null
#ch -- チャンネル数 (1 または 4)(タイプが負の場合のみ)
1)ディスクフル発生時の対処をロバストにした(書き込み途中で発生した場合にも
次の候補ディスクに変更して観測を継続)。
2)ファイル命名則に新たなタイプ(Type 3)(IVSのe-VLBIファイル命名則準拠)を追加した。
Type 3 : e-VLBIファイル命名則準拠
(参照:ftp://web.haystack.mit.edu/pub/e-vlbi/filenaming_conventions.pdf)
expid_sidG_scanid_YYYYDDDDHHMMSS.k5
ここで
expid -- 実験コード
sid -- 局ID(小文字2文字)大文字の場合は小文字に変換
G -- ターミナル(PC)ID (1|2|3|4) またはnull。freqgパラメータで指定
scanid -- スキャンID
VEXファイル使用時はスキャンIDそのまま
SKED使用時はddd-hhmm 同じ分の中に複数の観測が
ある場合は2つ目以降に時間順に最後にa,b,c,d,.. をつけていく
YYYYDDDHHMMSS -- 観測開始時刻
.k5 -- K5データ識別子
この追加に伴い、環境変数 K5NAMING の定義も以下のように少し変更しました
K5NAMING --- 観測ファイル命名則 '1' | '2' | '3'
旧バージョンとの互換性のため K5NAMING の値として
'old' | 'new' も有効ですが、それぞれ '1' | '2' に相当します。
3)Obs Range (end)で表示する時刻を最後のスキャンの終了時刻に変更した(今までは最後の
スキャンの開始時刻が表示されていた)
4)ログファイル名のデフォルトを expcode+"_"+stationid+"."+hostname+".log"に変更
(IVS命名則に近づけるため。IVS命名則はexpcode+"_"+stationid+".log")
従来はexpcode+stationid+"."+hostname+".log"
以下のソフトを追加した(特殊用途)
data_half:サンプリング周波数を間引きにより半分にする
data_double: サンプリング周波数をデータの繰り返しにより倍にする
m5tok5RでVLBAモードの変換時のバグを修正
m5tok5の機能強化により、m5tok5np,m5tok5Rnpは今後はバージョンアップはしません。
m5tok5npはm5tok5の2004年9月23日バージョンのコピーです。
m5tok5Rnpはm5tok5Rの2004年9月23日バージョンのコピーです。
m5tok5をすべてのモードにおいて使用してください。m5tok5Rはバグチェック用として今後もしばら
くはバージョンアップを行います。
※m5tok5とm5tok5Rは全く異なるアルゴリズムで処理を行っています。
2.変換情報ファイルの項目追加
変換情報ファイルにトラック番号情報にヘッドスタック情報を追加しました。
3.変換ソフトのバグ改修
1ビットサンプリング、ファンアウト=2モード時の変換に不具合がありました。改修済みです。
cor処理で遅延が負の場合、フリンジが出ない場合があるというバグがありました。 そのバグを修正しました。このバグは国土地理院によりレポートされ、修正コードも 国土地理院より提供されました。
m5tok5Rnpを情報ファイル作成モードで走らせた場合に、VEXファイルの$TRACK情報の サブパスを反映できなかったバグを改修。デフォルトのサブパスをAとすると共に、 コマンドでサブパスの指定を可能なように修正した。
m5checkに完全自動モードを追加。mark5データのパリティあり/なしの自動判定を行う。
apri_calcでVEXファイルを使用したときのユーザーインターフェースを若干変更
autoobsで環境変数K5SUBNETが正しく認識されてなかったバグを修正。
for(i=0; i< numbyte-1; i++){
...........
for(m=0; m< lagbyte; m++){
............
if (ydat+numbyte*ch+sbyte+i+m < ydat+numbyte*ch ||
ydat+numbyte*ch+sbyte+i+m > ydat+numbyte*(ch+1)-1 ) continue;
||
||
\/
for(i=0; i< numbyte-1; i++){
...........
for(m=0; m< lagbyte; m++){
............
if (ydat+numbyte*ch+sbyte+i < ydat+numbyte*ch ||
ydat+numbyte*ch+sbyte+i+lagbyte-1 > ydat+numbyte*(ch+1)-1 ) continue;
..................
How to run (new style) (added on 2003-11-07)
apri_calc skdfile [options]
where skdfile ----- Schedule file name (either VEX or SKED)
if "-" is accompanied with skdfile like "-skdfile",
it means monitor only the contents of schedule file.
and options (any order)
-apedir apriori_file_out_directory
is the directory for apriori file out.
default is the environment variable K5APRIOUT.
If this environment variable is not defined, then
"../corrapri" will be applied as a default.
-baseid baseline_id
is baseline ID (A2 or A4)
-coffset clock_offset
is the clock offset (sec) applied for fringe search purpose.
Positive value menas Y clock tic earlier than X clock tic.
Default is 0.0
-crate clock_rate
is the clock rate (s/s) difference between X and Y station clock.
Default is 0.0
-g group -- Frequency group (1-4) correspnding to PC (default is 1)
-start start_obs -- Start obs# (default is the 1st obs#)
-stop stop_obs -- Stop obs# (default is the last obs#)
-xdir xdir -- X data file directory
-ydir ydir -- Y data file directory
-utt1 ut1_c -- UT1-UTC (sec)
-wobbx wobbx -- Wobb X (arcsec)
-wobby wobby -- Wobb Y (arcsec)
-type1 | -type2 --K5 obs file naming rule
-type1 : sidDDDNNNN.dat (default)
-type2 : sidDDDHHMMSSG.dat
-subnet | -nosubnet -- Subnet mode control
default is subnet on (-subnet)
改修箇所1. vex_freq_get 関数 (libvex.h)
if(fabs(pcalspace) < 0.1 ) return freq;
// following is valid for USB
if(freq.sideband[0]=='U' || freq.sideband[0]=='u'){
/* new algorythm was applied on 2003-10-28 */
if(ntone > 0){
for(i=0; i 0) {
nji=(int)(freq.rf/pcalspace);
pcalf=pcalspace*(double)(nji+k);
freq.pcalf[i]=pcalf-freq.rf;
}
if(k < 0) {
nji=(int)((freq.rf+freq.vbw)/pcalspace);
pcalf=pcalspace*(double)(nji+k+1);
freq.pcalf[i]=pcalf-freq.rf;
}
if(k == 0) { // nothing to do
freq.pcalf[i]=0.0;
}
}
}
/* old algorythm before 2003-10-28 version */
//nji=(int)(freq.rf/pcalspace)-1;
//k=0;
//i=0;
//if(ntone > 0) {
// while(1){
// pcalf=pcalspace*(double)nji;
// if(pcalf > freq.rf) k++;
// if(k==tones[i]){
// freq.pcalf[i]=pcalf-freq.rf;
// i++;
// if(i >= ntone) break;
// }
// nji++;
// }
//}
}
// following is valid for LSB
if(freq.sideband[0]=='L' || freq.sideband[0]=='l'){
/* new algorithm was applied on 2003-10-28 */
if(ntone > 0){
for(i=0; i 0) {
nji=(int)(freq.rf/pcalspace);
pcalf=pcalspace*(double)(nji-k+1);
freq.pcalf[i]=freq.rf-pcalf;
}
if(k < 0) {
nji=(int)((freq.rf-freq.vbw)/pcalspace);
pcalf=pcalspace*(double)(nji-k);
freq.pcalf[i]=freq.rf-pcalf;
}
if(k == 0) { // nothing to do
freq.pcalf[i]=0.0;
}
}
}
/* old algorithm before 2003-10-28 version */
//nji=(int)(freq.rf/pcalspace)+2;
//k=0;
//i=0;
//if(ntone > 0) {
// while(1){
// pcalf=pcalspace*(double)nji;
// if(pcalf < freq.rf) k++;
// if(k==tones[i]){
// freq.pcalf[i]=freq.rf-pcalf;
// i++;
// if(i >= ntone) break;
// }
// nji--;
// }
//}
}
改修箇所2. PCAL_ana 関数 (libvex.h)
念のためtone#=0 の場合、トーン数としてカウントしないようにした
if(atoi(cbuf) != 0) { // 2003-10-28
vex->pcal[vex->npcal].pcal[i].tone[mm]=atoi(cbuf);
mm++;
} // 2003-10-28
//vex->pcal[vex->npcal].pcal[i].tone[m]=atoi(cbuf);
m++;
if(m*2+4 >=vp.n) {
//vex->pcal[vex->npcal].pcal[i].ntone=m;
vex->pcal[vex->npcal].pcal[i].ntone=mm; // 2003-10-28
break;
}
これに伴い、K5フォーマットヘッダー部のサンプリング周波数定義部に
32,64,128,256,512,1024,2048 MHzの定義を追加した。
$FREQ block 数を5から20に増やした
(VEXファイル中で周波数ブロックを12個使用した例があったため)
//freq_t freq_def[5]; // $FREQ block info
freq_t freq_def[20]; // $FREQ block info 2003-07-04
xros_engine: bug fix: When total PP# =0, temporary PP data file
that contains previous processing was used as a cout file.
This bug was fixed.
add cout file name creation mode in xros_engine as follows
if(rp->outfilemode==2) then
out file name creation according to the following rule
outputfile name coutYYDDDNNNNXYG.txt
where YY -- 2 digit year
DDD -- 3 digit day of year
NNNN -- 4 digit scan number
XY -- baseline id (2 char)
G -- Frequency group (a|b|c|d)
output directory name coutEXP_CODE
where EXP_CODE -- experiment code
output directory will be located under dflt_odir
ランパラメータにdelsizeを追加してラグサイズを指定できるように変更。 引数の並びも変更。
parseADdata_3 (libipvlbi.h) function has some problem when usampl is set to 1000 with 2bit A/D and 1ch mode in the xros_engine function. To avoid this, usampl check was added in xros_engine function.
out_for_pvwave5 was modified to out_for_pvwave6 to include PCAL information in an output file. xros_engine was modified so as to use out_for_pvwave6
There is a bug in xros_engine, xros_engine_org, xros_engine_special
pp.frphase[numch*kpp+m]=(float)(p.dphse*pide);
is changed to
pp.frphase[pp.chsize*kpp+m]=(float)(p.dphse*pide); // 2003-01-22
also modification is made in out_for_pvwave5
definition of clock offset is changed so as to match with the definition in KSP ( Tx-Ty ==> Ty-Tx ) Changes are made to following functions: Param_calc_1, Param_calc_b, Param_calc_p, Param_calc_d