|
|
Additional meteorological fields |
|
|||||
|
<% // Date and time java.io.File inputFile = new java.io.File("/www/Standalone/Programs/ADIM/Projects/CalBoat/Data/datetime"); java.io.FileReader in = new java.io.FileReader(inputFile); int[] hourPST = new int[5]; int[] hint = new int[5]; int[] dint = new int[5]; int[] mint = new int[5]; int[] yint = new int[5]; int[] fcastHour = new int[5]; fcastHour[0] = 0; fcastHour[1] = 8; fcastHour[2] = 14; fcastHour[3] = 20; fcastHour[4] = 26; // To figure out Daylight Savings String TZN = new String(); int TZoffset; java.util.TimeZone timeZone = java.util.TimeZone.getDefault(); java.util.Date ct = new java.util.Date(); boolean isDaylightTime; isDaylightTime = timeZone.inDaylightTime(ct); if (isDaylightTime == true) { TZN = "PDT"; TZoffset = 1; } else { TZN = "PST"; TZoffset = 0; } //out.println(TZN); char[] c = new char[13]; for(int i = 0; i < 13; i++) { c[i] = (char) in.read(); } in.close(); String all = new String(c); String ayear, amonth, aday, ahour; ayear = all.substring(0,4); amonth = all.substring(5,7); aday = all.substring(8,10); ahour = all.substring(11,13); Integer y = new Integer(ayear); int yint1 = y.intValue(); Integer m = new Integer(amonth); int mint1 = m.intValue(); Integer d = new Integer(aday); int dint1 = d.intValue(); Integer h = new Integer(ahour); int hint1 = h.intValue(); for (int i = 0; i < 5; i++) { hint[i] = hint1; dint[i] = dint1; mint[i] = mint1; yint[i] = yint1; } //out.println(hint[0]); for (int i = 0; i < 5; i++) { hourPST[i] = hint[0] - 8 + fcastHour[i]; if(hourPST[i] >= 24) { hourPST[i] = hourPST[i] % 24; // Date overflow check if( ((mint[i] == 1) && (dint[i] == 31)) || ((mint[i] == 2) && (dint[i] == 28)) || ((mint[i] == 3) && (dint[i] == 31)) || ((mint[i] == 4) && (dint[i] == 30)) || ((mint[i] == 5) && (dint[i] == 31)) || ((mint[i] == 6) && (dint[i] == 30)) || ((mint[i] == 7) && (dint[i] == 31)) || ((mint[i] == 8) && (dint[i] == 31)) || ((mint[i] == 9) && (dint[i] == 30)) || ((mint[i] == 10) && (dint[i] == 31)) || ((mint[i] == 11) && (dint[i] == 30)) || ((mint[i] == 12) && (dint[i] == 31))) { mint[i]++; dint[i] = 1; if (mint[i] == 13) { mint[i] = 1; yint[i]++; } } else { dint[i]++;} } } if (hint1 == 0) { hourPST[0] = 16; dint[0]--; } if ((mint[0] == 1) && (dint[0] == 0)) { mint[0] = 12; dint[0] = 31; } else if ((mint[0] == 2) && (dint[0] == 0)) { mint[0]--; dint[0] = 31; } else if ((mint[0] == 3) && (dint[0] == 0)) { mint[0]--; dint[0] = 28; } else if ((mint[0] == 4) && (dint[0] == 0)) { mint[0]--; dint[0] = 31; } else if ((mint[0] == 5) && (dint[0] == 0)) { mint[0]--; dint[0] = 30; } else if ((mint[0] == 6) && (dint[0] == 0)) { mint[0]--; dint[0] = 31; } else if ((mint[0] == 7) && (dint[0] == 0)) { mint[0]--; dint[0] = 30; } else if ((mint[0] == 8) && (dint[0] == 0)) { mint[0]--; dint[0] = 31; } else if ((mint[0] == 9) && (dint[0] == 0)) { mint[0]--; dint[0] = 31; } else if ((mint[0] == 10) && (dint[0] == 0)) { mint[0]--; dint[0] = 30; } else if ((mint[0] == 11) && (dint[0] == 0)) { mint[0]--; dint[0] = 31; } else if ((mint[0] == 12) && (dint[0] == 0)) { mint[0]--; dint[0] = 30; } %> D2 (9 km) Surface winds (kts), Pressure (mb), and Temperature (F) for the run started at <%= hourPST[0] + TZoffset %> <%= TZN %> on <%= mint[0] %>-<%= dint[0] %>-<%= yint[0] %>
Atmospheric and Dispersion Modeling Program, DRI, 2004 |