1 | pro interp_erai_msl_1989_2009_v1 |
---|
2 | @common |
---|
3 | |
---|
4 | filein='/Volumes/PRAVEEN/ERAI_global/20c3m_erai_msl_TROP_1989_2009.nc' |
---|
5 | fileout='/Volumes/PRAVEEN/flux_reconstruction/basic_data/erai_d2m_19890101_20091231_oafluxgrid.nc' |
---|
6 | gridout='/Volumes/PRAVEEN/work/flux_reconstruction/gridded_data/mask_oaflux_30N30S.nc' |
---|
7 | |
---|
8 | initncdf, filein |
---|
9 | domdef |
---|
10 | latin=reform(gphit(0,*)) & lonin=reform(glamt(*,0)) |
---|
11 | print, 'lat grid ',min(latin),max(latin),latin(1)-latin(0) |
---|
12 | print, 'lon grid ',min(lonin),max(lonin),lonin(1)-lonin(0) |
---|
13 | mslin=read_ncdf("msl",19880101,20100930,file=filein,/nostr) |
---|
14 | |
---|
15 | timein=time & jptin=jpt |
---|
16 | tab=mslin(*,*,0) |
---|
17 | mskin=glamt*0.+1. |
---|
18 | |
---|
19 | initncdf, gridout |
---|
20 | domdef |
---|
21 | latout=reform(gphit(0,*)) & lonout=reform(glamt(*,0)) |
---|
22 | print, 'lat grid ',min(latout),max(latout),latout(1)-latout(0) |
---|
23 | print, 'lon grid ',min(lonout),max(lonout),lonout(1)-lonout(0) |
---|
24 | mskout=read_ncdf("msk", file=gridout,/nostr) |
---|
25 | mslin=mslin/100 |
---|
26 | |
---|
27 | help, mslin,lonin,latin,mskin,lonout,latout,mskout |
---|
28 | |
---|
29 | si=size(mslin) |
---|
30 | mslout=fltarr(jpi,jpj,jptin) |
---|
31 | for jt=0,jptin-1 do begin |
---|
32 | print, 'Interpolation jt=',jt,' / ',jptin-1 |
---|
33 | tab=reform(mslin(*,*,jt)) |
---|
34 | mslout(*,*,jt)=call_interp2d(tab,lonin,latin,mskin,lonout,latout,method='bilinear') |
---|
35 | mslout(*,*,jt)=mslout(*,*,jt)*mskout+(1.-mskout)*1.e20 |
---|
36 | endfor |
---|
37 | |
---|
38 | timein=timein & jptin=jpt |
---|
39 | |
---|
40 | initncdf, gridout |
---|
41 | ;time=julday(1,2,1989)+lindgen(7516) |
---|
42 | time=timegen(7670, units='days', start=julday(1,1,1989)) & jpt=n_elements(time) |
---|
43 | cda0=string(jul2date(time(0)),format='(i8.8)') |
---|
44 | cda1=string(jul2date(time(jpt-1)),format='(i8.8)') |
---|
45 | timein=time-julday(1,1,1950,00,00) |
---|
46 | |
---|
47 | lat=latout |
---|
48 | lon=lonout |
---|
49 | ncfile='!/Volumes/PRAVEEN/TropFlux/input_uncor/erai_msl_19890101_20091231_oafluxgrid.nc' |
---|
50 | lon_attr={units:'degrees_east',long_name:'Longitude'} |
---|
51 | lat_attr={units:'degrees_north',long_name:'Latitude'} |
---|
52 | time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:' 1950-JAN-01 00:00:00'} |
---|
53 | msl_attr={units:'milibars',missing_value:1e20,long_name:'Mean Sea leval pressure',short_name:'msl',axis:'TYX'} |
---|
54 | globattr={source:'Data are from ECMWF ERA-Interim reanalysis', timerange:cda0+' - '+cda1} |
---|
55 | |
---|
56 | |
---|
57 | ncfields = 'msl[longitude,latitude,time]=mslout:msl_attr; ' $ |
---|
58 | + 'longitude[]=lon:lon_attr; ' $ |
---|
59 | + 'latitude[]=lat:lat_attr; ' $ |
---|
60 | + 'time[*time]=timein:time_attr ' $ |
---|
61 | + ' @ globattr' |
---|
62 | |
---|
63 | @ncdf_quickwrite |
---|
64 | |
---|
65 | |
---|
66 | end |
---|