00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _WSA_PKG_H
00023 #define _WSA_PKG_H
00024
00025 #include "pfss.h"
00026 #include "pfss_pkg.h"
00027 #include "fieldline_pkg.h"
00028
00029
00030
00031
00032
00033
00034 float wsa_f(float f, float th);
00035
00036
00037
00038
00039
00040
00041 float gcd(float lon1, float lat1, float lon2, float lat2);
00042
00043
00044 void smoothfp(int *fpmap, int np, int nt);
00045
00046
00047 void getbd(int *fpmap, float *fte, float *fpph, float *fpth,
00048 int np, int nt);
00049
00050
00051 float ang_sep(float ph, float th, int *fpmap, int np, int nt);
00052
00053
00054
00055
00056
00057
00058 void fte_global(float *g, float *h, struct Grid *grid, float *fte,
00059 float *fpph, float *fpth, float *brss, int lmax,
00060 void (*integrator)(struct Point *, struct Point *, float *, float *, int, float, float,
00061 void (*)(float *, float *, struct Point *, float *, int, float)));
00062
00063
00064 void fte_subearth(float *g, float *h, struct Gridsub *gridsub, float *fte_sub,
00065 float *fpph_sub, float *fpth_sub, float *brss_sub, int lmax,
00066 void (*integrator)(struct Point *, struct Point *, float *, float *, int, float, float,
00067 void (*)(float *, float *, struct Point *, float *, int, float)));
00068
00069
00070
00071
00072
00073
00074 void propagate(double *t, float *v, float *b, double *t1AU, float *v1AU,
00075 float *b1AU, int np);
00076
00077
00078 void interpol(float *y0, double *x0, int n0, float *y, double *x, int n);
00079
00080
00081 void fixts1au(double *t, float *v, float *b, int n,
00082 double *date, float *speed, int *imf, int num);
00083
00084
00085
00086
00087
00088
00089 void wsa_ss(float *g, float *h, int lmax, int rk4,
00090 struct Grid *grid, struct Gridsub *gridsub,
00091 float *v_g, float *brss_g, float *fte_g, float *fpph_g, float *fpth_g,
00092 float *v_s, float *brss_s, float *fte_s, float *fpph_s, float *fpth_s);
00093
00094
00095 void wsa_1AU(struct Gridsub *gridsub, float *v_s, float *brss_s, double *date,
00096 float *speed, int *imf, int tslen);
00097
00098
00099 #endif