[ncl-talk] Problem with Roms_utils.ncl
Dennis Shea
shea at ucar.edu
Mon Oct 3 13:17:22 MDT 2016
Yes, it is an issue with that library. NCL developers dit not write the
code. It was donated. You can see th email of the person who donated it in
the code.
Good luck
On Mon, Oct 3, 2016 at 10:21 AM, <leilane.passos at inpe.br> wrote:
> Hi Mr. Shea,
>
> the variable out1 is the result of a interpolation made by roms_3d_interp
> (function of Roms_utils.ncl - https://www.ncl.ucar.edu/
> Applications/Scripts/ROMS_utils.ncl). If you looking for the temp values
> in the problem region in original file (nested_avg_19811216_LEILANE.nc)
> you will see this file is fine, I checked with Ncview, Ferret, Matlab and
> Ncdump. Because this I guess that problem is in my Roms_utils.ncl
>
> Thank you for trying to help.
>
> Leilane
>
>
>
> Em 03-10-2016 12:27, Dennis Shea escreveu:
>
> Sometimes the oldest debug tools (eg: print) can be used to check an issue:
>
> out1 = roms_3d_interp(his1,grid,variable,rec,depth)
> printVarSummary(out1)
> printMinMax(out1,1)
>
> print(out1(52:65,85:105)) ; print values in region with 'blank
>
> Variable: OUT1
> Type: float
> Total Size: 32292 bytes
> 8073 values
> Number of Dimensions: 2
> Dimensions and sizes: [69] x [117]
> Coordinates:
> Number Of Attributes: 1
> _FillValue : 1e+37
> (0)
> (0) min=19.8764 max=26.2272
>
>
> Variable: OUT1 (subsection)
> Type: float
> Total Size: 1176 bytes
> 294 values
> Number of Dimensions: 2
> Dimensions and sizes: [14] x [21]
> Coordinates:
> Number Of Attributes: 1
> _FillValue : 1e+37
> (0,0) 25.70767
> (0,1) 25.75091
> (0,2) 25.79064
> (0,3) 25.85184
> [snip]
> (2,5) 25.95704
> (2,6) 25.99549
> (2,7) 26.03482
> (2,8) 1e+37 <=====
> (2,9) 1e+37
> (2,10) 1e+37
> (2,11) 1e+37
> (2,12) 26.1619
> (2,13) 26.16949
> (2,14) 26.16148
> [snip]
> 3,4) 25.89764
> (3,5) 25.95115
> (3,6) 1e+37
> (3,7) 1e+37
> (3,8) 1e+37
> (3,9) 1e+37
> (3,10) 1e+37
> (3,11) 1e+37
> (3,12) 1e+37
> (3,13) 1e+37
> (3,14) 1e+37
> (3,15) 1e+37
> (3,16) 1e+37
> (3,17) 26.16814
> (3,18) 26.16628
> (3,19) 26.1693
> (3,20) 26.16752
> (4,0) 25.71928
> (4,1) 25.74613
> (4,2) 25.78636
> (4,3) 25.83197
> (4,4) 25.89648
> (4,5) 1e+37
> (4,6) 1e+37
> (4,7) 1e+37
> (4,8) 1e+37
> (4,9) 1e+37
> (4,10) 1e+37
> (4,11) 1e+37
> (4,12) 1e+37
> (4,13) 1e+37
> (4,14) 1e+37
> (4,15) 1e+37
> (4,16) 1e+37
> (4,17) 1e+37
> (4,18) 1e+37
> (4,19) 26.17847
> (4,20) 26.19264
> (5,0) 25.70962
> (5,1) 25.73441
> (5,2) 25.76884
> (5,3) 25.8217
> (5,4) 25.87821
> (5,5) 1e+37
> (5,6) 1e+37
> (5,7) 1e+37
> [SNIP]
>
> re: "I can usually plot in other languages (matlab, for example)..."
>
> If that region is being plotted, then Matlab is filling the region.
>
> Good luck
>
>
>
>
>
>
>
>
> On Mon, Oct 3, 2016 at 6:16 AM, <leilane.passos at inpe.br> wrote:
>
>> Hi,
>>
>> I'm plotting sea surface temperature from an output of the ROMS, but a
>> plot region is completely white. I checked the file and it is correct, I
>> can usually plot in other languages (matlab, for example), the problem
>> occurs after calling the script Roms_utils.ncl (https://www.ncl.ucar.edu/
>> Applications/Scripts/ROMS_utils.ncl).
>>
>> I had to make 2 modifications to be able to use this script:
>>
>> 1 - comment some lines: 5-133 - I do not know why, but the script does
>> not run if these lines are uncommented.
>>
>> 2 - add another parameter to call function roms_3d_interp: in my case the
>> variable h (Final bathymetry at RHO-points) and the variable that will be
>> interpolated (temp: time-averaged potential temperature) don't be in the
>> same file. h is in my *grid file* and temp is in the *output model file*.
>> So, I added a new parameter when I calling the function - the file_grid:
>>
>> 137 function roms_3d_interp( file_handle, *file_grid*, var:string, \
>> 138 rec:integer, z:numeric )
>>
>> and I changed the lines 166-176 and 208: to call the file that contains
>> the variable h
>>
>> 166 if(typeof(file_grid).eq."file") then
>> 167 ISFILE = True
>> 168 nc_grid = file_grid
>> 169 else if(typeof(file_grid).eq."list") then
>> 170 ISFILE = False
>> 171 nc_grid = file_grid[0]
>> 172 else
>> 173 print("roms_interp_3d: error: the first argument must be a file
>> or a list of files opened with addfile or addfiles")
>> 174 return
>> 175 end if
>> 176 end if
>>
>> ...
>>
>> 208 if(isfilevar(*nc_grid*,"h"))
>>
>>
>>
>> After this function a region with constant temperature is interpolated
>> with missing values. The figures and the scripts are attached. The files:
>> nested_avg_19811216_LEILANE.nc and mesh_donor_grd_004nested_
>> LEILANE.nc are in the FTP server. My NCL version is 6.3.0.
>>
>> I'm new in NCL and I'll appreciate any help.
>>
>>
>> Best regards.
>>
>> Leilane
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20161003/d1945428/attachment.html
More information about the ncl-talk
mailing list