Changeset 173 for trunk


Ignore:
Timestamp:
03/20/12 16:17:15 (12 years ago)
Author:
pinsard
Message:

improve time selection in inter*.pro

Location:
trunk/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/d2m_to_q2m_erai.pro

    r172 r173  
    9696; :: 
    9797; 
    98 ;  IDL> yyyymmddb = 19890101 
    99 ;  IDL> yyyymmdde = 20091231 
     98;  IDL> yyyymmddb = 20000101L 
     99;  IDL> yyyymmdde = 20001231L 
    100100;  IDL> result = d2m_to_q2m_erai(yyyymmddb, yyyymmdde) 
    101101;  IDL> print, result 
  • trunk/src/interp_erai_dewt.pro

    r171 r173  
    3131; :file:`${PROJECT_OD}/erai_d2m_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc` 
    3232; must be processed after by 
    33 ; :ref:`d2m_to_q2m_erai.pro`. 
     33; :func:`d2m_to_q2m_erai`. 
    3434; 
    3535; .. only:: man 
     
    7575; :func:`ncdf_quickwrite <saxo:ncdf_quickwrite>` 
    7676; 
    77 ; :ref:`d2m_to_q2m_erai.pro` 
     77; :func:`d2m_to_q2m_erai` 
    7878; 
    7979; EXAMPLES 
     
    8383; 
    8484;  IDL> .compile file_interp 
    85 ;  IDL> yyyymmddb = 19890101 
    86 ;  IDL> yyyymmdde = 20091231 
     85;  IDL> yyyymmddb = 20000101L 
     86;  IDL> yyyymmdde = 20001231L 
    8787;  IDL> result = interp_erai_dewt(yyyymmddb, yyyymmdde) 
    8888;  IDL> print, result 
     
    112112; what happen if yyyymmdde > 20091231 : need to read an other ERA-I file 
    113113; 
    114 ; add an example with only one month (ie 200001) 
    115 ; 
    116114; coding rules 
    117115; 
     
    130128; 
    131129; $URL: svn+ssh://pinsard@forge.ipsl.jussieu.fr/ipsl/forge/projets/tropflux/svn/trunk/src/interp_erai_dewt.pro $ 
     130; 
     131; - fplod 20120320 
     132; 
     133;   * no more timegen 
    132134; 
    133135; - fplod 20120319 
     
    183185result = -1 
    184186; 
    185 usage = 'result = interp_erai_dewt(yyyymmddb, yyyymmdde) 
     187usage = 'result = interp_erai_dewt(yyyymmddb, yyyymmdde)' 
    186188nparam = N_PARAMS() 
    187189IF (nparam NE 2) THEN BEGIN 
     
    281283print, 'lat grid ',min(latin),max(latin),latin[1]-latin[0] 
    282284print, 'lon grid ',min(lonin),max(lonin),lonin[1]-lonin[0] 
    283 d2min=read_ncdf("d2",19881201,20101231,file=fullfilename,/nostr) 
    284 ; 
    285 jptin=jpt 
     285d2min=read_ncdf("d2",yyyymmddb-.5d,yyyymmdde,file=fullfilename,/nostr) 
     286; 
     287timein=24.d*(time-julday(1,1,1957,0,0,0)) 
     288jptin=n_elements(timein) 
     289da=jul2date(time[0]) 
     290cda0=string(da,format='(i8.8)') 
     291da=jul2date(time[jpt-1]) 
     292cda1=string(da,format='(i8.8)') 
     293print, 'first date ', cda0 
     294print, 'last date ' , cda1 
     295; 
    286296tab=d2min[*,*,0] 
    287297mskin=glamt*0.+1. 
     
    309319initncdf, fullfilename_msk 
    310320; 
    311 time=timegen(7670, start=julday(1,1,1989,0), units='days') 
    312 jpt=n_elements(time) 
    313 cda0=string(jul2date(time[0]),format='(i8.8)') 
    314 cda1=string(jul2date(time[jpt-1]),format='(i8.8)') 
    315 time=time-julday(1,1,1950,00,00) 
    316 ; 
    317321lat=latout 
    318322lon=lonout 
     
    324328d2m_attr={units:'degK',missing_value:1e20,long_name:'Dew Point Temperature at 2m',short_name:'d2m',axis:'TYX'} 
    325329; 
    326 ncfields = 'd2m[longitude,latitude,time]=d2mout:d2m_attr; ' $ 
     330ncfields = 'd2m[longitude,latitude,*time]=d2mout:d2m_attr; ' $ 
    327331                      + 'longitude[]=lon:lon_attr; ' $ 
    328332                      + 'latitude[]=lat:lat_attr; ' $ 
    329                       + 'time[*time]=time:time_attr ' $ 
     333                      + 'time[]=timein:time_attr ' $ 
    330334                      + ' @ globattr' 
    331335; 
  • trunk/src/interp_erai_lwr.pro

    r171 r173  
    8383; 
    8484;  IDL> .compile file_interp 
    85 ;  IDL> yyyymmddb = 19890101 
    86 ;  IDL> yyyymmdde = 20091231 
     85;  IDL> yyyymmddb = 20000101L 
     86;  IDL> yyyymmdde = 20001231L 
    8787;  IDL> result = interp_erai_lwr(yyyymmddb, yyyymmdde) 
    8888;  IDL> print, result 
     
    131131; $URL: svn+ssh://pinsard@forge.ipsl.jussieu.fr/ipsl/forge/projets/tropflux/svn/trunk/src/interp_erai_lwr.pro $ 
    132132; 
     133; - fplod 20120320 
     134; 
     135;   * no more timegen 
     136; 
    133137; - fplod 20120319 
    134138; 
     
    206210result = -1 
    207211; 
    208 usage = 'result = interp_erai_lwr(yyyymmddb, yyyymmdde) 
     212usage = 'result = interp_erai_lwr(yyyymmddb, yyyymmdde)' 
    209213nparam = N_PARAMS() 
    210214IF (nparam NE 2) THEN BEGIN 
     
    302306; 
    303307initncdf, fullfilename 
    304 lwrin=read_ncdf("str",0,7668,/timestep,file=fullfilename,/nostr) 
     308lwrin=read_ncdf("str",yyyymmddb-.5d,yyyymmdde,file=fullfilename,/nostr) 
    305309lwrin=-1*lwrin 
     310timein=24.d*(time-julday(1,1,1957,0,0,0)) 
     311jptin=n_elements(timein) 
     312da=jul2date(time[0]) 
     313cda0=string(da,format='(i8.8)') 
     314da=jul2date(time[jpt-1]) 
     315cda1=string(da,format='(i8.8)') 
     316print, 'first date ', cda0 
     317print, 'last date ' , cda1 
    306318; 
    307319initncdf, fullfilename 
     
    312324print, 'lon grid ',min(lonin),max(lonin),lonin[1]-lonin[0] 
    313325; 
    314 jptin=jpt 
    315326tab=lwrin[*,*,0] 
    316327mskin=glamt*0.+1. 
     
    336347; 
    337348endfor 
    338 ; 
    339 time=timegen(7669, start=julday(1,2,1989,0), units='days') 
    340 jpt=n_elements(time) 
    341 cda0=string(jul2date(time[0]),format='(i8.8)') 
    342 cda1=string(jul2date(time[jpt-1]),format='(i8.8)') 
    343 time=time-julday(1,1,1950,00,00,00) 
    344349; 
    345350lat=latout 
     
    352357lwr_attr={units:'W/m2',missing_value:valmask,long_name:'Surface net longwave radiation ',short_name:'lwr',axis:'TYX'} 
    353358; 
    354 ncfields = 'lwr[longitude,latitude,time]=lwrout:lwr_attr; ' $ 
     359ncfields = 'lwr[longitude,latitude,*time]=lwrout:lwr_attr; ' $ 
    355360                      + 'longitude[]=lon:lon_attr; ' $ 
    356361                      + 'latitude[]=lat:lat_attr; ' $ 
    357                       + 'time[*time]=time:time_attr ' $ 
     362                      + 'time[]=timein:time_attr ' $ 
    358363                      + ' @ globattr' 
    359364; 
  • trunk/src/interp_erai_msl.pro

    r171 r173  
    3232; :file:`${PROJECT_OD}/erai_msl_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc` 
    3333; must be processed after by 
    34 ; :ref:`d2m_to_q2m_erai.pro`. 
     34; :func:`d2m_to_q2m_erai`. 
    3535; 
    3636; .. only:: man 
     
    7676; :func:`ncdf_quickwrite <saxo:ncdf_quickwrite>` 
    7777; 
    78 ; :ref:`d2m_to_q2m_erai.pro` 
     78; :func:`d2m_to_q2m_erai` 
    7979; 
    8080; EXAMPLES 
     
    8484; 
    8585;  IDL> .compile file_interp 
    86 ;  IDL> yyyymmddb = 20000101 
    87 ;  IDL> yyyymmdde = 20000302 
     86;  IDL> yyyymmddb = 20000101L 
     87;  IDL> yyyymmdde = 20001231L 
    8888;  IDL> result = interp_erai_msl(yyyymmddb, yyyymmdde) 
    8989;  IDL> print, result 
     
    116116; 
    117117; $URL$ 
     118; 
     119; - fplod 20120320 
     120; 
     121;   * no more timegen 
    118122; 
    119123; - fplod 20120319 
     
    161165result = -1 
    162166; 
    163 usage = 'result = interp_erai_msl(yyyymmddb, yyyymmdde) 
     167usage = 'result = interp_erai_msl(yyyymmddb, yyyymmdde)' 
    164168nparam = N_PARAMS() 
    165169IF (nparam NE 2) THEN BEGIN 
     
    259263print, 'lat grid ',min(latin),max(latin),latin[1]-latin[0] 
    260264print, 'lon grid ',min(lonin),max(lonin),lonin[1]-lonin[0] 
    261 ;++mslin=read_ncdf("msl",yyyymmddb,yyymmdde,file=fullfilename,/nostr) 
     265;++mslin=read_ncdf("msl",yyyymmddb-.5d,yyymmdde,file=fullfilename,/nostr) 
    262266mslin=read_ncdf("msl",19880101,20100930,file=fullfilename,/nostr) 
    263267; 
    264 ; 
    265 timein=time 
    266 jptin=jpt 
     268timein=24.d*(time-julday(1,1,1957,0,0,0)) 
     269jptin=n_elements(timein) 
     270da=jul2date(time[0]) 
     271cda0=string(da,format='(i8.8)') 
     272da=jul2date(time[jpt-1]) 
     273cda1=string(da,format='(i8.8)') 
     274print, 'first date ', cda0 
     275print, 'last date ' , cda1 
     276; 
    267277tab=mslin[*,*,0] 
    268278mskin=glamt*0.+1. 
     
    302312; 
    303313initncdf, fullfilename_msk 
    304 time=timegen(jptin, start=julday(1,1,1989,0), units='days') 
    305 cda0=string(jul2date(time[0]),format='(i8.8)') 
    306 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 
    307 timein=time-julday(1,1,1950,00,00) 
    308314; 
    309315lat=latout 
     
    316322msl_attr={units:'milibars',missing_value:1e20,long_name:'Mean Sea leval pressure',short_name:'msl',axis:'TYX'} 
    317323; 
    318 ncfields = 'msl[longitude,latitude,time]=mslout:msl_attr; ' $ 
     324ncfields = 'msl[longitude,latitude,*time]=mslout:msl_attr; ' $ 
    319325                      + 'longitude[]=lon:lon_attr; ' $ 
    320326                      + 'latitude[]=lat:lat_attr; ' $ 
    321                       + 'time[*time]=timein:time_attr ' $ 
     327                      + 'time[]=timein:time_attr ' $ 
    322328                      + ' @ globattr' 
    323329; 
  • trunk/src/interp_erai_sst.pro

    r171 r173  
    8484; 
    8585;  IDL> .compile file_interp 
    86 ;  IDL> yyyymmddb = 19890101 
    87 ;  IDL> yyyymmdde = 20091231 
     86;  IDL> yyyymmddb = 20000101L 
     87;  IDL> yyyymmdde = 20001231L 
    8888;  IDL> result = interp_erai_sst(yyyymmddb, yyyymmdde) 
    8989;  IDL> print, result 
     
    108108; 
    109109; what happen if yyyymmdde > 20091231 : need to read an other ERA-I file 
    110 ; 
    111 ; add an example with only one month (ie 200001) 
    112110; 
    113111; KNOWN ISSUES 
     
    129127;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    130128;   * pro -> function 
     129;   * no more timegen 
    131130; 
    132131; - pinsard 2011-08-23T09:09:16Z loholt1.ipsl.polytechnique.fr (Linux) 
     
    176175result = -1 
    177176; 
    178 usage = 'result = interp_erai_lwr(yyyymmddb, yyyymmdde) 
     177usage = 'result = interp_erai_lwr(yyyymmddb, yyyymmdde)' 
    179178nparam = N_PARAMS() 
    180179IF (nparam NE 2) THEN BEGIN 
     
    274273print, 'lat grid ',min(latin),max(latin),latin[1]-latin[0] 
    275274print, 'lon grid ',min(lonin),max(lonin),lonin[1]-lonin[0] 
    276 sstkin=read_ncdf("sstk",19871201,20100930,file=fullfilename,/nostr) 
    277 ; 
    278 timein=time 
    279 jptin=jpt 
     275sstkin=read_ncdf("sstk",yyyymmddb-.5d,yyyymmdde,file=fullfilename,/nostr) 
     276; 
     277timein=24.d*(time-julday(1,1,1957,0,0,0)) 
     278jptin=n_elements(timein) 
     279da=jul2date(time[0]) 
     280cda0=string(da,format='(i8.8)') 
     281da=jul2date(time[jpt-1]) 
     282cda1=string(da,format='(i8.8)') 
     283print, 'first date ', cda0 
     284print, 'last date ' , cda1 
     285; 
    280286tab=sstkin[*,*,0] 
    281287mskin=glamt*0.+1. 
     
    304310; 
    305311initncdf, fullfilename_msk 
    306 time=timegen(7670, start=julday(1,1,1989,0), units='days') 
    307 jpt=n_elements(time) 
    308 cda0=string(jul2date(time[0]),format='(i8.8)') 
    309 cda1=string(jul2date(time[jpt-1]),format='(i8.8)') 
    310 timein=timein-julday(1,1,1950,00,00) 
    311312; 
    312313lat=latout 
     
    319320sstk_attr={units:'degK',missing_value:1e20,long_name:'Sea Surface Temperature',short_name:'sst',axis:'TYX'} 
    320321; 
    321 ncfields = 'sst[longitude,latitude,time]=sstkout:sstk_attr; ' $ 
     322ncfields = 'sst[longitude,latitude,*time]=sstkout:sstk_attr; ' $ 
    322323                      + 'longitude[]=lon:lon_attr; ' $ 
    323324                      + 'latitude[]=lat:lat_attr; ' $ 
    324                       + 'time[*time]=timein:time_attr ' $ 
     325                      + 'time[]=timein:time_attr ' $ 
    325326                      + ' @ globattr' 
    326327; 
  • trunk/src/interp_erai_t2m.pro

    r171 r173  
    8989; 
    9090;  IDL> .compile file_interp 
    91 ;  IDL> yyyymmddb = 19890101 
    92 ;  IDL> yyyymmdde = 20091231 
     91;  IDL> yyyymmddb = 20000101L 
     92;  IDL> yyyymmdde = 20001231L 
    9393;  IDL> result = interp_erai_t2m(yyyymmddb, yyyymmdde) 
    9494;  IDL> print, result 
     
    104104; 
    105105; what happen if yyyymmdde > 20091231 : need to read an other ERA-I file 
    106 ; 
    107 ; add an example with only one month (ie 200001) 
    108106; 
    109107; make it work : pb on loholt1 idl8 
     
    256254result = -1 
    257255; 
    258 usage = 'result = interp_erai_t2m(yyyymmddb, yyyymmdde) 
     256usage = 'result = interp_erai_t2m(yyyymmddb, yyyymmdde)' 
    259257nparam = N_PARAMS() 
    260258IF (nparam NE 2) THEN BEGIN 
     
    382380t2min=read_ncdf('t2',yyyymmddb-.5d,yyyymmdde,file=fullfilename_t2,/nost) 
    383381;; time:units = "hours since 1957-01-01 00:00:0.0" ; 
    384 timein=24.d*(time-julday(1,1,1957,0,0,0)) & jptin=n_elements(timein) 
    385 da=jul2date(time(0)) & cda0=string(da,format='(i8.8)') 
    386 da=jul2date(time(jpt-1)) & cda1=string(da,format='(i8.8)') 
     382timein=24.d*(time-julday(1,1,1957,0,0,0))  
     383jptin=n_elements(timein) 
     384da=jul2date(time[0]) 
     385cda0=string(da,format='(i8.8)') 
     386da=jul2date(time[jpt-1])  
     387cda1=string(da,format='(i8.8)') 
    387388print, 'first date ', cda0 
    388389print, 'last date ' , cda1 
    389390help, t2min 
    390  
    391  
    392391; 
    393392mskin=glamt*0.+1. 
  • trunk/src/interp_olr_30n30s.pro

    r172 r173  
    7171; 
    7272;  IDL> .compile file_interp 
    73 ;  IDL> yyyymmddb = 19890101 
    74 ;  IDL> yyyymmdde = 20091231 
     73;  IDL> yyyymmddb = 20000101L 
     74;  IDL> yyyymmdde = 20001231L 
    7575;  IDL> result = interp_olr_30n30s(yyyymmddb, yyyymmdde) 
    7676;  IDL> print, result 
  • trunk/src/sst_correction_ncdf.pro

    r170 r173  
    2727; :ref:`TropFlux_19890101_20091231.pro`. 
    2828; 
    29 ; ; This output file 
     29; This output file 
    3030; :file:`${PROJECT_OD}/TropFlux_sst_19890101_20091231.nc` 
    3131; is one of the deliverable of TropFlux. 
Note: See TracChangeset for help on using the changeset viewer.