EMLの単位(2)

(承前)

とは言え、他人の仕事の粗探しをしても自分の仕事が進む訳ではないのだ。 自分なりに考えて実装してみると、以下のようになった。

<!-- amount of photons -->
<unitType id="amountOfPhotonFlux" name="amountOfPhotonFlux">
  <dimension name="amount" power="1"/>
  <dimension name="length" power="-2"/>
  <dimension name="time" power="-1"/>
</unitType>
<unit id="einsteinsPerSquareMeterPerSecond"
  name="einsteinsPerSquareMeterPerSecond"
  unitType="amountOfPhotonFlux"
  multiplierToSI="1"
  abbreviation="E/㎡/s">
  <description>Einsteins (mols of photons) per square meter per secound</description>
</unit>
<unit id="microeinsteinsPerSquareMeterPerSecond"
  name="microeinsteinsPerSquareMeterPerSecond"
  unitType="amountOfPhotonFlux"
  parentSI="einsteinsPerSquareMeterPerSecond"
  multiplierToSI="0.000001"
  abbreviation="μE/㎡/s">
  <description>micro Einsteins (10^-6 mols of photons) per square meter per secound</description>
</unit>

molesOfPhoton のように Of を使う用例は EML 標準には少ないので、 素直に einstein を使うようにした。

ところで flux という用語は、 EML標準の単位定義では T-1 の次元に 使われているのだが、私の業界では L-2 T-1 を意味する。 一般にフラックスは「単位時間、単位面積あたりの流量」のことだから、 EML標準の用法がおかしいように思う。 一方で EML標準では rate という用語も T-1 の次元を意味するらしく、 混乱する。 これらの用法は一体どこから来ているのだろうか。よく判らない。