[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


>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.
  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

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

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

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
     let r$ = "temp_directory"

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

rem --- Determine value of $HOME - needed for REDIRECT commands
          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 --- Create a temporary data set to store temporary images for creating 
5    keyin "DSSERVE ADD RADCOMP/TEMP AREA 9001 9200 {Temporary areas for 
creating RADAR COMP}"

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

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

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

rem --- Loop through all the stations
     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 --- Get a listing for the ID and check to see if it is in PRECIP mode
     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 --- Copy the data and process
     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 
     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 
     keyin "IMGDISP ";  t$ + ".199 EU=BREF"

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



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

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:


but the following does not

DATALOC ADD RTPTSRC blah.blah.blah

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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.