1

NcML を使用して 3D および 4D グリッドを集約できますか? 次元数が違うのでよくわかりませんでした。たとえば、海面の高さ (ssh) と水温の場合、ssh には 3 つの次元 [時間、緯度、経度] があり、温度には 4 つの次元 [時間、深さ、緯度、経度] がありますか? 私のテストはうまくいかなかったので、3D 変数と 4D 変数を別々のカタログに分割する必要があると思います。しかし、他の人が別の提案をしてくれることを願っていますか?

以下のスニペットで「ユニオン」集計を使用してみましたが、3D 変数が 2008 年 12 月 28 日に始まり、4D 変数が 2008 年 5 月 8 日に始まるため、時間ディメンションが適切にマッピングされませんでした。

<?xml version="1.0" encoding="UTF-8"?>
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
  <attribute name="title" value="HYCOM test aggregation #1"/>
  <aggregation type="union">
    <!-- These are the 3D variables: -->
    <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycom2d"/>
    <!-- These are the 4D variables: -->
    <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomT"/>
    <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomS"/>
    <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomU"/>
    <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomV"/> 
  </aggregation>
</netcdf>

次に、「時間」ディメンションで「joinExisting」集計を試みましたが、これは、データセットにそれぞれ同じ変数が含まれている場合にのみ機能します (含まれていません)。集計で最初にリストするデータセットに応じて、次の例では 3D または 4D 変数のいずれかが除外されます。

<?xml version="1.0" encoding="UTF-8"?>
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
  <attribute name="title" value="HYCOM test aggregation #2"/>
  <aggregation dimName="time" type="joinExisting">
    <!-- These are the 3D variables: -->
    <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycom2d"/>
    <!-- These are the 4D variables: -->
    <aggregation type="union">
      <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomT"/>
      <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomS"/>
      <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomU"/>
      <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomV"/> 
    </aggregation>
  </aggregation>
</netcdf>

では、これらのデータセットを集約する方法はありませんか? 3D 変数と 4D 変数を分けておく必要がありますか?

ありがとうございます。John Maurer Pacific Islands Ocean Observing System (PacIOOS) ハワイ大学マノア校

4

1 に答える 1

1

ジョン、

結合したいファイルの時間座標は異なりますが、名前は同じなので、そのうちの 1 つの名前を変更する必要があります。この単純な NcML は、3D データの時間次元と時間変数の次元と名前を変更するだけで機能すると考えていたでしょう。

<?xml version="1.0" encoding="UTF-8"?>
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
    <attribute name="title" value="HYCOM test aggregation #1"/>
    <aggregation type="union">
        <!-- These are the 3D variables: -->
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycom2d">
            <dimension name="time2d" orgName="time"/>
            <variable name="time2d" orgName="time"/>
        </netcdf>
        <!-- These are the 4D variables: -->
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomT"/>
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomS"/>
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomU"/>
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomV"/> 
    </aggregation>
</netcdf>

しかし、変数名と次元名を変更する前に、どういうわけか NetCDF-Java_CoordinateAxesが値 "time lon lat" を持つ属性を追加しているように見えるため、そうではありません。したがって、3D データからその属性を削除すると、次のように機能します。

<?xml version="1.0" encoding="UTF-8"?>
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
    <attribute name="title" value="HYCOM test aggregation #1"/>
    <aggregation type="union">
        <!-- These are the 3D variables: -->
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycom2d">
            <dimension name="time2d" orgName="time"/>
            <variable name="time2d" orgName="time"/>
            <variable name="qtot">
                <remove type="attribute" name="_CoordinateAxes"/>
            </variable>
            <variable name="emp">
                <remove type="attribute" name="_CoordinateAxes"/>
            </variable>
            <variable name="t_trend">
                <remove type="attribute" name="_CoordinateAxes"/>
            </variable>
            <variable name="s_trend">
                <remove type="attribute" name="_CoordinateAxes"/>
            </variable>
            <variable name="ssh">
                <remove type="attribute" name="_CoordinateAxes"/>
            </variable>
            <variable name="mld">
                 <remove type="attribute" name="_CoordinateAxes"/>
            </variable>
            <variable name="mlp">
                 <remove type="attribute" name="_CoordinateAxes"/>
            </variable>
        </netcdf>
        <!-- These are the 4D variables: -->
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomT"/>
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomS"/>
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomU"/>
        <netcdf location="dods://apdrc.soest.hawaii.edu:80/dods/public_data/Model_output/HYCOM/global/hycomV"/> 
    </aggregation>
</netcdf>

結果のデータセットの ToolsUI のスクリーンショットを次に示します。ここでは、3D 変数と 4D 変数を確認できます。

于 2013-04-23T20:52:37.347 に答える