Changeset 108


Ignore:
Timestamp:
06/03/08 03:15:28 (16 years ago)
Author:
ericg
Message:

Bug in computation of 1D stddev in trends.pro corrected

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/procs/trends.pro

    r92 r108  
    127127               ENDIF  
    128128               IF fld_flag EQ 2 THEN fldrem_t2 = fldrem 
     129               sc_ampl = sqrt((moment(fldrem))[1]) 
     130               sc_ampl2 = max(fldrem)-min(fldrem) 
    129131               fldrem = reform(fldrem#replicate(1, long(lenght/running)), lenght) 
    130132 
     
    133135               err_std = sqrt( total( (temperr-mean(fld))^2 )/n_elements(temperr) ) 
    134136                
    135                IF NOT keyword_set(silent) THEN print, '     1D times-serie info         : mean +- err ', (moment(fld))[0], err_std 
     137               IF NOT keyword_set(silent) THEN BEGIN 
     138                  print, '     1D times-serie info         : mean +- err ', (moment(fld))[0], err_std 
     139                  print, '       Mean seasonal cycle amplitude stdev / max-min', sc_ampl,  sc_ampl2 
     140               ENDIF  
    136141 
    137142               ; Compute std error-bar using running bootstrap window (width in plt_def) 
    138143               IF jpt GT boot_win(0) THEN BEGIN  
    139144                  temperr = stat_error(fld, boot_win(0)) 
    140                   err_std_1 = sqrt( total((temperr-sqrt((moment(fld))[1]) )^2)/n_elements(temperr) ) 
     145                  err_std_1 = sqrt( total((temperr-sqrt((moment(fld - fldrem))[1]) )^2)/n_elements(temperr) ) 
    141146               ENDIF ELSE err_std_1 = 0 
    142147               IF jpt GT boot_win(1) THEN BEGIN  
    143148                  temperr = stat_error(fld, boot_win(1)) 
    144                   err_std_2 = sqrt( total((temperr-sqrt((moment(fld))[1]) )^2)/n_elements(temperr) ) 
     149                  err_std_2 = sqrt( total((temperr-sqrt((moment(fld - fldrem))[1]) )^2)/n_elements(temperr) ) 
    145150               ENDIF  ELSE err_std_2 = 0 
    146151               IF jpt GT boot_win(2) THEN BEGIN  
    147152                  temperr = stat_error(fld, boot_win(2)) 
    148                   err_std_3 = sqrt( total((temperr-sqrt((moment(fld))[1]) )^2)/n_elements(temperr) ) 
     153                  err_std_3 = sqrt( total((temperr-sqrt((moment(fld - fldrem))[1]) )^2)/n_elements(temperr) ) 
    149154               ENDIF  ELSE err_std_3 = 0 
    150155                
    151                IF NOT keyword_set(silent) THEN print, '     1D times-serie anomaly info : var/stddev +- error (24,36,48)', (moment(fld))[1], sqrt((moment(fld))[1]), err_std_1, err_std_2, err_std_3  
     156               IF NOT keyword_set(silent) THEN print, '     1D times-serie anomaly info : var/stddev +- error (24,36,48)', (moment(fld - fldrem))[1], sqrt((moment(fld - fldrem))[1]), err_std_1, err_std_2, err_std_3  
    152157               IF NOT keyword_set(silent) THEN print, ' ' 
    153158            ENDIF ELSE fldrem =  mean(fld) 
     
    236241            ENDCASE 
    237242 
    238 ;            print, min(fld[where(fld le valmask/10)]), max(fld[where(fld le valmask/10)]) 
    239 ;            print, min(fldrem[where(fldrem le valmask/10)]), max(fldrem[where(fldrem le valmask/10)]) 
    240243             idx = where(fld EQ valmask) 
    241244             fld = fld - fldrem 
     
    243246             mean_sc = fldrem 
    244247             IF idx(0) NE -1 THEN fld(idx) = valmask 
    245 ;            print, min(fld[where(fld le valmask/10)]), max(fld[where(fld le valmask/10)]) 
    246248         ENDELSE   
    247249 
     
    369371         flddesc.data = fld 
    370372         cdf_description = nc_build(cmd_wrk, flddesc, type, vargrid)  
    371          ;;fldcdf = {data:fld, units:field.units, short_name:cmd_wrk.var, long_name:field.legend+' ('+legbox+')', missing_value:valmask, direc:type} 
    372373         fldcdf = {data:fld, units:field.units, short_name:field.legend+'_'+legbox, long_name:field.legend+' ('+legbox+')', missing_value:valmask, direc:type} 
    373374         file_out = cmd_wrk.var+'_'+strtrim(string(FORMAT = '(I2.2)', ABS(write_data)), 2)+'.nc' 
Note: See TracChangeset for help on using the changeset viewer.