;;;;------------------------------------------------------------ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PRO WRITE_McIDASV_NetCDF,input, out_pre ;fdate=STRTRIM(input.adate.yy)+STRTRIM(input.adate.mm)+STRTRIM(input.adate.dd)+'_'+ $ ; STRTRIM(input.adate.hrs)+STRTRIM(input.adate.mins) ;;+STRTRIM(input.adate.secs) fdate='McIDASV_subset_congrid_20100722_2200' output=out_pre + fdate + '.nc' ; cdfid=NCDF_CREATE(output, /clobber) ww=size(input.lat, /dimensions) yy=LONG(ww(1)) & xx=LONG(ww(0)) ydimid =ncdf_dimdef(cdfid, 'Along_Track_Y', yy) xdimid =ncdf_dimdef(cdfid, 'Cross_Track_X', xx) ;;;; variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;Write time ;; varid0= ncdf_vardef(cdfid, 'validTime', /double) ;; ncdf_attput, cdfid, varid0, 'units' , 'Seconds since 1970-1-1 00:00:00.00 0:00' ;; ;;;;;;;Write Latiudes varid1= ncdf_vardef(cdfid, 'lat', [xdimid, ydimid], /float) ncdf_attput, cdfid, varid1, 'long_name' , 'latitudes' ncdf_attput, cdfid, varid1, 'units' , 'Degrees' ncdf_attput, cdfid, varid1, 'valid_range' , '90.0, -90.0' ncdf_attput, cdfid, varid1, '_FillValue' , -999.0 ;;;;;;;Write Longitudes varid2= ncdf_vardef(cdfid, 'lon', [xdimid, ydimid], /float) ncdf_attput, cdfid, varid2, 'long_name' , 'longitudes' ncdf_attput, cdfid, varid2, 'units' , 'Degrees' ncdf_attput, cdfid, varid2, 'valid_range' , '-180.0, 180.0' ncdf_attput, cdfid, varid2, '_FillValue' , -999.0 ;;;;;;;Box average ctc scaled varid3= ncdf_vardef(cdfid, 'box_avg_ctc', [xdimid, ydimid], /float) ncdf_attput, cdfid, varid3, 'long_name' , 'box_average_11um_ctc' ncdf_attput, cdfid, varid3, 'units' , 'K' ncdf_attput, cdfid, varid3, 'coordinates' ,'latitude longitude' ncdf_attput, cdfid, varid3, '_FillValue' , -999.0 ;;;;;;;Box average ctc scaled varid4= ncdf_vardef(cdfid, 'box_avg_ctc_scaled', [xdimid, ydimid], /float) ncdf_attput, cdfid, varid4, 'long_name' , 'box_average_11um_ctc_scaled' ncdf_attput, cdfid, varid4, 'units' , 'K' ncdf_attput, cdfid, varid4, 'coordinates' ,'latitude longitude' ncdf_attput, cdfid, varid4, '_FillValue' , -999.0 ;;;;;;;;CONV_INIT varid5= ncdf_vardef(cdfid, 'conv_init', [xdimid, ydimid], /short) ncdf_attput, cdfid, varid5, 'long_name' , 'conv_init' ncdf_attput, cdfid, varid5, 'units' , 'None' ncdf_attput, cdfid, varid5, 'coordinates' ,'latitude longitude' ;ncdf_attput, cdfid, varid5, 'valid_range' , '0, 10' ncdf_attput, cdfid, varid5, '_FillValue' , -999 ;-999.0 ;;;;;;;;CLOUD TYPE varid6= ncdf_vardef(cdfid, 'cloud_type', [xdimid, ydimid], /short) ncdf_attput, cdfid, varid6, 'long_name' , 'cloud_type' ncdf_attput, cdfid, varid6, 'units' , 'None' ncdf_attput, cdfid, varid6, 'coordinates' ,'latitude longitude' ncdf_attput, cdfid, varid6, 'valid_range' , '0, 10' ncdf_attput, cdfid, varid6, '_FillValue' , -999 ;-999.0 tmp_lat=where(input.lat(*) GT -200) & tmp_lon=WHERE(input.lon(*) gt -200) clat=mean(input.lat(tmp_lat)) & clon=mean(input.lon(tmp_lon)) ;clat=TOTAL(input.latr(*)/2.0) & clon=TOTAL(input.lonr(*)/2.0) ;;;global variables eastconus ncdf_attput, cdfid, 'depictorName', 'REMAPPING_HAWAII_DOMAIN' , /global ncdf_attput, cdfid, 'projName','LAMBERT', /global ncdf_attput, cdfid, 'projIndex',LONG(3), /global ncdf_attput, cdfid, 'centralLat', clat ,/global ncdf_attput, cdfid, 'centralLon', clon ,/global ;;; ncdf_attput, cdfid, 'latDxDy', 37.27 ,/global ;;; ncdf_attput, cdfid, 'lonDxDy',-95.13 ,/global ;;; ncdf_attput, cdfid, 'dyKm', 2.00 ,/global ;;; ncdf_attput, cdfid, 'dxKm', 2.00 ,/global ;;; ncdf_attput, cdfid, 'rotation', 0.0 ,/global ;;; ncdf_attput, cdfid, 'xMin', 0.0 ,/global ;;; ncdf_attput, cdfid, 'xMax', 0.0 ,/global ;;; ncdf_attput, cdfid, 'yMin', 0.0 ,/global ;;; ncdf_attput, cdfid, 'yMax', 0.0 ,/global ncdf_control, cdfid, /endef ncdf_varput, cdfid, varid1, input.lat ;Latitudes ncdf_varput, cdfid, varid2, input.lon ;Longitudes ncdf_varput, cdfid, varid3, input.box_average_11um_ctc ;box_average_11um_ct ncdf_varput, cdfid, varid4, input.box_average_11um_ctc_scaled ;box_average_11um_ctc_scaled ncdf_varput, cdfid, varid5, input.conv_init ;conv_init ncdf_varput, cdfid, varid6, input.cloud_type ;cloud_type ;; ncdf_varput, cdfid, varid4, input.tprof ;101 Vertical Retrievals of Temperature ncdf_close, cdfid save001print, 'WRITE_McIDASV_NetCDF Done' END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;----------------------------------------------------------------------------- ;;;;; ;;;;; IF (ii GT 6) THEN vmax=(300/scale1) ELSE vmax=(1/scale1) ;;;;; varid1= ncdf_vardef(cdfid, dname1, [ydimid, xdimid], /SHORT) ;;;;; ncdf_attput, cdfid, varid1, 'long_name' , lname1 ;;;;; ncdf_attput, cdfid, varid1, 'units' , units1 ;;;;; ncdf_attput, cdfid, varid1, 'central_wavelength' , FLOAT(cwlength1) ;;;;; ;;ncdf_attput, cdfid, varid1, 'coordinates' ,'latitude longitude' ;;;;; ncdf_attput, cdfid, varid1, 'valid_min' , 0 ;;;;; ncdf_attput, cdfid, varid1, 'valid_max' , vmax ;;;;; ncdf_attput, cdfid, varid1, 'scale_factor' , scale1 ;;;;; ncdf_attput, cdfid, varid1, '_FillValue' , miss1