private void Convert45To60() { CRainfall rainfall = new CRainfall(); CRainfall rainfall2 = new CRainfall(); int nValues = this.m_NValues; short fileNumber = (short)FileSystem.FreeFile(); FileSystem.FileOpen(fileNumber, this.m_OutputFile, OpenMode.Binary, OpenAccess.Default, OpenShare.Default, -1); rainfall.ReadRainfallFromBinFile(ref fileNumber, ref 0.0); FileSystem.FileClose(new int[] { fileNumber }); rainfall2.Init(ref (int)Math.Round((double)(((double)(rainfall.TimeSteps * 3)) / 4.0))); int index = 1; int timeSteps = rainfall.TimeSteps; int num2 = 1; while (true) { int num8 = timeSteps; if (num2 > num8) { FileSystem.FileClose(new int[0]); rainfall2.PrintRainfall(ref this.m_OutputFile, ref this.m_StartDate, ref 60); return; } rainfall2.set_Rainfall(index, rainfall.get_Rainfall(num2) + ((float)(0.33333333333333331 * rainfall.get_Rainfall(num2 + 1)))); index++; rainfall2.set_Rainfall(index, (float)(0.66666666666666663 * (rainfall.get_Rainfall(num2 + 1) + rainfall.get_Rainfall(num2 + 2)))); index++; rainfall2.set_Rainfall(index, ((float)(rainfall.get_Rainfall(num2 + 2) * 0.33333333333333331)) + rainfall.get_Rainfall(num2 + 3)); index++; num2 += 4; } }
private void Convert15To24() { CRainfall rainfall = new CRainfall(); CRainfall rainfall2 = new CRainfall(); CRainfall rainfall3 = new CRainfall(); int nValues = this.m_NValues; short fileNumber = (short)FileSystem.FreeFile(); FileSystem.FileOpen(fileNumber, this.m_OutputFile, OpenMode.Binary, OpenAccess.Default, OpenShare.Default, -1); rainfall.ReadRainfallFromBinFile(ref fileNumber, ref 0.0); FileSystem.FileClose(new int[] { fileNumber }); rainfall3.Init(ref rainfall.TimeSteps * 5); int index = 1; int timeSteps = rainfall.TimeSteps; int num2 = 1; while (true) { int num11 = timeSteps; if (num2 > num11) { rainfall2.Init(ref (int)Math.Round((double)(((double)rainfall3.TimeSteps) / 8.0))); index = 1; int num9 = rainfall3.TimeSteps - 1; num2 = 1; while (num2 <= num9) { int num10 = num2 + 7; int num4 = num2; while (true) { num11 = num10; if (num4 > num11) { index++; num2 += 8; break; } rainfall2.set_Rainfall(index, rainfall2.get_Rainfall(index) + rainfall3.get_Rainfall(num4)); num4++; } } FileSystem.FileClose(new int[0]); rainfall2.PrintRainfall(ref this.m_OutputFile, ref this.m_StartDate, ref 0x5a0); return; } rainfall3.set_Rainfall(index, rainfall.get_Rainfall(num2) / 5f); index++; rainfall3.set_Rainfall(index, rainfall.get_Rainfall(num2) / 5f); index++; rainfall3.set_Rainfall(index, rainfall.get_Rainfall(num2) / 5f); index++; rainfall3.set_Rainfall(index, rainfall.get_Rainfall(num2) / 5f); index++; rainfall3.set_Rainfall(index, rainfall.get_Rainfall(num2) / 5f); index++; num2++; } }
public void ComputeP(ref CRainfall CurrRainfall, ref CRainfall NewRainfall) { short[] numArray3 = new short[9]; short[] numArray2 = new short[9]; short[] numArray = new short[9]; short grp = 1; CRainfall rainfall = CurrRainfall; int timeSteps = rainfall.TimeSteps; int index = 1; while (true) { int num5 = timeSteps; if (index > num5) { grp = 1; grp = 1; while (true) { if (Operators.ConditionalCompareObjectGreater(this.NEvents(ref grp), 0, false)) { this.m_Pxx[grp] = Conversions.ToSingle(Operators.DivideObject(numArray3[grp], this.NEvents(ref grp))); this.m_P10[grp] = Conversions.ToSingle(Operators.DivideObject(numArray2[grp], this.NEvents(ref grp))); this.m_P01[grp] = Conversions.ToSingle(Operators.DivideObject(numArray[grp], this.NEvents(ref grp))); } grp = (short)(grp + 1); short num6 = 8; if (grp > num6) { rainfall = null; return; } } } if (this.m_Groups[grp] > 0) { if ((rainfall.get_Rainfall(index) == 0f) & (rainfall.get_Rainfall(index + 1) > 0f)) { numArray[this.m_Groups[grp]] = (short)(numArray[this.m_Groups[grp]] + 1); } else if ((rainfall.get_Rainfall(index) > 0f) & (rainfall.get_Rainfall(index + 1) == 0f)) { numArray2[this.m_Groups[grp]] = (short)(numArray2[this.m_Groups[grp]] + 1); } else if ((rainfall.get_Rainfall(index) > 0f) & (rainfall.get_Rainfall(index + 1) > 0f)) { numArray3[this.m_Groups[grp]] = (short)(numArray3[this.m_Groups[grp]] + 1); } else { short num; num = (short)(num + 1); } } grp = (short)(grp + 1); index += 2; } }
public void ComputeW1AndW2(ref CRainfall lower, ref CRainfall upper) { int index = 1; short valno = (short)index; int timeSteps = lower.TimeSteps; int num = 1; while (true) { int num5 = timeSteps; if (num > num5) { this.ComputeWAverages(); return; } if ((lower.get_Rainfall(num) > 0f) & (lower.get_Rainfall(num + 1) > 0f)) { this.set_w1(this.get_WeightGroup(index), valno, lower.get_Rainfall(num) / upper.get_Rainfall(index)); this.set_W2(this.get_WeightGroup(index), valno, lower.get_Rainfall(num + 1) / upper.get_Rainfall(index)); } valno = (short)(index + 1); num += 2; } }
public void DetermineWeightGroups(ref CRainfall Rainfall) { this.m_Groups = new short[Rainfall.TimeSteps + 1]; float num2 = Rainfall.get_MeanRainfall(false); CRainfall rainfall = Rainfall; int timeSteps = rainfall.TimeSteps; if (timeSteps == 1) { this.m_Groups[1] = 1; } else { this.m_Groups[1] = (rainfall.get_Rainfall(2) != 0f) ? ((rainfall.get_Rainfall(1) != 0f) ? ((rainfall.get_Rainfall(1) >= num2) ? ((short)1) : ((short)2)) : ((short)1)) : ((rainfall.get_Rainfall(1) != 0f) ? ((rainfall.get_Rainfall(1) >= num2) ? ((short)7) : ((short)8)) : ((short)(-1))); int num4 = timeSteps - 1; int index = 2; while (true) { int num5 = num4; if (index > num5) { if (rainfall.get_Rainfall(timeSteps - 1) == 0f) { if (rainfall.get_Rainfall(index) == 0f) { this.m_Groups[index] = -1; } else { this.m_Groups[timeSteps] = (rainfall.get_Rainfall(timeSteps) <= num2) ? ((short)8) : ((short)7); } } else if (rainfall.get_Rainfall(index) == 0f) { this.m_Groups[index] = -1; } else { this.m_Groups[timeSteps] = (rainfall.get_Rainfall(timeSteps) <= num2) ? ((short)6) : ((short)5); } break; } if ((rainfall.get_Rainfall(index - 1) == 0f) & (rainfall.get_Rainfall(index + 1) == 0f)) { this.m_Groups[index] = (rainfall.get_Rainfall(index) != 0f) ? ((rainfall.get_Rainfall(index) <= num2) ? ((short)8) : ((short)7)) : ((short)(-1)); } else if ((rainfall.get_Rainfall(index - 1) == 0f) & (rainfall.get_Rainfall(index + 1) > 0f)) { this.m_Groups[index] = (rainfall.get_Rainfall(index) != 0f) ? ((rainfall.get_Rainfall(index) <= num2) ? ((short)2) : ((short)1)) : ((short)(-1)); } else if ((rainfall.get_Rainfall(index - 1) > 0f) & (rainfall.get_Rainfall(index + 1) == 0f)) { this.m_Groups[index] = (rainfall.get_Rainfall(index) != 0f) ? ((rainfall.get_Rainfall(index) <= num2) ? ((short)6) : ((short)5)) : ((short)(-1)); } else if ((rainfall.get_Rainfall(index - 1) > 0f) & (rainfall.get_Rainfall(index + 1) > 0f)) { this.m_Groups[index] = (rainfall.get_Rainfall(index) != 0f) ? ((rainfall.get_Rainfall(index) <= num2) ? ((short)4) : ((short)3)) : ((short)(-1)); } index++; } } rainfall = null; }