Changeset 417


Ignore:
Timestamp:
12/03/09 16:27:44 (15 years ago)
Author:
smasson
Message:

add new keywords to file_interp

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SRC/Interpolation/file_interp.pro

    r383 r417  
    55;- 
    66FUNCTION call_interp2d, data, inlon, inlat, inmask, outlon, outlat $ 
    7                       , INIRR=inirr, METHOD=method, SMOOTH=smooth $ 
    8                       , WEIG=weig, ADDR=addr, MISSING_VALUE=missing_value, _EXTRA=ex 
     7                        , INIRR = inirr, METHOD = method, SMOOTH = smooth $ 
     8                        , WEIG = weig, ADDR = addr, MISSING_VALUE = missing_value $ 
     9                        , GETHAN = gethan, LETHAN = lethan, _EXTRA = ex 
    910; 
    1011  compile_opt idl2, strictarrsubs 
     
    4445  ENDELSE 
    4546 
     47  IF n_elements(gethan) EQ 1 THEN data = gethan > temporary(data) 
     48  IF n_elements(lethan) EQ 1 THEN data = temporary(data) < lethan 
     49 
    4650  if intype LE 3 THEN data = round(temporary(data)) 
    4751 
     
    217221; same as inyaxisname but for output grid file gridout 
    218222; 
     223; @keyword GETHAN 
     224; to force interpolated data to be always > value defined by gethan (for example gethan = 0.) 
     225; 
     226; @keyword LETHAN 
     227; to force interpolated data to be always < value defined by lethan (for example lethan = 0.) 
     228; 
    219229; @keyword  _EXTRA 
    220230; to use <pro>extrapolate</pro>, <pro>extrapsmooth</pro> and <pro>fromreg</pro> keywords 
     
    246256; 
    247257;- 
    248 PRO file_interp, filein, fileout, gridout, GRIDIN=gridin, MASKIN=maskin, MASKOUT=maskout $ 
    249                , KEEP=keep, REMOVE=remove, METHOD=method, SMOOTH=smooth $ 
    250                , SET_XDIMNAME=set_xdimname, SET_YDIMNAME=set_ydimname $ 
    251                , SET_XAXISNAME=set_xaxisname, SET_YAXISNAME=set_yaxisname $ 
    252                , INMASKNAME=inmaskname, ININVMASK=ininvmask $ 
    253                , INUSEASMASK=inuseasmask, INMISSING_VALUE=inmissing_value $ 
    254                , INADDSCL_BEFORE=inaddscl_before, INTESTOP = intestop $ 
    255                , OUTMASKNAME=outmaskname, OUTINVMASK=outinvmask $ 
    256                , OUTUSEASMASK=outuseasmask, OUTMISSING_VALUE=outmissing_value $ 
    257                , OUTADDSCL_BEFORE=outaddscl_before, OUTTESTOP = outtestop $ 
    258                , MISSING_VALUE=MISSING_VALUE, WEIG=weig, ADDR=addr $ 
    259                , INXAXISNAME=inxaxisname, INYAXISNAME=inyaxisname $ 
    260                , OUTXAXISNAME=outxaxisname, OUTYAXISNAME=outyaxisname $ 
    261                , _EXTRA=ex 
     258PRO file_interp, filein, fileout, gridout, GRIDIN = gridin, MASKIN = maskin, MASKOUT = maskout $ 
     259                 , KEEP = keep, REMOVE = remove, METHOD = method, SMOOTH = smooth $ 
     260                 , SET_XDIMNAME = set_xdimname, SET_YDIMNAME = set_ydimname $ 
     261                 , SET_XAXISNAME = set_xaxisname, SET_YAXISNAME = set_yaxisname $ 
     262                 , INMASKNAME = inmaskname, ININVMASK = ininvmask $ 
     263                 , INUSEASMASK = inuseasmask, INMISSING_VALUE = inmissing_value $ 
     264                 , INADDSCL_BEFORE = inaddscl_before, INTESTOP = intestop $ 
     265                 , OUTMASKNAME = outmaskname, OUTINVMASK = outinvmask $ 
     266                 , OUTUSEASMASK = outuseasmask, OUTMISSING_VALUE = outmissing_value $ 
     267                 , OUTADDSCL_BEFORE = outaddscl_before, OUTTESTOP = outtestop $ 
     268                 , MISSING_VALUE = MISSING_VALUE, WEIG = weig, ADDR = addr $ 
     269                 , INXAXISNAME = inxaxisname, INYAXISNAME = inyaxisname $ 
     270                 , OUTXAXISNAME = outxaxisname, OUTYAXISNAME = outyaxisname $ 
     271                 , GETHAN = gethan, LETHAN = lethan $ 
     272                 , _EXTRA = ex 
    262273; 
    263274  compile_opt idl2, strictarrsubs 
     
    439450              IF interp THEN data = call_interp2d(temporary(data), inlon, inlat, inmask[*, *, 0], outlon, outlat $ 
    440451                                                  , INIRR = inirr, METHOD = method, SMOOTH = smooth $ 
    441                                                   , WEIG = weig, ADDR = addr, MISSING_VALUE = var_missing_value, _extra = ex) 
     452                                                  , WEIG = weig, ADDR = addr, MISSING_VALUE = var_missing_value $ 
     453                                                  , GETHAN = gethan, LETHAN = lethan, _extra = ex) 
    442454              IF interp AND n_elements(data) EQ 1 THEN data = replicate(data, jpiout, jpjout) 
    443455              ncdf_varput, outid, outvarid[i], temporary(data) 
     
    455467                IF interp THEN data = call_interp2d(temporary(data), inlon, inlat, temporary(tmpmsk), outlon, outlat $ 
    456468                                                    , INIRR = inirr, METHOD = method, SMOOTH = smooth $ 
    457                                                     , WEIG = weig, ADDR = addr, MISSING_VALUE = var_missing_value, _extra = ex) 
     469                                                    , WEIG = weig, ADDR = addr, MISSING_VALUE = var_missing_value $ 
     470                                                    , GETHAN = gethan, LETHAN = lethan, _extra = ex) 
    458471                IF interp AND n_elements(data) EQ 1 THEN data = replicate(data, jpiout, jpjout) 
    459472                ncdf_varput, outid, outvarid[i], temporary(data), offset = off, count = outcnt 
     
    472485                  IF interp THEN data = call_interp2d(temporary(data), inlon, inlat, temporary(tmpmsk), outlon, outlat $ 
    473486                                                      , INIRR = inirr, METHOD = method, SMOOTH = smooth $ 
    474                                                       , WEIG = weig, ADDR = addr, MISSING_VALUE = var_missing_value, _extra = ex) 
     487                                                      , WEIG = weig, ADDR = addr, MISSING_VALUE = var_missing_value $ 
     488                                                      , GETHAN = gethan, LETHAN = lethan, _extra = ex) 
    475489                  IF interp AND n_elements(data) EQ 1 THEN data = replicate(data, jpiout, jpjout) 
    476490                  ncdf_varput, outid, outvarid[i], temporary(data), offset = off, count = outcnt 
Note: See TracChangeset for help on using the changeset viewer.