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.
Hi Owen, Long time no hear... re: > It must be time for another NOAA/NCAR field campaign because I only > have problems when I am setting up new batches for a new field > campaign. :-) re: > Here’s a little problem that probably has a quick fix if I can just > figure out the parameter to modify. When I remap a GINI-EAST image in > Mcidas whilst sitting in front of my machine I have no problems. But > when I try to run the same script as a batch job when I am logged out > of my machine I get the following error regarding MAXBYT when the > image is displayed. Can you let me know how I can increase the size > of MAXBYT for my batch jobs? From the output you include: > IMGREMAP GINIEAST/GE1KVIS.-1 MYDATA/IMAGES.6 DEL=YES SMOOTH=YES > PRO=MERC 37 89 LATLON=37 89 SSIZE=ALL RES=.5 SIZE=4400 11500; > *********************************************** > * WARNING * > * The entire source image will be used to * > * create the destination image. If the source * > * image is located on a remote server, the * > * total number of bytes transfered will be: * > * 26.21 MB * > *********************************************** > Beginning Image Data transfer, bytes= 26215168 > IMGREMAP: transformations complete ... begin data move > Transferring AREA data outbound, bytes= 50600928 > IMGREMAP: Done... > GD 1; > Current Workstation McIDAS Graphics settings: > Graphics line width (pixels) = 1 > Length of dashes (pixels) = 10 > Color level of gaps in dashed lines = 255 > Length of gaps (pixels) = 10 > GD: Done > SF 1; ERASE F; IMGDISP MYDATA/IMAGES.6 LATLON=37 89 PLACE=C MAG=-6 -10 > SU=VIS_OWEN; MAP H 5 LALO 6 INT=2 2 PRO=SAT > Erased image frame(s) 1-1 > Erased graphic frame(s) 1-1 > ERASE: Done > Beginning Image Data transfer, bytes= 4301248 > IMGDISP: MCAGET called with MAXBYT too small for 46000 > IMGDISP: done > IMGDISP failed, rc=2 the failure is with the image display (IMGDISP), not the image remapping (IMGREMAP)... that may or may not be important. I have been trying to figure out exactly which routine is calling 'mcaget', but there is simply not enough information at this point. Since you note that the BATCH file executes without error when running in an interactive McIDAS session, I am guessing that the reason that it runs differently when not logged in (probably through a cron-initiated invocation) is that the size of your image frames are different. Please check the size of your McIDAS image window when running interactively (run the 'F' command) and the size when running when not logged in and let me know what those values are. Also, can you send me the full BATCH file _and_ how this BATCH file is being invoked when you are not logged in (presumably some sort of shell script in which 'mcenv' is run).? Comment: - while code diving to try and figure out what is happening, I noted a wildly varying array of ways that 'mcaget' can be called. In particular, when called from 'getnav.for', MAXBYT is as small as 1000. When IMGDISP calls 'mcaget' directly, MAXBYT is set to 32768. When called from IMGCOPY MAXBYT is 1000000, and when called from IMGFILT MAXBYT is 10000. It looks like you may have stumbled upon an instance when the specification of MAXBYT is simply too small for the size of the image you created (46000 is 4x11500). In order to figure out exactly who is calling 'mcaget', can you please do the following: <as 'mcidas'> cd ~mcidas/mcidas2009/src -- edit mcaget.for and: change: C - Check line size against stated maxbyt NBPD=areadir(10)*IFORM*areadir(14) IF(NBPD.GT.MAXBYT) THEN IRET=-36 CALL EDEST('MCAGET called with MAXBYT too small for ',NBPD) goto 1000 ENDIF to: C - Check line size against stated maxbyt NBPD=areadir(10)*IFORM*areadir(14) IF(NBPD.GT.MAXBYT) THEN IRET=-36 ! <<<<< UPC add 20120426 >>>>> CALL EDEST('MCAGET called with MAXBYT = ',MAXBYT) CALL EDEST('MCAGET called with MAXBYT too small for ',NBPD) goto 1000 ENDIF -- after making the change, run 'make' to update the McIDAS library (libmcidas.a) and relink programs that depend on 'mcaget': make make install.bin The next time you run your BATCH file while not being logged on, you should get two error messages: the first will say what the value of MAXBYT is and the second will be the same as it always has been. Please send me the results of this test. Cheers, Tom -- **************************************************************************** Unidata User Support UCAR Unidata Program (303) 497-8642 P.O. Box 3000 address@hidden Boulder, CO 80307 ---------------------------------------------------------------------------- Unidata HomePage http://www.unidata.ucar.edu **************************************************************************** Ticket Details =================== Ticket ID: EKZ-140200 Department: Support McIDAS Priority: Normal Status: Closed