2013-02-11 34 views
1

訪問NOAA CO-OPS海洋模式臨近預報當使用Unidata的IDV訪問通過OPeNDAP的加爾維斯頓灣NOAA CO-OPS海洋模式臨近預報:錯誤而在IDV

http://opendap.co-ops.nos.noaa.gov/thredds/catalog/NOAA/GBOFS/MODELS/201302/catalog.html?dataset=NOAA/GBOFS/MODELS/201302/nos.gbofs_hsc.fields.nowcast.20130201.t09z.nc

我得到一個錯誤信息「創建數據源時出錯」。從他們的OPeNDAP Data Form看來,很多NetCDF Climate and Forecast (CF) Metadata Conventions都符合,但顯然不是全部。

有誰知道什麼是缺失或錯誤?

回答

2

你是正確的,也有與此數據集需要被固定前,將在IDV工作的幾個問題:

  1. 約定屬性說「COARDS」,但COARDS適合直線網格(1D座標變量),而這個數據是曲線網格(2D lon,lat座標變量)。 CF Conventions在這裏是合適的,所以「慣例」全局屬性需要爲CF-1.0或更高。

  2. 要符合CF標準,需要爲每個變量指定「座標」屬性。

  3. 該模型具有無量綱的垂直座標,要求「正」屬性爲「上」,而西格馬值爲負​​值,而不是正值。

幸運的是,您可以使用NcML修復這些問題。嘗試使用下面的內容創建一個文件「gbofs.ncml」,並將其加載到IDV而不是OPeNDAP URL中。這種方法適用於任何使用Unidata NetCDF-Java庫的軟件,因此它不僅可以與IDV一起使用,還可以與PanoplyNCTOOLBOX for Matlab一起使用。

<?xml version="1.0" encoding="UTF-8"?> 
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" 
    location="http://opendap.co-ops.nos.noaa.gov/thredds/dodsC/NOAA/GBOFS/MODELS/201302/nos.gbofs.fields.nowcast.20130201.t03z.nc"> 
    <!--Change conventions from COARDS to CF-1.6 --> 
    <attribute name="Conventions" value="CF-1.6"/> 
    <!--The "positive" attribute is only for the z coordinate variable, so remove it from depth and elevation--> 
    <variable name="zeta"> 
    <remove type="attribute" name="positive"/> 
    </variable> 
    <variable name="depth"> 
    <remove type="attribute" name="positive"/> 
    </variable> 
    <!-- Dimensionless vertical coordinates need "positive"=up, and negative sigma values --> 
    <variable name="sigma"> 
    <attribute name="positive" value="up"/> 
    <values> -0.1667 -0.4167 -0.5833 -0.7643 -0.9167 </values> 
    </variable> 
    <!-- Curvilinear grids need a "coordinates" attribute that identifies the coordinate variables--> 
    <variable name="temp" shape="time sigma ny nx" type="float"> 
    <attribute name="coordinates" value="lon lat sigma time"/> 
    </variable> 
</netcdf> 

我會將此報告給NOAA CO-OPS,並希望他們能在將來修復此問題。這是來自IDV的屏幕截圖,只是爲了證明這一點: screen grab from IDV