source: trunk/mesoscale/LMD_MM_MARS/SRC/WPS/ungrib/src/table.F90 @ 87

Last change on this file since 87 was 11, checked in by aslmd, 14 years ago

spiga@svn-planeto:ajoute le modele meso-echelle martien

File size: 2.4 KB
Line 
1!
2! This file contains a module, which is used to pass around information
3! from the Vtable from one program component to another
4!
5module Table
6  implicit none
7
8! We have parameterized the maximum number of variables we expect to want to
9! read:
10  integer, parameter :: maxlines=100
11
12! Each variable has a name.  The names are stored in array NAMVAR.
13! Initialize the NAMVAR field to blanks:
14  character (LEN=9) , dimension(maxlines) :: namvar = ' '
15
16! Array DUNITS holds the unit strings for the fields.
17  character (LEN=25), dimension(maxlines) :: Dunits = ' '
18
19! Array DDESC holds the description strings for the fields.
20  character (LEN=46), dimension(maxlines) :: Ddesc =  ' '
21
22! Most of the fields are output, but some are not.  The names of the
23! fields we want to output are stored in NAMEOUT.  Initialize the
24! NAMEOUT field to blanks:
25  character (LEN=9) , dimension(maxlines) :: nameout = ' '
26  character (LEN=25), dimension(maxlines) :: unitout = ' '
27  character (LEN=46), dimension(maxlines) :: descout = ' '
28
29! MAXVAR is the count of variables we have read.  It is initialized to ZERO.
30  integer :: maxvar = 0
31
32! MAXOUT is the count of the variables we want to output.
33! Initialize it to zero.
34  integer :: maxout = 0
35
36! Array GCODE holds the GRIB1 param numbers of the fields we want to access:
37  integer, dimension(maxlines) :: gcode
38! Array LCODE holds the GRIB1 level types of the params we want to access:
39  integer, dimension(maxlines) :: lcode
40
41! Array G2_GCODE holds the GRIB2 param numbers of the fields we want to access
42! and the GRIB2 level types of the params we want to access:
43  integer, dimension(4,maxlines) :: g2code
44
45! Array LEVEL1 holds the Level-1 values of the fields we want:
46! If the Vtable has a '*' for the Level-1 value, LEVEL1 has
47! the value -99.
48  integer, dimension(maxlines) :: level1
49
50! Array LEVEL2 holds the Level-2 values of the fields we want.
51! If LEVEL2 is not needed for a particular field, it is set to
52! -99.
53  integer, dimension(maxlines) :: level2
54
55! Array IPRTY holds the priority values of the fields:
56! Priorities are used with surface fields, when we have
57! encountered the situation where a field may be stored in two different
58! ways in a file.  Ultimately, the field with the lower priority number
59! (i.e., higher priority) is what is output.
60  integer, dimension(maxlines) :: iprty
61
62  integer :: blankcode = -99
63  integer :: splatcode = -88
64
65end module Table
Note: See TracBrowser for help on using the repository browser.