1 | |
---|
2 | ; |
---|
3 | ;============================================================================== |
---|
4 | ; 1) User parameters |
---|
5 | ;============================================================================== |
---|
6 | ; |
---|
7 | |
---|
8 | out_dir='' |
---|
9 | file_out = 'ThicknessSpace' |
---|
10 | |
---|
11 | numplot_x = 1 ; number of horizontal plots |
---|
12 | numplot_y = 1 ; number of vertical plots |
---|
13 | ct = 13 ; colortable |
---|
14 | cs = 2.0 ; size of fonts on plots (1=normal) |
---|
15 | th = 2. ; thickness of curves |
---|
16 | device = 'PS' ; 'PS' or 'X' |
---|
17 | |
---|
18 | ; |
---|
19 | ;============================================================================== |
---|
20 | ; 2) Initialize graphics |
---|
21 | ;============================================================================== |
---|
22 | ; |
---|
23 | |
---|
24 | dx = 12. |
---|
25 | dy = 8. |
---|
26 | figuresize_x = numplot_x * dx; figure size on x direction |
---|
27 | figuresize_y = numplot_y * dy; figure size on y direction |
---|
28 | SET_PLOT, DEVICE |
---|
29 | ;!P.FONT=1 |
---|
30 | TVLCT, [0,255,0,0], [0,0,255,0], [0,0,0,255] |
---|
31 | IF ( device EQ 'PS' ) THEN BEGIN |
---|
32 | ; DEVICE, /COLOR, /LANDSCAPE, filename=out_dir+file_out+'.ps', $ |
---|
33 | ; XSIZE=figuresize_x,YSIZE=figuresize_y,FONT_SIZE=12.0, SET_FONT='Helvetica', BITS = 16 |
---|
34 | DEVICE, /COLOR, /LANDSCAPE, filename=out_dir+file_out+'.ps', $ |
---|
35 | XSIZE=figuresize_x,YSIZE=figuresize_y,FONT_SIZE=9.0 |
---|
36 | ENDIF |
---|
37 | |
---|
38 | IF ( device EQ 'X' ) THEN BEGIN |
---|
39 | xsize = 1200 |
---|
40 | ysize = 800 |
---|
41 | colorkey = 'rd' |
---|
42 | init_graphics_x, xsize, ysize, colorkey |
---|
43 | ENDIF |
---|
44 | |
---|
45 | !P.MULTI=[0,numplot_x,numplot_y] |
---|
46 | !X.MARGIN = [7,3] |
---|
47 | !Y.MARGIN = [4,3] |
---|
48 | |
---|
49 | ; |
---|
50 | ;============================================================================== |
---|
51 | ; 2) Initialize graphics |
---|
52 | ;============================================================================== |
---|
53 | ; |
---|
54 | |
---|
55 | jpl = 5 |
---|
56 | jpl1 = 10 |
---|
57 | |
---|
58 | ;----------------------- |
---|
59 | ; original CICE version |
---|
60 | ;----------------------- |
---|
61 | |
---|
62 | hi_max_cice_5 = FLTARR(jpl+1) |
---|
63 | hi_max_cice_5(0) = 0 |
---|
64 | zc1 = 3. / FLOAT(jpl) |
---|
65 | zc2 = 10. * zc1 |
---|
66 | zc3 = 3. |
---|
67 | |
---|
68 | FOR jl = 1, jpl DO BEGIN |
---|
69 | zx1 = FLOAT( jl-1 ) / FLOAT( jpl ) |
---|
70 | hi_max_cice_5(jl) = hi_max_cice_5(jl-1) + zc1 + zc2 * (1. + TANH( zc3 * (zx1 - 1. ) ) ) |
---|
71 | ENDFOR |
---|
72 | |
---|
73 | hi_max_cice_10 = FLTARR(jpl1+1) |
---|
74 | hi_max_cice_10(0) = 0 |
---|
75 | zc1 = 3. / FLOAT(jpl1) |
---|
76 | zc2 = 10. * zc1 |
---|
77 | zc3 = 3. |
---|
78 | |
---|
79 | FOR jl = 1, jpl1 DO BEGIN |
---|
80 | zx1 = FLOAT( jl-1 ) / FLOAT( jpl1 ) |
---|
81 | hi_max_cice_10(jl) = hi_max_cice_10(jl-1) + zc1 + zc2 * (1. + TANH( zc3 * (zx1 - 1. ) ) ) |
---|
82 | ENDFOR |
---|
83 | |
---|
84 | ;------------------- |
---|
85 | ; LIM3 distribution |
---|
86 | ;------------------- |
---|
87 | alpha = 1./20. |
---|
88 | |
---|
89 | ; 5 categories, Arctic ice |
---|
90 | hmean = 2.5 |
---|
91 | hL = 3.*hmean |
---|
92 | |
---|
93 | hi_max_1 = FLTARR(jpl + 1) |
---|
94 | hi_max_1(0) = 0. |
---|
95 | |
---|
96 | FOR jl = 1, jpl DO BEGIN |
---|
97 | znum = jpl * ( hL+1 )^alpha |
---|
98 | zden = ( jpl - jl ) * ( hL+1 )^alpha + jl |
---|
99 | hi_max_1(jl) = ( znum / zden )^(1./alpha) - 1 |
---|
100 | ENDFOR |
---|
101 | |
---|
102 | ; 10 categories, Arctic ice |
---|
103 | hi_max_2 = FLTARR(jpl1 + 1) |
---|
104 | hi_max_2(0) = 0. |
---|
105 | FOR jl = 1, jpl1 DO BEGIN |
---|
106 | znum = jpl1 * ( hL+1 )^alpha |
---|
107 | zden = ( jpl1 - jl ) * ( hL+1 )^alpha + jl |
---|
108 | hi_max_2(jl) = ( znum / zden )^(1./alpha) - 1 |
---|
109 | ENDFOR |
---|
110 | |
---|
111 | ; 5 categories, Spitzberg |
---|
112 | hmean = 1.0 |
---|
113 | hL = 3.*hmean |
---|
114 | |
---|
115 | hi_max_3 = FLTARR(jpl + 1) |
---|
116 | hi_max_3(0) = 0. |
---|
117 | |
---|
118 | FOR jl = 1, jpl DO BEGIN |
---|
119 | znum = jpl * ( hL+1 )^alpha |
---|
120 | zden = ( jpl - jl ) * ( hL+1 )^alpha + jl |
---|
121 | hi_max_3(jl) = ( znum / zden )^(1./alpha) - 1 |
---|
122 | ENDFOR |
---|
123 | |
---|
124 | ; 10 categories, Spitzberg |
---|
125 | hmean = 1.0 |
---|
126 | hi_max_4 = FLTARR(jpl1 + 1) |
---|
127 | hi_max_4(0) = 0. |
---|
128 | |
---|
129 | FOR jl = 1, jpl1 DO BEGIN |
---|
130 | znum = jpl1 * ( hL+1 )^alpha |
---|
131 | zden = ( jpl1 - jl ) * ( hL+1 )^alpha + jl |
---|
132 | hi_max_4(jl) = ( znum / zden )^(1./alpha) - 1 |
---|
133 | ENDFOR |
---|
134 | |
---|
135 | !P.MULTI = [ 0, numplot_x, numplot_y ] |
---|
136 | |
---|
137 | PLOT, [0.1, 10.], [0., 7.], /NODATA, charsize = cs, XSTYLE = 1, YSTYLE = 1 |
---|
138 | OPLOT, hi_max_cice_5, FINDGEN(jpl+1)*0.+1, psym = 4, symsize = 1, thick = 2 |
---|
139 | OPLOT, hi_max_cice_10, FINDGEN(jpl1+1)*0.+2, psym = 4, symsize = 1, thick = 2, color =150 |
---|
140 | OPLOT, hi_max_1, FINDGEN(jpl+1)*0.+3 , psym = 1, symsize = 1, thick = 2, color = 0 |
---|
141 | OPLOT, hi_max_2, FINDGEN(jpl1+1)*0.+4 , psym = 1, symsize = 1, thick = 2, color = 150 |
---|
142 | OPLOT, hi_max_3, FINDGEN(jpl+1)*0.+5 , psym = 2, symsize = 1, thick = 2, color = 0 |
---|
143 | OPLOT, hi_max_4, FINDGEN(jpl1+1)*0.+6 , psym = 2, symsize = 1, thick = 2, color = 150 |
---|
144 | |
---|
145 | PLOT, FINDGEN(jpl+1)/jpl, hi_max_cice_5, psym = 4, symsize = 1, thick = 2, charsize = cs |
---|
146 | OPLOT, FINDGEN(jpl1+1)/jpl1, hi_max_cice_10, psym = 4, symsize = 1, thick = 2, color = 150 |
---|
147 | OPLOT, FINDGEN(jpl+1)/jpl, hi_max_1, psym = 1, symsize = 1, thick = 2 |
---|
148 | OPLOT, FINDGEN(jpl1+1)/jpl1, hi_max_2, psym = 1, symsize = 1, thick = 2, color = 150 |
---|
149 | OPLOT, FINDGEN(jpl+1)/jpl, hi_max_3, psym = 2, symsize = 1, thick = 2 |
---|
150 | OPLOT, FINDGEN(jpl1+1)/jpl1, hi_max_4, psym = 2, symsize = 1, thick = 2, color = 150 |
---|
151 | |
---|
152 | |
---|
153 | DEVICE, /CLOSE |
---|
154 | SET_PLOT, 'X' |
---|
155 | !P.MULTI=[0,1,1] |
---|
156 | END |
---|
157 | |
---|