pro write_CRF_comparison_histos, fname, log_iwp_bins, forcing_bins common total_forcing_comparison_arrays, toa_net_forcing_comparison_total, toa_solar_forcing_comparison_total, $ toa_ir_forcing_comparison_total, sfc_net_forcing_comparison_total, $ sfc_solar_forcing_comparison_total,sfc_ir_forcing_comparison_total, atm_net_forcing_comparison_total, $ atm_solar_forcing_comparison_total,atm_ir_forcing_comparison_total ; check to see if the file exists OPENR, 1, fname, ERROR = err if err eq 0 then begin close, 1 ; file exists, read the data cdfid=ncdf_open(fname,/write) print, 'writing to ',fname toa_net_forcing_comparison_total_id=ncdf_varid(cdfid, 'toa_net_forcing_comparison_total') toa_solar_forcing_comparison_total_id=ncdf_varid(cdfid, 'toa_solar_forcing_comparison_total') toa_ir_forcing_comparison_total_id=ncdf_varid(cdfid, 'toa_ir_forcing_comparison_total') sfc_net_forcing_comparison_total_id=ncdf_varid(cdfid, 'sfc_net_forcing_comparison_total') sfc_solar_forcing_comparison_total_id=ncdf_varid(cdfid, 'sfc_solar_forcing_comparison_total') sfc_ir_forcing_comparison_total_id=ncdf_varid(cdfid, 'sfc_ir_forcing_comparison_total') atm_net_forcing_comparison_total_id=ncdf_varid(cdfid, 'atm_net_forcing_comparison_total') atm_solar_forcing_comparison_total_id=ncdf_varid(cdfid, 'atm_solar_forcing_comparison_total') atm_ir_forcing_comparison_total_id=ncdf_varid(cdfid, 'atm_ir_forcing_comparison_total') ncdf_varput, cdfid, toa_net_forcing_comparison_total_id, toa_net_forcing_comparison_total ncdf_varput, cdfid, toa_solar_forcing_comparison_total_id, toa_solar_forcing_comparison_total ncdf_varput, cdfid, toa_ir_forcing_comparison_total_id, toa_ir_forcing_comparison_total ncdf_varput, cdfid, sfc_net_forcing_comparison_total_id, sfc_net_forcing_comparison_total ncdf_varput, cdfid, sfc_solar_forcing_comparison_total_id, sfc_solar_forcing_comparison_total ncdf_varput, cdfid, sfc_ir_forcing_comparison_total_id, sfc_ir_forcing_comparison_total ncdf_varput, cdfid, atm_net_forcing_comparison_total_id, atm_net_forcing_comparison_total ncdf_varput, cdfid, atm_solar_forcing_comparison_total_id, atm_solar_forcing_comparison_total ncdf_varput, cdfid, atm_ir_forcing_comparison_total_id, atm_ir_forcing_comparison_total endif else begin ;OPENR, 1, fname, ERROR = err ; file does not exist, create it cdfid=ncdf_create(fname,/clobber) print, 'created ',fname forcing_bins_did=ncdf_dimdef(cdfid,'forcing_bins',n_elements(forcing_bins)) log_iwp_bins_did=ncdf_dimdef(cdfid,'log_iwp_bins',n_elements(log_iwp_bins)) forcing_bins_id=ncdf_vardef(cdfid,'forcing_bins',$ [forcing_bins_did],/float) toa_net_forcing_comparison_total_id=ncdf_vardef(cdfid, 'toa_net_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) toa_solar_forcing_comparison_total_id=ncdf_vardef(cdfid, 'toa_solar_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) toa_ir_forcing_comparison_total_id=ncdf_vardef(cdfid, 'toa_ir_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) sfc_net_forcing_comparison_total_id=ncdf_vardef(cdfid, 'sfc_net_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) sfc_solar_forcing_comparison_total_id=ncdf_vardef(cdfid, 'sfc_solar_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) sfc_ir_forcing_comparison_total_id=ncdf_vardef(cdfid, 'sfc_ir_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) atm_net_forcing_comparison_total_id=ncdf_vardef(cdfid, 'atm_net_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) atm_solar_forcing_comparison_total_id=ncdf_vardef(cdfid, 'atm_solar_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) atm_ir_forcing_comparison_total_id=ncdf_vardef(cdfid, 'atm_ir_forcing_comparison_total',$ [forcing_bins_did,forcing_bins_did],/long) ncdf_control, cdfid, /endef ncdf_varput, cdfid, forcing_bins_id, forcing_bins ncdf_varput, cdfid, toa_net_forcing_comparison_total_id, toa_net_forcing_comparison_total ncdf_varput, cdfid, toa_solar_forcing_comparison_total_id, toa_solar_forcing_comparison_total ncdf_varput, cdfid, toa_ir_forcing_comparison_total_id, toa_ir_forcing_comparison_total ncdf_varput, cdfid, sfc_net_forcing_comparison_total_id, sfc_net_forcing_comparison_total ncdf_varput, cdfid, sfc_solar_forcing_comparison_total_id, sfc_solar_forcing_comparison_total ncdf_varput, cdfid, sfc_ir_forcing_comparison_total_id, sfc_ir_forcing_comparison_total ncdf_varput, cdfid, atm_net_forcing_comparison_total_id, atm_net_forcing_comparison_total ncdf_varput, cdfid, atm_solar_forcing_comparison_total_id, atm_solar_forcing_comparison_total ncdf_varput, cdfid, atm_ir_forcing_comparison_total_id, atm_ir_forcing_comparison_total endelse ;OPENR, 1, fname, ERROR = err NCDF_CLOSE, cdfid return end