示例#1
0
//================================================================================
// Обработчик основного цикла нити
//
void AI::Frame()
{
	Obj_Actions();

	for (int num_player = 0; num_player < max_players; ++num_player)
		if (players[num_player].status == true && players[num_player].socket != NULL && players[num_player].pck != NULL)
		{
			EnterCriticalSection(&players[num_player].gCSp);

			StatusHandler(num_player);
			SpawnObjects(num_player);

			LeaveCriticalSection(&players[num_player].gCSp);
		}
}
示例#2
0
void get_kpvt_cdf_info(
      int main_memory_flag)
{

   void allocate_defaults_kpvt(
         void);

   CDFstatus status;

   long recordStart = 0;
   long recordCount = 1;
   long recordInterval = 1;
   long counts[1] =
   { 0 };
   long intervals[1] =
   { 1 };
   long indices[1];

   int i;

   counts[0] = 1; /* set values */
   intervals[0] = 1;

   allocate_defaults_kpvt();

   /* get all of the cdf attribute/variable numbers that will be needed *******/

   if (CDFlib( CONFIRM_, zVAR_EXISTENCE_, x_name, NULL_) == CDF_OK)
   {
      status = CDFlib( GET_, zVAR_NUMBER_, x_name, &x_cdf_varNum, NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   if (CDFlib( CONFIRM_, zVAR_EXISTENCE_, y_name, NULL_) == CDF_OK)
   {
      status = CDFlib( GET_, zVAR_NUMBER_, y_name, &y_cdf_varNum, NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   if (CDFlib( CONFIRM_, zVAR_EXISTENCE_, net_flux_name, NULL_) == CDF_OK)
   {
      status
            = CDFlib( GET_, zVAR_NUMBER_, net_flux_name, &net_flux_cdf_varNum, NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   if (CDFlib( CONFIRM_, zVAR_EXISTENCE_, total_flux_name, NULL_) == CDF_OK)
   {
      status
            = CDFlib( GET_, zVAR_NUMBER_, total_flux_name, &total_flux_cdf_varNum, NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   if (CDFlib( CONFIRM_, zVAR_EXISTENCE_, weights_name, NULL_) == CDF_OK)
   {
      status
            = CDFlib( GET_, zVAR_NUMBER_, weights_name, &weights_cdf_varNum, NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }

   /***  NOTE THESE ARE ATTRIBUTES SO USE CONFRIM ATTR_EXISTENCE... ***/

   if (CDFlib( CONFIRM_, ATTR_EXISTENCE_, NX_name, NULL_) == CDF_OK)
   {
      status = CDFlib( GET_, ATTR_NUMBER_, NX_name, &NX_cdf_num, NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   if (CDFlib( CONFIRM_, ATTR_EXISTENCE_, NY_name, NULL_) == CDF_OK)
   {
      status = CDFlib( GET_, ATTR_NUMBER_, NY_name, &NY_cdf_num, NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }

   if ( DEBUG_FLAG)
      printf("DEBUG\t finished getting cdf nums\n");

   /***************** use cdf_varNums to get actual scalar values *************/

   /********* get value for NX **********/
   status = CDFlib(
   SELECT_, ATTR_, NX_cdf_num,
   SELECT_, gENTRY_, 0,
   GET_, gENTRY_DATA_, &NX,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /********* get value for NY **********/
   status = CDFlib(
   SELECT_, ATTR_, NY_cdf_num,
   SELECT_, gENTRY_, 0,
   GET_, gENTRY_DATA_, &NY,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /*convert original float N* to int n* if required */
   /* bats NX was float but ucla, ctip, enlil, kpvt... are interger - no conversion needed here*/

   nx = NX;
   ny = NY;

   if ( DEBUG_FLAG)
   {
      printf("DEBUG\tINFO from get_kpvt_cdf_info\n");
      printf(
            "DEBUG\tNX=%d & nx=%d\n",
            NX,
            nx);
      printf(
            "DEBUG\tNY=%d & ny=%d\n",
            NY,
            ny);
      printf(
            "DEBUG\t main_memory_flag = %d\n",
            main_memory_flag);
   }

   /************************ allocate space for unique x & y positions ********/

   if ( (x_pos = ( float * ) calloc(
         nx,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (y_pos = ( float * ) calloc(
         ny,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for y_pos buffer!\n");
      exit( EXIT_FAILURE);
   }

   if ( DEBUG_FLAG)
      printf("DEBUG\tspace allocated for variables...\n");

   /***************************** get unique x,y  values **********************/

   counts[0] = nx;
   indices[0] = 0;
   intervals[0] = 1;

   status = CDFlib(
   SELECT_, zVAR_, x_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, x_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = ny;

   status = CDFlib(
   SELECT_, zVAR_, y_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, y_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /****** more debug repoting ******/
   /** print first few values for position variables **/

   if ( DEBUG_FLAG)
   {
      for (i = 0; i < 30; i++)
      {
         printf(
               "INDEX-------------- %d\nx_pos[%d] = %f\ny_pos[%d] = %f\n\n",
               i,
               i,
               x_pos[i],
               i,
               y_pos[i]);
      }
   }
}
void get_ucla_ggcm_cdf_info(
      int main_memory_flag)
{

   void allocate_defaults_b(
         void);

   CDFstatus status;

   long recordStart = 0;
   long recordCount = 1;
   long recordInterval = 1;
   long counts[1] =
   { 0 };
   long intervals[1] =
   { 1 };
   long indices[1];

   counts[0] = 1; /* set values */
   intervals[0] = 1;

   allocate_defaults_b();

   /******************** get all of the cdf attributes/variable numbers that will be needed ******************/

   status = CDFlib( GET_, zVAR_NUMBER_, rho_name, &rho_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, p_name, &p_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, jx_name, &jx_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, jy_name, &jy_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, jz_name, &jz_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, ux_name, &ux_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, uy_name, &uy_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, uz_name, &uz_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, bx_name, &bx_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, by_name, &by_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, bz_name, &bz_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, bx1_name, &bx1_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, by1_name, &by1_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, bz1_name, &bz1_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, x_name, &x_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, y_name, &y_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, z_name, &z_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, x_bx_name, &x_bx_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, y_bx_name, &y_bx_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, z_bx_name, &z_bx_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, x_by_name, &x_by_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, y_by_name, &y_by_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, z_by_name, &z_by_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, x_bz_name, &x_bz_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, y_bz_name, &y_bz_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, z_bz_name, &z_bz_cdf_varNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, ATTR_NUMBER_, NX_name, &NX_cdf_num, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, ATTR_NUMBER_, NY_name, &NY_cdf_num, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, ATTR_NUMBER_, NZ_name, &NZ_cdf_num, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   status = CDFlib( GET_, zVAR_NUMBER_, eta_name, &eta_cdfNum, NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /*printf("DEBUG\t finished getting cdf nums\n");*/

   /***************** use cdf_varNums to get actual scalar values *************/

   /********* get value for NX **********/
   status = CDFlib(
   SELECT_, ATTR_, NX_cdf_num,
   SELECT_, gENTRY_, 0,
   GET_, gENTRY_DATA_, &NX,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /********* get value for NY **********/
   status = CDFlib(
   SELECT_, ATTR_, NY_cdf_num,
   SELECT_, gENTRY_, 0,
   GET_, gENTRY_DATA_, &NY,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /********* get value for NZ **********/
   status = CDFlib(
   SELECT_, ATTR_, NZ_cdf_num,
   SELECT_, gENTRY_, 0,
   GET_, gENTRY_DATA_, &NZ,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /*convert original float N* to int n* */
   /* bats NX was float but ucla is int no conversion needed fix latter*/

   nx = NX;
   ny = NY;
   nz = NZ;

   /*printf("DEBUG\tNX[%d] -> nx[%d]\n", NX, nx );
    printf("DEBUG\tNY[%d] -> ny[%d]\n", NY, ny );
    printf("DEBUG\tNZ[%d] -> nz[%d]\n", NZ, nz );

    printf("DEBUG\t main_memory_flag = %d\n", main_memory_flag);*/

   /********************* allocate space for unique x, y, & z positions *******/
   if ( (x_pos = ( float * ) calloc(
         nx,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (y_pos = ( float * ) calloc(
         ny,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for y_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (z_pos = ( float * ) calloc(
         nz,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_pos buffer!\n");
      exit( EXIT_FAILURE);
   }

   /************ allocate space for unique x_bx, y_bx, & z_bx positions *******/
   if ( (x_bx_pos = ( float * ) calloc(
         nx,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_bx_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (y_bx_pos = ( float * ) calloc(
         ny,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for y_bx_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (z_bx_pos = ( float * ) calloc(
         nz,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_bx_pos buffer!\n");
      exit( EXIT_FAILURE);
   }

   /************ allocate space for unique x_by, y_by, & z_by positions *******/
   if ( (x_by_pos = ( float * ) calloc(
         nx,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_by_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (y_by_pos = ( float * ) calloc(
         ny,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for y_by_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (z_by_pos = ( float * ) calloc(
         nz,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_by_pos buffer!\n");
      exit( EXIT_FAILURE);
   }

   /************ allocate space for unique x_bz, y_bz, & z_bz positions *******/
   if ( (x_bz_pos = ( float * ) calloc(
         nx,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_bz_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (y_bz_pos = ( float * ) calloc(
         ny,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for y_bz_pos buffer!\n");
      exit( EXIT_FAILURE);
   }
   if ( (z_bz_pos = ( float * ) calloc(
         nz,
         sizeof(float)) ) == NULL)
   {
      printf("\ncalloc failed for x_bz_pos buffer!\n");
      exit( EXIT_FAILURE);
   }

   /*printf("DEBUG\tspace allocated for variables...\n");    */

   /******************** get unique x,y,z values ******************************/

   counts[0] = nx;
   indices[0] = 0;
   intervals[0] = 1;

   status = CDFlib(
   SELECT_, zVAR_, x_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, x_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = ny;

   status = CDFlib(
   SELECT_, zVAR_, y_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, y_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = nz;

   status = CDFlib(
   SELECT_, zVAR_, z_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, z_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /*printf("DEBUG\tunique x,y,z values read in successfully\n");*/

   /********* get unique x_bx, y_bx, z_bx values ******************************/

   counts[0] = nx;

   status = CDFlib(
   SELECT_, zVAR_, x_bx_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, x_bx_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = ny;

   status = CDFlib(
   SELECT_, zVAR_, y_bx_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, y_bx_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = nz;

   status = CDFlib(
   SELECT_, zVAR_, z_bx_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, z_bx_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /************** get unique x_by, y_by, z_by values *************************/

   counts[0] = nx;

   status = CDFlib(
   SELECT_, zVAR_, x_by_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, x_by_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = ny;

   status = CDFlib(
   SELECT_, zVAR_, y_by_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, y_by_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = nz;

   status = CDFlib(
   SELECT_, zVAR_, z_by_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, z_by_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   /************************* get unique x_bz, y_bz, z_bz values **************/

   counts[0] = nx;

   status = CDFlib(
   SELECT_, zVAR_, x_bz_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, x_bz_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = ny;

   status = CDFlib(
   SELECT_, zVAR_, y_bz_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, y_bz_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

   counts[0] = nz;

   status = CDFlib(
   SELECT_, zVAR_, z_bz_cdf_varNum,
   SELECT_, zVAR_RECNUMBER_, recordStart,
   SELECT_, zVAR_RECCOUNT_, recordCount,
   SELECT_, zVAR_RECINTERVAL_, recordInterval,
   SELECT_, zVAR_DIMINDICES_, indices,
   SELECT_, zVAR_DIMCOUNTS_, counts,
   SELECT_, zVAR_DIMINTERVALS_, intervals,
   GET_, zVAR_HYPERDATA_, z_bz_pos,
   NULL_);
   if (status != CDF_OK)
      StatusHandler(status);

}
示例#4
0
int load_kpvt_cdf_variable_into_main_memory(
      char *variable_to_read)
{

   CDFstatus status;

   long recordStart = 0;
   long recordCount = 1;
   long recordInterval = 1;
   long counts[1] =
   { 0 };
   long intervals[1] =
   { 1 };
   long indices[1];

   long variable_cdf_number;

   int kpvt_reserve_mem_and_set_cdf_num(
         char *);

   /*printf("DEBUG\tinside load\n");*/

   variable_cdf_number = kpvt_reserve_mem_and_set_cdf_num(variable_to_read);

   if (variable_cdf_number == -1)
   {
      printf(
            "ERROR:\tcould not find cdf variable number for -->%s<--\n",
            variable_to_read);
      return EXIT_FAILURE; /*exit( EXIT_FAILURE );*/
   }

   /*(printf("DEBUG\tback from reserve mem with cdf_varNum %d for variable %s \n", variable_cdf_number, variable_to_read );*/

   counts[0] = nx * ny;
   indices[0] = 0;
   intervals[0] = 1;

   if ( !strcmp(
         variable_to_read,
         net_flux_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, net_flux,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         total_flux_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, total_flux,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         weights_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, weights,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else
   {
      /* INSERT ERROR HANDLER HERE */
      printf("couldn't find a variable to load...\n");
      return EXIT_FAILURE;
   }

   /*printf("DEBUG\tfinished hyper read returning\n");*/

   return EXIT_SUCCESS;

}
int load_ucla_ggcm_cdf_variable_into_main_memory(
      char *variable_to_read)
{

   CDFstatus status;

   long recordStart = 0;
   long recordCount = 1;
   long recordInterval = 1;
   long counts[1] =
   { 0 };
   long intervals[1] =
   { 1 };
   long indices[1];

   long variable_cdf_number;

   long ucla_ggcm_reserve_mem_and_set_cdf_num(
         char *);

   /*printf("DEBUG\tinside load\n");*/

   variable_cdf_number
         = ucla_ggcm_reserve_mem_and_set_cdf_num(variable_to_read);

   /* instead of EXITING PROGRAM with exit failure - print warning and return control to calling function */

   if (variable_cdf_number == -1)
   {
      printf(
            "ERROR:\tcould not find cdf variable number for -->%s<--\n",
            variable_to_read);
      return EXIT_FAILURE; /*exit( EXIT_FAILURE );*/
   }

   /*(printf("DEBUG\tback from reserve mem with cdfnum %d for variable %s \n", variable_cdf_number, variable_to_read );*/

   counts[0] = nx * ny * nz;
   indices[0] = 0;
   intervals[0] = 1;

   if ( !strcmp(
         variable_to_read,
         bx_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, bx,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         by_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, by,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         bz_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, bz,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         bx1_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, bx1,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         by1_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, by1,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         bz1_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, bz1,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         ux_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, ux,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         uy_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, uy,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         uz_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, uz,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         jx_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, jx,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         jy_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, jy,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         jz_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, jz,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         rho_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, rho,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
         variable_to_read,
         p_name) )
   {
      status = CDFlib(
      SELECT_, zVAR_, variable_cdf_number,
      SELECT_, zVAR_RECNUMBER_, recordStart,
      SELECT_, zVAR_RECCOUNT_, recordCount,
      SELECT_, zVAR_RECINTERVAL_, recordInterval,
      SELECT_, zVAR_DIMINDICES_, indices,
      SELECT_, zVAR_DIMCOUNTS_, counts,
      SELECT_, zVAR_DIMINTERVALS_, intervals,
      GET_, zVAR_HYPERDATA_, p,
      NULL_);
      if (status != CDF_OK)
         StatusHandler(status);
   }
   else if ( !strcmp(
            variable_to_read,
            eta_name) )
      {
         status = CDFlib(
         SELECT_, zVAR_, variable_cdf_number,
         SELECT_, zVAR_RECNUMBER_, recordStart,
         SELECT_, zVAR_RECCOUNT_, recordCount,
         SELECT_, zVAR_RECINTERVAL_, recordInterval,
         SELECT_, zVAR_DIMINDICES_, indices,
         SELECT_, zVAR_DIMCOUNTS_, counts,
         SELECT_, zVAR_DIMINTERVALS_, intervals,
         GET_, zVAR_HYPERDATA_, eta,
         NULL_);
         if (status != CDF_OK)
            StatusHandler(status);
      }
   else
   {
      /* INSERT ERROR HANDLER HERE */
      printf("couldn't find a variable to load...\n");
      return EXIT_FAILURE;
   }

   /*printf("DEBUG\tfinished hyper read returning\n");*/

   return EXIT_SUCCESS;

}