/* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* ** Copyright UCAR (c) 1990 - 2016 */ /* ** University Corporation for Atmospheric Research (UCAR) */ /* ** National Center for Atmospheric Research (NCAR) */ /* ** Boulder, Colorado, USA */ /* ** BSD licence applies - redistribution and use in source and binary */ /* ** forms, with or without modification, are permitted provided that */ /* ** the following conditions are met: */ /* ** 1) If the software is modified to produce derivative works, */ /* ** such modified software should be clearly marked, so as not */ /* ** to confuse it with the version available from UCAR. */ /* ** 2) Redistributions of source code must retain the above copyright */ /* ** notice, this list of conditions and the following disclaimer. */ /* ** 3) Redistributions in binary form must reproduce the above copyright */ /* ** notice, this list of conditions and the following disclaimer in the */ /* ** documentation and/or other materials provided with the distribution. */ /* ** 4) Neither the name of UCAR nor the names of its contributors, */ /* ** if any, may be used to endorse or promote products derived from */ /* ** this software without specific prior written permission. */ /* ** DISCLAIMER: THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS */ /* ** OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ /* SCCS info * %W% %D% %T% * %F% %E% %U% * * RCS info * $Author: dixon $ * $Locker: $ * $Date: 2016/03/03 18:45:40 $ * $Id: twnltg.c,v 1.6 2016/03/03 18:45:40 dixon Exp $ * $Revision: 1.6 $ * $State: Exp $ */ /**-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**/ /********************************************************************* * taiwanltg.c: Routines to manipulate Taiwan lightning data. * * RAP, NCAR, Boulder CO * * March 1999 * * Holin Tsai * *********************************************************************/ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <toolsa/os_config.h> #include <dataport/bigend.h> #include <dataport/port_types.h> #include <toolsa/mem.h> #include <rapformats/ltg.h> /************************************************************************ * TWNLTG_print_strike_spdb(): Print the SPDB strike information to the * indicated stream in ASCII format. */ void TWNLTG_print_strike_spdb(FILE *stream, LTG_strike_t *strike) { time_t print_time = strike->time; fprintf(stream, "\nSPDB strike info:\n"); fprintf(stream, " time = %s", ctime(&print_time)); fprintf(stream, " latitude = %f deg\n", (double)strike->latitude); fprintf(stream, " longitude = %f deg\n", (double)strike->longitude); fprintf(stream, "\n"); return; } /************************************************************************ * TWNLTG_spdb_from_BE() - Convert the SPDB strike information from big- * endian format to native format. */ void TWNLTG_spdb_from_BE(LTG_strike_t *strike) { strike->time = BE_to_si32(strike->time); BE_to_array_32(&strike->latitude, 4); BE_to_array_32(&strike->longitude, 4); return; } /************************************************************************ * TWNLTG_spdb_to_BE() - Convert the SPDB strike information from native * format to big-endian format. */ void TWNLTG_spdb_to_BE(LTG_strike_t *strike) { strike->time = BE_from_si32(strike->time); BE_from_array_32(&strike->latitude, 4); BE_from_array_32(&strike->longitude, 4); return; }