;+ ; ; @file_comments ; ; @categories ; ; @param NEWGRID ; ; @returns ; ; @uses ; ; @restrictions ; ; @examples ; ; @history ; ; @version ; $Id$ ; ; @todo ; seb ; ;- ; FUNCTION cmpgrid, newgrid ; compile_opt idl2, strictarrsubs ; @common ; ; ; newgrid must be a structure ; if size(newgrid, /type) NE 8 then return, 0 ; ; does ccmeshparameters exist ? ; if n_elements(ccmeshparameters) EQ 0 then return, 1 ; ; we compare the structure which caracterise the grid whith ; ccmeshparameters ; case 1 of ccmeshparameters.jpiglo NE newgrid.jpiglo: ccmeshparameters.jpjglo NE newgrid.jpjglo: ccmeshparameters.jpkglo NE newgrid.jpkglo: ccmeshparameters.jpi NE newgrid.jpi: ccmeshparameters.jpj NE newgrid.jpj: ccmeshparameters.jpk NE newgrid.jpk: total(ccmeshparameters.glaminfo - newgrid.glaminfo) NE 0: total(ccmeshparameters.gphiinfo - newgrid.gphiinfo) NE 0: ccmeshparameters.ixminmesh NE newgrid.ixminmesh: ccmeshparameters.ixmaxmesh NE newgrid.ixmaxmesh: ccmeshparameters.iyminmesh NE newgrid.iyminmesh: ccmeshparameters.iymaxmesh NE newgrid.iymaxmesh: ccmeshparameters.izminmesh NE newgrid.izminmesh: ccmeshparameters.izmaxmesh NE newgrid.izmaxmesh: ccmeshparameters.key_shift NE newgrid.key_shift: ccmeshparameters.key_periodic NE newgrid.key_periodic: array_equal(ccmeshparameters.key_stride, newgrid.key_stride) EQ 0: ccmeshparameters.key_gridtype NE newgrid.key_gridtype: ccmeshparameters.key_yreverse NE newgrid.key_yreverse: ccmeshparameters.key_zreverse NE newgrid.key_zreverse: ccmeshparameters.key_partialstep NE newgrid.key_partialstep: ccmeshparameters.key_onearth NE newgrid.key_onearth: ELSE:return, 0 endcase return, 1 end