Exemple #1
0
void read_rainbow_header(Rainbow_hdr *rainbow_header, FILE *fp)
{
    /* Reads parameters from Rainbow file header into a rainbow header
       structure. */

    char buf[BUFSIZE];
    int label;

    /* Read each line of the header and extract parameters according to the
     * label.  The label is a single alphabetic character at the beginning
     * of the line which indicates a category of parameters.
     */

    while ((label = read_hdr_line(buf, BUFSIZE, fp)) != ETX && label > 0) {
	switch (label) {
	    case 'H': H_label(rainbow_header, buf);
		      break;
	    case 'P': P_label(rainbow_header, buf);
		      break;
	    case 'W': W_label(rainbow_header, buf);
		      break;
	    case 'F': F_label(rainbow_header, buf);
		      break;
	    case 'R': R_label(rainbow_header, buf);
		      break;
	    case 'A': A_label(rainbow_header, buf);
		      break;
	    case 'N': rainbow_header->product = get_param_int(buf);
		      break;
	    case 'X': /* X_label(rainbow_header, buf); */
		      break;
	}
    }
}
void unknown::get_stencil_values(const label& wet_label, double& u_E, double& u_W, double& u_N, double& u_S)
{

	unsigned int lx = wet_label(0);
	unsigned int ly = wet_label(1);

	label E_label(lx+1, ly);
	label W_label(lx-1, ly);
	label N_label(lx, ly+1);
	label S_label(lx, ly-1);

	u_E = get_stencil_value(wet_label, unknown_position::E, true);
	u_W = get_stencil_value(wet_label, unknown_position::W, false);
	u_N = get_stencil_value(wet_label, unknown_position::N, false);
	u_S = get_stencil_value(wet_label, unknown_position::S, false);

}