キーワード:アルゴ計画,プロファイリングフロート,滞在深度,重量調整,高圧水槽
Keywords:Argo, profiling float, parking depth, ballasting, pressure tank
*1 海洋科学技術センター
*2 地球観測フロンティア研究システム,
*3 (株)マリン・ワーク・ジャパン
*4 Japan Mrine Science and Technology Center
*5 Frontier Observational Research System for Global Change
*6 Marine Works Japan Ltd.




Mng = ρ(s,t,p) V(t,p) g ・・・・・(1)左辺が重力,右辺は浮力を示している。 ここで,Mnは中立となるフロートの質量,gは重力加速度, s,t,pはそれぞれ塩分,水温,圧力でρは滞在深度における海水の現場密度である。 また,Vは滞在深度におけるフロートの体積で温度と圧力により変化するが, これはフロート筺体の物性に依存する。 すでに述べたように現場密度ρは,北太平洋の場合 2000mでは安定しているので投入前にかなり精度良く予測できる。 また,Mnはフロートの内部におもり(バラスト)を入れて自由に制御できる。 所定の深度で中立になるようにフロートの重さを調整する作業がフロートの重量調整(ballasting)である。 問題は滞在深度におけるフロートの体積 V(t,p)をどのように決定するかである。これは次式で表すことができる。
V(t,p)=V0[(1−γp)+α(t−t0)] ・・・・・(2)ここで,αはフロートの温度による体積膨張率,γはフロートの圧縮率である。 V0は1気圧下の室温(基準温度;任意に定義できる)における体積である。 αは筺体の素材の線膨張率(体積膨張率はその3倍)から計算する。 よって,未確定のパラメータV0,γについて何らかの方法で決定できれば, (1)式から滞在深度で中立になるフロートの重量が計算できる。 V0 は通常20リットルを越える大きさで,これを誤差1cm3以下の精度で測定するのは通常は困難である。 これは次節に述べる高圧試験水槽を用いた実験から得られる。




Mf + mc h(t,p) + mw = ρ(0,t,p) V0[1−γp + α(t−t0)] ・・・・・(3)ここで,mcはチェーンの単位長あたりの水中重量, mwは予備重量調整でフロートに取り付けたウェイト及び治具の水中重量を合計したものである。 (3)式で,Mf ,mc,mw,αは既知の定数で,tは計測し, 実験でpを与えてhが得られる。また,ρはpとtから計算できる。よって, (3)式の未知数はV0とγの2つの定数のみである。 tは実質的に一定とみてよく,mc hは圧力のみの関数となるから, 左辺第2項と3項の和 ( mc h(t,p) + mw )をもって,M(p)と書ける。 水槽内の温度を基準の水温(t=t0)にとれば,(3)式は
M(p) = ρ(p)V0(1−γp) - Mf ・・・・(4)となる。この関数は水の圧縮率(体積弾性率の逆数)をκ(p)とすると以下の式で近似でき, かつ,圧力に関してほとんど直線的に増加するグラフとなる(付録A参照)。
M(p) ≒ ρ(0)V0(κ(p)-γ)p + (ρ(0)V0 - Mf) ・・・・(5)一方,(4)式は2つの異なる圧力 pを与えてM(p)を計測すれば, V0とγを未知数とする連立方程式が得られ,これを解いてM(p)の関数形が決定できる。 しかしながら,M(p)は測定誤差を伴うから,この方法ではM(p)の推定精度に問題がある。 よって,様々な圧力下でM(p)を計測して,pの一次回帰式( M(p) = Ap + B )により M(p)を推定している。 上の(4)式で表される理論上の重量調整曲線の切片は,M(0)=ρ(0)V0-Mf である。 これは,測定結果から計算した回帰直線の切片Bに相当し, 両者は近似的に等しい(B≒ρ(0)V0-Mf)はずであるからV0の近似値が得られる。
滞在深度におけるフロートの体積(V0(1−γp))は(4)式から簡単に求まるので, 前節(2)式から実海域の水温による熱膨張分を付加して,現場のフロートの全体積を求め, これと海水密度との積から中立となるフロートの全重量が計算できる((1)式参照)。 この重量になるようにバラストをフロートに入れて調整すればよい。
| 測定番号 Measurement Number |
圧 力 Pressure [dbar] |
浮上距離 Rising length [cm] |
チェーン重量 Chanin Weight [g] |
総重量 Total ballast [g] |
| 1 | 1920.1 | 38.80 | 31.35 | 35.69 |
| 2 | 1818.4 | 31.20 | 25.21 | 29.55 |
| 3 | 1727.7 | 24.20 | 19.55 | 23.89 |
| 4 | 1623.4 | 16.20 | 13.09 | 17.43 |
| 5 | 1526.6 | 9.40 | 7.60 | 11.94 |
| 6 | 1427.5 | 1.40 | 1.13 | 5.47 |
| 7 | 1477.2 | 4.80 | 3.88 | 8.22 |
| 8 | 1578.5 | 12.60 | 10.18 | 14.52 |
| 9 | 1675.8 | 19.80 | 16.00 | 20.34 |
| 10 | 1773.4 | 27.40 | 22.14 | 26.48 |
| 11 | 1871.8 | 34.60 | 27.96 | 32.30 |
M(p)[g]=0.061099[g/db] p[db] − 81.79[g] ・・・・・(6)が得られた。これを重量調整曲線(ballasting curve)とよぶ。 図6に実験結果と回帰直線を示す。この直線の傾きは, 圧力が1db上がる毎にフロートが受ける浮力の増加分を示し, Y切片は圧力ゼロの時に必要なフロートのバラスト重量を示す。 この場合は1気圧下では重量が浮力に対して81.79g過剰で, フロートが着底していたことを示している。

