; To compile c function: ; Example #1 ; cc -c -KPIC call_bvw99.c ; ld -shared -o call_bvw99.so call_bvw99.o ; example #2 ; cc -I/usr/local/rsi/idl/external -c -O -32 -KPIC call_bvw99.c ; ld -shared -32 -o call_bvw99.so call_bvw99.o function bvw99, dyn_in_prm, dyn_in_val, theta_ang_dum, CON_P, conv_crit, $ press_sfc, air_moist_prm, air_moist_val, sfc_moist_prm, sfc_moist_val, $ salinity, ss_prm, ss_val, ta, tskin, z_wind_ref, z_temp_ref, astab, warn, $ shf, lhf, tau, u_star, t_star, q_star, z_over_L, wave_age, $ dom_phs_spd, h_sig, ww_stab, zo_m ; print, 'bvw99.pro ', dyn_in_prm, dyn_in_val, $ ; theta_ang_dum, CON_P, conv_crit, press_sfc, $ ; air_moist_prm, air_moist_val, sfc_moist_prm, sfc_moist_val, salinity, $ ; ss_prm, ss_val, ta, tskin, z_wind_ref, z_temp_ref, astab, warn, $ ; shf, lhf, tau(0), tau(1), u_star(0), u_star(1), t_star, q_star, $ ; z_over_L, wave_age, dom_phs_spd, h_sig, ww_stab, zo_m(0), zo_m(1) result = CALL_EXTERNAL('/usr/people/bourassa/BVW/test/call_bvw99.so', 'call_bvw99', $ dyn_in_prm, dyn_in_val, theta_ang_dum, CON_P, conv_crit, $ press_sfc, air_moist_prm, air_moist_val, sfc_moist_prm, $ sfc_moist_val, salinity, ss_prm, ss_val, ta, tskin, $ z_wind_ref, z_temp_ref, astab, warn, shf, lhf, tau, $ u_star, t_star, q_star, z_over_L, wave_age, dom_phs_spd, $ h_sig, ww_stab, zo_m ) ; print, shf, lhf, tau[0], tau[1], u_star[0], u_star[1], t_star, $ ; q_star, z_over_L, wave_age, dom_phs_spd, h_sig, ww_stab, zo_m(0), zo_m(1) return, result stop end