Changeset 175 for trunk/src/tropflux.pro
- Timestamp:
- 03/22/12 14:40:17 (12 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/tropflux.pro
- Property svn:keywords changed from URL to Id URL
r174 r175 1 1 ;+ 2 2 ; 3 ; .. _TropFlux_19890101_20091231.pro: 4 ; 5 ; ============================== 6 ; TropFlux_19890101_20091231.pro 7 ; ============================== 3 ; ============ 4 ; tropflux.pro 5 ; ============ 6 ; 7 ; .. function:: tropflux(yyyymmddb,yyyymmdde) 8 ; 9 ; DESCRITION 10 ; ========== 8 11 ; 9 12 ; This program computes net heat flux components on the 1° oaflux grid. … … 20 23 ; :func:`oaflux_mask_30n30s`. 21 24 ; 22 ; :file:`${PROJECT_OD}/TropFlux_sst_ 19890101_20091231.nc`25 ; :file:`${PROJECT_OD}/TropFlux_sst_{yyyymmdd}_{yyyymmdd}.nc` 23 26 ; containing 24 27 ; sst corrected on OAFLUX grid 25 28 ; has been produced by 26 ; : ref:`sst_correction_ncdf.pro`.27 ; 28 ; :file:`${PROJECT_OD}/TropFlux_ws_ 19890101_20091231.nc`29 ; :func:`sst_correction_ncdf`. 30 ; 31 ; :file:`${PROJECT_OD}/TropFlux_ws_{yyyymmdd}_{yyyymmdd}.nc` 29 32 ; containing 30 33 ; ws corrected on OAFLUX grid 31 34 ; has been produced by 32 ; : ref:`ws_correction_ncdf.pro`.33 ; 34 ; :file:`${PROJECT_OD}/TropFlux_gustiness_ 19890101_20091231.nc`35 ; :func:`ws_correction_ncdf`. 36 ; 37 ; :file:`${PROJECT_OD}/TropFlux_gustiness_{yyyymmdd}_{yyyymmdd}.nc` 35 38 ; containing 36 39 ; ++ … … 38 41 ; :func:`cronin_gustiness_ncdf`. 39 42 ; 40 ; :file:`${PROJECT_OD}/TropFlux_swr_ 19890101_20091231_BLND.nc`43 ; :file:`${PROJECT_OD}/TropFlux_swr_{yyyymmdd}_{yyyymmdd}_BLND.nc` 41 44 ; containing 42 45 ; ws corrected on OAFLUX grid … … 44 47 ; :func:`tropflux_swr_blnd`. 45 48 ; 46 ; :file:`${PROJECT_OD}/TropFlux_lwr_ 19890101_20091231.nc`49 ; :file:`${PROJECT_OD}/TropFlux_lwr_{yyyymmdd}_{yyyymmdd}.nc` 47 50 ; containing 48 51 ; lwr corrected on OAFLUX grid 49 52 ; has been produced by 50 ; : ref:`lwr_correction_ncdf.pro`.53 ; :func:`lwr_correction_ncdf`. 51 54 ; 52 55 ; containing 53 56 ; t2m corrected on OAFLUX grid 54 57 ; has been produced by 55 ; : ref:`t2m_correction_ncdf.pro`.56 ; 57 ; :file:`${PROJECT_OD}/TropFlux_q2m_ 19890101_20091231.nc`58 ; :func:`t2m_correction_ncdf`. 59 ; 60 ; :file:`${PROJECT_OD}/TropFlux_q2m_{yyyymmdd}_{yyyymmdd}.nc` 58 61 ; containing 59 62 ; q2m corrected on OAFLUX grid … … 62 65 ; 63 66 ; net heat flux components are written 64 ; in :file:`${PROJECT_OD}/TropFlux_ 19890101_20091231_coarev3.nc`67 ; in :file:`${PROJECT_OD}/TropFlux_{yyyymmdd}_{yyyymmdd}_coarev3.nc` 65 68 ; if this file not already exists. 66 69 ; 67 70 ; This output file 68 ; :file:`${PROJECT_OD}/TropFlux_ 19890101_20091231_coarev3.nc`71 ; :file:`${PROJECT_OD}/TropFlux_{yyyymmdd}_{yyyymmdd}_coarev3.nc` 69 72 ; will be used by 70 73 ; :ref:`TropFlux_NRT_ncdf.pro`. … … 72 75 ; .. graphviz:: 73 76 ; 74 ; digraph tropflux _19890101_20091231{77 ; digraph tropflux { 75 78 ; 76 79 ; mask [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 77 ; file_sst [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_sst_ 19890101_20091231.nc"];78 ; file_ws [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_ws_ 19890101_20091231.nc"];79 ; file_wg [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_gustiness_ 19890101_20091231.nc"];80 ; file_swr [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_swr_ 19890101_20091231_BLND.nc"];81 ; file_lwr [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_lwr_ 19890101_20091231.nc"];82 ; file_t2m [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_t2m_ 19890101_20091231.nc"];83 ; file_q2m [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_q2m_ 19890101_20091231.nc"];84 ; 85 ; file_out[shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_ 19890101_20091231_coarev3.nc"];86 ; 87 ; tropflux _19890101_20091231[shape=box,80 ; file_sst [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_sst_{yyyymmdd}_{yyyymmdd}.nc"]; 81 ; file_ws [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_ws_{yyyymmdd}_{yyyymmdd}.nc"]; 82 ; file_wg [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_gustiness_{yyyymmdd}_{yyyymmdd}.nc"]; 83 ; file_swr [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_swr_{yyyymmdd}_{yyyymmdd}_BLND.nc"]; 84 ; file_lwr [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_lwr_{yyyymmdd}_{yyyymmdd}.nc"]; 85 ; file_t2m [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_t2m_{yyyymmdd}_{yyyymmdd}.nc"]; 86 ; file_q2m [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_q2m_{yyyymmdd}_{yyyymmdd}.nc"]; 87 ; 88 ; file_out[shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_{yyyymmdd}_{yyyymmdd}_coarev3.nc"]; 89 ; 90 ; tropflux [shape=box, 88 91 ; fontname=Courier, 89 92 ; color=blue, 90 ; URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/ TropFlux_19890101_20091231.pro",91 ; label="${PROJECT}/src/ TropFlux_19890101_20091231.pro"];92 ; 93 ; {mask file_sst file_ws file_wg file_swr file_lwr file_t2m file_q2m} -> {tropflux _19890101_20091231} -> {file_out}93 ; URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/tropflux.pro", 94 ; label="${PROJECT}/src/tropflux.pro"]; 95 ; 96 ; {mask file_sst file_ws file_wg file_swr file_lwr file_t2m file_q2m} -> {tropflux} -> {file_out} 94 97 ; 95 98 ; } … … 99 102 ; 100 103 ; :ref:`project_profile.sh` 104 ; 105 ; Used by :ref:`tropflux.sh` 101 106 ; 102 107 ; :func:`report <saxo:report>` … … 124 129 ; :: 125 130 ; 126 ; IDL> .compile TropFlux_19890101_20091231 127 ; IDL> tropflux_19890101_20091231 128 ; 131 ; IDL> yyyymmddb = 20000101L 132 ; IDL> yyyymmdde = 20001231L 133 ; IDL> result = tropflux(yyyymmddb, yyyymmdde) 134 ; IDL> print, result 135 129 136 ; TODO 130 137 ; ==== 131 138 ; 132 139 ; describe usage of tau 140 ; 141 ; compare time between all inputs after reading 133 142 ; 134 143 ; make it work :: … … 180 189 ; wg=read_ncdf('wg',da1-1,da2,file=fullfilename_wg,/nostr) 181 190 ; 182 ; avoid mix lower/uppercase in pro name to avoid compile183 ;184 191 ; coding rules 185 192 ; … … 196 203 ; 197 204 ; $URL$ 205 ; 206 ; - fplod 20120322 207 ; 208 ; * pro -> func 209 ; * rename with lower case TropFlux_19890101_20091231 become tropflux 210 ; * taking project_overwite into account 211 ; * try to add compile_opt 212 ; * hard coded da1 and da2 replaced by yyyymmddb and yyyymmdde parameters 213 ; * get rid of timegen 198 214 ; 199 215 ; - fplod 20110830T135832Z cratos (Linux) … … 241 257 ;- 242 258 ; 243 pro TropFlux_19890101_20091231 259 function tropflux $ 260 , yyyymmddb $ 261 , yyyymmdde 262 ; 263 compile_opt idl2, strictarrsubs, logical_predicate 244 264 ; 245 265 @cm_4cal … … 249 269 @cm_project 250 270 ; 271 ; Return to caller if errors 272 ON_ERROR, 2 273 ; 274 result = -1 275 ; 276 usage = 'result = tropflux_swr_nrt(yyyymmddb, yyyymmdde)' 277 nparam = N_PARAMS() 278 IF (nparam NE 2) THEN BEGIN 279 ras = report(['Incorrect number of arguments.' $ 280 + '!C' $ 281 + 'Usage : ' + usage]) 282 return, result 283 ENDIF 284 ; 251 285 ; check for input directory 252 286 ; … … 256 290 msg = 'eee : ${PROJECT_ID} is not defined' 257 291 ras = report(msg) 258 STOP292 return, result 259 293 END 260 294 ELSE: BEGIN … … 270 304 msg = 'eee : the directory' + iodirin + ' is not accessible.' 271 305 ras = report(msg) 272 STOP306 return, result 273 307 ENDIF 274 308 ; … … 283 317 msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 284 318 ras = report(msg) 285 STOP319 return, result 286 320 ENDIF 287 321 ; … … 291 325 msg = 'eee : ${PROJECT_OD} is not defined' 292 326 ras = report(msg) 293 STOP327 return, result 294 328 END 295 329 ELSE: BEGIN … … 306 340 msg = 'eee : the directory' + iodirout + ' is not accessible.' 307 341 ras = report(msg) 308 STOP342 return, result 309 343 ENDIF 310 344 ; … … 313 347 msg = 'eee : the directory' + iodirout + ' was not found.' 314 348 ras = report(msg) 315 STOP349 return, result 316 350 ENDIF 317 351 ; 318 352 ; build sst data filename 319 filename_sst='TropFlux_sst_ 19890101_20091231.nc'353 filename_sst='TropFlux_sst_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 320 354 ; 321 355 ; check if this file exists … … 326 360 msg = 'eee : the file ' + fullfilename_sst + ' was not found.' 327 361 ras = report(msg) 328 STOP362 return, result 329 363 ENDIF 330 364 ; 331 365 ; build ws data filename 332 filename_ws='TropFlux_ws_ 19890101_20091231.nc'366 filename_ws='TropFlux_ws_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 333 367 ; 334 368 ; check if this file exists … … 339 373 msg = 'eee : the file ' + fullfilename_ws + ' was not found.' 340 374 ras = report(msg) 341 STOP375 return, result 342 376 ENDIF 343 377 ; 344 378 ; build swr data filename 345 filename_swr='TropFlux_swr_ 19890101_20091231_BLND.nc'379 filename_swr='TropFlux_swr_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '_BLND.nc' 346 380 ; 347 381 ; check if this file exists … … 352 386 msg = 'eee : the file ' + fullfilename_swr + ' was not found.' 353 387 ras = report(msg) 354 STOP388 return, result 355 389 ENDIF 356 390 ; 357 391 ; build lwr data filename 358 filename_lwr='TropFlux_lwr_ 19890101_20091231.nc'392 filename_lwr='TropFlux_lwr_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 359 393 ; 360 394 ; check if this file exists … … 365 399 msg = 'eee : the file ' + fullfilename_lwr + ' was not found.' 366 400 ras = report(msg) 367 STOP401 return, result 368 402 ENDIF 369 403 ; 370 404 ; build t2m data filename 371 filename_t2m='TropFlux_t2m_ 19890101_20091231.nc'405 filename_t2m='TropFlux_t2m_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 372 406 ; 373 407 ; check if this file exists … … 378 412 msg = 'eee : the file ' + fullfilename_t2m + ' was not found.' 379 413 ras = report(msg) 380 STOP414 return, result 381 415 ENDIF 382 416 ; 383 417 ; build q2m data filename 384 filename_q2m='TropFlux_q2m_ 19890101_20091231.nc'418 filename_q2m='TropFlux_q2m_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 385 419 ; 386 420 ; check if this file exists … … 391 425 msg = 'eee : the file ' + fullfilename_q2m + ' was not found.' 392 426 ras = report(msg) 393 STOP427 return, result 394 428 ENDIF 395 429 ; 396 430 ; build wg data filename 397 filename_wg='TropFlux_gustiness_ 19890101_20091231.nc'431 filename_wg='TropFlux_gustiness_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 398 432 ; 399 433 ; check if this file exists … … 404 438 msg = 'eee : the file ' + fullfilename_wg + ' was not found.' 405 439 ras = report(msg) 406 STOP440 return, result 407 441 ENDIF 408 442 ; 409 443 ; build output filename 410 filename_out = 'TropFlux_ 19890101_20091231_coarev3.nc'444 filename_out = 'TropFlux_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '_coarev3.nc' 411 445 fullfilename_out = iodirout + filename_out 412 446 ; in order to avoid unexpected overwritten … … 414 448 msg = 'eee : the file ' + fullfilename_out + ' already exists.' 415 449 ras = report(msg) 416 STOP 417 ENDIF 418 ; 419 da1=19880101 420 da2=20101231 450 return, result 451 ENDIF 421 452 ; 422 453 initncdf, fullfilename_msk … … 425 456 initncdf, fullfilename_sst 426 457 ; 427 ws=read_ncdf('ws',da1,da2,file=fullfilename_ws,/nostr) 428 wg=read_ncdf('wg',da1-1,da2,file=fullfilename_wg,/nostr) 458 ws=read_ncdf('ws',yyyymmddb-.5d,yyyymmdde,file=fullfilename_ws,/nostr) 459 timein=24.d*(time-julday(1,1,1957,0,0,0)) 460 jpt=n_elements(timein) 461 da=jul2date(time[0]) 462 cda0=string(da,format='(i8.8)') 463 da=jul2date(time[jpt-1]) 464 cda1=string(da,format='(i8.8)') 465 print, 'ws in tropflux first date ', cda0 466 print, 'ws in ws_correction_ncdf last date ' , cda1 467 ; 468 wg=read_ncdf('wg',yyyymmddb-.5d-1,yyyymmdde,file=fullfilename_wg,/nostr) 469 timein=24.d*(time-julday(1,1,1957,0,0,0)) 470 jpt=n_elements(timein) 471 da=jul2date(time[0]) 472 cda0=string(da,format='(i8.8)') 473 da=jul2date(time[jpt-1]) 474 cda1=string(da,format='(i8.8)') 475 print, 'wg in tropflux first date ', cda0 476 print, 'wg in ws_correction_ncdf last date ' , cda1 429 477 tt=time 430 478 jpt=n_elements(time) 431 sst=read_ncdf('sst',da1,da2,file=fullfilename_sst,/nostr) 479 sst=read_ncdf('sst',yyyymmddb-.5d,yyyymmdde,file=fullfilename_sst,/nostr) 480 timein=24.d*(time-julday(1,1,1957,0,0,0)) 481 jpt=n_elements(timein) 482 da=jul2date(time[0]) 483 cda0=string(da,format='(i8.8)') 484 da=jul2date(time[jpt-1]) 485 cda1=string(da,format='(i8.8)') 486 print, 'sst in tropflux first date ', cda0 487 print, 'sst in ws_correction_ncdf last date ' , cda1 432 488 sst=reform(sst-273.15) 433 swd=read_ncdf('swr',da1,da2,file=fullfilename_swr,/nostr) 434 lw=read_ncdf('lwr',da1,da2,file=fullfilename_lwr,/nostr) 489 swd=read_ncdf('swr',yyyymmddb-.5d,yyyymmdde,file=fullfilename_swr,/nostr) 490 timein=24.d*(time-julday(1,1,1957,0,0,0)) 491 jpt=n_elements(timein) 492 da=jul2date(time[0]) 493 cda0=string(da,format='(i8.8)') 494 da=jul2date(time[jpt-1]) 495 cda1=string(da,format='(i8.8)') 496 print, 'swr in tropflux first date ', cda0 497 print, 'swr in ws_correction_ncdf last date ' , cda1 498 lw=read_ncdf('lwr',yyyymmddb-.5d,yyyymmdde,file=fullfilename_lwr,/nostr) 499 timein=24.d*(time-julday(1,1,1957,0,0,0)) 500 jpt=n_elements(timein) 501 da=jul2date(time[0]) 502 cda0=string(da,format='(i8.8)') 503 da=jul2date(time[jpt-1]) 504 cda1=string(da,format='(i8.8)') 505 print, 'lwr in tropflux first date ', cda0 506 print, 'lwr in ws_correction_ncdf last date ' , cda1 435 507 swd=swd/0.94 ; converting from net swr to downward swr 436 508 ; 437 t2m=read_ncdf('t2m',da1,da2,file=fullfilename_t2m,/nostr)-273.15 ; in C 438 q2m=read_ncdf('q2m',da1,da2,file=fullfilename_q2m,/nostr) ; in g/kg 509 t2m=read_ncdf('t2m',yyyymmddb-.5d,yyyymmdde,file=fullfilename_t2m,/nostr)-273.15 ; in C 510 timein=24.d*(time-julday(1,1,1957,0,0,0)) 511 jpt=n_elements(timein) 512 da=jul2date(time[0]) 513 cda0=string(da,format='(i8.8)') 514 da=jul2date(time[jpt-1]) 515 cda1=string(da,format='(i8.8)') 516 print, 't2m in tropflux first date ', cda0 517 print, 't2m in ws_correction_ncdf last date ' , cda1 518 q2m=read_ncdf('q2m',yyyymmddb-.5d,yyyymmdde,file=fullfilename_q2m,/nostr) ; in g/kg 519 timein=24.d*(time-julday(1,1,1957,0,0,0)) 520 jpt=n_elements(timein) 521 da=jul2date(time[0]) 522 cda0=string(da,format='(i8.8)') 523 da=jul2date(time[jpt-1]) 524 cda1=string(da,format='(i8.8)') 525 print, 'q2m in tropflux first date ', cda0 526 print, 'q2m in ws_correction_ncdf last date ' , cda1 439 527 ; 440 528 w=sqrt(ws*ws+wg*wg) ; wind corrected for gustiness … … 471 559 ; 472 560 for jt=0,jpt-1 do begin 473 jday=time (jt)-julday(1,1,yea(jt))561 jday=time[jt]-julday(1,1,yea[jt]) 474 562 print, 'Computing Fluxes ',jt,' / ',jpt-1 475 563 ; … … 478 566 ; 479 567 ; wind speed (m/s) 480 wn=w (*,*,jt)481 wn=wn (ocean)568 wn=w[*,*,jt] 569 wn=wn[ocean] 482 570 ; Bulk sst (°C) 483 ts=sst (*,*,jt)484 ts=ts (ocean)571 ts=sst[*,*,jt] 572 ts=ts[ocean] 485 573 ; 2m Air T (°C) 486 t=t2m (*,*,jt)487 t=t (ocean)574 t=t2m[*,*,jt] 575 t=t[ocean] 488 576 ; Sea surface sat. spec. humidity (g/kg) 489 577 qs=qsee(ts,P) 490 578 ; 2m AIr specific humidity (g/kg) 491 q=q2m (*,*,jt)492 q=q (ocean)579 q=q2m[*,*,jt] 580 q=q[ocean] 493 581 ; Downward solar flux (W/m2) 494 Rs=swd (*,*,jt)495 Rs=Rs (ocean)496 ylat=gphit (ocean)582 Rs=swd[*,*,jt] 583 Rs=Rs[ocean] 584 ylat=gphit[ocean] 497 585 ; cld=calc_cloud(jday,Rs,ylat) 498 586 cld=calc_cloud_vlat(jday,Rs,ylat) 499 587 ; Downward IR flux (W/m2) 500 588 ; Rl=lwdown_clark(ts,q,cld,t,P) 501 Rl=lw (*,*,jt)502 Rl=Rl (ocean)589 Rl=lw[*,*,jt] 590 Rl=Rl[ocean] 503 591 rain=0. 504 592 lw_clrk=-lwnet_clark(ts,q,cld,t,P) 505 ; junk (*,*,jt)=lw_clrk593 ; junk[*,*,jt]=lw_clrk 506 594 ; 507 595 ;stop … … 509 597 ; A few punctual missing values (coare does not converge): filled by spatial extrapolation 510 598 tab=fltarr(jpi,jpj)+!values.f_nan 511 x=reform(y (*,0))512 tab (ocean)=x599 x=reform(y[*,0]) 600 tab[ocean]=x 513 601 m=finite(tab) 514 602 help, tab, m, swr 515 603 tab=extrapolate(tab,m) 516 swr (*,*,jt)=tab*msk+valmask*(1-msk)604 swr[*,*,jt]=tab*msk+valmask*(1-msk) 517 605 ; 518 606 tab=fltarr(jpi,jpj)+!values.f_nan 519 x=reform(y (*,1))520 tab (ocean)=x607 x=reform(y[*,1]) 608 tab[ocean]=x 521 609 m=finite(tab) 522 610 help, tab, m, lwr … … 524 612 print, 'www : extrapolation for lwr is not done' 525 613 tab=tab 526 lwr (*,*,jt)=tab*msk+valmask*(1-msk)614 lwr[*,*,jt]=tab*msk+valmask*(1-msk) 527 615 ; 528 616 tab=fltarr(jpi,jpj)+!values.f_nan 529 x=reform(y (*,2))530 tab (ocean)=x617 x=reform(y[*,2]) 618 tab[ocean]=x 531 619 m=finite(tab) 532 620 help, tab, m, lat … … 534 622 print, 'www : extrapolation for lat is not done' 535 623 tab=tab 536 lat (*,*,jt)=tab*msk+valmask*(1-msk)624 lat[*,*,jt]=tab*msk+valmask*(1-msk) 537 625 tab=fltarr(jpi,jpj)+!values.f_nan 538 x=reform(y (*,3))539 tab (ocean)=x626 x=reform(y[*,3]) 627 tab[ocean]=x 540 628 m=finite(tab) 541 629 help, tab, m, sen … … 543 631 print, 'www : extrapolation for sen is not done' 544 632 tab=tab 545 sen (*,*,jt)=tab*msk+valmask*(1-msk)546 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(lw_clrk) & tab (ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & lwnet_clrk(*,*,jt)=tab*msk+valmask*(1-msk)547 tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y (*,5)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & tau(*,*,jt)=tab*msk+valmask*(1-msk)548 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y (*,6)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & Ch(*,*,jt)=tab*msk+valmask*(1-msk)549 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y (*,7)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & Ce(*,*,jt)=tab*msk+valmask*(1-msk)550 tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y (*,8)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & wg(*,*,jt)=tab*msk+valmask*(1-msk)633 sen[*,*,jt]=tab*msk+valmask*(1-msk) 634 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(lw_clrk) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & lwnet_clrk[*,*,jt]=tab*msk+valmask*(1-msk) 635 tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,5]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & tau[*,*,jt]=tab*msk+valmask*(1-msk) 636 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,6]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & Ch[*,*,jt]=tab*msk+valmask*(1-msk) 637 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,7]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & Ce[*,*,jt]=tab*msk+valmask*(1-msk) 638 tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,8]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & wg[*,*,jt]=tab*msk+valmask*(1-msk) 551 639 endfor 552 time=timegen(7670, start=julday(1,1,1989,0), units='days')553 640 jpt=n_elements(time) 554 641 ; 555 cda0=string(jul2date(time (0)),format='(i8.8)')556 cda1=string(jul2date(time (jpt-1)),format='(i8.8)')642 cda0=string(jul2date(time[0]),format='(i8.8)') 643 cda1=string(jul2date(time[jpt-1]),format='(i8.8)') 557 644 time=time-julday(1,1,1950,00,00,00) 558 xlon=reform(glamt (*,0))559 ylat=reform(gphit (0,*))645 xlon=reform(glamt[*,0]) 646 ylat=reform(gphit[0,*]) 560 647 ; 561 648 ncfile='!' + fullfilename_out … … 590 677 @ncdf_quickwrite 591 678 ; 679 result = 0 680 return, result 681 ; 592 682 end
Note: See TracChangeset
for help on using the changeset viewer.