[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20020522: compiling and using SFCPLOT.PGM on alpha



>From: "Alliss, Randall J." <address@hidden>
>Organization: TASC
>Keywords: 200205221642.g4MGgla20244 McIDAS-X SFCPLOT

Randy,

>Is there a mcidas command to plot the cloud cover information for a station
>in "symbol" format. Ie, the circle in the middle representing the station
>and filled in according to total cloud cover.

Not that I know of.  Since the ability to plot partially filled circles
exists (used in SFCMG), this should not be too hard to add to SFCPLOT.

>when we installeed unimcidas 7.804 on our alpha running 4.0f with digital
>FORTRAN5.2 we had to change a line in sfcplot.pgm in order to make it
>compile. The line was :
>
>type=''
>the error in the compiler is zero length string. 
>
>we had to change it to type=char(0) .

I am suprised that my builds on OSF/1 5.1 didn't find this.  When we were
running OSF/1 4.x, our Fortran compiler always complained about things like
this, and I made a number of code modifications to get around the problem.

>it then compiled. However, the program does not run.
>if i issue:  SFCPLOT T FL for example
>i get the error,
>
>SFCPLOT: parameter not defined. T
>SFCPLOT T is not defined

Weird.

>i get the same error no matter the parameter i issue.
>any suggestions?

Try changing "type=char(0)" to "type=' '"; recompiling; and rerunning your
test.  Your change may be causing this since the length of the character
string will be non-zero, and the code then appends the value of 'type'
onto the parameter definition:

c --- check for the parameter type (CHILLTYPE) keyword
      status = mccmdstr('CHI.LLTYPE',1,' ',type)
      if( status.lt.0 ) return
      call mcupcase( type )
      if (type(1:3) .eq. 'CUR' .or. type(1:3) .eq. 'NEW' .or.
     &    type .eq. ' ') then
           type = ' '                   ! <<<<< UPC mod 20020522 OSF/1 4.0 mod
      elseif (type(1:3) .eq. 'OLD') then
           type = 'OLD'
      else
           call edest
     &         ('Valid entries with CHILLTYPE are CURRENT and OLD',0)
           return
      endif
      len_type = len_trim( type )
      if( len_type.gt.0 ) then
         len = len_trim( parameter )
         parameter = parameter(1:len)//'.'//type(1:len_type)
      endif


Setting type to ' ' (one space instead of no spaces) should satisfy your
compiler and result in a len_type of zero.

Later...

Tom

>From address@hidden Thu May 23 08:59:52 2002
>Subject: RE: 20020522: compiling and using SFCPLOT.PGM on alpha 

Tom and Randy,

I made the change as suggested and rebuilt and reinstalled McIdas.
Mary Ellen checked it out and it does work now.

Tom, FYI, the compile problem didn't occur on our Tru64 Unix 5.1 build,
but it is running a newer version of the Compaq Fortran.

Thanks for your help, Tom.

Martha Tonkin