Home| superdarn| rfc| RFC0019

RFC: 0019

Title

Structure in C for the Convection Map data

Author

R.J.Barnes

Summary

A description of the data structure in the C language used to store the convection map data.

Description

1. Introduction

SuperDARN Convection map data consists of a superset of the gridded data. Listed below is the C data structure struct CnvMapData used to store the gridded data.

2. struct CnvMapData

The convection map data structure is defined in the header superdarn/cnvmap.h.

struct CnvMapData {
  int major_rev;                /* major revision number */
  int minor_rev;                /* minor revision number */
  char source[256];             /* source of convection map */

  double st_time;               /* record start time (seconds of UNIX Epoch) */
  double ed_time;               /* record end time  (seconds of UNIX Epoch) */

  int num_model;                /* number of model points */
  int doping_level;             /* model doping level */
  int model_wt;                 /* model weighting */
  int error_wt;                 /* error weighting */
  int imf_flag;                 /* IMF availability flag */
  int imf_delay;                /* IMF delay in minutes */
  
  double Bx;                    /* IMF Bx component */
  double By;                    /* IMF By component */
  double Bz;                    /* IMF Bz component */
  
  char imf_model[2][64];        /* statistical model */
   
  int hemisphere;               /* hemisphere flag */

  int fit_order;                /* order of fit */
  double latmin;                /* lower latitude limit */
   
  int num_coef;                 /* number of Spherical Harmonic Coefficients */

  double *coef;                 /* Spherical Harmonic Coefficients */

  double chi_sqr;               /* true chi-squared error */
  double chi_sqr_dat;           /* chi-squared error from data */
  double rms_err;               /* RMS error */
  
  double lon_shft;              /* longitudinal pole shift */
  double lat_shft;              /* latitudinal pole shift */

  struct {
    double start;               /* MLT at the start of the record */
    double end;                 /* MLT at the end of the record */
    double av;                  /* MLT in the middle of the record */ 
  } mlt;

  double pot_drop;              /* cross-polar cap potential drop */
  double pot_drop_err;          /* cross-polar cap potential drop error */

  double pot_max;               /* potential maximum */
  double pot_max_err;           /* potential maximum error */

  double pot_min;               /* potential minimum */
  double pot_min_err;           /* potential minimum error */ 

  struct GridGVec *model;       /* model vectors */

  int num_bnd;                  /* number of boundary points */
  double *bnd_lat;              /* boundary latitude */
  double *bnd_lon;              /* boundary longitude */

};

References

RFC #0017

History

2004/11/19 Initial Revision.