1 | FUNCTION cmpgrid, newgrid |
---|
2 | ; |
---|
3 | ; |
---|
4 | compile_opt idl2, strictarrsubs |
---|
5 | ; |
---|
6 | @common |
---|
7 | ; |
---|
8 | ; |
---|
9 | ; newgrid must be a structure |
---|
10 | ; |
---|
11 | if size(newgrid, /type) NE 8 then return, 0 |
---|
12 | ; |
---|
13 | ; does ccmeshparameters exist ? |
---|
14 | ; |
---|
15 | if n_elements(ccmeshparameters) EQ 0 then return, 1 |
---|
16 | ; |
---|
17 | ; we compare the structure which caracterise the grid whith |
---|
18 | ; ccmeshparameters |
---|
19 | ; |
---|
20 | case 1 of |
---|
21 | ccmeshparameters.jpiglo NE newgrid.jpiglo: |
---|
22 | ccmeshparameters.jpjglo NE newgrid.jpjglo: |
---|
23 | ccmeshparameters.jpkglo NE newgrid.jpkglo: |
---|
24 | ccmeshparameters.jpi NE newgrid.jpi: |
---|
25 | ccmeshparameters.jpj NE newgrid.jpj: |
---|
26 | ccmeshparameters.jpk NE newgrid.jpk: |
---|
27 | total(ccmeshparameters.glaminfo - newgrid.glaminfo) NE 0: |
---|
28 | total(ccmeshparameters.gphiinfo - newgrid.gphiinfo) NE 0: |
---|
29 | ccmeshparameters.ixminmesh NE newgrid.ixminmesh: |
---|
30 | ccmeshparameters.ixmaxmesh NE newgrid.ixmaxmesh: |
---|
31 | ccmeshparameters.iyminmesh NE newgrid.iyminmesh: |
---|
32 | ccmeshparameters.iymaxmesh NE newgrid.iymaxmesh: |
---|
33 | ccmeshparameters.izminmesh NE newgrid.izminmesh: |
---|
34 | ccmeshparameters.izmaxmesh NE newgrid.izmaxmesh: |
---|
35 | ccmeshparameters.key_shift NE newgrid.key_shift: |
---|
36 | ccmeshparameters.key_periodic NE newgrid.key_periodic: |
---|
37 | array_equal(ccmeshparameters.key_stride, newgrid.key_stride) EQ 0: |
---|
38 | ccmeshparameters.key_gridtype NE newgrid.key_gridtype: |
---|
39 | ccmeshparameters.key_yreverse NE newgrid.key_yreverse: |
---|
40 | ccmeshparameters.key_zreverse NE newgrid.key_zreverse: |
---|
41 | ccmeshparameters.key_partialstep NE newgrid.key_partialstep: |
---|
42 | ccmeshparameters.key_onearth NE newgrid.key_onearth: |
---|
43 | ELSE:return, 0 |
---|
44 | endcase |
---|
45 | |
---|
46 | return, 1 |
---|
47 | end |
---|