- Timestamp:
- 03/06/12 14:29:04 (12 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/adm/guides/data_content.rst
r110 r155 131 131 - :ref:`get_oaflux.sh` 132 132 133 - : ref:`oaflux_mask_30N30S.pro`133 - :func:`oaflux_mask_30n30s` 134 134 135 135 - :ref:`TropFlux_19890101_20091231.pro` … … 138 138 - :ref:`interp_erai_lwr_1989_2009.pro` 139 139 - :ref:`interp_erai_sst_1989_2009.pro` 140 - : ref:`interp_erai_t2m_1989_2009.pro`140 - :func:`interp_erai_t2m` 141 141 - :ref:`interp_erai_ws_1989_2009.pro` 142 142 - :ref:`interp_olr_30n30s_1989_2009.pro` -
trunk/adm/guides/generate_tropflux.rst
r110 r155 69 69 70 70 - :ref:`get_oaflux.sh` 71 - : ref:`oaflux_mask_30N30S.pro`71 - :func:`oaflux_mask_30n30s` 72 72 73 73 ERA-I data … … 101 101 - :ref:`interp_erai_sst_1989_2009.pro` 102 102 - :ref:`interp_erai_msl_1989_2009.pro` 103 - : ref:`interp_erai_t2m_1989_2009.pro`103 - :func:`interp_erai_t2m` 104 104 - :ref:`interp_erai_ws_1989_2009.pro` 105 105 -
trunk/src/d2m_to_q2m_erai.pro
r100 r155 19 19 ; ++ 20 20 ; has been produced by 21 ; : ref:`interp_erai_t2m_1989_2009.pro`.21 ; :func:`interp_erai_t2m`. 22 22 ; 23 23 ; :file:`${PROJECT_OD}/erai_msl_19890101_20091231_oafluxgrid.nc` … … 76 76 ; :ref:`interp_erai_dewt_1989_2009.pro` 77 77 ; :ref:`interp_erai_msl_1989_2009.pro` 78 ; : ref:`interp_erai_t2m_1989_2009.pro`78 ; :func:`interp_erai_t2m` 79 79 ; 80 80 ; :ref:`q2m_correction_ncdf.pro` -
trunk/src/interp_erai_t2m.pro
r153 r155 1 1 ;+ 2 2 ; 3 ; .. _interp_erai_t2m_1989_2009.pro:4 ; 5 ; =================== ==========6 ; interp_erai_t2m_1989_2009.pro7 ; =============================3 ; =================== 4 ; interp_erai_t2m.pro 5 ; =================== 6 ; 7 ; .. function interp_erai_t2m(yyyymmddb,yyyymmdde) 8 8 ; 9 9 ; DESCRIPTION … … 25 25 ; Interpolated t2 26 26 ; is written in 27 ; :file:`${PROJECT_OD}/erai_t2m_ 19890101_20091231_oafluxgrid.nc`27 ; :file:`${PROJECT_OD}/erai_t2m_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc` 28 28 ; if this file not already exists. 29 29 ; 30 30 ; This output file 31 ; :file:`${PROJECT_OD}/erai_t2m_ 19890101_20091231_oafluxgrid.nc`31 ; :file:`${PROJECT_OD}/erai_t2m_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc` 32 32 ; must be processed after by 33 33 ; :ref:`t2m_correction_ncdf.pro`. … … 41 41 ; .. graphviz:: 42 42 ; 43 ; digraph interp_erai_t2m _1989_2009{43 ; digraph interp_erai_t2m { 44 44 ; 45 45 ; file_in [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/20c3m_erai_t2_TROP_1989_2009.nc"]; 46 46 ; mask [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 47 ; file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_t2m_ 19890101_20091231_oafluxgrid.nc"];48 ; 49 ; interp_erai_t2m _1989_2009[shape=box,47 ; file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_t2m_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 48 ; 49 ; interp_erai_t2m [shape=box, 50 50 ; fontname=Courier, 51 51 ; color=blue, 52 ; URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/interp_erai_t2m _1989_2009.pro",53 ; label="${PROJECT}/src/interp_erai_t2m _1989_2009.pro"];54 ; 55 ; {file_in mask} -> {interp_erai_t2m _1989_2009} -> {file_out}52 ; URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/interp_erai_t2m.pro", 53 ; label="${PROJECT}/src/interp_erai_t2m.pro"]; 54 ; 55 ; {file_in mask} -> {interp_erai_t2m} -> {file_out} 56 56 ; 57 57 ; } … … 87 87 ; 88 88 ; IDL> .compile file_interp 89 ; IDL> interp_erai_t2m_1989_2009 89 ; IDL> yyyymmddb = 19890101 90 ; IDL> yyyymmdde = 20091231 91 ; IDL> result = interp_erai_t2m(yyyymmddb, yyymmdde) 92 ; IDL> print, result 90 93 ; 91 94 ; TODO 92 95 ; ==== 96 ; 97 ; scientific validation (starnge look of data with ncview now) 98 ; 99 ; check [yyyymmddb,yyyymmdde] validity 100 ; 101 ; check if [yyyymmddb,yyyymmdde] is included in ERA-I file 102 ; 103 ; what happen if yyyymmdde > 20091231 : need to read an other ERA-I file 104 ; 105 ; add an example with only one month (ie 200912) 93 106 ; 94 107 ; make it work : pb on loholt1 idl8 … … 125 138 ; see :func:`file_interp <saxo:file_interp>` 126 139 ; 127 ; use as input a file produced by compute_erai_daily_region_2d.sh 140 ; use as input a file produced by compute_erai_daily_region_2d.sh or 141 ; get_erai.py + grib to netcdf conversion 128 142 ; 129 143 ; coding rules … … 150 164 ; $Id$ 151 165 ; 152 ; $URL: svn+ssh://pinsard@forge.ipsl.jussieu.fr/ipsl/forge/projets/tropflux/svn/trunk/src/interp_erai_t2m_1989_2009.pro $ 166 ; $URL: svn+ssh://pinsard@forge.ipsl.jussieu.fr/ipsl/forge/projets/tropflux/svn/trunk/src/interp_erai_t2m.pro $ 167 ; 168 ; - fplod 20120306 169 ; 170 ; * pro -> function 153 171 ; 154 172 ; - pinsard 2011-08-23T09:09:16Z loholt1.ipsl.polytechnique.fr (Linux) … … 213 231 ; 214 232 ;- 215 pro interp_erai_t2m_1989_2009 233 function interp_erai_t2m $ 234 , yyyymmddb $ 235 , yyyymmdde 216 236 ; 217 237 @cm_4cal … … 221 241 @cm_project 222 242 ; 243 ; Return to caller if errors 244 ON_ERROR, 2 245 ; 246 result = -1 247 ; 248 usage = 'result = interp_erai_t2m(yyyymmddb, yyyymmdde) 249 nparam = N_PARAMS() 250 IF (nparam NE 2) THEN BEGIN 251 ras = report(['Incorrect number of arguments.' $ 252 + '!C' $ 253 + 'Usage : ' + usage]) 254 return, -1 255 ENDIF 256 223 257 ; check for input directory 224 258 ; … … 228 262 msg = 'eee : ${PROJECT_ID} is not defined' 229 263 ras = report(msg) 230 STOP264 return, result 231 265 END 232 266 ELSE: BEGIN … … 242 276 msg = 'eee : the directory' + iodirin + ' is not accessible.' 243 277 ras = report(msg) 244 STOP278 return, result 245 279 ENDIF 246 280 ; … … 255 289 msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 256 290 ras = report(msg) 257 STOP291 return, result 258 292 ENDIF 259 293 ; … … 268 302 msg = 'eee : the file ' + fullfilename_t2 + ' was not found.' 269 303 ras = report(msg) 270 STOP304 return, result 271 305 ENDIF 272 306 ; … … 276 310 msg = 'eee : ${PROJECT_OD} is not defined' 277 311 ras = report(msg) 278 STOP312 return, result 279 313 END 280 314 ELSE: BEGIN … … 291 325 msg = 'eee : the directory' + iodirout + ' was not found.' 292 326 ras = report(msg) 293 STOP327 return, result 294 328 ENDIF 295 329 ; 296 330 ; build output filename 297 filename_out = 'erai_t2m_ 19890101_20091231_oafluxgrid.nc'331 filename_out = 'erai_t2m_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '_oafluxgrid.nc' 298 332 fullfilename_out = iodirout + filename_out 299 333 ; in order to avoid unexpected overwritten … … 301 335 msg = 'eee : the file ' + fullfilename_out + ' already exists.' 302 336 ras = report(msg) 303 STOP337 return, result 304 338 ENDIF 305 339 ; … … 387 421 @ncdf_quickwrite 388 422 ; 423 result = 0 424 return, result 425 ; 389 426 end -
trunk/src/oaflux_mask_30n30s.pro
r153 r155 47 47 ; 48 48 ; Environement : 49 ; :ref:`project_profile.sh`, 49 ; :ref:`project_profile.sh`, 50 50 ; :ref:`project_init.pro`, 51 51 ; :ref:`cm_project.pro` … … 66 66 ; :ref:`interp_erai_lwr_1989_2009.pro`, 67 67 ; :ref:`interp_erai_sst_1989_2009.pro`, 68 ; : ref:`interp_erai_t2m_1989_2009.pro`,68 ; :func:`interp_erai_t2m`, 69 69 ; :ref:`interp_erai_ws_1989_2009.pro`, 70 70 ; :ref:`interp_olr_30n30s_1989_2009.pro` … … 147 147 ras = report(['Incorrect number of arguments.' $ 148 148 + '!C' $ 149 150 return, -1149 + 'Usage : ' + usage]) 150 return, result 151 151 ENDIF 152 152 ; … … 162 162 msg = 'eee : the file ' + fullfilename_in + ' was not found.' 163 163 ras = report(msg) 164 return, -1164 return, result 165 165 ENDIF 166 166 ; … … 170 170 msg = 'eee : the file ' + fullfilename_out + ' already exists.' 171 171 ras = report(msg) 172 return, -1172 return, result 173 173 ENDIF 174 174 ; -
trunk/src/t2m_correction_ncdf.pro
r100 r155 14 14 ; air temperature at 2 m height from ERA-I interpolated on OAFLUX grid 15 15 ; has been produced by 16 ; : ref:`interp_erai_t2m_1989_2009.pro`.16 ; :func:`interp_erai_t2m`. 17 17 ; 18 18 ; Corrected air temperature at 2 m height … … 56 56 ; :ref:`mooring_corrections` 57 57 ; 58 ; : ref:`interp_erai_t2m_1989_2009.pro`58 ; :func:`interp_erai_t2m` 59 59 ; 60 60 ; :func:`initncdf <saxo:initncdf>` -
trunk/src/tropflux.sh
r153 r155 65 65 # $ tropflux.sh -b 20060801 -e 20060802 66 66 # 67 # A more global example:: 68 # 69 # $ tropflux.sh -b 19890101 -e 20091231 70 # 67 71 # And look at log file with :: 68 72 # … … 106 110 # 107 111 # $URL$ 112 # 113 # - pinsard 20120306 114 # 115 # * create a pro IDL program to introduce LOGICAL_PREDICATE 116 # thanks to http://www.idlcoyote.com/code_tips/bitwiselogical.html 108 117 # 109 118 # - pinsard 20120305 … … 267 276 # 268 277 cat >> ${PROJECT}/src/tropflux_${$}.pro << EOF 269 .compile file_interp 278 pro tropflux_${$} 279 compile_opt idl2, strictarrsubs, logical_predicate 270 280 result = oaflux_mask_30n30s() 271 if (result NE 0)THEN BEGIN272 msg = 'eee : pb after oaflux_mask_30n30s' 281 IF result < 0 THEN BEGIN 282 msg = 'eee : pb after oaflux_mask_30n30s' + string(result) 273 283 err = report(msg) 274 284 exit … … 278 288 ;interp_erai_msl_1989_2009 279 289 ;interp_erai_sst_1989_2009 280 ;interp_erai_t2m_1989_2009 290 result = interp_erai_t2m(${yyyymmddb}, ${yyyymmdde}) 291 IF result < 0 THEN BEGIN 292 msg = 'eee : pb after interp_erai_t2m' + string(result) 293 err = report(msg) 294 exit 295 ENDIF 281 296 ;interp_erai_ws_1989_2009 282 297 ;interp_olr_30n30s_1989_2009 … … 284 299 ;++Program caused arithmetic error: Floating overflow 285 300 ;++ Program caused arithmetic error: Floating illegal operand 286 .compile TropFlux_swr_DT_19890101_20071231287 tropflux_swr_dt_19890101_20071231288 .compile TropFlux_swr_NRT_19890101_20091231289 tropflux_swr_nrt_19890101_20091231290 .compile TropFlux_swr_BLND_19890101_20091231291 tropflux_swr_blnd_19890101_20091231292 lwr_correction_ncdf293 q2m_correction_ncdf294 sst_correction_ncdf295 t2m_correction_ncdf296 ws_correction_ncdf297 cronin_gustiness_ncdf298 .compile TropFlux_19890101_20091231299 tropflux_19890101_20091231300 .compile TropFlux_NRT_ncdf301 tropflux_nrt_ncdf302 e xit301 ;.compile TropFlux_swr_DT_19890101_20071231 302 ;tropflux_swr_dt_19890101_20071231 303 ;.compile TropFlux_swr_NRT_19890101_20091231 304 ;tropflux_swr_nrt_19890101_20091231 305 ;.compile TropFlux_swr_BLND_19890101_20091231 306 ;tropflux_swr_blnd_19890101_20091231 307 ;lwr_correction_ncdf 308 ;q2m_correction_ncdf 309 ;sst_correction_ncdf 310 ;t2m_correction_ncdf 311 ;ws_correction_ncdf 312 ;cronin_gustiness_ncdf 313 ;.compile TropFlux_19890101_20091231 314 ;tropflux_19890101_20091231 315 ;.compile TropFlux_NRT_ncdf 316 ;tropflux_nrt_ncdf 317 end 303 318 EOF 304 319 # 305 320 # run IDL or equivalent 306 321 ${IDL_CMD} << EOF >> ${log} 2>&1 307 @tropflux_${$} 322 .compile file_interp 323 tropflux_${$} 308 324 EOF 309 325 status=${?}
Note: See TracChangeset
for help on using the changeset viewer.