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

20010214: McIDAS composite radar from NEXRAD LEVEL III products



>From: "Alliss, Randall J." <address@hidden>
>Organization: TASC
>Keywords: 200102141354.f1EDsUL26942 McIDAS NOAAPORT NEXRAD composite

Randy,

>I am looking for a mcidas script which will take ALL nexrad sites in precip
>mode and composite them together at 1 km resolution. I want a resulting AREA
>which is not a 640x480 but one which presumably is much larger.

The following is something that Rick Kohrs sent me a few weeks back.
I have not run it myself, but the example output that Rick included
was very nice (URLs included towards the end of this email).

Here is the explanation that Rick sent along:

(re: images he sent me)
  The first is a composite of NEXRAD radar images placed over a
  topography image.
  
  Details
  -------
  Generated list of ID's using STNLIST
  Filtered out clear-air mode looking at imglist output
  ~70 sites were used
  Resolution of data is 6km using mercator projection
  Each image is remapped and combined with IMGOPER (form=cmax) to an
  existing image that has other sites included.
  I used a McBASI job which I have also included.
  total time to process ~14 minutes
  
  The second is the same radar data as above and then vis and ir satellite
  data added to the composite.

REM ? RADCOMP -- Creates composite image of RADAR data for specified state
REM ?      RADCOMP state lat lon res
REM ? Parameters:
REM ?      state       | 2-letter state identifier of RADAR sites to be combined
REM ?      lat         | center latitude of destination image
REM ?      lon         | center longitude of destination image
REM ?      res         | resolution in kilometers of destionation image
REM ?

     input s$
     input n$
     input e$
     input k$

rem
rem --- User can define the name of the temporary data set by changing the 
value of t$
rem 
     let t$ = "RADCOMP/TEMP"

rem
rem --- User can define the directory name for storing temporary data required 
to create composite
rem --- Change the string r$ from temp_directory to your choice.  
rem --- The default value is $HOME/mcidas/data/RAD_TEMP
rem
     let r$ = "temp_directory"

rem
rem --- If user has changed value of r$, don't bother determining the value of 
$HOME 
rem --- and move on to creating dataset name with dsserve
rem
     if r$ <> "temp_directory" goto 5

rem
rem --- Determine value of $HOME - needed for REDIRECT commands
rem
          keyin "OS DEV=T USER_HOME R {echo $HOME}"
          open "USER_HOME",90
          input @90,a$
          h$ = mid$(a$,1,len(a$))
          r$ = h$ + "/mcidas/data/RAD_TEMP"
          close 90

rem
rem --- Create a temporary data set to store temporary images for creating 
composite
rem
5    keyin "DSSERVE ADD RADCOMP/TEMP AREA 9001 9200 {Temporary areas for 
creating RADAR COMP}"

rem
rem --- Create a temporary directory for the temporary images for creating 
composite
rem
     keyin "OS {mkdir $HOME/mcidas/data/RAD_TEMP}"

rem
rem --- Set up a file redirection for temporary images
rem
     keyin "REDIRECT ADD AREA90* {"; r$ ;"}"
     keyin "REDIRECT ADD AREA91* {"; r$ ;"}"
     keyin "REDIRECT ADD AREA9200 {"; r$ ;"}"

rem
rem --- Determine the stations for the state requested
rem
     keyin "STNLIST CO="; s$ ;" TYPE=N DEV=T RAD_SITE.DOC R"

rem
rem --- Loop through all the stations
rem
     let c = 1
     let p = 10
     open "RAD_SITE.DOC",10
     input @10,a$
10   input @10,a$
     print a$
     if mid$(a$,1,4)=EOF$ close 10 : goto 100
     if mid$(a$,1,4)="Numb" close 10 : goto 100
     p$ = mid$(a$,7,3)

rem 
rem --- Get a listing for the ID and check to see if it is in PRECIP mode
rem
     keyin "IMGLIST NEXRAD/BREF1 FORM=EXP ID="; p$ ;" DEV=T RAD_PROD.DOC R"
     open "RAD_PROD.DOC",20
     input @20,b$
     input @20,b$
     input @20,b$
     input @20,b$
     input @20,b$
     input @20,b$
     input @20,b$
     if mid$(b$,69,6) <> "Precip" close 20 : goto 10