| 項目(item) | 記号(symbol) | 値(value) | 備考(remarks) |
| @滞在深度圧力 pressure at parking depth |
p | 2000 [dbar] | 任意に設定 arbitrary |
| A滞在深度水温 in-situ temperature at parking depth |
t | 2.0 [℃] | 推定値 estimated |
| B滞在深度現場密度 in-situ density at parking depth |
ρ(s,t,p) | 1.03687 [g/cm3] | 推定値 estimated |
| Cフロート初期重量 initial weight of float |
Mf | 25050.5 [g] | 実測値 measured |
| Dチェーン単位長水中重量 weight of chain per unit length (in water) |
mc | 0.808 [g/cm3] | 実測値 measured |
| Eウェート水中重量(治具込み) weight of attached ring weight(in water) |
mw | 4.34 [g] | 実測値 measured |
| Fフロート体膨張率 coefficient of thermal expansion of float |
α | 6.90×10-5 [/℃] | アルミの線膨張率 property of alminum |
| Gタンク内圧力 tank water pressure |
p | 2000 [dbar] | @と同じ same as @ |
| Hタンク内水温 tank water temperature |
t0 | 9.20 [℃] | 実測値 measured |
| Iタンク内の水の密度 tank water density |
ρ(0,t0,p),/TD> | 1.00916 [g/cm3] | 状態方程式 equation of state |
| Jタンク内付加総重量 added weitht to the float |
mch(t,p)+mw | 40.4 [g] | 重量調整曲線より ballasting curve |
| Kタンク内フロート総重量 total weitht of the float |
Mt | 25090.9 [g] | Mf+mch(p)+mw |
| Lタンク内フロート体積 float volume in the tank |
V0[1−γp] | 24863.1 [cm3] | Mt/ρ(0,t0,p) |
| M1気圧下フロート体積(温度t0) float volume in air pressure |
V0 | 24974.5 [cm3] | 重量調整曲線より ballasting curve |
| N滞在深度でのフロート体積 float volume at parking depth |
Vp | 24850.7 [cm3] | V0[1-γp+α(t-t0)] |
| O滞在深度でのフロート重量 float weight at parking depth |
Mn | 25767.1 [g] | ρ(s,t,p)Vp |
| Pバラスト重量 ballast weight |
Mb | 716.6 [g] | Mn−Mf |
ρ(Vs +δV) > ρ' V(t,p) ・・・・・・・・・・・(7)が成立すればよい。ここで,基準温度を海面温度にとり(Vs=V0),V(t,p)に(2)式を代入して整理すると
δV > Vs (ρ'/ρ){(1-ρ/ρ') - γp + α(tp-ts)} ・・・(8)が得られる。ここでtp,tsは滞在深度,海面における水温である。 もし,上式の両辺が等しければフロートは海面すれすれで中立になる。 実際はフロートにはアンテナ部を海面より完全に空中に持ち上げる浮力が必要であるが, これは海面付近でエアブラッダーに空気を注入して膨張させて別に得られるため,上記の計算には考慮しなくてよい。 上式の右辺で,pは想定する滞在深度(2000db)であり, その水温(tp),現場密度(ρ')は前述のようにかなり精度良く推定され, αは既知,γは前節の重量調整実験で得られている。左辺のδVを一定とおけば, フロートが海面に到達するか否かは(8)式の成立に依存し,海面の海水密度と水温の値があれば判定できる。 ここで,(8)式右辺の中括弧内の各項の大きさを見積もる。 滞在深度と海面との密度差が大きい場所が問題となるから, 熱帯・亜熱帯を想定すると,密度差の分(1-ρ/ρ')が 20×10-3程度,フロートの圧縮効果分(-γp)が-5×10-3, 温度変化の効果(α(tp-ts):水温差20℃として)が-1〜-2×10-3程度であって, 密度差の効果が大きいが,いずれも同程度のオーダーである。 海面の海水の密度・温度は時空間的に変化が大きいが, 過去の観測データから海域毎にそれぞれの標準偏差を求め, それらの変化は一定の相関(この場合は-0.75と仮定)を持ちながら正規分布に従う確率変数と仮定して, 浮上する確率を計算した。ここではWebb社のAPEXタイプのフロート(鉱油内蔵量260cm3)について, 歴史データ(WOA98)から緯経度5度の海域毎に浮上確率を計算した(図7)。 ただし,次節で述べるように内蔵する鉱油の全量を利用することはないので, 利用可能な鉱油量は全量の80%と仮定した。図より, このフロートは太平洋熱帯域の暖水プールや東部インド洋では浮上しない場合がかなりあることを示しており, これらの海域では既存のフロートでは2000mまでの観測を確実に行うのは不可能で, より大きい浮力を持つフロートが必要である。

