/* BasyouhuP200002.h ver.1.01 * Special header file for BasyouhuP200002.c * ----- for Japan Special Time in Feb, 2000 ---- * * ******************************** * * This version _DOES_ include * * * new Tiger Tasmanian code !!! * (v1.00 or later) * * new Kerguelen radar code !!! * (v1.01 or later) * * and the new Kodiak code !!! * (v1.01 or later) * ******************************** * * on Dec.20, 1999 * revised on Dec.21, 1999 * revised on Jan.21, 2000 * by Sessai@NIPR */ // some special beams such as spbm[mode][1][?]>=0 will be treated // also as normal beams, (scan will be 0 for them.) ///////////////////////////////////// #ifdef TIGER #ifndef LEICESTER #define LEICESTER #endif #endif ///////////////////////////////////// ///////////////////////////////////// #ifndef KODIAK #define KODIAK 7 #endif ///////////////////////////////////// #define MODEMAX 4 #define SUBMODEMAX 2 #define SPBMMAX 14 #define SPBMNUM 2 // means there is AT MOST SPBMNUM spec_beams... #define SP_SMR_B -1 #define SP_SMR_P 0 unsigned long spdate[MODEMAX]={20000203,20000208,20000213,20000224}; #if SD_RADAR_ID == GOOSEBAY #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{12},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{ 1, 0},{ 0, 0},{ 0, 0},{ 1, 1}}; short int spedbm[MODEMAX][SUBMODEMAX]={{15,14},{15,15},{15,15},{15,15}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{13,-1},{ 2,-1}},{{ 9,-1},{ 9,-1}}}, {{{11, 1},{12, 7}},{{-1,-1},{-1,-1}}}, {{{ 4,12},{ 0, 1}},{{-1,-1},{-1,-1}}}, {{{15,-1},{ 6,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x2520,0x0720},{0x0d22,0x0520},{0x1530,0x0520},{0x8520,0x0520}}; // da85/ a985 / ba851/ (a85) / ca854/ (a85) / fa85/ (a85) #elif SD_RADAR_ID == KAPUSKASING #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{24},{16},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{15,15},{15,15},{14,15},{15,15}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 1, 1},{ 1, 1},{ 0, 0},{ 1, 1}}; //short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ // {{{ 5,-1},{ 5,-1}},{{-1,-1},{-1,-1}}}, // {{{ 1,-1},{ 6,-1}},{{13,-1},{ 3,-1}}}, // {{{15, 5},{10, 9}},{{-1,-1},{-1,-1}}}, // {{{ 5,-1},{ 5,-1}},{{-1,-1},{-1,-1}}}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{ 5,-1},{ 5,-1}},{{-1,-1},{-1,-1}}}, {{{13,-1},{ 3,-1}},{{ 1,-1},{ 6,-1}}}, {{{15, 5},{10, 9}},{{-1,-1},{-1,-1}}}, {{{ 5,-1},{ 5,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0520,0x0520},{0x0522,0x2520},{0x8520,0x0520},{0x0520,0x0520}}; // a85/ (a85) / a851/ da85 / fa85/ (a85) / a85/ (a85) #elif SD_RADAR_ID == SASKATOON #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{24},{16},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{ 1, 1},{ 1, 1},{ 0, 0},{ 1, 1}}; short int spedbm[MODEMAX][SUBMODEMAX]={{15,15},{15,15},{15,15},{15,15}}; //short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ // {{{15,-1},{ 6,-1}},{{-1,-1},{-1,-1}}}, // {{{ 3,-1},{ 3,-1}},{{12,-1},{13,-1}}}, // {{{11, 3},{12,11}},{{-1,-1},{-1,-1}}}, // {{{13,-1},{ 2,-1}},{{-1,-1},{-1,-1}}}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{15,-1},{ 6,-1}},{{-1,-1},{-1,-1}}}, {{{12,-1},{13,-1}},{{ 3,-1},{ 3,-1}}}, {{{11, 3},{12,11}},{{-1,-1},{-1,-1}}}, {{{13,-1},{ 2,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x8520,0x0520},{0x0528,0x1520},{0x0d28,0x0520},{0x2520,0x0520}}; // fa85/ (a85) / a853/ ca85 / ba853/ (a85) / da85/ (a85) #elif SD_RADAR_ID == KODIAK #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{24},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{ 1, 1},{ 1, 1},{ 1, 1},{ 1, 1}}; short int spedbm[MODEMAX][SUBMODEMAX]={{15,15},{15,15},{15,15},{15,15}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{14,-1},{10,-1}},{{-1,-1},{-1,-1}}}, {{{14,-1},{10,-1}},{{-1,-1},{-1,-1}}}, {{{14,-1},{10,-1}},{{-1,-1},{-1,-1}}}, {{{14,-1},{10,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x4520,0x0520},{0x4520,0x0520},{0x4520,0x0520},{0x4520,0x0520}}; // ea85/ (a85) / ea85/ (a85) / ea85/ (a85) / ea85/ (a85) #elif SD_RADAR_ID == ICEWEST #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{12},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{14,14},{14,15},{14,14},{14,14}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 1, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{15,-1},{10,-1}},{{ 2,-1},{ 2,-1}}}, {{{15, 6},{10, 1}},{{-1,-1},{-1,-1}}}, {{{ 9,-1},{ 8,-1}},{{-1,-1},{-1,-1}}}, {{{ 6,-1},{ 1,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x8520,0x0524},{0x8560,0x0520},{0x0720,0x0520},{0x0560,0x0520}}; // fa85/ a852 / fa865/ (a85) / a985/ (a85) / a865/ (a85) #elif SD_RADAR_ID == ICEEAST #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{24},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{ 1, 1},{ 0, 0},{ 1, 1},{ 1, 1}}; short int spedbm[MODEMAX][SUBMODEMAX]={{15,15},{15,15},{15,15},{15,15}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{ 5,-1},{ 0,-1}},{{-1,-1},{-1,-1}}}, {{{14, 5},{ 6, 7}},{{-1,-1},{-1,-1}}}, {{{ 4,-1},{11,-1}},{{-1,-1},{-1,-1}}}, {{{ 5,-1},{ 0,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0520,0x0520},{0x4520,0x0520},{0x0530,0x0520},{0x0520,0x0520}}; // a85/ (a85) / ea85/ (a85) / (a854)/ (a85) / a85/ (a85) #elif SD_RADAR_ID == FINLAND #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{24},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{14,14},{14,14},{14,14},{14,14}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{ 8,-1},{ 4,-1}},{{-1,-1},{-1,-1}}}, {{{ 8,-1},{ 4,-1}},{{-1,-1},{-1,-1}}}, {{{ 8,-1},{ 4,-1}},{{-1,-1},{-1,-1}}}, {{{ 8,-1},{ 4,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0520,0x0520},{0x0520,0x0520},{0x0520,0x0520},{0x0520,0x0520}}; // a85/ a85 / a85/ (a85) / a85/ (a85) / a85/ (a85) #elif SD_RADAR_ID == HALLEY #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{15},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; //short int spintt[MODEMAX][SUBMODEMAX]={{ 4, 4},{ 4, 4},{ 4, 4},{ 4, 4}}; // is better???? short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spedbm[MODEMAX][SUBMODEMAX]={{14,14},{15,15},{15,15},{14,14}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{13,-1},{10,-1}},{{ 3,-1},{11,-1}}}, {{{13, 3},{10,11}},{{-1,-1},{-1,-1}}}, {{{13, 3},{10,11}},{{-1,-1},{-1,-1}}}, {{{ 3,-1},{11,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x2528,0x0528},{0x2528,0x0528},{0x2528,0x0528},{0x0528,0x0528}}; // da853/ a853 / da853/(a853) / da853/(a853) / a853/(a853) #elif SD_RADAR_ID == SANAE #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{15},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; #if 0 //////if Sanae's boresite=170.0 short int spstbm[MODEMAX][SUBMODEMAX]={{14,14},{14,15},{14,15},{14,14}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{ 9,-1},{ 8,-1}},{{ 4,-1},{ 5,-1}}}, {{{15, 4},{10, 5}},{{-1,-1},{-1,-1}}}, {{{15, 4},{10, 5}},{{-1,-1},{-1,-1}}}, {{{ 4,-1},{ 5,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0720,0x0530},{0x8530,0x0520},{0x8530,0x0520},{0x0530,0x0520}}; // a985/ a854 / fa854/ (a85) / fa854/ (a85) / a854/ (a85) #else //////if Sanae's boresite=173.20 short int spstbm[MODEMAX][SUBMODEMAX]={{14,14},{14,15},{14,15},{14,14}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{10,-1},{ 0,-1}},{{ 5,-1},{ 9,-1}}}, {{{15, 5},{10, 9}},{{-1,-1},{-1,-1}}}, {{{15, 5},{10, 9}},{{-1,-1},{-1,-1}}}, {{{ 5,-1},{ 9,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0520,0x0520},{0x8520,0x0520},{0x8520,0x0520},{0x0520,0x0520}}; // a85/ a85 / fa85/ (a85) / fa85/ (a85) / a85/ (a85) #endif #elif SD_RADAR_ID == SYOWA #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{15},{24},{24},{15}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{14,14},{15,15},{15,15},{14,14}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 1, 0}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{13,-1},{ 7,-1}},{{ 0,-1},{ 6,-1}}}, {{{ 4,13},{12, 3}},{{-1,-1},{-1,-1}}}, {{{ 3, 5},{ 2, 3}},{{-1,-1},{-1,-1}}}, {{{15,-1},{10,-1}},{{ 3,-1},{13,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x2008,0x4009},{0x2018,0x8008},{0x8028,0x8008},{0x8008,0x4008}}; // d3/ e30 / d43/ (f3) / f53/ (f3) / f3 / e3 #elif SD_RADAR_ID == SYOWAEAST #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{ 9},{ 8},{24},{ 8}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spedbm[MODEMAX][SUBMODEMAX]={{14,14},{15,15},{15,15},{14,14}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{ 5,-1},{ 8,-1}},{{ 7,-1},{12,-1}}}, {{{ 5,15},{ 8,13}},{{ 7,15},{12,13}}}, {{{ 7,15},{12,13}},{{-1,-1},{-1,-1}}}, {{{ 8,-1},{ 1,-1}},{{ 7,-1},{12,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x10a1,0x1081},{0x80a1,0x8081},{0x8081,0x1081},{0x1181,0x1081}}; // c750/ c70 / f750/ f70 / f70/ (c70) / c870/ c70 #elif SD_RADAR_ID == TIGERTAS #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{24},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; #ifdef BACKWARDS short int spstbm[MODEMAX][SUBMODEMAX]={{14,14},{14,14},{15,15},{14,14}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{ 5,-1},{ 9,-1}},{{-1,-1},{-1,-1}}}, {{{ 5,-1},{ 9,-1}},{{-1,-1},{-1,-1}}}, {{{11, 5},{ 0, 3}},{{-1,-1},{-1,-1}}}, {{{ 5,-1},{ 9,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0531,0x0531},{0x0531,0x0531},{0x0d31,0x0531},{0x0531,0x0531}}; // a8540/(a8540)/ a8540/(a8540)/ ba8540/(a8540)/ a8540/(a8540) #else short int spstbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spedbm[MODEMAX][SUBMODEMAX]={{14,14},{14,14},{15,15},{14,14}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{ 5,-1},{ 8,-1}},{{-1,-1},{-1,-1}}}, {{{ 5,-1},{ 8,-1}},{{-1,-1},{-1,-1}}}, {{{ 5,11},{ 8,13}},{{-1,-1},{-1,-1}}}, {{{ 5,-1},{ 8,-1}},{{-1,-1},{-1,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0531,0x0531},{0x0531,0x0531},{0x0d31,0x0531},{0x0531,0x0531}}; // a8540/(a8540)/ a8540/(a8540)/ ba8540/(a8540)/ a8540/(a8540) #endif #elif SD_RADAR_ID == KERGUELEN #define SPRSEP 45 short int sptgate[MODEMAX][SUBMODEMAX-1]={{ 6},{24},{24},{24}}; short int spintt[MODEMAX][SUBMODEMAX]={{ 3, 3},{ 3, 3},{ 3, 3},{ 3, 3}}; short int sponly[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spstbm[MODEMAX][SUBMODEMAX]={{14,14},{15,15},{15,15},{14,14}}; short int spedbm[MODEMAX][SUBMODEMAX]={{ 0, 0},{ 0, 0},{ 0, 0},{ 0, 0}}; short int spbm[MODEMAX][SUBMODEMAX][2][SPBMNUM]={ {{{10,-1},{ 0,-1}},{{ 6,-1},{ 1,-1}}}, {{{ 6,14},{ 8, 7}},{{-1,-1},{-1,-1}}}, {{{ 6,14},{ 8, 7}},{{-1,-1},{-1,-1}}}, {{{ 6,-1},{ 1,-1}},{{ 0,-1},{ 6,-1}}}}; unsigned short int spsmbm[MODEMAX][SUBMODEMAX]= {{0x0520,0x0560},{0x4560,0x0520},{0x4560,0x0520},{0x0560,0x0521}}; // a85 / a865 / ea865/ (a85) / ea865/ (a85) / a865/ a850 #else // should never get here... just a dummy... //Nna Ahona! Are you Alaska, Kerguelen, B.C. or TigerNZ radar or someone else?!?! Nna Ahona! Are you KingSalmon, B.C. or TigerNZ radar or someone else?!?! //#define SPRSEP 45 //short int spintt[MODEMAX]={ 3}; //short int sponly[MODEMAX]={ 0}; //short int spstbm[MODEMAX]={ 0}; //short int spedbm[MODEMAX]={15}; //short int spbm[MODEMAX][2][SPBMNUM]={{{ 5,-1,-1},{ 8,-1,-1}}}; //unsigned short int spsmbm[MODEMAX]={0xffff}; #endif