/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/hydrotrend/hydroprintstat.c

Go to the documentation of this file.
00001 /*
00002  * HydroPrintStat.c     Prints the statistics of the 
00003  *                      stochastic models used to calculate sediment
00004  *                      discharge and discharge.
00005  *
00006  *                      Author:         A.J. Kettner
00007  *                      Original:       February 2003
00008  *
00009  * Variable             Def.Location            Type    Units   Usage
00010  * --------             ------------            ----    -----   -----
00011  * A                    HydroPrintStat.c        double  km^2    total basin area
00012  * cbar                 HydroPrintStat.c        double  -               mean of normal random variable
00013  * err                  various                         int             -               error flag, halts program
00014  * H                    HydroPrintStat.c        double  m               max relief basin area
00015  * sigmapsi             HydroPrintStat.c        double  -               sigma of psi
00016  * Tbar                 HydroPrintStat.c        double  Celsius mean basin temperature
00017  * s                    HydroPrintStat.c        double  -               sigma C
00018  * 
00019  */
00020  
00021 #include <math.h>
00022 #include "hydroclimate.h"
00023 #include "hydroparams.h"
00024 #include "hydroinout.h"
00025 
00026 /*-----------------------------
00027  *  Start of HydroPrintStat
00028  *-----------------------------*/
00029 int hydroprintstat(){
00030 
00031 /*-------------------
00032  *  Local Variables
00033  *-------------------*/
00034 int err;
00035 double A,H, Tbar, sigmapsi, cbar, s;
00036 
00037 /*------------------------
00038  *  Initialize variables
00039  *------------------------*/
00040         err = 0;
00041 
00042 /*----------------------------------
00043  *  Calculate the needed variables
00044  *----------------------------------*/
00045         A    = (totalarea[ep] / 1e6);
00046         H    = maxalt[ep];
00047         Tbar = Tstart[ep] - ((lapserate[ep] * maxalt[ep])/3.0);
00048         sigmapsi  = 0.763 * pow(0.99995,Qbartotal[ep]);
00049         cbar = (1.4 - (0.025*Tbar) + (0.00013*H) + (0.145 *log(Qsbartot[ep])));
00050         s    = 0.17 + (0.0000183 * Qbartotal[ep]);
00051         
00052 /*--------------------
00053  *  Print statistics
00054  *--------------------*/
00055         fprintf( fidstat, " Values used to calculate discharge and sediment discharge\n");
00056         fprintf( fidstat, " for the stochastic model in hydrotrend run: \n" );
00057         fprintf( fidstat, " %s\n", title[ep] );
00058         fprintf( fidstat, "epoch: %d \n",ep+1);
00059         fprintf( fidstat, "*****************************************************************\n");
00060         if (Qsbarformulaflag[ep] == 1){
00061                 fprintf( fidstat, "Qsbar =  alpha3 * pow(A,alpha4) * pow(H,alpha5) * exp(k * Tbar)\n" );
00062                 fprintf( fidstat, "\t A = %.2f; river basin area (km2)\n",A);
00063                 fprintf( fidstat, "\t H = %.2f; maxalt = basin relief (m)\n\n",H);
00064                 fprintf( fidstat, "\t T = %.2f; Tbar = mean basin temp (C)\n",Tbar);
00065                 fprintf( fidstat, "\t\t T =Tstart[ep](=%.2f) - ((lapserate[ep](=%.2f) * maxalt[ep](=%.2f))/3.0\n\n",Tstart[ep],lapserate[ep],maxalt[ep]);
00066                 fprintf( fidstat, "\t alpha3, alpha4, alpha5 and k are set by temperature and\n");
00067                 fprintf( fidstat, "\t latitude geographic position of the river mouth, lat=%.2f\n ",lat);
00068                 fprintf( fidstat, "\t alpha3 = %.2e\n",alpha3);
00069                 fprintf( fidstat, "\t alpha4 = %.2e\n",alpha4);
00070                 fprintf( fidstat, "\t alpha5 = %.2e\n",alpha5);
00071                 fprintf( fidstat, "\t k= %.2e\n",k1);
00072                 fprintf( fidstat, "Qsbar = %.2f (kg/s)\n\n\n",Qsbartot[ep]);
00073                 fprintf( fidstat, "Qbar = (sumQ(daily))/number of days\n" );
00074                 fprintf( fidstat, "Qbar = %.2f (m3/s)\n\n\n",Qbartotal[ep]);
00075         }
00076         if (Qsbarformulaflag[ep] == 0){
00077                 fprintf( fidstat, "Qsbar =  alpha3 * pow(Qbar,alpha4) * pow(H,alpha5) * exp(k * Tbar)\n" );
00078                 fprintf( fidstat, "\t Qbar = %.2f; long-term average of Q (m3/s)\n",Qbartotal[ep]);
00079                 fprintf( fidstat, "\t H = %.2f; maxalt = basin relief (m)\n\n",H);
00080                 fprintf( fidstat, "\t T = %.2f; Tbar = mean basin temp (C)\n",Tbar);
00081                 fprintf( fidstat, "\t\t T =Tstart[ep](=%.2f) - ((lapserate[ep](=%.2f) * maxalt[ep](=%.2f))/3.0\n\n",Tstart[ep],lapserate[ep],maxalt[ep]);
00082                 fprintf( fidstat, "\t alpha6, alpha7, alpha8 and k are set by temperature and\n");
00083                 fprintf( fidstat, "\t latitude geographic position of the river mouth, lat=%.2f\n ",lat);
00084                 fprintf( fidstat, "\t alpha6 = %.2e\n",alpha6);
00085                 fprintf( fidstat, "\t alpha7 = %.2e\n",alpha7);
00086                 fprintf( fidstat, "\t alpha8 = %.2e\n",alpha8);
00087                 fprintf( fidstat, "\t k= %.2e\n",k2);
00088                 fprintf( fidstat, "Qsbar = %.2f (kg/s)\n\n\n",Qsbartot[ep]);
00089         }
00090         fprintf( fidstat, "(Qs(daily)/Qsbar) = psi(daily) * (Q(daily)/Qbar)^C(daily)\n");
00091         fprintf( fidstat, "\t Qs(daily) = daily sediment discharge (kg/s)\n");
00092         fprintf( fidstat, "\t Qsbar = %.2f (kg/s); used long-term average of Qs (fractions of Qs(daily)/nr. of fractions)\n\n",Qsmean[ep]*Qsbarnew[ep]);
00093         fprintf( fidstat, "\t psi = log-normal random variable,\n");
00094         fprintf( fidstat, "\t\t psi   = a random number from a lognormal distribution with\n" );
00095         fprintf( fidstat, "\t\t mean 1 and sigma psi = 0.763 * (0.99995^Qbar)\n" );
00096         fprintf( fidstat, "\t sigma psi = %f\n\n",sigmapsi );
00097         fprintf( fidstat, "\t Q(daily) = daily discharge (m3/s)\n");
00098         fprintf( fidstat, "\t Qbar = %.2f (m3/s); long-term average of Q, calculated by formula explained above\n\n",Qbartotal[ep]);
00099         fprintf( fidstat, "\t C\t= a random number from a distribution with mean E(C)\n" );
00100         fprintf( fidstat, "\t\t and standard deviation sigma-C, where:\n" );
00101         fprintf( fidstat, "\t\t E(C) = (1.4 - (0.025*T) + (0.00013*H) + (0.145*ln(Qsbar))\n" );
00102         fprintf( fidstat, "\t\t E(C) = %f\n",cbar );
00103         fprintf( fidstat, "\t\t sigma-C = 0.17 + (0.0000183 * Qbar)\n" );
00104         fprintf( fidstat, "\t\t sigma-C = %f\n\n",s );
00105         fprintf( fidstat, "*****************************************************************\n\n\n");
00106         return(err);
00107 }       /* end of hydroprintstat.c */

Generated on Fri Jan 4 18:04:14 2008 for sedflux by  doxygen 1.5.2