/* To compile c function: example #0 LINUX cc -c -fPIC call_ht_adj12.c ld -shared -o call_ht_adj12.so call_ht_adj12.o example #1 UNIX cc -c -KPIC call_ht_adj12.c ld -shared -o call_ht_adj12.so call_ht_adj12.o example #2 cc -I/usr/local/rsi/idl/external -c -O -32 -KPIC call_ht_adj12.c ld -shared -32 -o call_ht_adj12.so call_ht_adj12.o */ #include "call_ht_adj12.h" #include "mft12.c" int call_ht_adj12(argc, argv) int argc; void *argv[]; { int *dyn_in_prm; float *dyn_in_val, *dyn_in_val2, *CONVECT, *conv_crit, *pressure; int *air_moist_prm; float *air_moist_val; int *sfc_moist_prm; float *sfc_moist_val, *salinity; int *ss_prm; float *ss_val, *t_air; int *sst_prm; float *t_skin, *ref_ht_wind, *ref_ht_tq; int *astab; float *Qnet; int *warn; int mft_flag; float *dom_phs_spd, *h_sig, *lhf, *q_star, *shf, *tau, *t_star, *u_star, *wave_age, *ww_stab, *z_over_L, *zo_m; int *eqv_neut_prm; float *z_wanted, *u_at_z, *t_at_z, *q_at_z; int *flux_model, *z0_mom_prm, *z0_TQ_prm, *stable_prm; float phi_u; dyn_in_prm = (int *) argv[0]; dyn_in_val = (float *) argv[1]; dyn_in_val2 = (float *) argv[2]; CONVECT = (float *) argv[3]; conv_crit = (float *) argv[4]; pressure = (float *) argv[5]; air_moist_prm = (int *) argv[6]; air_moist_val = (float *) argv[7]; sfc_moist_prm = (int *) argv[8]; sfc_moist_val = (float *) argv[9]; salinity = (float *) argv[10]; ss_prm = (int *) argv[11]; ss_val = (float *) argv[12]; t_air = (float *) argv[13]; sst_prm = (int *) argv[14]; t_skin = (float *) argv[15]; ref_ht_wind = (float *) argv[16]; ref_ht_tq = (float *) argv[17]; z_wanted = (float *) argv[18]; astab = (int *) argv[19]; eqv_neut_prm = (int *) argv[20]; Qnet = (float *) argv[21]; warn = (int *) argv[22]; flux_model = (int *) argv[23]; z0_mom_prm = (int *) argv[24]; z0_TQ_prm = (int *) argv[25]; stable_prm = (int *) argv[26]; shf = (float *) argv[27]; lhf = (float *) argv[28]; tau = (float *) argv[29]; u_star = (float *) argv[30]; t_star = (float *) argv[31]; q_star = (float *) argv[32]; z_over_L = (float *) argv[33]; wave_age = (float *) argv[34]; dom_phs_spd = (float *) argv[35]; h_sig = (float *) argv[36]; ww_stab = (float *) argv[37]; zo_m = (float *) argv[38]; u_at_z = (float *) argv[39]; t_at_z = (float *) argv[40]; q_at_z = (float *) argv[41]; /* printf( "argc = %i\n", argc ); printf( "call_ht_adj03x2.c: %f %f %f %f %f %i %f %i %f %f %i %f %f %i %f %f %f %i %f %i %i %f\n", *dyn_in_val, *dyn-in_val2, *CONVECT, *conv_crit, *pressure, *air_moist_prm, *air_moist_val, *sfc_moist_prm, *sfc_moist_val, *salinity, *ss_prm, *ss_val, *t_air, *sst_prm, *t_skin, *z_wind_ref, *z_temp_ref, *astab, *Qnet, *warn, *eqv_neut, *z_wanted); */ mft_flag = ht_adj_(*dyn_in_prm, *dyn_in_val, *dyn_in_val2, *CONVECT, *conv_crit, *pressure, *air_moist_prm, *air_moist_val, *sfc_moist_prm, *sfc_moist_val, *salinity, *ss_prm, *ss_val, *t_air, *sst_prm, *t_skin, *ref_ht_wind, *ref_ht_tq, *z_wanted, *astab, *eqv_neut_prm, *Qnet, *warn, *flux_model, *z0_mom_prm, *z0_TQ_prm, *stable_prm, shf, lhf, tau, u_star, t_star, q_star, z_over_L, wave_age, dom_phs_spd, h_sig, ww_stab, zo_m, u_at_z, t_at_z, q_at_z ); /* printf( "call_ht_adj12.c: %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f\n", *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, *u_at_z, *t_at_z, *q_at_z, *flux_model ); printf( "call_ht_adj12.c %i\n", mft_flag ); */ return( mft_flag ); }