Changeset 191 for trunk/src/interp_erai_msl.pro
- Timestamp:
- 07/04/12 17:52:46 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/interp_erai_msl.pro
r180 r191 5 5 ; =================== 6 6 ; 7 ; .. function:: interp_erai_msl(yyyymmddb,yyyymmdde )7 ; .. function:: interp_erai_msl(yyyymmddb,yyyymmdde, eraitype) 8 8 ; 9 9 ; DESCRIPTION … … 12 12 ; Interpolation of msl from ERA-I grid to OAFLUX grid 13 13 ; 14 ; If eraitype is set to 1, 14 15 ; :file:`${PROJECT_ID}/20c3m_erai_msl_TROP_1989_2009.nc` 15 16 ; containing … … 18 19 ; :ref:`compute_erai_daily_region_2d.sh`. 19 20 ; 21 ; If eraitype is set to 2, 22 ; :file:`${PROJECT_ID}/erai_msl_{yyyyb}_{yyyye}.nc` 23 ; containing 24 ; msl from ERA-I 25 ; has been produced by 26 ; :ref:`concat_eraiy.sh`. 27 ; 20 28 ; :file:`${PROJECT_ID}/mask_oaflux_30N30S.nc` 21 29 ; containing … … 44 52 ; digraph interp_erai_msl { 45 53 ; 46 ; file_in [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/20c3m_erai_msl_TROP_1989_2009.nc"]; 54 ; file_in_erai1 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/20c3m_erai_msl_TROP_1989_2009.nc"]; 55 ; file_in_erai2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_msl_{yyyyb}_{yyyye}.nc"]; 47 56 ; mask [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 48 57 ; file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_msl_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; … … 54 63 ; label="${PROJECT}/src/interp_erai_msl.pro"]; 55 64 ; 56 ; {file_in mask} -> {interp_erai_msl} -> {file_out}65 ; {file_in_erai1 file_in_erai2 mask} -> {interp_erai_msl} -> {file_out} 57 66 ; 58 67 ; } … … 66 75 ; 67 76 ; Used by :ref:`tropflux.sh` 77 ; 78 ; :ref:`compute_erai_daily_region_2d.sh` 79 ; :ref:`concat_eraiy.sh` 68 80 ; 69 81 ; :func:`report <saxo:report>` … … 81 93 ; ======== 82 94 ; 83 ; ::95 ; With ERA-I type 1:: 84 96 ; 85 97 ; .compile file_interp 86 98 ; yyyymmddb = 20000101L 87 99 ; yyyymmdde = 20001231L 88 ; result = interp_erai_msl(yyyymmddb, yyyymmdde) 100 ; eraitype = 1 101 ; result = interp_erai_msl(yyyymmddb, yyyymmdde, eraitype) 102 ; print, result 103 ; 104 ; With ERA-I type 2:: 105 ; 106 ; .compile file_interp 107 ; yyyymmddb = 20000101L 108 ; yyyymmdde = 20001231L 109 ; eraitype = 2 110 ; result = interp_erai_msl(yyyymmddb, yyyymmdde, eraitype) 89 111 ; print, result 90 112 ; … … 92 114 ; ==== 93 115 ; 94 ; use real output of :ref:`compute_erai_daily_region_2d.sh` 116 ; use real output of :ref:`compute_erai_daily_region_2d.sh` if eraitype is set to 1 95 117 ; 96 118 ; get_erai.py + grib to netcdf conversion … … 116 138 ; 117 139 ; $URL$ 140 ; 141 ; - fplod 20120704T113504Z cratos (Linux) 142 ; 143 ; * add eraitype parameter 144 ; * conversion mPa to hPa 145 ; * deal with time units (days vs hours) and time origin 118 146 ; 119 147 ; - fplod 20120320 … … 150 178 function interp_erai_msl $ 151 179 , yyyymmddb $ 152 , yyyymmdde 180 , yyyymmdde $ 181 , eraitype 153 182 ; 154 183 ;++compile_opt idl2, strictarrsubs, logical_predicate … … 165 194 result = -1 166 195 ; 167 usage = 'result = interp_erai_msl(yyyymmddb, yyyymmdde )'196 usage = 'result = interp_erai_msl(yyyymmddb, yyyymmdde, eraitype)' 168 197 nparam = N_PARAMS() 169 IF (nparam NE 2) THEN BEGIN198 IF (nparam NE 3) THEN BEGIN 170 199 ras = report(['Incorrect number of arguments.' $ 171 200 + '!C' $ … … 212 241 ; 213 242 ; build data filename 214 filename='20c3m_erai_msl_TROP_1989_2009.nc' 243 IF eraitype EQ 1 THEN BEGIN 244 erai_var = 'msl' 245 filename='20c3m_erai_msl_TROP_1989_2009.nc' 246 tutoday = 24.d 247 tmporig = date2jul(19570101L,month=immo,day=iddo,year=iyyyyo) 248 endif 249 IF (eraitype eq 2) THEN BEGIN 250 erai_var = 'msl' 251 tmpb = date2jul(yyyymmddb,month=immb,day=iddb,year=iyyyyb) 252 tmpe = date2jul(yyyymmdde,month=imme,day=idde,year=iyyyye) 253 filename = 'erai_' + erai_var + '_' + string(iyyyyb,format='(I4.4)') + '_' + string(iyyyye,format='(I4.4)') + '.nc' 254 tutoday = 1.d 255 tmporig = date2jul(19500101L,month=immo,day=iddo,year=iyyyyo) 256 ENDIF 215 257 ; 216 258 ; check if this file exists … … 222 264 ras = report(msg) 223 265 return, result 224 ENDIF 266 ENDIF ELSE BEGIN 267 msg = 'iii : the file ' + fullfilename + ' found.' 268 ras = report(msg) 269 ENDELSE 225 270 ; 226 271 ; test if ${PROJECT_OD} defined … … 263 308 print, 'lat grid ',min(latin),max(latin),latin[1]-latin[0] 264 309 print, 'lon grid ',min(lonin),max(lonin),lonin[1]-lonin[0] 265 ;++mslin=read_ncdf("msl",yyyymmddb-.5d,yyymmdde,file=fullfilename,/nostr)266 mslin=read_ncdf("msl",19880101,20100930,file=fullfilename,/nostr) 267 ; 268 timein= 24.d*(time-julday(1,1,1957,0,0,0))310 mslin=read_ncdf(erai_var,yyyymmddb,yyyymmdde,file=fullfilename,/nostr) 311 ; 312 help, time 313 timein=tutoday*(time-julday(immo,iddo,iyyyyo,0,0,0)) 269 314 jptin=n_elements(timein) 270 315 da=jul2date(time[0]) … … 287 332 ; 288 333 ; conversion to hPa 289 ncdf_getatt, fullfilename, 'msl', units=units334 ncdf_getatt, fullfilename, erai_var, units=units 290 335 CASE units OF 291 336 'Pascal': BEGIN 292 337 mslin=mslin/100 338 END 339 'mPa': BEGIN 340 mslin=mslin*10 293 341 END 294 342 ELSE: BEGIN
Note: See TracChangeset
for help on using the changeset viewer.