Y - tα√{1+1/n+(X-Xmean)2/nSxx} se < y < Y + tα√{1+1/n+(X-Xmean)2/nSxx} seYは圧力Xに対応する回帰直線上の値,XmeanとSxxはこの実験のXの平均と分散(ただし,偏差平方和をnで割ったもの)である。 信頼限界を95%とすると,自由度9だから,tα=2.262となり, 圧力2000dbにおける回帰直線の信頼区間は,40.41±0.67[g]となった。 これは1g以内の目標精度を満たしている。 なお,実験において回帰直線による予測値と実験値の差の標準偏差の許容範囲は0.8g以下と設定した。 この実験例では十分許容範囲内であるが,もし許容範囲を越えた場合は再実験を行なっている。
Mb = Mn - Mf = ρ(s,t,p)V0{1-γp+α(t-t0)}-Mf,これに,V0(1-γp) = (M(p)+Mf)/ρ(0,t0,p),を代入し,簡単のため,
ρ=ρ(0,t0,p),ρ'=ρ(s,t,p),とおくと,
Mb = ρ'(M(p)+Mf)/ρ + ρ'V0α(t-t0) - Mf, 整理すると,
Mb = M(p)ρ'/ρ + ρ'V0α(t-t0) + Mf(ρ'-ρ)/ρ ・・・・・・(9)が得られる。ここで,ρ'〜1,ρ〜1,ρ'/ρ〜1,(ρ'-ρ)/ρ〜0.03,α(t-t0)〜 0.0014(水温差20℃として)であるから,Mbに対する各項の誤差の影響を評価できる。 すなわち,第1項は,そのままM(p)の測定誤差がMbの誤差に影響する。 一方,第2項は α(t-t0)が小さく,V0 に10cm3の誤差があってもMbには0.014gの誤差しか影響しない。 第3項は,Mfの10gの誤差がMbの0.3gの誤差を生む程度で,あまり影響がない。 よって,Mbを精度良く求めるには,重量調整曲線の精度向上が効果的である。
![]() 図8.左:フロートで観測された水温・塩分鉛直分布の例,太線は水温,細線は塩分 Figure 8. Left panel: An example of vertical temperature/salinity profile observed by a profiling float. |
![]() 右:フロートが浮上中,水温の上昇によるフロートの熱膨張で得られた浮力(細線) と減圧によりフロートが膨張することで得られた浮力(太線) Right panel: Contribution to buoyancy of float by heat expansion effect (thin line) and decompression effect (thick line) at the observing (rising) phase shown in the left panel. |
ρ(s,t,p) = ρ(s,t,0)/(1-p/K(s,t,p)) ・・・・・・・(A1)ただし,
K(s,t,p)=K(s,t,0)+Ap+Bp2ここで,Kは海水の体積弾性率で,AとBはいずれもtとsの関数である。 これは,海水に1気圧(p=0)から次第に圧力pをかけて縮んだ割合から, 単位分縮めるのに必要な平均の圧力を示し,圧縮率(圧力pを加えたときに縮む割合)の逆数である。 本文で述べたように,高圧水槽実験では,s=0 で, tも実質的に一定(t=t0)と見てよいから,A,B いずれも定数となり, Kはpのみの2次関数となる。圧縮率をκとおいて (κ(p) = 1/K(p)),(A1)を書き換えると,
ρ(p) = ρ(0)/(1-pκ(p)) ・・・・・・・(A2)となる。本文(4)式に上式を代入すると,
M(p) = ρ(0)V0(1−γp)/(1 - p κ(p)) - Mf ・・・・・(A3)が得られる。この式の変数項(1−γp)/(1 - pκ(p))において, 分子は圧力によりフロートが縮む効果,分母は水の縮む効果を表している。 水の方が縮む割合が大きいから,M(p)はpとともに増加する。 水の圧縮分pκ(p)を様々なケースで計算すると(表A1), いずれも1%以下で小さく,γpも通常はpκ(p)の1/2程度で小さい。 よって,(A3)式の右辺の変数pを含む項は,以下の式でかなり良く近似できる(誤差0.005%以下)。
(1−γp)/(1 - p κ(p)) ≒ 1 + (κ(p)-γ)p ・・・・・(A4)この近似式を(A3)に用いれば,
M(p) ≒ ρ(0)V0(κ(p)-γ)p + (ρ(0)V0 - Mf) ・・・・・(A5)が得られる。右辺のκ(p)はpに関してほぼ一定(0-2000dbで3%程度の変化)であることから, (A5)のグラフは直線に近いと期待できる。
| 0db | 500db | 1000db | 1500db | 2000db | |
| 0℃ | 0 | 0.00252342 | 0.00500574 | 0.00744782 | 0.00985047 | 10℃ | 0 | 0.00237190 | 0.00470730 | 0.00700697 | 0.00927170 |
| 20℃ | 0 | 0.00227730 | 0.00452054 | 0.00673051 | 0.00890797 |
| 30℃ | 0 | 0.00222178 | 0.00441059 | 0.00656724 | 0.00869250 |

