1 | ;+ |
---|
2 | ; |
---|
3 | ; time series of rms deviation on a sigma surface (Paul William) |
---|
4 | ; |
---|
5 | ; @history |
---|
6 | ; - fplod 20100114T144659Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
7 | ; |
---|
8 | ; * fix array syntax on fld |
---|
9 | ; |
---|
10 | ; @version |
---|
11 | ; $Id$ |
---|
12 | ; |
---|
13 | ;- |
---|
14 | |
---|
15 | sizefld=size(fld) |
---|
16 | fld=fld[*,*,round((sig_surface-sig_min)/sig_del),*] |
---|
17 | fld = reform(fld, sizefld[1], sizefld[2], sizefld[4]) |
---|
18 | fld2 = fltarr(sizefld[4]) |
---|
19 | ;FOR count = 0, sizefld[4]-1 DO fld2[count] = mean(fld[*,*,count], /nan) |
---|
20 | FOR count = 0, sizefld[4]-1 DO fld2[count] = stddev(fld[*,*,count], /nan) |
---|
21 | fld = fld2 |
---|
22 | mask_z, fld, cmd, boite_plt1d, dimplot, legz |
---|
23 | niveau = 1 |
---|
24 | sin = '' |
---|
25 | take_log = ',take_log=0' |
---|
26 | pltcmd = 'plt1d,{a:fld, d:'''+date_txt+''', n:'''+varlegend+' Stddev '+legz+legendsurf+''', u:'''+field.units+''', g:'''+vargrid+'''},'''+plt1dtyp+''''+mincmd+maxcmd+intcmd+', boite=boite_plt1d'+overc+sin+com_strplt+take_log |
---|
27 | IF cmd.timave EQ '1y' AND cmd.exp NE 'SQ2' THEN BEGIN ; curve-fitting and over-plot |
---|
28 | time_years = FLOAT(INDGEN(sizefld(4))) |
---|
29 | weights = replicate(1.0, sizefld(4)) |
---|
30 | params = [fld[0],-0.1,0.] ; initial guess |
---|
31 | fldfit = CURVEFIT(time_years, fld, weights, params, error, FUNCTION_NAME='gfunct') |
---|
32 | PRINT, 'Best fit: sigma = ', params[0], '*exp(', params[1], 't) + ', params[2] |
---|
33 | PRINT, 'errors: ', error |
---|
34 | PRINT, 'e-folding time (years) = ', -1.0/params[1] |
---|
35 | look = ', linestyle=0,xthick=2,ythick=2,zthick=2' |
---|
36 | com_strplt = ',petit = ['+string(win[0])+','+string(win[1])+','+string(win[2])+']'+filltxt+nocoltxt+', LANDSCAPE = '+string(landscape)+', NOCOLORBAR = '+string(nocolorbar)+', NOERASE = '+string(noerase)+look+labstr+c_anot+colbar+cal_typ+',cont_thick=2'+type_yz+window_number+tit_str+xlogax |
---|
37 | pltcmd = 'plt1d,{a:fld, d:'''+date_txt+''', n:'''+varlegend+' Stddev (tau ='+strcompress(-1.0/params[1])+'yr) '+legz+legendsurf+''', u:'''+field.units+''', g:'''+vargrid+'''},'''+plt1dtyp+''''+mincmd+maxcmd+intcmd+', boite=boite_plt1d'+overc+sin+com_strplt+take_log |
---|
38 | res = execute(pltcmd) |
---|
39 | noerase = 1 |
---|
40 | look = ', linestyle=2,xthick=2,ythick=2,zthick=2' |
---|
41 | com_strplt = ',petit = ['+string(win[0])+','+string(win[1])+','+string(win[2])+']'+filltxt+nocoltxt+', LANDSCAPE = '+string(landscape)+', NOCOLORBAR = '+string(nocolorbar)+', NOERASE = '+string(noerase)+look+labstr+c_anot+colbar+cal_typ+',cont_thick=2'+type_yz+window_number+tit_str+xlogax |
---|
42 | pltcmd = 'plt1d,{a:fldfit, d:'''+date_txt+''', n:'''+varlegend+' Stddev (tau ='+strcompress(-1.0/params[1])+'yr) '+legz+legendsurf+''', u:'''+field.units+''', g:'''+vargrid+'''},'''+plt1dtyp+''''+mincmd+maxcmd+intcmd+', boite=boite_plt1d'+overc+sin+com_strplt+take_log |
---|
43 | ENDIF |
---|