source: TOOLS/CMIP6_FORCING/AER_TROP_EMISSIONS/GRID/grid_vert_lmdz.F90 @ 3397

Last change on this file since 3397 was 3397, checked in by oboucher, 7 years ago

Adding self consistent description files for LMDz grids

File size: 2.2 KB
Line 
1 PROGRAM toot
2 IMPLICIT NONE 
3
4!--ICAO profile
5!--flight level given ICAO table
6!--41 levels from ICAO table and 1 dummy level on bottom, 2 on top
7  INTEGER, PARAMETER :: flevel=44, klev=79
8!--feetICAO(flevel)=surface, feetICAO(1)=haute altitude
9  REAL :: feetICAO(flevel)
10!--pressure ICAO in hPa - from top to surface
11  REAL, DIMENSION(flevel), PARAMETER ::               &
12                          pICAO=(/0.,125.,188.,197.,  &
13  206.,217.,227.,238.,250.,262.,274.,287.,301.,315.,  &
14  329.,344.,360.,376.,393.,410.,428.,446.,466.,485.,  &
15  506.,527.,549.,572.,595.,619.,644.,670.,697.,724.,  &
16  753.,782.,812.,843.,875.,908.,942.,977.,1013.,1050./)
17
18  REAL :: feetLMDz, altLMDz(klev)
19  REAL, PARAMETER :: feet2meters=0.3048
20  INTEGER :: k, kk
21
22  REAL,DIMENSION(klev),PARAMETER :: pplay=(/                               &
23    101202.1, 100942.4, 100653.4, 100331.9, 99974.2, 99576.55,             &
24    99134.67, 98643.84, 98098.98, 97494.48, 96824.3, 96081.91, 95260.24,   &
25    94351.73, 93348.34, 92241.55, 91022.46, 89681.82, 88210.2, 86598.11,   &
26    84836.23, 82915.69, 80828.4, 78567.48, 76127.79, 73506.45, 70703.54,   &
27    67722.81, 64572.39, 61265.38, 57820.47, 54262.17, 50620.74, 46931.69,  &
28    43234.69, 39571.99, 35986.37, 32518.85, 29206.36, 26079.83, 23162.71,  &
29    20470.42, 18010.36, 15782.71, 13781.58, 11996.42, 10413.44, 9016.865,  &
30    7790.02, 6716.147, 5778.999, 4963.233, 4254.644, 3640.276, 3108.45,    &
31    2648.733, 2251.867, 1909.687, 1615.018, 1361.581, 1143.891, 957.1722,  &
32    797.2696, 660.5754, 543.9607, 444.7146, 360.4912, 289.2627, 229.2787,  &
33    179.0303, 137.2198, 102.7344, 74.62312, 52.07758, 34.41441, 21.05668,  &
34    11.50741, 5.296797, 1.483435 /)
35
36!--initialise ICAO flight levels
37    DO k=3,flevel
38      feetICAO(k)=FLOAT(flevel-k-1)*1000.
39    ENDDO
40    feetICAO(2)= 47000.
41    feetICAO(1)=300000.
42
43    DO k=1,klev
44        DO kk=1,flevel-1
45            IF (pplay(k).LT.pICAO(kk+1)*100. .AND. pplay(k).GE.pICAO(kk)*100.) THEN
46               feetLMDz=feetICAO(kk)+(feetICAO(kk+1)-feetICAO(kk)) &
47                            *(pplay(k)-pICAO(kk)*100.)/(pICAO(kk+1)*100.-pICAO(kk)*100.)
48                 altLMDz(k)=feet2meters*feetLMDz*1.e-3 !-en km
49              ENDIF
50       ENDDO
51    ENDDO
52
53    print *,'altLMDz=', altLMDz
54
55    END
Note: See TracBrowser for help on using the repository browser.