;+ ; ; make std dev from 2D macro_base_fld monthly time serie (defined in ; macro_read) ; ; @param FILE_NAME {in}{required}{type=string} ; ; @param NCDF_DB {in}{required}{type=string} ; : or just ; ; @keyword BOXZOOM ; ; @keyword TIME_1 ; ; @keyword TIME_2 ; ; @keyword ALL_DATA ; ; @keyword ZMTYP ; ; @returns ; structure ; -1 in case of error ; ; @uses ; common ; com_eg ; ; @history ; - fplod 20100119T094252Z aedon.locean-ipsl.upmc.fr (Darwin) ; ; * check parameters ; ; @version ; $Id$ ; ;- ; FUNCTION make_anomaly, file_name, ncdf_db $ , BOXZOOM=boxzoom $ , TIME_1=time_1 $ , TIME_2=time_2 $ , ALL_DATA=all_data $ , ZMTYP=zmtyp ; compile_opt idl2, strictarrsubs ; @common @com_eg ; IF debug_w THEN BEGIN info = report('enter ...') print, 'keyword_set(ALL_DATA) : ', keyword_set(ALL_DATA) ENDIF usage='result=make_anomaly(file_name, ncdf_db ' $ + ', BOXZOOM=boxzoom ' $ + ', TIME_1=time_1 ' $ + ', TIME_2=time_2 ' $ + ', ALL_DATA=all_data ' $ + ', ZMTYP=zmtyp)' nparam = N_PARAMS() IF (nparam LT 2) THEN BEGIN ras = report(['Incorrect number of arguments.' $ + '!C' $ + 'Usage : ' + usage]) return, -1 ENDIF arg_type = size(file_name,/type) IF (arg_type NE 7) THEN BEGIN ras = report(['Incorrect arg type file_name' $ + '!C' $ + 'Usage : ' + usage]) return, -1 ENDIF arg_type = size(ncdf_db,/type) IF (arg_type NE 7) THEN BEGIN ras = report(['Incorrect arg type ncdf_db' $ + '!C' $ + 'Usage : ' + usage]) return, -1 ENDIF ; Read time serie ; mfld = nc_read(file_name, macro_base_fld, ncdf_db, BOXZOOM = boxzoom, TIME_1 = time_1, TIME_2 = time_2, ALL_DATA = all_data) mfld.data = trends(mfld.data, '412', mfld.direc) field = {name: '', data: mfld.data, legend: '', units: '', origin: '', dim: 0, direc:''} field.origin = mfld.origin field.dim = mfld.dim field.legend = ' ['+cmdm.date1+'-'+cmdm.spec+']' field.direc = mfld.direc IF debug_w THEN BEGIN info = report('leaving...') ENDIF return, field END