[Thread Prev][Thread Next][Index]

Re: [ferret_users] Problems with netcdf output and zaxreplace



Hi Ashley,
thanks for your suggestion.

I preferred to implement the other method because it involved a single Ferret call, but I haven't thought about passing all variables in that way. You are suggesting something like

ferret -script scriptname.jnl model1 model2 model3

which would be great to have, but I should find a way to loop across all models from inside the jnl script. Now my jnl script includes

define symbol model = ($01)

to read the argument, because I'm parsing only one argument at a time. How can I loop over all models from inside the jnl script?

Cheers,
Giorgio


----Messaggio originale----
Da: ansley.b.manke@xxxxxxxx
Data: 12-mag-2020 19.55
A: <ferret_users@xxxxxxxx>
Ogg: Re: [ferret_users] Problems with netcdf output and zaxreplace

Hi Giorgio,

Another method for sending Ferret/PyFerret a set of commands is to use the -script option on startup.

> pyferret -script my_script.jnl  [arguments]

This is generally more flexible than piping commands.  The startup option -batch for Ferret or -nodisplay for PyFerret are also useful when you don't want to have graphics windows display.  Note that -script must appear last among command line switches so that the script arguments will be parsed correctly.

Unix command-line switches



On 5/9/2020 3:19 AM, Giorgio Graffino wrote:
Hi Ryo,
thanks to your "quote" suggestion I could successfully run my bash script.

Cheers,
Giorgio

----Messaggio originale----
Da: furue@xxxxxxxxxx
Data: 28-apr-2020 14.28
A: "Giorgio Graffino" <g.graffino@xxxxxx>
Cc: "Ferret" <ferret_users@xxxxxxxx>
Ogg: Re: [ferret_users] Problems with netcdf output and zaxreplace

Hi Giorgio,

On Tue, Apr 28, 2020 at 7:09 PM Giorgio Graffino < g.graffino@xxxxxx> wrote:

!-> REPEAT: I=1
**ERROR: command syntax: II = ???
define symbol ii

Compare this line with the one in the original shell script:

ferret << STOP
. . . 
define symbol ii `i`
. . .
STOP

Where did   `i`  go?

In the shell script as well as in the ferret script, the backquote construct is evaluated.  In the above shell script, the shell tries to run a command named "i".  It fails and is replaced with an empty string.  I suppose you saw this error message on your screen

. . . i: command not found

To prevent the shell from interpreting the backquote construct, you "quote" the here-document by

ferret <<'STOP'
. . . 
STOP

Ryo
--------------------
To see what's going on, run this kind of test shell script

echo date
echo `date`
echo "abc `date` def"
echo 'abc `date` def'

cat <<EOF
date
`date`
EOF

cat <<'EOF'
date
`date`
EOF



-- 
Ansley Manke
Science Data Integration Group
NOAA Pacific Marine Environmental Laboratory
7600 Sand Point Way NE
Seattle WA 98115

I am currently teleworking and am available Tue-Wed-Thu.



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

Privacy Policy | Disclaimer | Accessibility Statement