- Timestamp:
- 2011-04-26T10:45:52+02:00 (13 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/CONFIG/ORCA2_LIM/IDL_scripts/std_ts_Drake.pro
r2740 r2751 1 pro ts_mean_U, sEXP1, sEXP2, year1, year2, s_iodir_data, POSTSCRIPT = postscript, _extra = ex 2 1 pro std_ts_Drake, masknp, s_iodir_data, POSTSCRIPT = postscript, _extra = ex 3 2 4 3 compile_opt idl2, strictarrsubs 5 4 6 @common 5 @common 6 @std_common 7 8 ; get exp1 info 9 vU1 = getenv('VAR1_U') & prefix = getenv('V1U_PREF') & suffix = getenv('V1U_SUFF') 10 ; get exp2 info 11 vU2 = getenv('VAR2_U') & prefix2 = getenv('V2U_PREF') & suffix2 = getenv('V2U_SUFF') 12 ; 13 cdti3 = string(cnt, format = '(i3.3)') 14 print, cdti3 + ') ' + blabla 15 filename = cdti3 + '_ts_Drake_'+prefix 16 if prefix NE prefix2 then filename = filename + '_'+prefix2 17 if KEYWORD_SET(postscript) then openps, filename+'.ps', portrait = 1 18 ; 19 d1_d2 = '('+strtrim(date1, 1)+' - '+strtrim(date2, 1)+')' 20 ; 21 iodir = std_iodir_data 22 23 ; find a point in south America (around 60E-30S) 24 if max(glamt) gt 300 then testlam = abs(glamt - 300) else testlam = abs(glamt + 60) 25 testlat = abs(gphit + 30) 26 index = where(abs(testlam - min(testlam)) lt 1 and abs(testlat - min(testlat)) lt 1 ) 27 xindex = index[0] mod jpi 28 yindex = index[0]/jpi 29 ; define a domain limited to a thin band going from Antactica to this point in south America 30 domdef, xindex, xindex+1, 0, yindex, 0, jpk-1, /index ; keep 2 points for x to avoid degenerated dimension... 31 ; 32 u1 = rseries_ncdf(vU1, date1, date2, prefix, suffix, FIRSTONLY = 1 - allrec, /nostruct) 33 drk1 = fltarr(jpt) 34 trans = strlowcase(getenv('VAR1_U')) EQ 'uocetr_eff' 35 FOR t = 0, jpt-1 DO BEGIN 36 tmp = bsf(u1[*, *, *, t], TRANSPORT = trans, /nostruct) 37 drk1[t] = tmp[0, nyt-1]-tmp[0, 0] 38 ENDFOR 39 ; 40 title = prefix+' '+d1_d2+'!C'+blabla 41 pltt, drk1, 't', 0., 200., date1, date2, /REMPLI $ 42 , small = [1, 2, 1], TITLE = title, YTITLE = varunit, /PORTRAIT, _extra = ex 7 43 8 @initorca2 9 10 if max(glamt) gt 300 then testlam = abs(glamt - 300) else testlam = abs(glamt + 60) 44 if prefix NE prefix2 then begin 45 ; 46 d1_d2_2 = '('+strtrim(date1_2, 1)+' - '+strtrim(date2_2, 1)+')' 47 tsave = time 48 u2 = rseries_ncdf(vU2, date1_2, date2_2, prefix2, suffix2, FIRSTONLY = 1 - allrec, /nostruct) 49 drk2 = fltarr(jpt) 50 trans = strlowcase(getenv('VAR2_U')) EQ 'uocetr_eff' 51 FOR t = 0, jpt-1 DO BEGIN 52 tmp = bsf(u2[*, *, *, t], TRANSPORT = trans, /nostruct) 53 drk2[t] = tmp[0, nyt-1]-tmp[0, 0] 54 ENDFOR 55 time = tsave & IF n_elements(time) NE jpt THEN stop 11 56 12 testlat = abs(gphit + 30) 57 title = prefix+' '+d1_d2+' - '+prefix2+' '+d1_d2_2+'!C'+blabla 58 pltt, drk1 - drk2, 't', -30., 30., date1, date2, /REMPLI, /NOERASE $ 59 , COLOR = 250, small = [1, 2, 2], TITLE = title, YTITLE = varunit, _extra = ex 60 61 endif 13 62 14 index=where(abs(testlam - min(testlam)) lt 1 and abs(testlat - min(testlat)) lt 1 ) 15 xindex=index[0] mod jpi 16 yindex=index[0]/jpi 63 domdef 17 64 18 domdef, xindex, xindex+1, 0, yindex, 0, jpk-1, /index 19 20 if KEYWORD_SET(POSTSCRIPT) then begin 21 openps, sEXP1+'_U_mean.ps', portrait = 1 22 endif 23 24 ts_bbD = 0. 25 ts_bbD2 = 0. 26 ts_Time = 0. 27 28 for year=year1,year2 do begin 29 30 date1 = year * 10000L + 101 31 date2 = year * 10000L + 1231 32 filename = getname(s_iodir_data,sEXP1,'1Y','grid_U',date1) 33 filename2 = getname(s_iodir_data,sEXP2,'1Y','grid_U',date1) 34 35 if filename eq '' then stop 36 U1 = read_ncdf('uocetr_eff',date1 ,date2 , filename = filename, /nostruct) 37 U2 = read_ncdf('uocetr_eff',date1 ,date2 , filename = filename2, /nostruct) 38 39 bb1 = bsf(U1) 40 bb2 = bsf(U2) 41 bb1=bb1.arr[0,*] 42 bb2=bb2.arr[0,*] 43 44 bbDRAKE = bb1[nyt-1]-bb1[0] 45 bb2DRAKE = bb2[nyt-1]-bb2[0] 46 47 ts_bbD = [ ts_bbD, bbDRAKE ] 48 ts_bbD2 = [ ts_bbD2, bb2DRAKE ] 49 ts_Time = [ ts_Time, Time] ; Time = date 50 51 endfor 52 53 ts_bbD = ts_bbD[1:*] ; remove first record of 0 54 ts_bbD2 = ts_bbD2[1:*] ; remove first record of 0 55 Time = ts_Time[1:*] ; remove first record of 0 56 57 jpt = n_elements(Time) 58 59 title = sEXP1+' DRAKE transport --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) 60 pltt,ts_bbD,'t', 0., 200., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI $ 61 , small = [1,2,1], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex 62 63 if sEXP2 ne sEXP1 then begin 64 65 title = sEXP1+' - '+sEXP2+' DRAKE transport --- year '+strtrim(year1,1)+' - '+strtrim(year2,1) 66 pltt,ts_bbD - ts_bbD2,'t', -30., 30., year1 * 10000L + 101, year2 * 10000L + 1231 , /REMPLI, /NOERASE $ 67 , COLOR = 250, small = [1,2,2], TITLE = title, YTITLE='Sv', FORMAT = '(I3)', /PORTRAIT, _extra = ex 68 69 endif 70 71 if KEYWORD_SET(POSTSCRIPT) then begin 72 closeps 73 endif 74 75 76 return 65 htmltxt = [ htmltxt, '<hr>'+blabla, '<br><img width="80%" src='+filename+'.png /> ' ] 66 if KEYWORD_SET(postscript) then closeps 67 68 return 77 69 end
Note: See TracChangeset
for help on using the changeset viewer.