[Thread Prev][Thread Next][Index]

Re: [ferret_users] list problem



Hi Jonathon, Jaison,
Thanks Jaison for answering again.  The limit for the length of a command line is 2048 characters, as read directly from the command line, before any grave-accent expressions are evaluated or anything, and the same limit is on the command line after the grave-accent expressions have been evaluated. I don't think Jonathon's command is running into that limit, though. It looks to me in the Ferret code as if there's just an upper limit on the number of substitution passes the parsing code will make.

Another way to set this up would be to define intermediate variables with the averaging and dataset information, and LIST those.

LET air_a = air[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=14]
LET shum_a = [x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=5]
...
SET LIST/FORMAT=(1X,18F14.6)
LIST/FILE=ncep.dat/WIDTH=50 air_a, shum_a, ...



Jaison Kurian wrote:
Hi Jonathan,
              Ferret too have limitations (Please have a look at Ferret user 
manual, Ch4 Sec4.  FERRET PROGRAM LIMITS)! The command line cannot grow beyond
a certain length, the limits being different in different situations. Just 
change the listing procedure slightly, you will get it done! Few methods are 
given below.

     use ncep_1996_lh.nc 
     ......
     ncep_1996_v10m.nc

     cancel list/head
     set list/format=(1X,18F14.6)

     set reg/x=-85.5:-90.5/y=37.5:42.5

     sp rm -f ncep.dat
     list/file=ncep.dat air[x=@AVE,y=@AVE,d=14],dswrf[x=@AVE,y=@AVE,d=5],...
               ........................

If you want to reduce the command line length further, use a symbol to 
specify the averaging operation like;

     define symbol av = x=@AVE,y=@AVE

     sp rm -f ncep.dat
     list/file=ncep.dat air[($av),d=14],dswrf[($av),d=5],...

The above symbol can also take the form (if there is no explicit "set reg"
command, and with variables lon_s, lon_f, lat_s & lat_f defined)

     define symbol av = x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave

  
Insights......
--------------

 If you don't have any immediate mode evaluation (grave accents ``) along with
variable names, the list command can grow up to 2048 character length. With,
immediate mode evaluation, the variables in this category cannot occupy more
than ~690 character length. This numbers again depends on the list format and
other similar things (i guess so...).

Please let me know if you have any questions.

Jaison



On Thu, 6 Sep 2007, Jonathan Winter wrote:

  
I'm trying to write out a file of values.  I pasted the output of my
commands below.  If I don't include the variable "pres", which means I'm
only outputting 12 variables (columns), it works fine.  Any idea why
this is or what I can do to write all 18 variables to the same file?
Thanks in advance for the help.

jonathan

yes? go ncep_aggr.jnl
!cancel mode/verify
cancel list/head
let lon_s = -85.5
let lon_f = -90.5
let lat_s = 37.5
let lat_f = 42.5

use ncep_1996_lh.nc    !#1
use ncep_1996_lwd.nc   !#2
use ncep_1996_lwu.nc   !#3
use ncep_1996_psrf.nc  !#4
use ncep_1996_qa.nc    !#5
use ncep_1996_ro.nc    !#6
use ncep_1996_rsw.nc   !#7
use ncep_1996_rt.nc    !#8
use ncep_1996_sh.nc    !#9
use ncep_1996_solin.nc !#10
use ncep_1996_ssw.nc   !#11
use ncep_1996_swi.nc   !#12
use ncep_1996_swu.nc   !#13
use ncep_1996_ta.nc    !#14
use ncep_1996_tauu.nc  !#15
use ncep_1996_tauv.nc  !#16
use ncep_1996_u10m.nc  !#17
use ncep_1996_v10m.nc  !#18

set list/format=(1X,18F14.6)
list/file=ncep.dat/width=50 air
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=14], shum
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=5], dswrf
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=12], uswrf
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=13], lhtfl
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=1], shtfl
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=9], ulwrf
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=3], dlwrf
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=2], prate
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=8], runof
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=6], uwnd
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=17], vwnd
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=18], pres
[x=`lon_s`:`lon_f`@ave,y=`lat_s`:`lat_f`@ave,d=4]
 **ERROR: command syntax: Recursive aliases or GO argument definitions
list/file=ncep.dat/width=50 air[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=14],
shum[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=5], dswrf
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=12], uswrf
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=13], lhtfl
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=1], shtfl
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=9], ulwrf
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=3], dlwrf
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=2], prate
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=8], runof
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=6], uwnd
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=17], vwnd
[x=-85.5:-90.5@ave,y=37.5:42.5@ave,d=18], pres
[x=-85.5:-90.5@ave,y=`lat_s`:`lat_f`@ave,d=4]



    

  

[Thread Prev][Thread Next][Index]

Contact Us
Dept of Commerce / NOAA / OAR / PMEL / TMAP

Privacy Policy | Disclaimer | Accessibility Statement