Difference between revisions of "GAMAP bugs and fixes"

From Geos-chem
Jump to: navigation, search
(bug when creating GIF images)
Line 1: Line 1:
 +
== Corrupted binary file error ==
 +
 +
'''''Dylan Millet (dbm@umn.edu) wrote:'''''
 +
 +
:Hi guys -- I ran into a problem with <tt>bpch_link.pro</tt>:
 +
 +
    IDL> bpch_link,'2006*bpch','new.bpch'
 +
    Now Reading 20060101_2x25.ctm.bpch
 +
    % READU: Corrupted f77 unformatted file detected. Unit: 108, File: 20060101_2x25.ctm.bpch
 +
    % Execution halted at: BPCH_LINK        142 /users/dbm/IDL/gamap_v2.10/file_io/bpch_link.pro
 +
    %                      BPCH_LINK        142 /users/dbm/IDL/gamap_v2.10/file_io/bpch_link.pro
 +
    %                      $MAIN$        IDL>
 +
 +
'''''Bob Yantosca (yantosca@seas.harvard.edu) replied:'''''
 +
 +
:You may be using an older version of <tt>bpch_link.pro</tt>.  We recently fixed a problem for the little/big endian but that may not be in the std gamap as of yet.  The fix is simple.  You have to use the SWAP_ENDIAN keyword to all instances of OPEN_FILE:
 +
 +
    ; External functions
 +
    FORWARD_FUNCTION CTM_Grid, CTM_Type, MFindFile, Little_Endian
 +
 +
    ; Open the output file (write as big-endian)
 +
    Open_File, OutFile, Ilun_OUT, /F77, /GET_LUN, /Write, Swap_Endian=Little_Endian()
 +
 +
Specifying <tt>SWAP_ENDIAN=LITTLE_ENDIAN()</tt> in each call to OPEN_FILE will cause IDL to swap the endian ordering if you are running IDL on a little-endian machine. 
 +
 +
'''''NOTE: In [http://www.as.harvard.edu/ctm/gamap/ GAMAP v2-12], all routines that read binary files now use the SWAP_ENDIAN function, so this type of error should not occur again.'''''
 +
 +
--[[User:Bmy|Bob Y.]] 10:35, 18 July 2008 (EDT)
 +
 
== I cannot get a correct GIF or JPEG image from the screen ==
 
== I cannot get a correct GIF or JPEG image from the screen ==
 
In the current version of GAMAP (v2.12), we use a version of TVREAD to get screen dump that has a bug for 16-bit displays. If you are using screen2gif or directly tvread, and your images do not look like the screen output, you are probably using a 16-bit display. You can :
 
In the current version of GAMAP (v2.12), we use a version of TVREAD to get screen dump that has a bug for 16-bit displays. If you are using screen2gif or directly tvread, and your images do not look like the screen output, you are probably using a 16-bit display. You can :

Revision as of 17:22, 8 September 2008

Corrupted binary file error

Dylan Millet (dbm@umn.edu) wrote:

Hi guys -- I ran into a problem with bpch_link.pro:
   IDL> bpch_link,'2006*bpch','new.bpch' 
   Now Reading 20060101_2x25.ctm.bpch
   % READU: Corrupted f77 unformatted file detected. Unit: 108, File: 20060101_2x25.ctm.bpch
   % Execution halted at: BPCH_LINK         142 /users/dbm/IDL/gamap_v2.10/file_io/bpch_link.pro
   %                      BPCH_LINK         142 /users/dbm/IDL/gamap_v2.10/file_io/bpch_link.pro
   %                      $MAIN$         IDL>

Bob Yantosca (yantosca@seas.harvard.edu) replied:

You may be using an older version of bpch_link.pro. We recently fixed a problem for the little/big endian but that may not be in the std gamap as of yet. The fix is simple. You have to use the SWAP_ENDIAN keyword to all instances of OPEN_FILE:
   ; External functions
   FORWARD_FUNCTION CTM_Grid, CTM_Type, MFindFile, Little_Endian

   ; Open the output file (write as big-endian)
   Open_File, OutFile, Ilun_OUT, /F77, /GET_LUN, /Write, Swap_Endian=Little_Endian()

Specifying SWAP_ENDIAN=LITTLE_ENDIAN() in each call to OPEN_FILE will cause IDL to swap the endian ordering if you are running IDL on a little-endian machine.

NOTE: In GAMAP v2-12, all routines that read binary files now use the SWAP_ENDIAN function, so this type of error should not occur again.

--Bob Y. 10:35, 18 July 2008 (EDT)

I cannot get a correct GIF or JPEG image from the screen

In the current version of GAMAP (v2.12), we use a version of TVREAD to get screen dump that has a bug for 16-bit displays. If you are using screen2gif or directly tvread, and your images do not look like the screen output, you are probably using a 16-bit display. You can :

switch to true color 32-bit display if available (go to display in the control panel),
or update tvread.pro

--phs 16:39, 2 September 2008 (EDT)

Using PS-TOP in GAMAP with GEOS-Chem v8+ outputs

GEOS-Chem does not write the category PS-TOP into the tracerinfo.dat anymore (see PS-PTOP vs. PEDGE). However some routines still try to get the pressure surface with that category name. You can simply replace PS-TOP by PEDGE-$ in your program for them to work. To be able to use older GEOS-Chem output and new ones, you may use a coding similar to the one I did for ctm_column_du.pro, which you can find here.

Note that to read pressure surface from time series diagnostic (ND48-51), you need to keep PS-TOP in your IDL routines and replace PEDGE-$ by PS-TOP in the tracerinfo.dat files created by GEOS-Chem. This is a bug, and we expect to get rid of all references to PS-TOP in a future release of GAMAP.

--phs 16:25, 2 September 2008 (EDT)

Bug in GC_COMBINE_ND49

a minor bug could give incorrect results when either /DMAX or /DAVG was used, and timeseries from more than one month were processed at once. The output OUTTIME vector (if requested) was not correct, and if a smaller TIME span than the original series was requested, you could end up with a wrong series. The fix will be available in the next GAMAP release (v2.13). Meanwhile you can get it here.

--phs 14:55, 15 August 2008 (EDT)