This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
>From: Robert Mullenax <address@hidden> >Organization: NMSU/NSBF >Keywords: 199911192037.NAA23504 McIDAS shell scripts Robert, Hi, Tom here. I'm back from Down Under, so I will handle this one. >Thanks for looking into that for me. > >Maybe you could help me with the question I posted to mcidas-x. >I am trying to add thickness to the list of parameters >on our web page and I cannot get the string used to >calculate thickness to work in the Bourne shell script. > >G1='PARAM Z;LEV 500;FHOUR 24' G2='LEV 1000' MATH='G1-G2' > >I have tried using backslashes to protect the quotes, double >quotes, combinations, and I can't get to produce anything. > >When I try this: > >grddisp.k RTGRIDS/AVN TDA=CAL NAV=C DAY=1999323 DASH=NEG G1="'PARAM Z;LEV 500; > FH >OUR 36;TIME 12;GPRO MERC'" G2="'LEV 1000'" MATH="'G1-G2'" CINT=60 > >I get: >grddisp.k: GRID SERVER COULDNT FIND FILE 0 > >If I but backslashes in front of the single quotes, I get the same thing. > >If I don't use the double quotes, then the shell complains that it >LEV, FHOUR..etc not found. > >Any ideas? I took your grddisp.k invocation and created a simple test script that exercises it so I could verify your problem. With the following, I did verify the error you were getting: #!/bin/sh MCHOME=/home/mcidas MCDATA=$MCHOME/workdata MCPATH=${MCDATA}:$MCHOME/data:$MCHOME/help PATH=$MCHOME/bin:$PATH LD_LIBRARY_PATH=/usr/openwin/lib:/opt/SUNWspro/SC4.2/lib:$MCHOME/lib:/usr/lib:/u sr/ucblib cd $MCDATA MCPATH=$MCPATH PATH=$PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH mcenv << EOF map.k NA grddisp.k RTGRIDS/AVN TDA=CAL NAV=C DAY=1999323 DASH=NEG G1="'PARAM Z;LEV 500;FHOUR 36;TIME 12;GPRO MERC'" G2="'LEV 1000'" MATH="'G1-G2'" CINT=60 EOF # Done exit 0 What happens in the above is that the double quotes are not evaluated (meaning that the command line looks just like it is typed above). So, what is needed is: #!/bin/sh MCHOME=/home/mcidas MCDATA=$MCHOME/workdata MCPATH=${MCDATA}:$MCHOME/data:$MCHOME/help PATH=$MCHOME/bin:$PATH LD_LIBRARY_PATH=/usr/openwin/lib:/opt/SUNWspro/SC4.2/lib:$MCHOME/lib:/usr/lib:/u sr/ucblib cd $MCDATA MCPATH=$MCPATH PATH=$PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH mcenv << EOF map.k NA grddisp.k RTGRIDS/AVN TDA=CAL NAV=C DAY=1999323 DASH=NEG G1='PARAM Z;LEV 500;FHOUR 36;TIME 12;GPRO MERC' G2='LEV 1000' MATH='G1-G2' CINT=60 EOF # Done exit 0 The second script runs with the following output: sh test.sh In .cshrc... MAP: completed frame 1 grddisp.k: Done with graphic frame 1 GRDDISP - done >Thanks, Let me know if you see different results on your machine, or if you were not using the mcenv << EOF construct (I figured you were since the GRDDISP invocation says to plot on top of what is already in the frame). Tom