1 | pro ts_mean_V, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex |
---|
2 | |
---|
3 | |
---|
4 | compile_opt idl2, strictarrsubs |
---|
5 | |
---|
6 | @common |
---|
7 | |
---|
8 | @initorca2 |
---|
9 | |
---|
10 | |
---|
11 | if KEYWORD_SET(POSTSCRIPT) then begin |
---|
12 | openps, sEXP1+'_V_mean.ps', portrait = 1 |
---|
13 | endif |
---|
14 | |
---|
15 | ; inizialization of vectors (for experience 1 and 2) |
---|
16 | ts_mAMOC45 = 0. |
---|
17 | ts_mAABW70 = 0. |
---|
18 | ts_mAABC50 = 0. |
---|
19 | ts_mAMOC45_2 = 0. |
---|
20 | ts_mAABW70_2 = 0. |
---|
21 | ts_mAABC50_2 = 0. |
---|
22 | |
---|
23 | ts_Time = 0. |
---|
24 | |
---|
25 | for year=year1,year2 do begin |
---|
26 | |
---|
27 | date1 = year * 10000L + 101 |
---|
28 | date2 = year * 10000L + 1231 |
---|
29 | filename = getname(s_iodir_data,sEXP1,'1Y','grid_V',date1) |
---|
30 | filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_V',date1) |
---|
31 | |
---|
32 | if filename eq '' then stop |
---|
33 | |
---|
34 | domdef, 0, jpk-1,/zindex |
---|
35 | |
---|
36 | V1 = read_ncdf('vocetr_eff',date1 ,date2 , filename = filename, /nostruct) |
---|
37 | V2 = read_ncdf('vocetr_eff',date1 ,date2 , filename = filename2, /nostruct) |
---|
38 | |
---|
39 | msf_tot = msf(V1, indexboxzoom = ind) |
---|
40 | msf2_tot = msf(V2, indexboxzoom = ind) |
---|
41 | |
---|
42 | yaxis = gphit[ind[0], ind[2]:ind[3]] |
---|
43 | |
---|
44 | ; computation of max Atlatic Meridional Overturninc Circulation at 40°N and 50°N |
---|
45 | ;; see plot msf global |
---|
46 | indy = where(yaxis gt 40 and yaxis le 50) |
---|
47 | domdef, 0, 3500 |
---|
48 | |
---|
49 | mAMOC45 = max(msf_tot.arr[indy, firstzw:lastzw],/NaN) |
---|
50 | mAMOC45_2 = max(msf2_tot.arr[indy, firstzw:lastzw],/NaN) |
---|
51 | |
---|
52 | ; computation of max atlantic Antarctic Bottom Water between 80°S and 65°S |
---|
53 | ;; see plot msf global |
---|
54 | indy = where(yaxis gt -80 and yaxis le -65) |
---|
55 | domdef, 300, 3500 |
---|
56 | |
---|
57 | mAABW70 = min(msf_tot.arr[indy, firstzw:lastzw],/NaN) |
---|
58 | mAABW70_2 = min(msf2_tot.arr[indy, firstzw:lastzw],/NaN) |
---|
59 | |
---|
60 | ; computation of max Antarctic Abyssal Bottom Cell between 65°S and 30°N , |
---|
61 | ;; see plot msf global |
---|
62 | indy = where(yaxis gt -65 and yaxis le 30) |
---|
63 | domdef, 2500, 5000 |
---|
64 | |
---|
65 | mAABC50 = min(msf_tot.arr[indy, firstzw:lastzw],/NaN) |
---|
66 | mAABC50_2 = min(msf2_tot.arr[indy, firstzw:lastzw],/NaN) |
---|
67 | |
---|
68 | ; creation of Time Series |
---|
69 | ; for EXPERIENCE 1 |
---|
70 | ts_mAMOC45 = [ ts_mAMOC45, mAMOC45 ] |
---|
71 | ts_mAABW70 = [ ts_mAABW70, mAABW70 ] |
---|
72 | ts_mAABC50 = [ ts_mAABC50, mAABC50 ] |
---|
73 | |
---|
74 | ; for EXPERIENCE 2 |
---|
75 | ts_mAMOC45_2 = [ ts_mAMOC45_2, mAMOC45_2 ] |
---|
76 | ts_mAABW70_2 = [ ts_mAABW70_2, mAABW70_2 ] |
---|
77 | ts_mAABC50_2 = [ ts_mAABC50_2, mAABC50_2 ] |
---|
78 | |
---|
79 | ts_Time = [ ts_Time, Time] ; Time = date |
---|
80 | |
---|
81 | endfor |
---|
82 | |
---|
83 | ts_mAMOC45 = ts_mAMOC45[1:*] ; remove first record of 0 |
---|
84 | ts_mAABW70 = ts_mAABW70[1:*] ; remove first record of 0 |
---|
85 | ts_mAABC50 = ts_mAABC50[1:*] ; remove first record of 0 |
---|
86 | |
---|
87 | ts_mAMOC45_2 = ts_mAMOC45_2[1:*] ; remove first record of 0 |
---|
88 | ts_mAABW70_2 = ts_mAABW70_2[1:*] ; remove first record of 0 |
---|
89 | ts_mAABC50_2 = ts_mAABC50_2[1:*] ; remove first record of 0 |
---|
90 | |
---|
91 | Time = ts_Time[1:*] ; remove first record of 0 |
---|
92 | |
---|
93 | jpt = n_elements(Time) |
---|
94 | |
---|
95 | title = sEXP1+' Max Atlantic MOC between 40N and 50N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) |
---|
96 | pltt, ts_mAMOC45,'t', 0., 30., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $ |
---|
97 | , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex |
---|
98 | |
---|
99 | if sEXP2 ne sEXP1 then begin |
---|
100 | title = sEXP1+' - '+sEXP2+' Max Atlantic MOC between 40N and 50N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) |
---|
101 | pltt, ts_mAMOC45 - ts_mAMOC45_2,'t', -9., 9., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $ |
---|
102 | , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex |
---|
103 | endif |
---|
104 | |
---|
105 | title = sEXP1+' Max AntArctic Bottom Water between 80S and 65S --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) |
---|
106 | pltt,-ts_mAABW70,'t', 0., 20., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $ |
---|
107 | , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex |
---|
108 | |
---|
109 | if sEXP2 ne sEXP1 then begin |
---|
110 | title = sEXP1+' - '+sEXP2+' Max AntArctic Bottom Water between 80S and 65S --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) |
---|
111 | pltt,-ts_mAABW70 + ts_mAABW70_2 ,'t', -5., 5., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $ |
---|
112 | , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex |
---|
113 | endif |
---|
114 | |
---|
115 | title = sEXP1+' Max AntArctic Bottom Cell between 65S and 30N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) |
---|
116 | pltt,-ts_mAABC50,'t', 5., 30., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $ |
---|
117 | , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex |
---|
118 | |
---|
119 | if sEXP2 ne sEXP1 then begin |
---|
120 | |
---|
121 | title = sEXP1+' - '+sEXP2+' Max AntArctic Bottom Cell between 65S and 30N --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) |
---|
122 | pltt,-ts_mAABC50 + ts_mAABC50_2,'t', -5., 5., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI,/NOERASE $ |
---|
123 | , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex |
---|
124 | endif |
---|
125 | |
---|
126 | if KEYWORD_SET(POSTSCRIPT) then begin |
---|
127 | closeps |
---|
128 | endif |
---|
129 | |
---|
130 | |
---|
131 | return |
---|
132 | end |
---|