[Thread Prev][Thread Next][Index]

Re: [ferret_users] temperature on bathymetry



Hello,

When you're running your script, at the time you see the error  **ERROR: required program command has not been given: SET DATA_SET

Right then, type in
yes? show data
Is the dataset still listed?  It should show your data, and should say (default) in the line that lists the path and name of the dataset.

In your script you could move the "use" command to just before the "LET slanttemp" command.


In your script, the index i is used in two different ways.  You are using it as an index to define the sample points xlon and ylat, and it is also an a index of the grid of the variable temp.  Then when you go to evaluate the variable, the range of i is ambiguous.  This issue is described in the Users List under "Grid-Changing Functions", see the link from the documentation of SAMPLEXY.

For grid-changing functions, we need to give the an index range or coordinate range for all of the arguments, based on the grid of each argument.  You did that with temp[x=1:193,y=1:87].  It's also best to do it with xlon and ylat.

[ define xlon and ylat ]

yes? use rhoneG_1.tsout3N
yes? LET slanttemp = samplexy(temp[x=1:193,y=1:87],xlon[i=1:10],ylat[j=1:10])

Finally, the SAMPLEXY function in current Ferret versions does not handle modulo longitude operations when there is a sub-range in longitudes.  This is something that we recently discovered, and the behavior will be fixed in future versions, so that if the points are known to be longitudes and latitudes, things will work without any adjustment. 

For now, though, this means that if the grid of your variable TEMP has longitude defined as x=0:360, and you define xlon in the range -80 to -71, then it will not find an answer, but will give you a plot that just says No Valid Data.  So instead, make sure the xpts are in the same range as the longitude coordinates in the file.

Here is a file with 4-D data,
yes? use ocean_atlas_temp
yes? sh dat
     currently SET data sets:
    1> /home/users/tmap/ferret/linux/fer_dsets/data/ocean_atlas_subset.nc  (default)
 name     title                             I         J         K         L         M         N
 TEMP     Temperature                      1:180     1:90      1:19      1:12      ...       ...
 
yes? show grid temp
    GRID GHA1
 name       axis              # pts   start                end                 subset
 XAX_SUBSET LONGITUDE         180mr   20.5E                18.5E(378.5)        full
 YAX_SUBSET LATITUDE           90 r   89.5S                88.5N               full
 ZAXLEVIT19 DEPTH (m)          19 i-  0                    1000                full
 TIME      TIME                12mr   16-JAN 06:00         16-DEC 01:20        full
So this dataset has its longitudes in 20:380.  If I give SAMPLEXY points with xlon=-80:-71, it will not return an answer, but if I define the points this way, it's fine.
yes? let/units=degrees_east xlon = 360-80+(i[i=1:10]-1)
yes? LET slope=0.5
yes? LET/units=degrees_north ylat = 41 + slope*(i[i=1:10] -1)/2
yes?
LET slanttemp = samplexy(temp[x=1:193,y=1:87],xlon[i=1:10],ylat[j=1:10])

On 8/17/2016 12:27 PM, 'Sara Sari' via _OAR PMEL Ferret Users wrote:
So could you give me a solution for this problem?
Thnx


On Wed, Aug 17, 2016 at 1:34 AM, 'Sara Sari' via _OAR PMEL Ferret Users
I use version V6.93


On Tuesday, August 16, 2016 9:32 PM, 'Sara Sari' via _OAR PMEL Ferret Users <ferret_users@xxxxxxxx> wrote:


I forgot to say that I don't use spherical coordinate, I just have 194 *87 pts with resolution of 2km. so is that possible that as I don't work with lat and longitude so this causes the problem?
regards,
Sara


On Tuesday, August 16, 2016 8:41 PM, Sara Sari <sarasari206@xxxxxxxxx> wrote:


thank you Russ,
Here is the complete script:

use rhoneG_1.tsout3N
yes? sh d
 name     title                                          I         J         K             L         M         N
 XOUT     X-coordinate                     1:193     1:87      ...          ...       ...       ...
 YOUT     Y-coordinate                     1:193     1:87      ...          ...       ...       ...
 ZOUT     Z-coordinate                     1:193     1:87      1:25      ...       ...       ...
 TEMP     Temperature                     1:193     1:87      1:25      1:7       ...       ...
yes? let xlon = -80+(I[I=1:10]-1)
yes? LET slope=0.5
yes? LET ylat = 41 + slope*(i[i=1:10] -1)/2 
yes? PLOT/VS/LINE/SYM=27 xlon,ylat
yes? GO land
yes? LET slanttemp = samplexy(temp[x=1:193,y=1:87],xlon,ylat)
yes? fill/vlimits=1:25/l=1 slanttemp
 **ERROR: required program command has not been given: SET DATA_SET

even after adding l=1 I still get the same error.


On Monday, August 15, 2016 11:15 PM, Russ Fiedler <russell.fiedler@xxxxxxxx> wrote:



Hi Sara,

It looks like you haven't loaded the data set. What does SHOW DATA return before and after the GO LAND command?

However, you aren't showing us the complete script so it's impossible to tell what is going on. As it stands there should be an error issued for trying to create a fill/shade plot with a 3 dimensional data set as "slanttemp" has been sampled along the line but also has depth and time axes.

The command should be something like

fill/l=1 slanttemp

unless you have set regions elsewhere.

Russ

On 16/08/16 11:31, 'Sara Sari' via _OAR PMEL Ferret Users wrote:
Hi ferret users,
I'm trying to plot temp on bathymetry on Lake Erie,
Here is my data:
 name     title                                          I         J         K             L         M         N
 XOUT     X-coordinate                     1:193     1:87      ...          ...       ...       ...
 YOUT     Y-coordinate                     1:193     1:87      ...          ...       ...       ...
 ZOUT     Z-coordinate                     1:193     1:87      1:25      ...       ...       ...
 TEMP     Temperature                     1:193     1:87      1:25      1:7       ...       ...


My area lies between -84:-78(long)    and 41:42 (lat)
I use samplexy script:

yes? let xlon = -80+(I[I=1:10]-1)
yes? LET slope=0.5
yes? LET ylat = 41 + slope*(i[i=1:10] -1)/2 
yes? PLOT/VS/LINE/SYM=27 xlon,ylat
yes? GO land
yes? LET slanttemp = samplexy(temp[x=1:193,y=1:87],xlon,ylat)
yes? fill/vlimits=1:25 slanttemp
 **ERROR: required program command has not been given: SET DATA_SET

I don't get this error. and one more thing: is my script ok? I mean in one part using x and y points and in the other using lat and long?
Thank you,
Sara



 










[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement