awips2/nativeLib/rary.ohd.ofs/inc/ndfd2rfs_inc/cmapf.h
root 06a8b51d6d Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 64fa9254b946eae7e61bbc3f513b7c3696c4f54f
2012-01-06 08:55:05 -06:00

80 lines
3 KiB
C

/* cmapf.h. Generated by configure. */
#ifndef CMAPF_H
#define CMAPF_H
#define HAVE_STRCASECMP 1
#include <math.h>
/* #include <float.h> */
/*
* cmapf.h - header file for conformal mapping function utility.
* Written 12/21/94 by
* Dr. Albion Taylor
* NOAA / OAR / ARL Phone: (301) 713-0295 ext 132
* Rm. 3151, 1315 East-West Highway Fax: (301) 713-0119
* Silver Spring, MD 20910 E-mail: ADTaylor@arlrisc.ssmc.noaa.gov
*/
typedef struct {
double arad,brad,eccen,gamma,reflon,
x0,y0, crotate,srotate,gridszeq,
npwarn,spwarn;
} maparam;
#define RADPDEG (M_PI/180.)
#define DEGPRAD (180./M_PI)
int stlmbr(maparam * stcprm,double tnglat,double reflon) ;
void stcm2p(maparam * stcprm,
double x1, double y1, double xlat1, double xlong1,
double x2, double y2, double xlat2, double xlong2) ;
void stcm1p(maparam * stcprm,
double x1, double y1, double xlat1, double xlong1,
double xlatg, double xlong,double gridsz, double orient) ;
void cll2xy(maparam * stcprm,double lat,double longit,
double * x,double * y) ;
void ccrvll(maparam * stcprm,double lat, double longit,
double * gx, double * gy) ;
void cxy2ll(maparam * stcprm,double x, double y,
double * lat, double * longit) ;
void ccrvxy(maparam * stcprm,double x, double y,
double * gx, double * gy) ;
void cc2gll(maparam * stcprm,double lat,double longit,
double ue,double vn, double * ug,double * vg) ;
void cg2cll(maparam * stcprm,double lat,double longit,
double ug,double vg, double * ue,double * vn) ;
void cc2gxy(maparam * stcprm,double x,double y,
double ue,double vn, double * ug,double * vg) ;
void cg2cxy(maparam * stcprm,double x,double y,
double ug,double vg, double * ue,double * vn) ;
void cw2gll(maparam * stcprm,double lat,double longit,
double ue,double vn, double * ug,double * vg) ;
void cg2wll(maparam * stcprm,double lat,double longit,
double ug,double vg, double * ue,double * vn) ;
void cw2gxy(maparam * stcprm,double x,double y,
double ue,double vn, double * ug,double * vg) ;
void cg2wxy(maparam * stcprm,double x,double y,
double ug,double vg, double * ue,double * vn) ;
double log1pabovera(double a,double b) ;
double cperiodic(double value,double begin,double end) ;
double eqvlat(maparam * stcprm,double lat1,double lat2) ;
double cgszll(maparam * stcprm,double lat,double longit) ;
double cgszxy(maparam * stcprm,double x,double y) ;
void cpolll(maparam * stcprm,double lat, double longit,
double * enx,double * eny, double * enz) ;
void cpolxy(maparam * stcprm,double x, double y,
double * enx,double * eny, double * enz) ;
/*Helping Functions for mercator Computations*/
void cmr2sc(maparam * stcprm,double ymerc,double * sinlat,double * coslat) ;
double cl2ymr(maparam * stcprm,double lat) ;
double cymr2l(maparam * stcprm,double ymerc) ;
typedef enum {AF,AE,AB,BE,TST} GspecType;
int mkGeoid(maparam * stcprm,GspecType t,double arg1,double arg2);
int useGeoid (maparam * stcprm,char * name);
void lsGeoid();
#endif /* CMAPF_H */