rem
rem --- Copy the data and process
rem
     keyin "IMGCOPY NEXRAD/BREF1 "; t$ ;".1 SIZE=SAME STYPE=VISR ID="; p$ 
     keyin "IMGREMAP "; t$ ;".1 "; t$ ;"."; p ;" PRO=MERC LATLON="; n$,e$ ;" 
SIZE=960 1280 RES="; k$
     let z=status
     if z=0 if c=1 keyin "IMGCOPY "; t$ ;"."; p ;" "; t$ ;".199 SIZE=ALL" : let 
c=10 : close 20 : let p = p + 1 : goto 10 
     if z=0 if c<>1 keyin "IMGOPER "; t$ ;"."; p ;" "; t$ ;".199 "; t$ ;".200 
ZERO=DATA FORM=CMAX SIZE=ALL" 
     if z=0 if c<>1 keyin "IMGCOPY "; t$ ;".200 "; t$ ;".199 SIZE=ALL"
     let p = p + 1
     close 20
     goto 10

100  keyin "IMGOPER "; t$ ;".200 "; t$ ;"."; p ;" "; t$ ;".199 ZERO=DATA 
FORM=CMAX SIZE=ALL" 
     keyin "IMGDISP ";  t$ + ".199 EU=BREF"
     stop

The example images that Rick sent along can be see at:

http://www.unidata.ucar.edu/staff/tom/us_composite.gif
http://www.unidata.ucar.edu/staff/tom/sat_rad.jpg

>Thanks,

Thank Rick.  Also, he may have done some more work on this that I don't
know about, so you may want to check with him (I would be interested
if you find that he has improvements).

What's really needed is a standalone, tightly written application
that will do the NIDS compositing into a highly compressible image
format.  14 minutes to create a composite in McIDAS is simply too slow
to be really useful.  Also, the resulting AREA file will be _large_.  I
would suggest that the single purpose compositer use something like
WSI's NOWrad (tm) format (since I already have an ADDE server for data
in that format), but I think that it is proprietary.  We might need to
look at something like PNG.

Also,  we have a new OSF/1 box that will get setup in the short
time frame (like next month), so I will have a platform on which I may
be able to replicate your color problem.  Also, another site of mine
just loaded 7.7 on an OSF1 5.0 box.  He has not yet reported any of the
things that you have seen, but, then again, he just got the machine up
yesterday.

Finally, I found a problem where a remote ADDE server hosted on RedHat
6.2 and 7.0 Linux can not successfully serve sounding data.  ADDE works
fine if the dataset is LOCAL-DATA, but not if the data is accessible
through the remote interface.  I just verified yesterday that this
problem did not exist on RedHat 5.2 Linux, and will be trying various
combinations of compilation environments on 6.2 and 7.0 today.  The
reason I mention this is not since you are running Linux (I don't know
of you are), but since you are using a platform that is not heavily
used in the Unidata community (OSF/1, I mean).

So, the question back to you is whether or not you can successfully
serve sounding data (i.e., the client is either UAPLOT, UALIST, or
HODO) from a remote ADDE server hosted on OSF/1 4.0F?  The access does
not have to be from a machine that is different from the server; the
failure seen relates to going through the remote ADDE server
interface.  Also, I do not see the problem when the remote server is
hosted on a Sun SPARC or Solaris x86 machine.

To be specific, the situation is:  If the machine in question is named
blah.blah.blah and I am running a McIDAS session on blah.blah.blah, the
following works:

DATALOC ADD RTPTSRC LOCAL-DATA
UAPLOT KDNR 12

but the following does not

DATALOC ADD RTPTSRC blah.blah.blah
UAPLOT KDNR 12

Any observations you can provide on use of sounding data through a
remote ADDE interface on DEC OSF/1 would be greatly appreciated.

Tom