Пример #1
0
int  project_init(void)
//
//  Input:   none
//  Output:  returns an error code
//  Purpose: initializes the internal state of all objects.
// 
{
    int j;
    climate_initState();
    lid_initState();
    for (j=0; j<Nobjects[TSERIES]; j++)  table_tseriesInit(&Tseries[j]);
    for (j=0; j<Nobjects[GAGE]; j++)     gage_initState(j);
    for (j=0; j<Nobjects[SUBCATCH]; j++) subcatch_initState(j);
    for (j=0; j<Nobjects[NODE]; j++)     node_initState(j);
    for (j=0; j<Nobjects[LINK]; j++)     link_initState(j);
    return ErrorCode;
}
Пример #2
0
void initGageData()
//
//  Input:   none
//  Output:  none
//  Purpose: initializes rain gage processing data.
//
{
    int i;                             // unit hyd. index
    int g;                             // rain gage index

    // --- for each unit. hydrograph set
    for (i=0; i<Nobjects[UNITHYD]; i++)
    {
        // --- see if UH's rain gage not already initialized
        g = UnitHyd[i].rainGage;
        if ( g >= 0 && Gage[g].isUsed == FALSE )
        {
            // --- initialize the gage's rainfall time series & its state
            if ( Gage[g].tSeries >= 0 )
            {
                table_tseriesInit(&Tseries[Gage[g].tSeries]);
            }
            gage_initState(g);
            Gage[g].isUsed = TRUE;

            // --- make the first recorded rainfall begin a new RDII event

//////////////////////////////////////////////////////////////////////////////
//  New RDII event occurs when dry period > base of longest UH. (LR - 9/19/06)
//////////////////////////////////////////////////////////////////////////////
            //GageData[g].drySeconds = RDII_MIT + 1;
            GageData[g].drySeconds =
                (GageData[g].maxPeriods * Gage[g].rainInterval) + 1;

            GageData[g].period = GageData[g].maxPeriods + 1;
            GageData[g].hasPastRain = FALSE;

            // --- initialize gage date to simulation start date
            GageData[g].gageDate = StartDateTime;
            GageData[g].area = 0.0;
        }
    }
}