<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi folks,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I&#8217;m trying to retrieve some data for a subset region from the Global Real Time Ocean Forecast System (RTOFS), and I can&#8217;t figure out why I get all missing values when I try to read the data.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">This seems to be the case for me even if I try to read this whole domain.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Here is some code:<o:p></o:p></p>
<p class="MsoNormal">------<o:p></o:p></p>
<p class="MsoNormal">; read-rtofs-dods.ncl <o:p></o:p></p>
<p class="MsoNormal">load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/contrib/cd_string.ncl&quot;<o:p></o:p></p>
<p class="MsoNormal">;&nbsp; <o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Dev = &quot;png&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">;<o:p></o:p></p>
<p class="MsoNormal">myDate = 20160516<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">;NOMADS = &quot;http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global&quot;&#43;myDate&#43;&quot;/rtofs_glo_2ds_forecast_daily_prog&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">NOMADS = &quot;http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global&quot;&#43;myDate&#43;&quot;/rtofs_glo_2ds_forecast_3hrly_prog&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">filename = NOMADS ; = url <o:p></o:p></p>
<p class="MsoNormal">print(&quot;Fetching URL: &quot;)<o:p></o:p></p>
<p class="MsoNormal">print(&quot; &quot;&#43;filename)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp; exists = isfilepresent(filename)<o:p></o:p></p>
<p class="MsoNormal">&nbsp; if(.not.exists) then <o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;print(&quot;OPeNDAP isfilepresent test unsuccessful.&quot;)<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; print(&quot;Either file doesn't exist, or NCL does not have OPeNDAP capabilities on this system&quot;)<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; exit<o:p></o:p></p>
<p class="MsoNormal">&nbsp; else<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; print(&quot;OPeNDAP isfilepresent test successful.&quot;)<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; f = addfile(filename,&quot;r&quot;)<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; vars = getfilevarnames(f)<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; print(vars)&nbsp;&nbsp; ; should be (in any order): <o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; if(.not.any(ismissing(vars))) then<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do i=0,dimsizes(vars)-1<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printFileVarSummary (f,vars(i))<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end do<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; end if<o:p></o:p></p>
<p class="MsoNormal">&nbsp; end if<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">; Define boundary of data<o:p></o:p></p>
<p class="MsoNormal">; Assign lat/lon boundaries to the data<o:p></o:p></p>
<p class="MsoNormal">; Longitudes between 0 and 74 E need to have 360 added to them<o:p></o:p></p>
<p class="MsoNormal">;<o:p></o:p></p>
<p class="MsoNormal">myNlat = 32.0<o:p></o:p></p>
<p class="MsoNormal">mySlat = 10.0<o:p></o:p></p>
<p class="MsoNormal">myWlon = 260.0<o:p></o:p></p>
<p class="MsoNormal">myElon = 300.0<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">;myNlat = 26.0<o:p></o:p></p>
<p class="MsoNormal">;mySlat = 21.0<o:p></o:p></p>
<p class="MsoNormal">;myWlon = 260.0<o:p></o:p></p>
<p class="MsoNormal">;myElon = 300.0<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">; Full domain <o:p></o:p></p>
<p class="MsoNormal">;myNlat = 90.0<o:p></o:p></p>
<p class="MsoNormal">;mySlat = -90.0<o:p></o:p></p>
<p class="MsoNormal">;myWlon = 74.0<o:p></o:p></p>
<p class="MsoNormal">;myElon = 434.0<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">; Get lat/lon/time info first<o:p></o:p></p>
<p class="MsoNormal">lat = f-&gt;lat<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done reading lat&quot;)<o:p></o:p></p>
<p class="MsoNormal">lon = f-&gt;lon<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done reading lon&quot;)<o:p></o:p></p>
<p class="MsoNormal">time = f-&gt;time(0)<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done reading time&quot;)<o:p></o:p></p>
<p class="MsoNormal">;<o:p></o:p></p>
<p class="MsoNormal">; Use just one time when &quot;0&quot;<o:p></o:p></p>
<p class="MsoNormal">mytime = 0<o:p></o:p></p>
<p class="MsoNormal">;mytime = &quot;:&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Nlat = closest_val(myNlat, lat)<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Nlat = &quot; &#43; Nlat &#43; &quot; Lat = &quot; &#43; lat(Nlat) )<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Slat = closest_val(mySlat, lat)<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Slat = &quot; &#43; Slat &#43; &quot; Lat = &quot; &#43; lat(Slat) )<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Wlon = closest_val(myWlon, lon)<o:p></o:p></p>
<p class="MsoNormal">print(&quot;Wlon = &quot; &#43; Wlon &#43; &quot; Lon = &quot; &#43; lon(Wlon) )<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Elon = closest_val(myElon, lon)<o:p></o:p></p>
<p class="MsoNormal">print(&quot;Elon = &quot; &#43; Elon &#43; &quot; Lon = &quot; &#43; lon(Elon) )<o:p></o:p></p>
<p class="MsoNormal">;<o:p></o:p></p>
<p class="MsoNormal">;exit<o:p></o:p></p>
<p class="MsoNormal">;<o:p></o:p></p>
<p class="MsoNormal">mylat = lat(Slat:Nlat)<o:p></o:p></p>
<p class="MsoNormal">mylon = lon(Wlon:Elon)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">printVarSummary (mylat)<o:p></o:p></p>
<p class="MsoNormal">printVarSummary (mylon)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">print (mylat)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">;exit<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">delete(lat)<o:p></o:p></p>
<p class="MsoNormal">delete(lon)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">lat = f-&gt;lat(Slat:Nlat)<o:p></o:p></p>
<p class="MsoNormal">lon = f-&gt;lon(Wlon:Elon)<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done reading subset lat/lon&quot;)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">printVarSummary(lat)<o:p></o:p></p>
<p class="MsoNormal">print (lat)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">printVarSummary(lon)<o:p></o:p></p>
<p class="MsoNormal">print (lon)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">;exit<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">sst = f-&gt;sst(mytime,:,Slat:Nlat,Wlon:Elon)<o:p></o:p></p>
<p class="MsoNormal">;sst = f-&gt;sst<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done reading sst&quot;)<o:p></o:p></p>
<p class="MsoNormal">printVarSummary(sst)<o:p></o:p></p>
<p class="MsoNormal">print (sst)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">; exit&nbsp; ; Uncomment to stop after sst data are read <o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">u_velocity = f-&gt;u_velocity(mytime,:,Slat:Nlat,Wlon:Elon)<o:p></o:p></p>
<p class="MsoNormal">;u_velocity = f-&gt;u_velocity<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done reading U&quot;)<o:p></o:p></p>
<p class="MsoNormal">printVarSummary(u_velocity)<o:p></o:p></p>
<p class="MsoNormal">print (u_velocity)<o:p></o:p></p>
<p class="MsoNormal">v_velocity = f-&gt;v_velocity(mytime,:,Slat:Nlat,Wlon:Elon)<o:p></o:p></p>
<p class="MsoNormal">;v_velocity = f-&gt;v_velocity<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done reading V&quot;)<o:p></o:p></p>
<p class="MsoNormal">printVarSummary(v_velocity)<o:p></o:p></p>
<p class="MsoNormal">print (v_velocity)<o:p></o:p></p>
<p class="MsoNormal">speed = sqrt((u_velocity*u_velocity) &#43; (v_velocity*v_velocity))<o:p></o:p></p>
<p class="MsoNormal">print (&quot;Done calculating Speed&quot;)<o:p></o:p></p>
<p class="MsoNormal">print (speed)<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">exit<o:p></o:p></p>
<p class="MsoNormal">;;;;;;<o:p></o:p></p>
<p class="MsoNormal">;;;;;;&nbsp; END of code snippet<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">------<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">If you run this code, I suggest a redirect into a file, as there are a lot of lines written to standard out.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">What I don&#8217;t understand is that I can read a subset of the lat and lon data, but when I try to get any other data they all come up as missing/fill values.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Any help is GREATLY appreciated and I have really chased my tail trying to get past this.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Chris Herbster<o:p></o:p></p>
<p class="MsoNormal">-- <o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Dr. Christopher G. Herbster<o:p></o:p></p>
<p class="MsoNormal">Associate Professor<o:p></o:p></p>
<p class="MsoNormal">Director of Science and Technology<o:p></o:p></p>
<p class="MsoNormal">for the ERAU Weather Center<o:p></o:p></p>
<p class="MsoNormal">Applied Aviation Sciences<o:p></o:p></p>
<p class="MsoNormal">Embry-Riddle Aeronautical Univ.<o:p></o:p></p>
<p class="MsoNormal">600 S. Clyde Morris Blvd.<o:p></o:p></p>
<p class="MsoNormal">Daytona Beach, FL 32114-3900<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">&nbsp;386.226.6444 Office<o:p></o:p></p>
<p class="MsoNormal">386.226.6446 Weather Center<o:p></o:p></p>
<p class="MsoNormal">http://wx.erau.edu/<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Schedule at:&nbsp; http://wx.erau.edu/faculty/herbster/Schedules/<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>