compute_secondary_large_scale_diff.c File Reference

Compute secondary large-scale field difference between value of learning field at analog date vs model field at downscaled date. More...

#include <dsclim.h>
Include dependency graph for compute_secondary_large_scale_diff.c:

Go to the source code of this file.

Functions

void compute_secondary_large_scale_diff (double *delta, double **delta_dayschoice, analog_day_struct analog_days, double *sup_field_index, double *sup_field_index_learn, double sup_field_var, double sup_field_var_learn, int ntimes)
 Compute secondary large-scale field difference between value of learning field at analog date vs model field at downscaled date.

Detailed Description

Compute secondary large-scale field difference between value of learning field at analog date vs model field at downscaled date.

Definition in file compute_secondary_large_scale_diff.c.


Function Documentation

void compute_secondary_large_scale_diff ( double *  delta,
double **  delta_dayschoice,
analog_day_struct  analog_days,
double *  sup_field_index,
double *  sup_field_index_learn,
double  sup_field_var,
double  sup_field_var_learn,
int  ntimes 
)

Compute secondary large-scale field difference between value of learning field at analog date vs model field at downscaled date.

Parameters:
[out] delta Difference between value of secondary large-scale learning field at analog date vs model field at downscaled date
[out] delta_dayschoice Difference between value of secondary large-scale learning field at analog date vs model field at downscaled date, for ndayschoice analog days
[in] analog_days Analog days time indexes and dates with corresponding dates being downscaled
[in] sup_field_index Secondary large-scale field index of days to downscale
[in] sup_field_index_learn Secondary large-scale field index of learning period
[in] sup_field_var Secondary large-scale field index variance of days to downscale
[in] sup_field_var_learn Secondary large-scale field index variance of learning period
[in] ntimes Number of times of days to downscale for this period

Compute normalized secondary large-scale field difference (delta)

Definition at line 60 of file compute_secondary_large_scale_diff.c.

References analog_day_struct::ndayschoice, analog_day_struct::tindex, and analog_day_struct::tindex_dayschoice.

Referenced by wt_downscaling().

00061                                                                                                                                 {
00073   int t; /* Time loop counter */
00074   int ii; /* ndayschoice loop counter */
00075   //  double sup_diff; /**< Secondary large-scale field difference. */
00076   //  int count = 0;
00077 
00078   /* Process each downscaled day */
00079   for (t=0; t<ntimes; t++) {
00081     delta[t] = (sup_field_index[t] * sqrt(sup_field_var)) -
00082       (sup_field_index_learn[analog_days.tindex[t]] * sqrt(sup_field_var_learn));
00083     for (ii=0; ii<analog_days.ndayschoice[t]; ii++)
00084       delta_dayschoice[t][ii] = (sup_field_index[t] * sqrt(sup_field_var)) -
00085       (sup_field_index_learn[analog_days.tindex_dayschoice[t][ii]] * sqrt(sup_field_var_learn));
00086     
00087     //    if (fabs(sup_diff) > 2.0) {
00088     //      delta[t] = sup_diff;
00089       //      printf("%d %lf\n",t,delta[t]);
00090       //      count++;
00091     //    }
00092     //    else
00093     //      delta[t] = 0.0;
00094     //    if (t == (ntimes-1))
00095     //      printf("%d %lf %lf %lf %d %d %d\n",count,delta[t],sup_field_index[t],sup_field_index_learn[analog_days.tindex[t]],analog_days.year[t],analog_days.month[t],analog_days.day[t]);
00096 
00097   }
00098 }


Generated on 12 May 2016 for DSCLIM by  doxygen 1.6.1