| Temperature(℃) | Error(RMS) |
| 0 | 0.50 |
| 10 | 0.45 |
| 20 | 0.42 |
| 30 | 0.41 |
V0 ρ ≒ Mf'+ V0ρa + mw' ・・・・・・・・ (B1)ここでMf'は空中で計測したフロートの重量,ρaは空気の密度である。 ウェイト重量mw'も空中で計測したものであるから空気の浮力の影響を受ける。 本文で述べたように,ウェイト,治具,チェーンの合計重量は最大200gと規定したから,mw'はこれ以下である。 ウェイトの材質である18-8ステンレス (SUS304)の密度は7.9[g/cm3](日本機械学会 1993)だから, 体積は25cm3を超えない。よって空気の浮力はせいぜい0.03gに過ぎず,無視して差して良い。 フロート体積V0の近似値は(B1)から以下の式で表される。
V0 ≒ (Mf + mw')/(ρ- ρa) ・・・・・・・・ (B2)上式右辺のフロート体積の概算値は,上述のようにmw'の誤差は50g以下であり, 分母はほぼ1(g/cm3)であることから,誤差50cm3以内に収まる。 フロートに掛かる空気の浮力はV0ρaだから, このV0に上記概算値を用いても誤差は最大でも0.06g程度となりMf'の測定精度0.5gよりも小さく, 十分な近似となっている。よって,予備重量調整で得た体積の近似値から空気の浮力を見積もり, これをMf'に加えて真のフロートの重量Mfを求めればよい。 実際には,同一ロットのフロートの体積は50cm3よりもはるかに良い工作精度と考えられるから, 個々のフロートについて空気浮力補正分を計算する必要はなく, 空気の浮力補正分として一定値を加えれば十分と考えられる。 また,上述のようにウェイトについては体積が十分小さく, 空気浮力補正を不要なことを示したが, 治具やチェーンについてもウェイトと同じ材質で体積はより小さいため 同様な理由により空気浮力補正は不要である。
K=E/[3(1 - 2ν)]ここで,Eは縦弾性率,νはポアソン比である。これらの値はそれぞれ,189 [GPa], 0.2であるから(日本機械学会 1993),体積弾性率は105 [GPa]である。チェーン,治具,ウェイトの1気圧下での体積をV,水槽内の圧力をp,この圧力下での圧縮分をΔVとすると,
p = K ΔV/Vの関係があり,2000db(20MPa)下では,圧縮比ΔV/Vは約0.0002となる。 すでに述べたように,ウエイト,チェーン等の総重量は 200[g]以下だからVは25cm3を超えず, ΔVは最大でも0.005[cm3]となるから,体積は一定と見てよい。 一方,ウェイト,チェーン等にはたらく浮力は,水圧による水の密度の変化にも依存する。 水の密度は2000db下では1気圧下よりも約1%増加する(表A1参照)。 浮力は体積と密度の積だから,浮力の増加分はせいぜい0.25gである。 この分水中重量が減少するが必要な重量調整の精度から見て無視して差し支えない。

図 C1.重量調整用ソフトウエア入力画面
Figure C1. Graphical user interface of a program for ballasting experiments
using pressure tank.
プログラムリスト
1000 ' SAVE "BALLAST.BAS"
1010 '
1020 '1) 概要
1030 ' このソフトウエアはプロファイリングフロートの重量調整(ballasting)に使用
1040 ' される。
1050 '
1060 ' 高圧試験水槽を用いて計測された圧力とフロートが吊り上げる鎖の長さより
1070 ' 重量調整曲線(ballasting curve)を求め,これより滞在深度にフロートを停止さ
1080 ' せる(海水の密度とフロートの密度が等しくなる)ためのおもりの重量を決定する。
1090 '
1100 '2) 必要なデータと入力方法
1110 ' ・圧力試験のデータ入力
1120 ' DATA文を編集して行う。
1130 ' DATA文の並びは次のとおりである。
1140 ' なお(H)と(L)は振動した場合のことを考えている。
1150 '
1160 ' サンプリング数 N
1170 ' 圧力1,吊り上げ量(H)1,吊り上げ量(L)1
1180 ' 圧力2,吊り上げ量(H)2,吊り上げ量(L)2
1190 ' ・
1200 ' ・
1210 ' ・
1220 ' ・
1230 ' 圧力N,吊り上げ量(H)N,吊り上げ量(L)N
1240 ' チェーンの単位あたりの重量
1250 ' ウエイトの重量
1260 ' フロート初期重量
1270 ' タンク内水温
1280 '
1290 ' ・滞在深度の条件
1300 ' DATA文の下の次の変数を編集する。
1310 '
1320 ' O.TEMP# = 5.13# ' 滞在深度水温
1330 ' O.SALT# = 34.325# ' 滞在深度塩分
1340 ' TP# = 2000# ' 滞在深度圧力
1350 '
1360 ' ・タンク内塩分
1370 '
1380 ' T.SALT# = 0# ' タンク内塩分(通常は0)
1390 '
1400 '3) 単位
1410 ' このソフトウエアで使用している単位は次のとおりである。
1420 ' 塩分 [psu]
1430 ' 水温 [℃]
1440 ' 圧力 [db]
1450 ' 重量 [g]
1460 ' 密度 [g/cm^3]
1470 '
1480 '
1490 '4) その他
1500 ' 計算は倍精度で行われる。
1510 '
1520 '
1530 '
1540 ' ************* 実験データ **************
1550 '
1560 ' APEX-SBE SN.225 重量調整データ
1570 ' 実験日 平成 13年 2月 1日
1580 '
1590 DATA 11 ' サンプリング数
1600 DATA 1920.1 , 38.8 , 38.8
1610 DATA 1818.4 , 31.2 , 31.2
1620 DATA 1727.7 , 24.2 , 24.2
1630 DATA 1623.4 , 16.2 , 16.2
1640 DATA 1526.6 , 9.4 , 9.4
1650 DATA 1427.5 , 1.4 , 1.4
1660 DATA 1477.2 , 4.8 , 4.8
1670 DATA 1578.5 , 12.6 , 12.6
1680 DATA 1675.8 , 19.8 , 19.8
1690 DATA 1773.4 , 27.4 , 27.4
1700 DATA 1871.8 , 34.6 , 34.6
1710 DATA 0.808 ' チェーンの単位あたりの重量
1720 DATA 4.34 ' ウエイトの重量
1730 DATA 25050.5 ' フロート初期重量
1740 DATA 9.2 ' タンク内水温
1750 '
1760 ' ************************************************
1770 '
1780 O.TEMP# = 2# ' 滞在深度水温
1790 O.SALT# = 34.6# ' 滞在深度塩分
1800 TP# = 2000# ' 滞在深度圧力
1810 '
1820 T.SALT# = 0# ' タンク内塩分
1830 '
1840 AL.TXP# = .000069# ' アルミ容器膨張率
1850 '
1860 '
1870 ' ***** 密度計算のための係数 *****
1880 '
1890 ZB0# = .824493#
1900 ZB1# = -.0040899#
1910 ZB2# = .000076438#
1920 ZB3# = -.00000082467#
1930 ZB4# = .0000000053875#
1940 '
1950 ZC0# = -.00572466#
1960 ZC1# = .00010227#
1970 ZC2# = -.0000016546#
1980 '
1990 ZD0# = .00048314#
2000 '
2010 ZA0# = 999.842594#
2020 ZA1# = .06793952#
2030 ZA2# = -.00909529#
2040 ZA3# = .0001001685#
2050 ZA4# = -.000001120083#
2060 ZA5# = .000000006536332#
2070 '
2080 ZF0# = 54.6746#
2090 ZF1# = -.603459#
2100 ZF2# = .0109987#
2110 ZF3# = -.00006167#
2120 '
2130 ZG0# = .07944#
2140 ZG1# = .016483#
2150 ZG2# = -.00053009#
2160 '
2170 ZI0# = .0022838#
2180 ZI1# = -.000010981#
2190 ZI2# = -.0000016078#
2200 '
2210 ZJ0# = .000191075#
2220 '
2230 ZM0# = -.00000099348#
2240 ZM1# = .000000020816#
2250 ZM2# = .00000000091697#
2260 '
2270 ZE0# = 19652.21#
2280 ZE1# = 148.4206#
2290 ZE2# = -2.327105#
2300 ZE3# = .01360477#
2310 ZE4# = -.00005155288#
2320 '
2330 ZH0# = 3.239908#
2340 ZH1# = .00143713#
2350 ZH2# = .000116092#
2360 ZH3# = -.000000577905#
2370 '
2380 ZK0# = .0000850935#
2390 ZK1# = -.00000612293#
2400 ZK2# = .000000052787#
2410 '
2420 '
2430 ' ***** メインルーチン *****
2440 '
2450 *MAIN
2460 '
2470 ' --- データの読込 ---
2480 '
2490 READ N
2500 DIM PRESS#(N) , HLEVEL#(N) , LLEVEL#(N) , M.CHAIN#(N) , V.CHAIN#(N)
2510 DIM DX(N) , DY(N) , CAL#(N) , MASS#(N) , DEN#(N) , VOL#(N)
2520 '
2530 FOR J = 1 TO N
2540 READ PRESS#(J)
2550 READ HLEVEL#(J)
2560 READ LLEVEL#(J)
2570 NEXT J
2580 '
2590 READ W.CHAIN# ' チェーンの単位長あたりの重量
2600 READ M.REMOVE# ' ウエイトの重量
2610 READ INIT.MASS# ' フロート重量初期値
2620 READ T.TEMP# ' タンク内水温
2630 '
2640 ' --- チェーンとウエイトの重量計算 ---
2650 '
2660 FOR J = 1 TO N
2670 M.CHAIN#(J) = (HLEVEL#(J)+LLEVEL#(J))/2*W.CHAIN#+M.REMOVE#
2680 NEXT J
2690 '
2700 '
2710 ' --- 最小自乗法による重量調整曲線の計算 --
2720 '
2730 FOR J = 1 TO N
2740 DX(J) = PRESS#(J)
2750 DY(J) = M.CHAIN#(J)
2760 NEXT J
2770 GOSUB *KAIKI
2780 AA = A ' バラスティングカーブ 切片
2790 BB = B ' 傾斜
2800 STD.DEV = DEV ' 標準偏差
2810 '
2820 ' --- タンク内の密度の計算 ---
2830 '
2840 T# = T.TEMP#
2850 S# = T.SALT#
2860 P# = TP# / 10#
2870 GOSUB *DENSITY
2880 T.DENS# = ZRSTP# / 1000#
2890 '
2900 ' --- 滞在深度の海水の密度の計算 ---
2910 '
2920 T# = O.TEMP#
2930 S# = O.SALT#
2940 P# = TP# / 10#
2950 GOSUB *DENSITY
2960 O.DENS# = ZRSTP# / 1000#
2970 '
2980 ' --- 1気圧下フロート体積(温度t0 の計算) ---
2990 '
3000 T# = T.TEMP#
3010 S# = 0
3020 P# = 0
3030 GOSUB *DENSITY
3040 INIT.DENS# = ZRSTP# / 1000
3050 INIT.VOL# = (INIT.MASS# + AA ) / INIT.DENS#
3060 '
3070 ' --- 各々の計算 ---
3080 '
3090 T.MASS# = INIT.MASS# + BB*TP# + AA
3100 T.BALLAST# = BB*TP# + AA
3110 T.VOL# = T.MASS# / T.DENS#
3120 D.VOL# = T.VOL#*(O.TEMP# - T.TEMP#)*AL.TXP#
3130 O.VOL# = T.VOL# + D.VOL#
3140 O.MASS# = O.VOL# * O.DENS#
3150 C.MASS# = O.MASS# - T.MASS#
3160 O.BALLAST# = T.BALLAST# + C.MASS#
3170 '
3180 *DISP
3190 PRINT USING "重量調整曲線 M(P)[g] =##.######*P[db] +###.##" ; BB ,AA
3200 '
3210 PRINT USING "標準偏差 ##.## [g]" ; STD.DEV
3220 PRINT
3230 '
3240 PRINT "滞在深度圧力 " ;
3250 PRINT USING " ##### [db] " ; TP#
3260 '
3270 PRINT "滞在深度水温 " ;
3280 PRINT USING " ###.## " ; O.TEMP# ;
3290 PRINT "[℃]"
3300 '
3310 PRINT "滞在深度塩分 " ;
3320 PRINT USING " ###.### [psu]" ; O.SALT#
3330 '
3340 PRINT "滞在深度現場密度 " ;
3350 PRINT USING " #.##### [g/cm^3]" ; O.DENS#
3360 '
3370 PRINT "フロート初期重量 " ;
3380 PRINT USING " #######.# [g]" ; INIT.MASS#
3390 '
3400 PRINT "チェーン単位長水中重量 " ;
3410 PRINT USING " ###.### [g]" ; W.CHAIN#
3420 '
3430 PRINT "ウェイト水中重量(治具込み) " ;
3440 PRINT USING " ###.## [g]" ; M.REMOVE#
3450 '
3460 PRINT "フロート体積膨張率 " ;
3470 PRINT USING " #.#E-05 " ; AL.TXP# * 100000# ;
3480 PRINT "[/℃]"
3490 '
3500 PRINT "タンク内圧力 " ;
3510 PRINT USING " ##### [db] " ; TP#
3520 '
3530 PRINT "タンク内温度 " ;
3540 PRINT USING " ###.### " ; T.TEMP# ;
3550 PRINT "[℃]"
3560 '
3570 PRINT "タンク内の水の密度 " ;
3580 PRINT USING " #.##### [g/cm^3]" ; T.DENS#
3590 '
3600 PRINT "タンク内付加総重量 " ;
3610 PRINT USING " ###.## [g]" ; T.BALLAST#
3620 '
3630 PRINT "タンク内フロート総重量 " ;
3640 PRINT USING " ######.# [g] " ; T.BALLAST# + INIT.MASS#
3650 '
3660 PRINT "タンク内フロート体積 " ;
3670 PRINT USING " #####.# [cm^3]" ; T.VOL#
3680 '
3690 PRINT "1気圧下フロート体積(温度t0) " ;
3700 PRINT USING " #####.# [cm^3] " ; INIT.VOL#
3710 '
3720 PRINT "滞在深度でのフロート体積 " ;
3730 PRINT USING " #######.# [cm^3]" ; O.VOL#
3740 '
3750 PRINT "滞在深度でのフロート重量 " ;
3760 PRINT USING " #######.## [g]" ; O.MASS#
3770 '
3780 PRINT "バラスト重量 " ;
3790 PRINT USING " ####.## [g]" ; O.BALLAST#
3800 '
3810 END
3820 '
3830 '***** 最小自乗法による回帰計算 *****
3840 '
3850 *KAIKI
3860 ZX = 0
3870 FOR J = 1 TO N
3880 ZX = ZX + DX(J)
3890 NEXT J
3900 '
3910 ZY = 0
3920 FOR J = 1 TO N
3930 ZY = ZY + DY(J)
3940 NEXT J
3950 '
3960 ZXY = 0
3970 FOR J = 1 TO N
3980 ZXY = ZXY + DX(J)*DY(J)
3990 NEXT J
4000 '
4010 ZXZY = ZX*ZY
4020 '
4030 ZXX = 0
4040 FOR J = 1 TO N
4050 ZXX = ZXX + DX(J)*DX(J)
4060 NEXT J
4070 '
4080 IF (N*ZXX - ZX*ZX)= 0 THEN B = 1 : A = 0 : GOTO *KAIKI2
4090 '
4100 B = (N *ZXY - ZX*ZY)/(N *ZXX - ZX*ZX) ' 傾斜
4110 A = ZY/N - B *ZX/N ' 切片
4120 '
4130 '
4140 '***** 標準偏差の計算 *****
4150 *KAIKI2
4160 DEV1= 0
4170 DEV2= 0
4180 '
4190 FOR J = 1 TO N
4200 CAL#(J) = B *DX(J) + A
4210 CE = CAL#(J) - DY(J)
4220 DEV1 = DEV1 + CE * CE
4230 DEV2 = DEV2 + CE
4240 NEXT J
4250 DEV = SQR((N * DEV1 -DEV2*DEV2)/N/(N-2))
4260 RETURN
4270 '
4280 '
4290 '
4300 ' ***** 海水密度の計算 *****
4310 '
4320 ' 塩分 S#,水温 T#,圧力 P#より海水の密度を計算する。
4330 '
4340 *DENSITY
4350 T2# = T#*T#
4360 T3# = T2#*T#
4370 T4# = T3#*T#
4380 T5# = T4#*T#
4390 '
4400 ZRW# = ZA0# + ZA1#*T# + ZA2#*T2# + ZA3#*T3# + ZA4#*T4# + ZA5#*T5#
4410 ZRST0# = ZRW# +(ZB0# + ZB1#*T# + ZB2#*T2# + ZB3#*T3# + ZB4#*T4#) *S#
4420 ZRST0# = ZRST0# + (ZC0# + ZC1#*T# + ZC2#*T2#) *S#^(3/2) + ZD0#*S#*S#
4430 '
4440 ZKW# = ZE0# + ZE1#*T# + ZE2#*T2# + ZE3#*T3# + ZE4#*T4#
4450 ZAW# = ZH0# + ZH1#*T# + ZH2#*T2# + ZH3#*T3#
4460 ZBW# = ZK0# + ZK1#*T# + ZK2#*T2#
4470 '
4480 ZA# = ZAW# + (ZI0# + ZI1#*T# + ZI2#*T2#)*S# + ZJ0#*S#^(3/2)
4490 ZB# = ZBW# + (ZM0# + ZM1#*T# + ZM2#*T2#)*S#
4500 '
4510 ZKST0# = ZKW# + (ZF0# + ZF1#*T# + ZF2#*T2# + ZF3#*T3#)*S# + (ZG0# + ZG1#*T# + ZG2#*T2#)*S#^(3/2)
4520 '
4530 ZKSTP# = ZKST0# + ZA#*P# + ZB#*P#*P#
4540 '
4550 ZRSTP# = ZRST0#/(1# - P#/ZKSTP#)
4560 ' PRINT S# , T# , P#
4570 ' PRINT USING " #####.##### ######.##### " ;ZRSTP# , ZKSTP#
4580 RETURN
4590 '
4600 '
4610 '