diff --git a/cave/build/static/common/cave/etc/basemaps/grib/2009/05/14/14/.grib--1766395821.h5.lck b/cave/build/static/common/cave/etc/basemaps/grib/2009/05/14/14/.grib--1766395821.h5.lck deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cave/build/static/common/cave/etc/basemaps/grib/2009/05/14/15/.grib--1766395821.h5.lck b/cave/build/static/common/cave/etc/basemaps/grib/2009/05/14/15/.grib--1766395821.h5.lck deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cave/build/static/common/cave/etc/meteolib/CPointer.py b/cave/build/static/common/cave/etc/meteolib/CPointer.py deleted file mode 100644 index 9cad35756c..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/CPointer.py +++ /dev/null @@ -1,113 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 12 Feb 2010 #4502 jelkins Initial Creation. - -class CPointer: - """ Simple C Pointer class - - Helps track "pointers" for those functions that have been - ported from C and have an insane amount of pointer logic - - """ - - def __init__(self, target=None, position=0): - """ Construct a CPointer - - @param target - value must be an object that assigns itself by - reference such as lists or class instances and - must be subscriptable - @param position - the offset from the initial value - """ - self.target = target - self.position = position - - def copy(self, other): - """ Obtain a copy of another pointer - """ - self.target = other.target - self.position = other.position - def __iadd__(self, offset): - """ Move the pointer position - """ - self.position += offset - return self - def __isub__(self, offset): - return self.__iadd__(- offset) - def __getitem__(self, index): - """ Get the value of the target at the given index - """ - return self.target[self.position + index] - def __setitem__(self, index, value): - """ Set the value of the target at the given index - """ - self.target[self.position + index] = value - def __cmp__(self, other): - """ Compare with another pointer - """ - if id(self.target) == id(other.target): - return self.position.__cmp__(other.position) - else: - return - 1 - -def test(): - """ Unit Test - - """ - - object = [1, 2, 3] - - pointer = CPointer() - pointer2 = CPointer() - - # pointer = &object - pointer.target = object - - # pointer2 = pointer - pointer2.copy(pointer) - - # pointer++ - pointer += 1 - - if not(pointer > pointer2): - raise Exception - - # *pointer2 = *pointer - pointer2[0] = pointer[0] - - # *pointer += 4 - pointer[0] += 4 - - if not(object == [2, 6, 3]): - raise Exception - - # pointer[1] = 7 - pointer[1] = 7 - - if not(object == [2, 6, 7] and pointer[1] == 7): - raise Exception - - print "CPointer Test Complete" \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/meteolib/CapeFunc.py b/cave/build/static/common/cave/etc/meteolib/CapeFunc.py deleted file mode 100644 index 37b43a4fcf..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/CapeFunc.py +++ /dev/null @@ -1,463 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 12 Feb 2010 #4502 jelkins Initial Creation. -# 17 ........ ..... ....... Combine capeFuncTop logic - -from numpy import log -from numpy import power as pow -from numpy import sqrt -from numpy import log -from numpy import zeros -from MeteoLibTools import MeteoLibTools as MeteoLib -from CPointer import CPointer -from Temp_of_te import temp_of_te - -meteoLib = MeteoLib() -adiabatic_te = meteoLib.adiabatic_te - -def capeFunc(usetv, p_dat, tve_dat, p0, th0, sh0, ptop=None): - """ Calculate Convective Available Potential Energy (CAPE) and Convective Inhibition (Cin) - - This function has been ported from the c capeFunc(Top), but has not yet been optimized - and is very slow compared to the native function. - - All inputs, except for usetv, are assumed to be numpy arrays - - @param usetv - 1 :: use virtual temperatures - 0 :: use plain temperatures - @param p_dat - pressure - @param tve_dat - temperature, if usetv == 1, then virtual temp - @param p0 - 0 pressure - @param th0 - 0 temperature - @param sh0 - 0 specific humidity - @param ptop - upper termination pressure - - @return a tuple with (cape,cin) - - """ - p_dat_ptr = CPointer(p_dat) - tve_dat_ptr = CPointer(tve_dat) - p0_ptr = CPointer(p0) - th0_ptr = CPointer(th0) - sh0_ptr = CPointer(sh0) - ptop_ptr = CPointer(ptop) - - has_ptop = ptop != None - - # determine the data dimensions - dataShape = tve_dat.shape - - nx = dataShape[2] if len(dataShape) > 2 else None - ny = dataShape[1] if len(dataShape) > 1 else None - nz = dataShape[0] - - # flatten all input arrays - p_dat.resize((nz, nx * ny,)) - tve_dat.resize((nz, nx * ny,)) - p0.resize((p0.size,)) - th0.resize((th0.size,)) - sh0.resize((sh0.size,)) - - mnx = nx # we don't worry about subgrids, so mnx and nx will never be different - - #dd = mnx - nx # since we don't subgrid we don't need this variable - # any logic that uses dd from the original code has been ommited - nn = mnx * ny - n2 = nx * ny - n3 = n2 * nz - nxm = nx - 1 - - # return variables - cape_dat_ptr = CPointer(zeros(n2, p_dat.dtype)) - cin_dat_ptr = CPointer(zeros(n2, p_dat.dtype)) - - # These pointers point to our dynamic storarge. - tvp_st_ptr = CPointer(zeros(n3, p_dat.dtype)) - tec_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - tvc_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - pc_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - pp1_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - - # Initialize md and pmd, which will be pressure of and max Te delta. - pmd_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - md_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - - # Pointer to output data and end of loop pointer - eptr_ptr = CPointer() - cap_ptr = CPointer() - cin_ptr = CPointer() - - # Working pointers inside our loops - pp_ptr = CPointer() - tt_ptr = CPointer() - tve_ptr = CPointer() - tvp_ptr = CPointer() - qq_ptr = CPointer() - pc_ptr = CPointer() - tec_ptr = CPointer() - tvc_ptr = CPointer() - pmd_ptr = CPointer() - md_ptr = CPointer() - pp1_ptr = CPointer() - tvp1_ptr = CPointer() - neg_ptr = CPointer() - pos_ptr = CPointer() - pp0_ptr = CPointer() - pfin_ptr = CPointer() - - t0 = None - td = None - tdc = None - b = None - up = None - dn = None - dlnp = None - k = None - i = None - nzm = None - c0 = 26.66082 - c1 = 0.0091379024 - c2 = 6106.396 - c_1 = 223.1986 - c_2 = 0.0182758048 - kapa = 0.286 - kapa_1 = 3.498257 - - # Calculate the parcel equivalent temp, virtual temp, and press at LCL. - # Make working copy of sfc press, use as press below current 3d pressure. - pp0_ptr.copy(p0_ptr) - tt_ptr.copy(th0_ptr) - qq_ptr.copy(sh0_ptr) - pfin_ptr.copy(ptop_ptr) - tec_ptr.copy(tec_st_ptr) - tvc_ptr.copy(tvc_st_ptr) - pc_ptr.copy(pc_st_ptr) - pp1_ptr.copy(pp1_st_ptr) - eptr_ptr.copy(pp0_ptr) - eptr_ptr += nn - - # The following while loop is a pythonish way of writing the equivalent c for loop - firstIteration = True - while (True): - if not (firstIteration): - pp0_ptr += 1 - pp1_ptr += 1 - tt_ptr += 1 - qq_ptr += 1 - pc_ptr += 1 - tec_ptr += 1 - tvc_ptr += 1 - pfin_ptr += 1 - firstIteration = False - if not (pp0_ptr < eptr_ptr): - break - - pp1_ptr[0] = pp0_ptr[0] - - if pp0_ptr[0] > 1e36 or tt_ptr[0] > 1e36 or qq_ptr[0] > 1e36 or qq_ptr[0] < 0.0005 or (has_ptop and pp0_ptr[0] < pfin_ptr[0]): - tec_ptr[0] = tvc_ptr[0] = pc_ptr[0] = 1e37 - continue - - t0 = tt_ptr[0] * pow(pp0_ptr[0] / 1000, kapa) - b = c0 - log(pp0_ptr[0] / (622. / qq_ptr[0] + 0.378)) - td = (b - sqrt(b * b - c_1)) / c_2 - tdc = td - (t0 - td) * (- 0.37329638 + 41.178204 / t0 + 0.0015945203 * td) - pc_ptr[0] = pp0_ptr[0] * pow(tdc / t0, kapa_1) - tec_ptr[0] = adiabatic_te(tdc, pc_ptr[0]) - tvc_ptr[0] = td * (1 + usetv * 0.000608 * qq_ptr[0]) - - # Now calculate the virtual temperature of the parcel at the pressures - # in the input data. Then difference it from the environmental temp, - # which has been tweaked to not be cooler than dry adiabatic from the - # parcel start. Record the level of max parcel difference. - tvp_ptr.copy(tvp_st_ptr) - nzm = 0 - for k in range(0, nz): - pp1_ptr.copy(pp1_st_ptr) - pfin_ptr.copy(ptop_ptr) - pp_ptr.copy(CPointer(p_dat_ptr[k])) - tve_ptr.copy(CPointer(tve_dat_ptr[k])) - tec_ptr.copy(tec_st_ptr) - tvc_ptr.copy(tvc_st_ptr) - pc_ptr.copy(pc_st_ptr) - md_ptr.copy(md_st_ptr) - pmd_ptr.copy(pmd_st_ptr) - eptr_ptr.copy(pp_ptr) - eptr_ptr += nn - - firstIteration = True - while (True): - if not (firstIteration): - pp1_ptr += 1 - pp_ptr += 1 - pc_ptr += 1 - pfin_ptr += 1 - tec_ptr += 1 - tvc_ptr += 1 - tvp_ptr += 1 - tve_ptr += 1 - md_ptr += 1 - pmd_ptr += 1 - firstIteration = False - if not (pp_ptr < eptr_ptr): - break - - if (pc_ptr[0] > 1e36 or pp_ptr[0] > 1e36 or tve_ptr[0] > 1e36 or (has_ptop and pp1_ptr[0] <= pfin_ptr[0])): - tvp_ptr[0] = 1e37 - continue - if has_ptop: - pp1_ptr[0] = pp_ptr[0] - nzm = k - t0 = tvc_ptr[0] * pow(pp_ptr[0] / pc_ptr[0], kapa) - if (pp_ptr[0] >= pc_ptr[0]): - tvp_ptr[0] = t0 - else: - td = tec_ptr[0] * pow(pp_ptr[0] / pc_ptr[0], kapa) - td = temp_of_te(td, pp_ptr[0]) - tvp_ptr[0] = td - if (usetv > 0): - tvp_ptr[0] *= pp_ptr[0] / (pp_ptr[0] - exp(25.687958917 - c1 * td - c2 / td)) - - if (tve_ptr[0] < t0): - tvp_ptr[0] -= t0 - else: - tvp_ptr[0] -= tve_ptr[0] - if (pp_ptr[0] > pc_ptr[0] or (has_ptop and pp_ptr[0] < pfin_ptr[0]) or tvp_ptr[0] < md_ptr[0]): - continue - md_ptr[0] = tvp_ptr[0] - pmd_ptr[0] = pp_ptr[0] - - if has_ptop: - nz = nzm + 1 - dlnp = 0 - - # This loop performs the actual cape and cin calculation. Here we will - # reuse storage for virt temp, equiv temp, and max delta for prev parcel - # temp, neg and pos. neg and pos are pending negative and positive - # contributions we have not yet added into the cape and cin yet. - tvp_ptr.copy(tvp_st_ptr) - for k in range (0, nz): - pp0_ptr.copy(p0_ptr) - pc_ptr.copy(pc_st_ptr) - pmd_ptr.copy(pmd_st_ptr) - pp1_ptr.copy(pp1_st_ptr) - pp_ptr.copy(CPointer(p_dat_ptr[k])) - pfin_ptr.copy(ptop_ptr) - tvp1_ptr.copy(tvc_st_ptr) - neg_ptr.copy(tec_st_ptr) - pos_ptr.copy(md_st_ptr) - cap_ptr.copy(cape_dat_ptr) - cin_ptr.copy(cin_dat_ptr) - eptr_ptr.copy(pp_ptr) - eptr_ptr += nn - - firstIteration = True - while (True): - if not firstIteration: - pp0_ptr += 1 - pc_ptr += 1 - pmd_ptr += 1 - pp1_ptr += 1 - pp_ptr += 1 - pfin_ptr += 1 - tvp1_ptr += 1 - tvp_ptr += 1 - cap_ptr += 1 - cin_ptr += 1 - pos_ptr += 1 - neg_ptr += 1 - firstIteration = False - if not (pp_ptr < eptr_ptr): - break - - if (k == 0): - cin_ptr[0] = cap_ptr[0] = 1e37 - pos_ptr[0] = neg_ptr[0] = 0 - elif (pp0_ptr[0] > 1e36): - continue - elif (pp1_ptr[0] > 1e36 or tvp1_ptr[0] > 1e36): - pass - elif (pp_ptr[0] >= pp1_ptr[0] or tvp_ptr[0] > 1e36): - continue - elif (pp_ptr[0] >= pp0_ptr[0]): - pass - else: - # Now we finally have the data we need for calculating - # the cape/cin contribution for this layer. - if (cap_ptr[0] > 1e36): - cap_ptr[0] = cin_ptr[0] = 0 - if (pmd_ptr[0] == 0): - continue # No parcel delta > 0, we're done - - # First deal with possibility of bottom lvl being below the - # initial parcel and/or hitting the top of the computation - if (has_ptop and pp_ptr[0] < pfin_ptr[0]): - b = log(pp1_ptr[0] / pp_ptr[0]) - dlnp = log(pp1_ptr[0] / pfin_ptr[0]) - tvp_ptr[0] = tvp1_ptr[0] + (dlnp / b) * (tvp_ptr[0] - tvp1_ptr[0]); - if (pp1_ptr[0] > pp0_ptr[0]): - if (has_ptop and pp_ptr[0] < pfin_ptr[0]): - dlnp = log(pp0_ptr[0] / pfin_ptr[0]) - else: - dlnp = log(pp0_ptr[0] / pp_ptr[0]) - dn = 0 - else: - if (not(has_ptop) or (has_ptop and pp_ptr[0] >= pfin_ptr[0])): - dlnp = log(pp1_ptr[0] / pp_ptr[0]) - dn = dlnp * 287 * tvp1_ptr[0] - - # Now deal with the fact that not allowing superadiabatic - # layers means no cape below condensation pressure - if (pp1_ptr[0] >= pc_ptr[0]): - if (dn > 0): - dn = 0 - if (tvp_ptr[0] <= 0): - up = dlnp * 287 * tvp_ptr[0] - elif (pp_ptr[0] >= pc_ptr[0]): - up = 0 - elif (has_ptop and pp_ptr[0] < pfin_ptr[0]): - up = log(pc_ptr[0] / pfin_ptr[0]) * 287 * tvp_ptr[0] - else: - up = log(pc_ptr[0] / pp_ptr[0]) * 287 * tvp_ptr[0] - else: - up = dlnp * 287 * tvp_ptr[0] - - # Deal with where the break point is - b = 0.5 if up * dn >= 0 else up / (up - dn) - up *= b - dn *= (1 - b) - - # Now consider this layer's contribution, taking into account - # transitions between positive and negative acceleration - if (up == 0 and dn == 0): - pass - elif (up <= 0 and (dn < 0 or dn == 0 and (pp_ptr[0] < pmd_ptr[0] or pos_ptr[0] == 0))): - # Continuing deceleration - neg_ptr[0] -= up + dn - elif (up >= 0 and (dn > 0 or dn == 0 and (pp_ptr[0] < pmd_ptr[0] or neg_ptr[0] == 0))): - # Continuing upward acceleration - pos_ptr[0] += up + dn - if (pp_ptr[0] > pmd_ptr[0] and cap_ptr[0] + pos_ptr[0] <= cin_ptr[0] + neg_ptr[0]): - pass # no net cape and below max delta - elif (pp_ptr[0] > pmd_ptr[0] or cap_ptr[0] == 0): - # below max delta or cape uninitialized - cap_ptr[0] += pos_ptr[0] - cin_ptr[0] += neg_ptr[0] - neg_ptr[0] = pos_ptr[0] = 0 - elif (pos_ptr[0] >= neg_ptr[0]): - # cape initialized and net positive contribution - cap_ptr[0] += pos_ptr[0] - neg_ptr[0] - neg_ptr[0] = pos_ptr[0] = 0 - elif(up > 0 and dn <= 0): - # Transition to upward acceleration - neg_ptr[0] += - dn - if (pp1_ptr[0] <= pmd_ptr[0]): - # above max delta, only use net pos contribution - pos_ptr[0] += up - if (pos_ptr[0] >= neg_ptr[0]): - cap_ptr[0] += pos_ptr[0] - neg_ptr[0] - neg_ptr[0] = pos_ptr[0] = 0 - elif (pp_ptr[0] <= pmd_ptr[0]): - # straddle max delta, force cape initialization - if (cap_ptr[0] == 0): - cin_ptr[0] += neg_ptr[0] - cap_ptr[0] += pos_ptr[0] - elif (neg_ptr[0] > pos_ptr[0]): - cin_ptr[0] += neg_ptr[0] - pos_ptr[0] - else: - cap_ptr[0] += pos_ptr[0] - neg_ptr[0] - cap_ptr[0] += up - neg_ptr[0] = pos_ptr[0] = 0 - elif ((cap_ptr[0] + pos_ptr[0] + up) <= (cin_ptr[0] + neg_ptr[0])): - # no net cape to this point - if (cap_ptr[0] + pos_ptr[0] > 0): - # reinitialize if there was cape before - cin_ptr[0] -= cap_ptr[0] + pos_ptr[0] - pos_ptr[0] = cap_ptr[0] = 0 - cin_ptr[0] += neg_ptr[0] - pos_ptr[0] += up - neg_ptr[0] = 0 - elif (cap_ptr[0] == 0): - # initialize cape - cap_ptr[0] += pos_ptr[0] + up - cin_ptr[0] += neg_ptr[0] - neg_ptr[0] = pos_ptr[0] = 0 - else: - # what remains, only use net pos contribution - pos_ptr[0] += up - if (pos_ptr[0] >= neg_ptr[0]): - cap_ptr[0] += pos_ptr[0] - neg_ptr[0] - neg_ptr[0] = pos_ptr[0] = 0 - else: - # Transition to decceleration - pos_ptr[0] += dn - if (pp1_ptr[0] <= pmd_ptr[0]): - # above max delta, only use net pos contribution - if (pos_ptr[0] >= neg_ptr[0]): - cap_ptr[0] += pos_ptr[0] - neg_ptr[0] - neg_ptr[0] = pos_ptr[0] = 0 - neg_ptr[0] += - up - elif (cap_ptr[0] + pos_ptr[0] <= cin_ptr[0] + neg_ptr[0] - up): - # no net cape to this point - if (cap_ptr[0] > 0): - cin_ptr[0] -= cap_ptr[0] + pos_ptr[0] - pos_ptr[0] = cap_ptr[0] = 0 - cin_ptr[0] += neg_ptr[0] - up - pos_ptr[0] = neg_ptr[0] = 0 - elif (cap_ptr[0] == 0): - # initialize cape - cap_ptr[0] += pos_ptr[0] - cin_ptr[0] += neg_ptr[0] - up - neg_ptr[0] = pos_ptr[0] = 0 - else: - # what remains, only use net pos contribution - if (pos_ptr[0] >= neg_ptr[0]): - cap_ptr[0] += pos_ptr[0] - neg_ptr[0] - neg_ptr[0] = pos_ptr[0] = 0 - neg_ptr[0] += - up - - # Make current layer top next layer bottom - tvp1_ptr[0] = tvp_ptr[0] - pp1_ptr[0] = pp_ptr[0] - - # unallocate our dynamic storage - # not needed to be done in python since the memory is released when leaving the method - - # resize the arrays back to the appropriate shape - cape_dat_ptr.target.resize((ny, nx)) - cin_dat_ptr.target.resize((ny, nx)) - - return cape_dat_ptr.target, cin_dat_ptr.target - -def test(): - """ Unit Test - """ diff --git a/cave/build/static/common/cave/etc/meteolib/DCapeFunc.py b/cave/build/static/common/cave/etc/meteolib/DCapeFunc.py deleted file mode 100644 index f498828529..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/DCapeFunc.py +++ /dev/null @@ -1,504 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 17 Feb 2010 #4502 jelkins Initial Creation. - -from numpy import log -from numpy import power as pow -from numpy import sqrt -from numpy import log -from numpy import zeros -from MeteoLibTools import MeteoLibTools as MeteoLib -from CPointer import CPointer -from Temp_of_te import temp_of_te - -meteoLib = MeteoLib() -adiabatic_te = meteoLib.adiabatic_te -mytw = meteoLib.mytw - -def dcapeFunc(usetv, p_dat, t_dat, td_dat, p0, th0, sh0, max_evap, max_rh): - """ Calculate Downdraft Convective Available Potential Energy - - ported from dCapeFunc.c - - NOTE: until this function is optimized it will be very slow - - @param usetv - scalar flag to use virtual (1) or plain (0) temperatures - @param p_dat - 3D pressure array - @param t_dat - 3D temperature array - @param td_dat - 3D dewpoint array - @param p0 - pressure array - @param th0 - array of potential temperature - @param sh0 - array of specific humidity - @param max_evap - scalar indicating the maximum amount of liquid water available - to evaporate into the parcel as it descends - @param max_rh - scalar indicating the desired maximum relative humidity - @return - an array of dcape_dat - """ - - # We input theta and specific humidity for surface conditions because these - # are things that can be arithemitically averaged for a mixed layer. - # In order for a dcape to be calculated, there must be positive bouyancy - # somewhere in the column based on the input surface conditions, neglecting - # any cap. Sinking parcel starts from the minimum thetaE level that is above - # the condensation pressure and below 400mb and the highest positive - # rising parcel bouyancy. max_evap is the limit to how much water can - # be evaporated into the parcel as it decends, in Kg/Kg. max_rh is - # the desired RH (%) as the parcel reaches the surface. Will initially - # evaporate up to one-third of max_evap into the sinking parcel at the - # start, afterward attempting to trend the RH toward max_rh at the ground. - # If usetv=1, buoyancy is done with virtual temp, if usetv=0 with temp. - - p_dat_pptr = CPointer(p_dat) - t_dat_pptr = CPointer(t_dat) - td_dat_pptr = CPointer(td_dat) - p0_ptr = CPointer(p0) - th0_ptr = CPointer(th0) - sh0_ptr = CPointer(sh0) - - # determine the data dimensions - dataShape = t_dat.shape - - nx = dataShape[2] if len(dataShape) > 2 else None - ny = dataShape[1] if len(dataShape) > 1 else None - nz = dataShape[0] - - # flatten all input arrays - p_dat.resize((nz, nx * ny,)) - t_dat.resize((nz, nx * ny,)) - td_dat.resize((nz, nx * ny,)) - p0.resize((p0.size,)) - th0.resize((th0.size,)) - sh0.resize((sh0.size,)) - - mnx = nx # we don't worry about subgrids, so mnx and nx will never be different - - #dd = mnx - nx # since we don't subgrid we don't need this variable - # any logic that uses dd from the original code has been ommited - nn = mnx * ny - n2 = nx * ny - n3 = n2 * nz - nzm = nz - 1 - nxm = nx - 1 - - # return variables - dcape_dat_ptr = CPointer(zeros(n2, p_dat.dtype)) - - # These pointers point to our dynamic storarge. - tvp_st_ptr = CPointer(zeros(n3, p_dat.dtype)) - tv0_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - tvc_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - tec_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - pc_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - pm_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - tm_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - tdm_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - wm_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - rhm_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - qm_st_ptr = CPointer(zeros(n2, p_dat.dtype)) - - # Pointer to output data and end of loop pointer - e_ptr = CPointer() - dcape_ptr = CPointer() - - # Working pointers inside our loops - pp_ptr = CPointer() - tt_ptr = CPointer() - tv_ptr = CPointer() - tvp_ptr = CPointer() - tve_ptr = CPointer() - qq_ptr = CPointer() - pc_ptr = CPointer() - tec_ptr = CPointer() - tvc_ptr = CPointer() - td3_ptr = CPointer() - pm_ptr = CPointer() - tm_ptr = CPointer() - tdm_ptr = CPointer() - wm_ptr = CPointer() - rhm_ptr = CPointer() - pp1_ptr = CPointer() - tvp1_ptr = CPointer() - tve1_ptr = CPointer() - pp0_ptr = CPointer() - - t0 = None - td = None - b = None - up = None - dn = None - dlnp = None - qd = None - qw = None - qs = None - thve = None - eee = None - pb = None - pr = None - rhmx = None - k = None - i = None - c0 = 26.66082 - c1 = 0.0091379024 - c2 = 6106.396 - c_1 = 223.1986 - c_2 = 0.0182758048 - kapa = 0.286 - kapa_1 = 3.498257 - - # Calculate the ascending parcel start equivalent temp, virtual temp, - # and press at LCL, and the initial virtual temperature. Initialize - # pm and wm, which now will be pressure at and min environmetal - # virtual theta E. - pm_ptr.copy(pm_st_ptr) - wm_ptr.copy(wm_st_ptr) - pp0_ptr.copy(p0_ptr) - tt_ptr.copy(th0_ptr) - qq_ptr.copy(sh0_ptr) - tec_ptr.copy(tec_st_ptr) - tvc_ptr.copy(tvc_st_ptr) - pc_ptr.copy(pc_st_ptr) - tv_ptr.copy(tv0_st_ptr) - e_ptr.copy(pp0_ptr) - e_ptr += nn - - # The following while loop is a pythonish way of writing the equivalent c for loop - firstIteration = True - while (True): - if not (firstIteration): - pp0_ptr += 1 - tt_ptr += 1 - qq_ptr += 1 - pc_ptr += 1 - tec_ptr += 1 - tvc_ptr += 1 - tv_ptr += 1 - pm_ptr += 1 - wm_ptr += 1 - firstIteration = False - if not (pp0_ptr < e_ptr): - break - - pm_ptr[0] = wm_ptr[0] = 1e37 - - if (pp0_ptr[0] > 1e36 or tt_ptr[0] > 1e36 or qq_ptr[0] > 1e36): - tec_ptr[0] = tvc_ptr[0] = pc_ptr[0] = 1e37 - continue - - t0 = tt_ptr[0] * pow(pp0_ptr[0] / 1000, kapa) - tv_ptr[0] = t0 * (1 + usetv * 0.000608 * qq_ptr[0]) - b = c0 - log(pp0_ptr[0] / (622. / qq_ptr[0] + 0.378)) - td = (b - sqrt(b * b - c_1)) / c_2 - td -= (t0 - td) * (- 0.37329638 + 41.178204 / t0 + 0.0015945203 * td) - pc_ptr[0] = pp0_ptr[0] * pow(td / t0, kapa_1) - tec_ptr[0] = adiabatic_te(td, pc_ptr[0]) - tvc_ptr[0] = td * (1 + usetv * 0.000608 * qq_ptr[0]) - - # Now calculate the virtual temperature of the accending parcel at the - # pressures in the input data. - tvp_ptr.copy(tvp_st_ptr) - for k in range(0, nz): - pp_ptr.copy(CPointer(p_dat_pptr[k])) - tec_ptr.copy(tec_st_ptr) - tvc_ptr.copy(tvc_st_ptr) - pc_ptr.copy(pc_st_ptr) - e_ptr.copy(pp_ptr) - e_ptr += nn - - firstIteration = True - while (True): - if not (firstIteration): - pp_ptr += 1 - pc_ptr += 1 - tec_ptr += 1 - tvc_ptr += 1 - tvp_ptr += 1 - firstIteration = False - if not (pp_ptr < e_ptr): - break - - if (pc_ptr[0] > 1e36 or tec_ptr[0] > 1e36 or tvc_ptr[0] > 1e36 or pp_ptr[0] > 1e36): - tvp_ptr[0] = 1e37 - continue - - if (pp_ptr[0] >= pc_ptr[0]): - tvp_ptr[0] = tvc_ptr[0] * pow(pp_ptr[0] / pc_ptr[0], kapa) - continue - - t0 = tec_ptr[0] * pow(pp_ptr[0] / pc_ptr[0], kapa) - t0 = temp_of_te(t0, pp_ptr[0]) - tvp_ptr[0] = t0 * pp_ptr[0] / (pp_ptr[0] - usetv * exp(25.687958917 - c1 * t0 - c2 / t0)) - - # Calculate environment virtual temp, where we force the environment - # to be no cooler than dry adiabatic from the ascending parcel start. - # Find pressure of min environmetal virtual theta E above condensation - # pressure...record temperature and dewpoint there. Since we do not - # need the accending parcel temps to complete the dcape calc, we - # will put the environmental virtual temp into the that storage. - tm_ptr.copy(tm_st_ptr) - tdm_ptr.copy(tdm_st_ptr) - tvp_ptr.copy(tvp_st_ptr) - tvp_ptr += (n3 + n2) - for k in range(nzm, - 1, - 1): - tvp_ptr -= (2 * n2) - pp_ptr.copy(CPointer(p_dat_pptr[k])) - tt_ptr.copy(CPointer(t_dat_pptr[k])) - td3_ptr.copy(CPointer(td_dat_pptr[k])) - wm_ptr.copy(wm_st_ptr) - tm_ptr.copy(tm_st_ptr) - tdm_ptr.copy(tdm_st_ptr) - pm_ptr.copy(pm_st_ptr) - tvc_ptr.copy(tvc_st_ptr) - pc_ptr.copy(pc_st_ptr) - e_ptr.copy(pp_ptr) - e_ptr += nn - - firstIteration = True - while (True): - if not (firstIteration): - pp_ptr += 1 - tt_ptr += 1 - td3_ptr += 1 - tvp_ptr += 1 - tvc_ptr += 1 - pc_ptr += 1 - pm_ptr += 1 - tm_ptr += 1 - tdm_ptr += 1 - wm_ptr += 1 - firstIteration = False - if not (pp_ptr < e_ptr): - break - - if (tvc_ptr[0] > 1e36 or pc_ptr[0] > 1e36 or pp_ptr[0] > 1e36 or tvp_ptr[0] > 1e36 or tt_ptr[0] > 1e36 or td3_ptr[0] > 1e36): - tvp_ptr[0] = 1e37 - continue - - t0 = tt_ptr[0] - eee = exp(26.186004814 - c1 * td3_ptr[0] - c2 / td3_ptr[0]) - qd = eee / (pp_ptr[0] - 0.60771703 * eee) - eee = (1 + usetv * 0.608 * qd) - thve = t0 * eee - pr = pow(pp_ptr[0] / pc_ptr[0], kapa) - - if (thve < tvc_ptr[0] * pr): - thve = tvc_ptr[0] * pr - t0 = thve / eee - - if (tvp_ptr[0] <= thve and wm_ptr[0] > 1e36 or pp_ptr[0] > pc_ptr[0] and pm_ptr[0] >= 400): - if (pm_ptr[0] > 1e36 and pp_ptr[0] < pc_ptr[0]): - pm_ptr[0] = pc_ptr[0] - tvp_ptr[0] = thve - continue - - tvp_ptr[0] = thve; - thve = (thve + 2529 * qd) * pow(1000 / pp_ptr[0], kapa) - if (thve > wm_ptr[0] and pm_ptr[0] >= 400): - continue - wm_ptr[0] = thve - pm_ptr[0] = pp_ptr[0] - tm_ptr[0] = t0 - tdm_ptr[0] = td3_ptr[0] - - # Here we will reuse our condensation level storage for - # the level above current. This loop performs the actual dcape - # calculation. - rhm_ptr.copy(rhm_st_ptr) - qq_ptr.copy(qm_st_ptr) - tve_ptr.copy(tvp_st_ptr) - tve_ptr += (n3 + n2) - for k in range(nzm, - 1, - 1): - tve_ptr -= (2 * n2) - pp_ptr.copy(CPointer(p_dat_pptr[k])) - tvp1_ptr.copy(tec_st_ptr) - tve1_ptr.copy(tvc_st_ptr) - pp1_ptr.copy(pc_st_ptr) - wm_ptr.copy(wm_st_ptr) - tm_ptr.copy(tm_st_ptr) - tdm_ptr.copy(tdm_st_ptr) - rhm_ptr.copy(rhm_st_ptr) - qq_ptr.copy(qm_st_ptr) - pm_ptr.copy(pm_st_ptr) - pp0_ptr.copy(p0_ptr) - tv_ptr.copy(tv0_st_ptr) - dcape_ptr.copy(dcape_dat_ptr) - e_ptr.copy(pp_ptr) - e_ptr += nn - - firstIteration = True - while (True): - if not (firstIteration): - pp_ptr += 1 - pp1_ptr += 1 - tve_ptr += 1 - tve1_ptr += 1 - tvp1_ptr += 1 - pp0_ptr += 1 - tv_ptr += 1 - pm_ptr += 1 - wm_ptr += 1 - tm_ptr += 1 - tdm_ptr += 1 - rhm_ptr += 1 - qq_ptr += 1 - dcape_ptr += 1 - firstIteration = False - if not (pp_ptr < e_ptr): - break - - if (k == nzm): - dcape_ptr[0] = pp1_ptr[0] = tvp1_ptr[0] = tve1_ptr[0] = 1e37 - if (pm_ptr[0] > 1e36 or pp0_ptr[0] > 1e36 or tv_ptr[0] > 1e36): - continue - elif (pp1_ptr[0] > 1e36): - pass - elif (pp1_ptr[0] >= pp0_ptr[0]): - continue - elif (tve1_ptr[0] > 1e36): - pass - elif (pp_ptr[0] > 1e36 or tve_ptr[0] > 1e36): - continue - elif (pp_ptr[0] <= pm_ptr[0]): - pass - elif (wm_ptr[0] > 1e36): - dcape_ptr[0] = 0 - else: - # Now we finally have the data we need for calculating - # the dcape contribution for this layer. If we have not - # made any dcape calculations to this point, initialize - # the decent parcel. - if (dcape_ptr[0] > 1e36): - dcape_ptr[0] = 0 - eee = exp(26.186004814 - c1 * tdm_ptr[0] - c2 / tdm_ptr[0]) - qd = eee / (pm_ptr[0] - 0.60771703 * eee) - qw = qd + max_evap / 3 - t0 = tm_ptr[0] - 2529 * max_evap / 3 - eee = exp(26.186004814 - c1 * t0 - c2 / t0) - qs = eee / (pm_ptr[0] - 0.60771703 * eee) - if (qs >= qw): - wm_ptr[0] = max_evap - max_evap / 3 - tm_ptr[0] = t0 - rhm_ptr[0] = qw / qs - b = c0 - log(qw * pm_ptr[0] / (0.622 - 0.378 * qw)) - tdm_ptr[0] = (b - sqrt(b * b - c_1)) / c_2 - else: - tm_ptr[0] = tdm_ptr[0] = mytw(tm_ptr[0], tdm_ptr[0], pm_ptr[0]) - rhm_ptr[0] = 1.0 - eee = exp(26.186004814 - c1 * tm_ptr[0] - c2 / tm_ptr[0]) - qw = eee / (pm_ptr[0] - 0.60771703 * eee) - wm_ptr[0] = max_evap - (qw - qd) - - qq_ptr[0] = qw - tvp1_ptr[0] = tm_ptr[0] * (1 + usetv * 0.608 * qw) - pp1_ptr[0] = pm_ptr[0] - - # Deal with reaching the surface, add in top of layer part. - if (pp_ptr[0] > pp0_ptr[0]): - pb = pp0_ptr[0] - dlnp = log(pb / pp1_ptr[0]) - thve = tv_ptr[0] - else: - pb = pp_ptr[0] - dlnp = log(pb / pp1_ptr[0]) - thve = tve_ptr[0] - - up = -dlnp * 287* 0.5 * (tvp1_ptr[0]-tve1_ptr[0]) - if (up<-dcape_ptr[0]): - dcape_ptr[0] = 0 - else: - dcape_ptr[0] += up - - # Deal with letting parcel fall to pb - pr = pow(pb/pp1_ptr[0],kapa) - if (wm_ptr[0]<=0): - tvp1_ptr[0] *= pr - else: - rhmx = rhm_ptr[0]+(pb-pp1_ptr[0])*(max_rh-rhm_ptr[0])/(pp0_ptr[0]-pp1_ptr[0]) - t0 = tm_ptr[0]*pr - eee = exp(26.186004814-c1*t0-c2/t0) - qs = eee/(pb-0.60771703*eee) - if (qq_ptr[0]/qs>rhmx): - tm_ptr[0] = t0 - b = c0-log( qq_ptr[0]*pb/(0.622-0.378*qq_ptr[0]) ) - tdm_ptr[0] = (b-sqrt(b*b-c_1))/c_2; - tvp1_ptr[0] *= pr - rhm_ptr[0] = qq_ptr[0]/qs - else: - qd = (rhmx*qs-qq_ptr[0])/sqrt(1000* (rhmx*qs+qq_ptr[0]) ) - if (qd>wm_ptr[0]): - qd = wm_ptr[0] - qw = qq_ptr[0] + qd - td = t0 - 2529*wm_ptr[0] - eee = exp(26.186004814-c1*td-c2/td) - qs = eee/(pb-0.60771703*eee) - if (qs>=qw): - tm_ptr[0] = td - rhm_ptr[0] = qw/qs - b = c0-log( qw*pb/(0.622-0.378*qw) ) - tdm_ptr[0] = (b-sqrt(b*b-c_1))/c_2 - else: - b = c0-log( qq_ptr[0]*pb/(0.622-0.378*qq_ptr[0]) ) - tdm_ptr[0] = (b-sqrt(b*b-c_1))/c_2 - tm_ptr[0] = tdm_ptr[0] = mytw(t0, tdm_ptr[0], pb) - rhm_ptr[0] = 1.0 - eee = exp(26.186004814-c1*tm_ptr[0]-c2/tm_ptr[0]) - qw = eee/(pb-0.60771703*eee) - qd = qw-qq_ptr[0] - - wm_ptr[0] -= qd - qq_ptr[0] = qw - tvp1_ptr[0] = tm_ptr[0]*(1+usetv*0.608*qw) - - # Add contribution of bottom of layer. - dn = -dlnp*287*0.5*(tvp1_ptr[0]-thve) - if (dn<-dcape_ptr[0]): - dcape_ptr[0] = 0 - else: - dcape_ptr[0] += dn - - # Make current layer top next layer bottom. - tve1_ptr[0] = tve_ptr[0] - pp1_ptr[0] = pp_ptr[0] - - # unallocate our dynamic storage - # not needed to be done in python since the memory is released when leaving the method - - # resize the arrays back to the appropriate shape - dcape_dat_ptr.target.resize((ny, nx)) - - return dcape_dat_ptr.target - -def test(): - """ Unit Test - """ diff --git a/cave/build/static/common/cave/etc/meteolib/Forecast.py b/cave/build/static/common/cave/etc/meteolib/Forecast.py deleted file mode 100644 index 9f18fc3fb7..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/Forecast.py +++ /dev/null @@ -1,159 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# -# Interface for retrieving combinations -# -# -# -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 12/08/08 mnash Initial Creation. -# -# - -import MeteoLibTools -import ForecastConstants as fore -import MeteoLibConstants as meteoCons -import math -from numpy import * - -class Forecast: - - def __init__(self): - self.__mete = MeteoLibTools.MeteoLibTools() - - def forecast(self, yr, mon, day, hr, minute, stnId, snow, slat, slon, p, h, t, td): - - #Exit if we dont have a lat/lon - if slat < -90.0 or slat > 90.0 or slon < -180.0 or slon > 180.0 : - forecastMaxTemp = t[0][0] - return forecastMaxTemp - - hour = hr + (minute / 60.0) - - # Compute the julian day - julday = self.__mete.cv_date2jul(yr,mon,day) - - if stnId not in fore.TMAX.keys(): - stnId = 'MISC' - - #Determine diurnal range (degrees celsius) - trng = self.__mete.drange(fore.TMAX.get(stnId)[mon], fore.TMIN.get(stnId)[mon]) - - tstart = hour + (slon/15) - - decl = fore.SDECMX * math.sin(2 * math.pi * (julday - fore.VEDAY) / fore.YRLEN) - - hilat = 0 - - # Check for high latitude conditions where the sun never rises nor sets. - # If so, tsrad is assumed to be undefined, and set to 0. - - # Define the angle of maximum sun height - max_alt = (1.570796327 - abs(slat) * math.pi / 180) + decl - - # Define the angle of minimum sun height - min_alt = (abs(slat) * math.pi / 180) - (1.570796327 - decl) - - if max_alt < 0.0 or min_alt > 0.0 : - tsrad = 0.0 - hilat = 1 - else : - haset = math.acos(math.tan(slat * math.pi / 180) * math.tan(decl)) - tset = 12 + 12 * (haset / math.pi)\ - # The solar input is allowed until 2 hours before sunset...subtract 2 hours. - tstop = tset - 2 - t_julday = julday - t_mon = mon - t_slat = slat - - tsrad = self.__mete.solax(t_julday,t_mon,t_slat,fore.TYMINC,tstart,tstop) - - tc = t - meteoCons.KELVIN_ZERO - tdc = td - meteoCons.KELVIN_ZERO - - thePressures, theHeights, theTemperatures, theDewpoints = self.__mete.eqp(fore.DELTAP, p, h, tc, tdc) - - sfcp = thePressures[0] - sfct = theTemperatures[0] - sfctd = theDewpoints[0] - - - albdhi = fore.ALBMAX.get(stnId) / 100 - albdlo = fore.ALBMIN.get(stnId) / 100 - - albdo = albdlo + 0.2 * snow * (albdhi - albdlo) - - if albdo > albdhi : - albdo = albdhi - - endlvl = array([0,0,0]) - endlvl[0] = sfcp - 150 - endlvl[1] = sfcp - 300 - endlvl[2] = sfcp - 500 - - mrh = self.__mete.rhbar(endlvl,fore.NCLYR,sfcp,thePressures,theTemperatures,theDewpoints) - - tcld = 0.0 - cover = [] - for i in range(fore.NCLYR): - cover.insert(i, 0.0001 * mrh[i] * mrh[i]) - tcld = max(tcld,cover[i]) - - stemp = sfct + (0.5 * trng) + meteoCons.KELVIN_ZERO - - ulw = fore.EMIS * meteoCons.STEFMAN_BOLTZMANN_CONSTANT * (math.pow(stemp,4)) - - a=0.61 - b=0.05 - - vpmm = 0.75 * self.__mete.esat(sfctd) - dlwclr = ulw * (a + b * math.sqrt(vpmm)) - - cldcor = 1-0.01 * (fore.CL *mrh[0] + fore.CM *mrh[1] + fore.CH * mrh[2]) - if cldcor < 0.0 : - cldcor = 0.0 - - flw = (ulw - dlwclr) * cldcor - - if hilat == 1 : - blw = flw - else : - blw = flw * (tstop - tstart) * 60 - - - sw = (1-albdo) * (1-tcld) * tsrad - - heat = sw - blw - if heat <= 0.0 : - forecastMaxTemp = sfct + 273.15 - return forecastMaxTemp - - cnv = fore.CP * fore.DELTAP * (fore.CMBD / meteoCons.GRAVITY) - asol = heat / cnv - deltaz = [] - for i in range(1,len(t[0])-1) : - deltaz.insert(i-1,(h[0][i] - h[0][i-1])) - forecastMaxTemp = self.__mete.mxtp(asol,fore.DELTAP,sfcp,thePressures[1],theTemperatures,deltaz) - forecastMaxTemp = forecastMaxTemp + 273.15 - return forecastMaxTemp \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/meteolib/ForecastConstants.py b/cave/build/static/common/cave/etc/meteolib/ForecastConstants.py deleted file mode 100644 index 92c174d4f3..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/ForecastConstants.py +++ /dev/null @@ -1,301 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## -TMAX = {'72201':[76,77,79,83,85,88,89,90,88,84,80,76], - '72203':[75,76,79,83,86,88,90,90,88,84,80,76], - '72208':[60,62,68,76,83,88,89,89,85,77,68,61], - '72210':[70,72,76,82,88,90,90,90,89,84,77,72], - '72213':[00,00,00,00,00,00,00,00,00,00,00,00], - '72220':[61,63,68,75,82,86,88,88,85,78,69,63], - '72229':[58,61,68,77,84,89,91,91,87,78,67,59], - '72232':[62,65,70,78,85,90,90,91,87,80,70,64], - '72235':[60,62,69,78,85,91,93,93,88,80,69,61], - '72240':[62,65,70,78,84,90,91,91,88,82,71,64], - '72247':[00,00,00,00,00,00,00,00,00,00,00,00], - '72250':[70,73,77,83,87,91,93,93,90,85,78,72], - '72255':[63,67,72,80,85,91,93,94,89,83,73,67], - '72260':[00,00,00,00,00,00,00,00,00,00,00,00], - '72261':[63,69,76,85,90,96,99,99,92,83,72,65], - '72265':[58,62,69,79,87,93,95,94,88,79,68,60], - '72270':[57,63,69,79,87,95,95,93,87,79,66,58], - '72274':[65,67,72,81,90,98,98,95,93,84,72,69], - '72290':[65,66,66,68,69,72,75,77,77,74,70,66], - '72304':[52,53,58,66,74,81,84,83,80,71,63,55], - '72311':[51,55,61,71,79,85,87,86,81,73,62,53], - '72317':[52,53,61,72,79,86,88,87,82,72,62,52], - '72327':[50,51,59,71,80,88,90,89,84,73,59,50], - '72340':[50,54,62,74,81,89,93,93,86,76,62,52], - '72349':[43,48,55,68,76,84,89,89,81,71,56,46], - '72353':[48,53,60,72,79,87,93,93,85,74,61,51], - '72363':[49,53,60,71,79,88,91,90,83,73,60,52], - '72365':[47,53,59,70,80,90,92,90,83,72,57,48], - '72374':[46,53,60,70,80,90,94,91,85,73,58,47], - '72393':[00,00,00,00,00,00,00,00,00,00,00,00], - '72403':[44,46,55,67,77,85,88,87,80,70,57,45], - '72407':[41,43,51,62,72,81,85,83,77,68,56,44], - '72425':[43,45,55,68,76,83,86,85,79,69,55,45], - '72429':[40,43,52,66,75,84,87,86,80,69,53,42], - '72433':[42,45,55,68,77,86,89,88,81,71,55,44], - '72451':[43,47,54,67,76,86,91,90,81,71,55,45], - '72456':[38,44,53,66,76,84,89,89,80,70,54,42], - 'DEN':[44,46,50,61,70,80,87,86,78,67,53,46], - '72476':[37,44,53,65,76,86,93,89,81,68,51,39], - '72493':[00,00,00,00,00,00,00,00,00,00,00,00], - '72518':[30,33,43,58,70,79,84,81,74,63,48,34], - '72520':[37,40,49,63,72,81,84,83,77,66,52,40], - '72528':[30,31,39,53,64,75,80,78,71,60,46,34], - '72532':[32,26,46,62,72,82,86,86,84,76,66,48], - '72550':[33,39,48,64,74,83,89,87,79,69,51,38], - '72562':[37,41,47,61,71,81,88,87,77,67,51,40], - '72572':[37,43,51,62,72,81,93,90,80,66,50,39], - '72576':[31,38,44,55,66,75,86,84,73,60,43,34], - '72583':[41,47,52,61,70,79,91,89,80,67,52,43], - '72597':[44,52,57,64,72,79,90,88,82,67,53,44], - '72606':[31,33,41,53,64,73,79,78,70,60,48,35], - '72637':[30,32,41,57,67,77,81,80,72,62,46,34], - '72645':[24,27,37,54,66,76,81,79,70,60,42,29], - '72654':[23,29,39,58,70,79,87,86,74,63,43,29], - 'STC':[19,24,36,54,67,76,82,80,69,59,39,25], - '72662':[34,38,43,57,67,76,86,86,75,64,48,38], - '72681':[37,44,52,61,71,78,91,88,78,65,49,39], - '72694':[45,51,55,61,68,74,82,81,77,64,53,47], - '72712':[20,23,33,46,60,70,76,73,65,53,38,24], - '72734':[22,24,33,47,59,70,75,73,65,55,39,27], - '72747':[13,19,32,49,63,72,78,76,64,54,33,18], - '72764':[19,25,35,55,67,76,84,84,71,60,39,26], - '72768':[19,25,36,55,67,74,84,83,70,59,39,27], - '72775':[29,36,40,55,65,72,84,82,70,59,43,35], - '72785':[31,39,46,57,67,74,84,82,73,58,42,34], - '72797':[44,48,49,54,60,63,68,68,66,59,51,46], - 'MISC':[00,00,00,00,00,00,00,00,00,00,00,00]} -TMIN = {'72201':[66,67,70,74,76,79,80,80,79,75,71,67], - '72203':[56,56,60,65,69,73,74,74,75,70,63,57], - '72208':[37,39,45,53,61,68,71,71,66,55,44,38], - '72210':[50,52,56,62,67,72,74,74,73,66,56,51], - '72213':[00,00,00,00,00,00,00,00,00,00,00,00], - '72220':[46,49,54,62,68,74,75,75,72,63,53,48], - '72229':[37,40,45,54,61,69,72,71,66,54,43,38], - '72232':[44,46,51,59,65,71,73,73,70,60,50,45], - '72235':[39,38,43,53,60,68,71,70,64,52,42,37], - '72240':[43,46,51,60,66,72,74,73,69,58,49,44], - '72247':[00,00,00,00,00,00,00,00,00,00,00,00], - '72250':[51,54,59,67,71,75,76,76,73,67,59,53], - '72255':[44,47,52,62,68,74,75,75,71,62,52,46], - '72260':[00,00,00,00,00,00,00,00,00,00,00,00], - '72261':[38,43,49,59,66,72,74,74,69,59,47,40], - '72265':[29,34,39,49,58,67,70,69,63,52,39,32], - '72270':[30,34,40,49,57,66,70,68,61,50,37,31], - '72274':[38,40,44,50,58,66,74,72,67,56,45,35], - '72290':[45,48,50,54,57,60,64,65,63,58,52,47], - '72304':[38,39,43,52,60,68,72,72,68,59,49,41], - '72311':[33,36,41,51,59,67,69,69,63,52,41,34], - '72317':[32,31,37,47,55,63,67,66,60,48,38,31], - '72327':[32,31,38,49,57,66,69,68,61,49,38,31], - '72340':[29,32,39,50,58,67,70,69,61,48,38,31], - '72349':[23,27,33,45,54,63,67,65,57,47,35,26], - '72353':[26,30,37,49,58,67,70,70,61,51,37,29], - '72363':[23,26,31,42,52,61,66,65,57,46,33,26], - '72365':[24,27,32,41,51,60,65,63,57,45,32,25], - '72374':[20,25,29,37,46,54,63,62,54,41,28,21], - '72393':[00,00,00,00,00,00,00,00,00,00,00,00], - '72403':[28,29,35,46,56,65,69,68,61,50,39,30], - '72407':[24,25,32,41,51,60,65,64,57,46,36,26], - '72425':[26,27,34,44,53,61,65,63,56,45,36,27], - '72429':[24,26,34,45,54,63,66,64,57,47,36,27], - '72433':[24,26,34,46,54,63,67,64,57,45,35,27], - '72451':[19,23,28,41,52,61,67,66,56,45,30,22], - '72456':[18,23,30,43,53,63,67,66,56,45,32,22], - 'DEN':[16,19,24,34,44,52,59,57,48,37,25,19], - '72476':[17,23,30,39,49,57,64,62,53,42,29,20], - '72493':[00,00,00,00,00,00,00,00,00,00,00,00], - '72518':[13,14,24,36,46,56,60,58,50,40,31,18], - '72520':[24,24,32,42,52,62,65,63,56,45,37,27], - '72528':[18,18,25,36,46,56,61,59,52,43,34,22], - '72532':[16,19,28,41,51,61,65,63,55,44,31,20], - '72550':[12,17,26,40,52,61,66,64,54,43,29,18], - '72562':[10,15,21,34,45,55,61,59,48,35,22,14], - '72572':[19,23,28,37,44,51,61,59,49,38,28,22], - '72576':[8,13,19,30,40,47,55,54,44,33,20,12], - '72583':[16,21,23,29,37,45,51,47,39,29,22,18], - '72597':[29,31,33,37,43,49,54,53,47,39,34,31], - '72606':[12,13,23,33,42,51,57,55,47,38,30,16], - '72637':[15,16,24,35,45,55,58,57,50,41,31,20], - '72645':[7,9,20,34,43,53,58,56,48,39,26,13], - '72654':[2,7,19,34,44,55,61,59,47,36,21,9], - 'STC':[-1,2,16,32,43,54,59,57,46,36,21,07], - '72662':[10,14,20,32,43,52,59,57,46,36,23,15], - '72681':[21,27,31,37,44,51,59,57,49,39,31,25], - '72694':[32,34,35,39,43,48,51,51,47,42,37,35], - '72712':[02,03,14,28,39,49,54,52,43,35,25,8], - '72734':[6,7,16,29,39,47,53,53,46,38,27,13], - '72747':[-9,-6,9,27,38,48,53,51,42,33,17,-1], - '72764':[-3,2,15,31,42,52,57,55,44,33,18,05], - '72768':[-1,5,15,31,42,50,57,55,44,34,19,8], - '72775':[12,17,21,32,42,50,55,53,45,37,26,18], - '72785':[20,25,29,35,43,49,55,54,47,38,29,24], - '72797':[33,35,35,38,42,47,50,50,47,43,38,35], - 'MISC':[00,00,00,00,00,00,00,00,00,00,00,00]} - -ALBMIN = {'72201':10, - '72203':15, - '72208':13, - '72210':16, - '72213':13, - '72220':12, - '72229':16, - '72232':13, - '72235':15, - '72240':14, - '72247':16, - '72250':16, - '72255':16, - '72260':16, - '72261':17, - '72265':19, - '72270':19, - '72274':20, - '72290':15, - '72304':14, - '72311':15, - '72317':15, - '72327':14, - '72340':15, - '72349':16, - '72353':17, - '72363':18, - '72365':16, - '72374':14, - '72393':14, - '72403':15, - '72407':15, - '72425':14, - '72429':16, - '72433':16, - '72451':16, - '72456':17, - '72469':20, - '72476':17, - '72493':14, - '72518':14, - '72520':14, - '72528':16, - '72532':16, - '72550':15, - '72562':17, - '72572':20, - '72576':20, - '72583':14, - '72597':16, - '72606':15, - '72637':16, - '72645':16, - '72654':18, - 'STC':14, - '72662':18, - '72681':11, - '72694':15, - '72712':15, - '72734':16, - '72747':16, - '72764':14, - '72768':15, - '72775':17, - '72785':15, - '72797':15, - 'MISC':14} -ALBMAX = {'72201':10, - '72203':15, - '72208':13, - '72210':16, - '72213':13, - '72220':12, - '72229':33, - '72232':13, - '72235':15, - '72240':16, - '72247':30, - '72250':16, - '72255':16, - '72260':17, - '72261':17, - '72265':20, - '72270':19, - '72274':20, - '72290':15, - '72304':33, - '72311':35, - '72317':35, - '72327':40, - '72340':37, - '72349':37, - '72353':42, - '72363':42, - '72365':37, - '72374':55, - '72393':14, - '72403':43, - '72407':43, - '72425':40, - '72429':52, - '72433':37, - '72451':52, - '72456':52, - '72469':50, - '72476':53, - '72493':14, - '72518':38, - '72520':40, - '72528':50, - '72532':37, - '72550':55, - '72562':52, - '72572':40, - '72576':65, - '72583':65, - '72597':16, - '72606':48, - '72637':45, - '72645':60, - '72654':55, - 'STC':50, - '72662':52, - '72681':44, - '72694':31, - '72712':40, - '72734':70, - '72747':37, - '72764':65, - '72768':65, - '72775':65, - '72785':45, - '72797':38, - 'MISC':14} - -TYMINC = 30.0 -YRLEN = 365.2563 -VEDAY= 79.75 -SDECMX = 0.40927 -DELTAP = 10.0 -NCLYR = 3 -EMIS = 0.95 -CL = 0.80 -CM = 0.67 -CH = 0.22 -CP = 0.24 -CMBD = 1000.0 \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/meteolib/MeteoLibConstants.py b/cave/build/static/common/cave/etc/meteolib/MeteoLibConstants.py deleted file mode 100644 index 75de6153d4..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/MeteoLibConstants.py +++ /dev/null @@ -1,44 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## -import math - -KELVIN_ZERO = 273.15 -FLAG = 1e37 -FLG = 99998.0 -TOP_FLG = 99999.0 -INVALID = -9999.0 -MISSING = -9998.0 -SURFACE_EMISS = 0.95 -STEFMAN_BOLTZMANN_CONSTANT = 8.12e-11 -LOW_CLOUD_COEFF=0.80 -MID_CLOUD_COEFF=0.67 -HIGH_CLOUD_COEFF=0.22 -GRAVITY = 980.0 - -DEG2RAD = math.pi / 180 -TWOPI = math.pi * 2 -YRLEN = 365.2563 -ECC = 0.0167330 -SDECMX = 0.40927 -VEDAY = 79.25 -CN = 1.0 -S = 1.94 -DRYLAPS = 0.009767 -GE=9.8 \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/meteolib/MeteoLibTools.py b/cave/build/static/common/cave/etc/meteolib/MeteoLibTools.py deleted file mode 100644 index f01020beee..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/MeteoLibTools.py +++ /dev/null @@ -1,2041 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# -# Python ported from original C and Fortran meteolib functions. -# -# -# -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 12/11/08 mnash Initial Creation. -# 01/09/08 njensen Added more methods and comments, -# fixed bugs. -# -# - -import MeteoLibConstants as meteo -import time -import math -import Forecast -from numpy import * - -class MeteoLibTools(): - def __init__(self): - pass - - def interp1(self, y1, y3, x1, x2, x3): - if x3 == x1: - x1 = x1 - 0.01 - val = y1 + ((y3 - y1) * ((x2 - x1) / (x3 - x1))) - return val - - # Calculates virtual temperature as a function of temperature, dewpoint, - # and pressure - def virttemp(self, temp, dew, press): - kelvinTemp = temp - kelvinDew = dew - - if kelvinTemp < 100: - kelvinTemp = kelvinTemp + 273.15 - - if kelvinDew < 100: - kelvinDew = kelvinDew + 273.15 - - if kelvinTemp < 0.0 or kelvinTemp > 373.15 : - virttemp = meteo.FLAG - return virttemp - - if kelvinDew < 173.15: - virttemp = kelvinTemp - return virttemp - - e = self.esat(kelvinDew) - w = (0.622 * e) / (press - e) - virttemp = kelvinTemp * (1 + (0.6 * w)) - - return virttemp - - # specific humidity - def spechum2(self, pressures, dewpoints): - """ Routine to calculate saturation specific humidity from the dewpoint - and pressure. """ - ni = pressures.shape[1] - nj = pressures.shape[0] - specHumid = zeros(pressures.shape, 'float32') - for i in range(ni): - for j in range(nj): - if math.ceil(pressures[j][i]) > meteo.FLG or math.ceil(dewpoints[j][i]) > meteo.FLG: - specHumid[j][i] = meteo.FLAG - else: - k = dewpoints[j][i] - if k < 80.0: - k = k + meteo.KELVIN_ZERO - eee = exp(33.09376 - 0.0091379024 * k - 6106.396 / k) - specHumid[j][i] = eee / (pressures[j][i] - 0.00060771703 * eee) - return specHumid - - # Determine the convective gust potential - def gusts(self, p, t, td): - gstpot = meteo.TOP_FLG - gstsave = 0 - np = len(p) - - # Make sure calculation is possible. - if p[0] < 700 or p[np - 1] > 300: - return gstpot - - # Compute the 700 mb dew point depression. - t700 = self.pvalue(700.0, p, t) - td700 = self.pvalue(700, p, td) - dd700 = t700 - td700 - - # Loop from 470 to 530 mb every 5 mb and choose the largest convective - # gust potential. - for i in range(470, 530, 5) : - plift = i - t500 = self.pvalue(plift, p, t) - td500 = self.pvalue(plift, p, td) - dd500 = t500 - td500 - plev1 = plift - 100 - plev2 = plift - 200 - - # Compute the LCL of the 500 mb parcel. - tcb, pcb, ier = self.tplcl(t500, td500, plift) - - # Compute the dry and moist adiabats through the LCL of the 500 mb parcel. - thdpar, eptpar = self.deftrk(tcb, pcb) - - # Compute the parcel temperature at 400 mb. - if pcb < plev1 : - tp400 = thdpar * math.pow((plev1 / 1000.0), 0.286) - else : - etpar = eptpar * math.pow((plev1 / 1000.0), 0.286) - tp400 = self.temp_of_te(etpar, plev1) - - # Compute the environmental temperature at 400 mb. - t400 = self.pvalue(plev2, p, t) - - # Compute the parcel temperature at 300 mb. - if pcb < plev2 : - tp300 = thdpar * math.pow((plev2 / 1000.0), 0.286) - else : - etpar = eptpar * math.pow((plev2 / 1000.0), 0.286) - tp300 = self.temp_of_te(etpar, plev2) - - # Compute the environmental temperature at 300 mb. - t300 = self.pvalue(plev2, p, t) - - # Compute the ui index. - ui = (t400 - tp400) + (t300 - tp300) - - g = self.cvgust(dd700, ui) - - # Save the largest value. - if g > gstsave : - gstpot = g - - gstsave = g - return gstpot - - # Computes the pressure and height of the freezing level in a sounding - def frzlev(self, height, pressures, heights, temperatures): - frzlev = zeros((1, 2), 'float32') - nlvls = len(pressures[0]) - 1 - if temperatures[0][0] > meteo.KELVIN_ZERO : - for i in range(1, nlvls): - if temperatures[0][i] < meteo.KELVIN_ZERO : - hFreeze = self.interp1(height[0][i], height[0][i - 1], meteo.KELVIN_ZERO, temperatures[0][i - 1]) - pFreeze = self.interp1(pressure[0][i], pressure[0][i - 1], height[0][i], hFreeze, heights[0][i - 1]) - frzlev[0][0] = pFreeze - frzlev[0][1] = hFreeze - return frzlev - else : - pFreeze = pressures[0][0] - hFreeze = 0 - - - frzlev[0][0] = pFreeze - frzlev[0][1] = hFreeze - return frzlev - - # Determines the pressure, temperature, and height of the wet-bulb zero - def wbzero(self, elevation, pressures, heights, temperatures, dewpoints): - wetBulbReturns = zeros((1, 3), 'float32') - #initialize the outputs - pressurewbzero = pressures[0][0] - heightwbzero = elevation - tempwbzero = temperatures[0][0] - nlvls = len(pressures) - 1 - - thetaE = self.ept(temperatures[0], dewpoints[0], pressures[0]) - tWet1 = self.tsa(thetaE, pressures[0]) - - if tWet1 < meteo.KELVIN_ZERO: - wetBulbReturns[0][0] = pressurewbzero - wetBulbReturns[0][1] = heightwbzero - wetBulbReturns[0][2] = tempwbzero - return wetBulbReturns - - for i in range(1, nlvls): - thetaE = self.ept(temperatures[i], dewpoints[i], pressures[i]) - tWet2 = self.tsa(thetaE, pressures[i]) - - if tWet2 < meteo.KELVIN_ZERO : - heightwbzero = self.interp1(heights[i], heights[i - 1], tWet1, meteo.KELVIN_ZERO, tWet2) - pressurewbzero = self.interp1(pressures[i], pressures[i - 1], heights[i], heightwbzero, heights[i - 1]) - tempwbzero = self.interp1(temperatures[i], temperatures[i - 1], heights[i], heightwbzero, heights[i - 1]) - - wetBulbReturns[0][0] = pressurewbzero - wetBulbReturns[0][1] = heightwbzero - wetBulbReturns[0][2] = tempwbzero - return wetBulbReturns - - tWet1 = tWet2 - - wetBulbReturns[0][0] = pressurewbzero - wetBulbReturns[0][1] = heightwbzero - wetBulbReturns[0][2] = tempwbzero - return wetBulbReturns - - # calculates a layer mean wind (direction and speed) given 'TOP' and - # 'BOT' of the layer defined in kilometers above ground level - def avwind(self, elev, top, bot, hw, pw, tw, uw, vw): - """ This subroutine calculate a layer mean wind (direction and speed) given - given 'TOP' and 'BOT' of the layer defined in kilometers above - ground level. - - History. - -------- - D. Baker 01 Jul 84 Original version. - - Description of input and output. - -------------------------------- - On input: - --------- - ELEV Real Station elevation (m agl). - TOP Real Top of desired mean wind layer (km agl). - BOT Real Bottom of desired mean wind layer (km agl). - HW Real Array Wind level heights (m asl). - TW Real Array Wind level temperatures (kelvin). - UW Real Array Wind level u-components (m/s). - VW Real Array Wind level v-components (m/s). - NW Integer Number of wind levels passed. - - On output: - ---------- - UAVG Real Layer mean u-component wind - VAVG Real Layer mean v-component wind - AVDIR Real Layer mean wind direction (deg). - AVSPD Real Layer mean wind speed (m/s). """ - - wind = zeros((1, 4), 'float32') - KM2M = 1000 - RCONST = 287 - - avdir = meteo.TOP_FLG - avspd = meteo.TOP_FLG - nw = len(hw) - 1 - - su = 0 - sv = 0 - wgt = 0 - - # Calculate the top and bottom of the desired layer in meters - # above ground level. Exit with 'flag' values assigned to mean wind - # if unexpected conditions occur, or if sounding not deep enough to - # perform calculation. - top1 = top * KM2M + elev - bot1 = bot * KM2M + elev - - if top1 <= bot1 : - return None, None, avdir, avspd - - if uw[0] > meteo.FLG or vw[0] > meteo.FLG : - wind[0][0] = None - wind[0][1] = None - wind[0][2] = avdir - wind[0][3] = avspd - return wind - - if hw[0] > bot1 or hw[nw] < top1 : - wind[0][0] = None - wind[0][1] = None - wind[0][2] = avdir - wind[0][3] = avspd - return wind - - # Loop 100 interpolates u and v components to the level that is - # to be the bottom of the layer for which the mean wind is - # desired. The subscript in the height array that is at or just - # above the bottom is saved. - ibot = 0 - ubot = uw[ibot] - vbot = vw[ibot] - - for i in range(1, nw) : - if hw[i] >= bot1 : - ubot = self.interp1(uw[i], uw[i - 1], hw[i], bot1, hw[i - 1]) - vbot = self.interp1(vw[i], vw[i - 1], hw[i], bot1, hw[i - 1]) - ibot = i - break - - # Loop 200 interpolates u and v components to the level that is - # to be the top of the layer for which the mean wind is - # desired. The subscript in the height array that is at or just below - # the top is saved. - itop = nw - utop = uw[nw] - vtop = vw[nw] - - for i in range(nw - 1, 0, - 1): - if hw[i] <= top1: - utop = self.interp1(uw[i], uw[i + 1], hw[i], top1, hw[i + 1]) - vtop = self.interp1(vw[i], vw[i + 1], hw[i], top1, hw[i + 1]) - itop = i - - # Check to see if we are only dealing with wind-only data - # i.e., profiler, VWP. etc. If so skip the density-weighted - # process and just sum the u- and v-components - if tw[ibot] > 350.0 or tw[ibot] <= 150.0 : - # Just sum up the u- and v-components if we have only wind - # data w/o temp profiles (no density-weighted process possible). - density = (pw[ibot] * 100) / (tw[ibot] * RCONST) - su = density * ubot - sv = density * vbot - wgt = 1 - for i in range(ibot + 1, itop) : - su = su + uw[i] - sv = sv + density * vw[i] - wgt = wgt + 1 - - su = su + utop - sv = sv + vtop - wgt = wgt + 1 - else : - # Begin the density-weighted sum process by first considering the - # component derived from the interpolated data at the 'bot' and - # the level immediately above. - density = (pw[ibot] * 100) / (tw[ibot] * RCONST) - su = density * ubot - sv = density * vbot - wgt = density - - # Now, loop through all levels (until within one level of the - # interpolated top of the layer). - for i in range(ibot + 1, itop) : - density = (pw[i] * 100) / (tw[i] * RCONST) - su = su + density * uw[i] - sv = sv + density * vw[i] - wgt = wgt + density - - # Similarly to above, finish the process by incorporating the last - # sublayer, from one level below the interpolated top to the - # top. - density = (pw[itop] * 100.0) / (tw[itop] * RCONST) - su = su + density * utop - sv = sv + density * vtop - wgt = wgt + density - - # Finally, calculate the layer mean wind speed and direction. - uavg = su / wgt - vavg = sv / wgt - - avdir, avspd = self.ddff(uavg, vavg) - - - wind[0][0] = uavg - wind[0][1] = vavg - wind[0][2] = avdir - wind[0][3] = avspd - return wind - - # Calculates the storm relative helicity from the surface to 3000 meters - # above ground level - def helicity(self, hw, pw, uw, vw, elev, ztop, diravg, spdavg): - """ This subroutine calculates the storm relative helicity from - the surfce to 3000 meters above ground level. Code lifted - from the original FORTRAN code routine 'generate.for'. - - History. - -------- - D. Perry 27 Feb 97 'Original' version. - - Description of input and output. - -------------------------------- - On input: - --------- - HW Real Array Wind level heights (m asl). - PW Real Array Wind level pressures (mb). - UW Real Array Wind level u-components (m/s). - VW Real Array Wind level v-components (m/s). - NW Integer Number of wind levels passed. - ELEV Real Station elevation (m agl). - ztop Real Top of desired helicity layer (m agl). - diravg Real 0-6km avg wind direction (deg). - spdavg Real 0-6km avg wind speed (m/s). - - On output: - stmdir Real 0-6km Storm Motion Dir (30 deg to right of diravg) - stmspdkts Real 0-6km Storm Motion Spd (75% of spdavg) - SRHel Real Storm Relative Helicity (m2/s2). """ - - storm = zeros((1, 3), 'float32') - M2KTS = 1.94254 - helicity = meteo.TOP_FLG - SRHel = meteo.TOP_FLG - nw = len(hw) - - # Calculate helicity. - for topidx in range(1, nw - 1) : - if hw[topidx] - elev >= ztop : - break - if (hw[topidx] - elev) < ztop : - storm[0][0] = meteo.TOP_FLG - storm[0][1] = meteo.TOP_FLG - storm[0][2] = SRHel - return storm - topidx = topidx - 1 - wgt2 = (ztop + elev - hw[topidx]) / (hw[topidx + 1] - hw[topidx]) - wgt1 = 1.0 - wgt2 - utop = uw[topidx] * wgt1 + uw[topidx + 1] * wgt2 - vtop = vw[topidx] * wgt1 + vw[topidx + 1] * wgt2 - - helicity = 0.0 - for i in range(topidx - 1) : - helicity = helicity - uw[i] * vw[i] * vw[i + 1] + uw[i + 1] * vw[i] - - helicity = helicity - uw[topidx] * vtop + utop * vw[topidx] - ghx = vtop - vw[0] - ghy = utop + uw[0] - - # Calculate default storm wind using previously calculated - # 0-6 km density-weighted average wind. - stmdir = diravg + 30.0 - if stmdir > 360.0 : - stmdir = stmdir - 360.0 - - stmspdkts = spdavg * M2KTS * 0.75 - stmspdms = spdavg * 0.75 - - ustorm, vstorm = self.uvcomp(stmdir, stmspdms) - SRHel = helicity + ghx * ustorm + ghy * vstorm - - storm[0][0] = stmdir - storm[0][1] = stmspdkts - storm[0][2] = SRHel - return storm - - # formula for forecast function - def drange(self, thi, tlo): - return (0.55556 * (thi - 32.0)) - (0.55556 * (tlo - 32.0)) - - # gets the julian day - def cv_date2jul(self, year, month, day): - t = time.mktime((year, month, day, 0, 0, 0, 0, 0, 0)) - return time.gmtime(t)[7] - - # determines the solar radiation - def solax(self, julday, month, slat, tyminc, tstart, tstop): - COS89 = 0.01745241 - SDF = [0.058, 0.060, 0.071, 0.097, 0.121, 0.134, 0.136, 0.122, 0.092, 0.073, 0.063, 0.057] - OPTDPH = [0.142, 0.144, 0.156, 0.180, 0.196, 0.205, 0.207, 0.201, 0.177, 0.160, 0.149, 0.142] - - tau = (meteo.TWOPI * julday) / meteo.YRLEN - - ratio = 1 / (1 - meteo.ECC * math.cos(tau)) - - # Compute the solar declination - declnatn = meteo.SDECMX * math.sin(meteo.TWOPI * (julday - meteo.VEDAY) / meteo.YRLEN) - phi = slat * meteo.DEG2RAD - - darc = 0.25 * tyminc - hlfangl = 0.5 * darc - anginc = darc - - # Compute the starting angle and the hour angle which is zero at solar noon - strtang = 180 + tstart * 15 - hrang = strtang + hlfangl - - #convert time increment to fraction of an hour. Initialize time and solar radiation (tsrad) - dt = tyminc / 60 - time = tstart - tsrad = 0 - - while True : - delta = declnatn - sinx = math.sin(phi) * math.sin(delta) - cosx = math.cos(phi) * math.cos(delta) - cosz = sinx + (cosx * (math.cos(hrang * meteo.DEG2RAD))) - - if abs(cosz) < COS89 : - if cosz < 0 : - cosz = - COS89 - if cosz > 0 : - cosz = COS89 - - secz = 1 / cosz - - sdrct = meteo.CN * meteo.S * math.pow(ratio, 2) * cosz * math.exp((- OPTDPH[month]) * secz) - sdiff = SDF[month] * (sdrct / (meteo.CN * meteo.CN)) - radx = (sdrct + sdiff) * tyminc - - if radx > 0 : - tsrad = tsrad + radx - - hrang = hrang + anginc - time = time + dt - if time > tstop : - break - return tsrad - - def eqp (self, deltap, pressures, heights, temperatures, dewpoints): - """ This routine derives sounding temperature and dew point data at pressure - intervals given by DELTAP. - - History. - -------- - D. Baker 27 Dec 85 Original version. - - Description of input and output. - -------------------------------- - On input: - --------- - DELTAP Real Pressure interval at which to compute T/Td. - P Real Array Sounding pressures levels (mb). - T Real Array Sounding temperatures (C). - TD Real Array Sounding dew points (C). - N Integer Number of uninterpolated sounding levels input. - - On output: - ---------- - PP Real Array New array of sounding pressures at DELTAP mb. - TT Real Array New array of sounding temperatures at DELTAP mb. - TTD Real Array New array of sounding dewpoints at DELTAP mb. - NN Integer Number of new sounding levels returned. """ - - n = pressures.shape[0] - 1 - if round(pressures[0][0]) % round(deltap) == 0: - pbot = round(pressures[0][0] - deltap) - else : - pbot = round(pressures[0][0] - (round(pressures[0][0]) % round(deltap))) - - ptop = round(pressures[n][0]) - pinc = round(deltap) - - outPressures = [] - outHeights = [] - outTemperatures = [] - outDewpoints = [] - nn = 0 - pres = pbot - - for pres in range(int(pbot), int(ptop), int(- pinc)) : - outPressures.append(pres) - nn = nn + 1 - - # Derive temperature and dew point at the DELTAP mb intervals. - j = 1 - k = 0 - for k in range(nn) : - for i in range(j, n) : - if pressures[i][0] <= outPressures[k] and pressures[i - 1][0] >= outPressures[k] : - p1 = math.log(pressures[i - 1][0]) - p2 = math.log(outPressures[k]) - p3 = math.log(pressures[i][0]) - outHeights.append(self.interp1(heights[i - 1][0], heights[i][0], p1, p2, p3)) - outTemperatures.append(self.interp1(temperatures[i - 1][0], temperatures[i][0], p1, p2, p3)) - outDewpoints.append(self.interp1(dewpoints[i - 1][0], dewpoints[i][0], p1, p2, p3)) - j = i - break - return outPressures, outHeights, outTemperatures, outDewpoints - - #Calculates saturation vapor pressure in millibars as a function of either Kelvin of Celsius temperature. - def esat(self, temperature): - - kelvinTemp = temperature - if kelvinTemp < 100 : - kelvinTemp = kelvinTemp + 273.15 - - if kelvinTemp < 0.0 or kelvinTemp > 373.15 : - return meteo.FLAG - - if kelvinTemp < 173.15 : - return 3.777647e-05 - - return math.exp(26.660820 - 0.0091379024 * kelvinTemp - 6106.3960 / kelvinTemp) - - # computes the mean relative humidity in the 150 mb layer - # just above the surface, the 150 mb layer above that, and - # the 200 mb layer above the second layer - def rhbar(self, endlvl, nclyr, sfcp, p, tl, tdl): - - sumrh = 0 - i = 0 - istart = i - lyr = 0 - - mrh = [] - while True: - e = self.esat(tl[i]) - w = (0.622 * e) / (p[i] - e) - es = self.esat(tdl[i]) - ws = (0.622 * es) / (p[i] - es) - rh = 100 * (ws / w) - sumrh = sumrh + rh - if p[i] > endlvl[lyr] : - i = i + 1 - idiv = i - istart + 1 - mrh.insert(lyr, sumrh / idiv) - - if mrh[lyr] < 0 : - mrh[lyr] = 0 - if mrh[lyr] > 100 : - mrh[lyr] = 100 - - if lyr < (nclyr - 1) : - lyr = lyr + 1 - sumrh = 0 - istart = i - else : - break - return mrh - - # determines the max temp - def mxtp(self, ansol, deltap, sfcp, p2, tl, deltaz): - sfct = tl[0] - - lvl = len(deltaz) - dt = 0.70 * ansol - okay = True - while (okay == True): - pressure = sfcp - dpress = p2 - rbot = (sfcp - p2) / deltap - - dsum = 0 - adtemp = sfct + dt - ctmax = adtemp - - for mlyr in range(lvl): - r = 1 - if mlyr == 1 : - r = rbot - tdiff = adtemp - tl[mlyr] - dsum = dsum + tdiff * r - delz = deltaz[mlyr] - adtemp = adtemp - (meteo.DRYLAPS * delz) - press = dpress - dpress = press - deltap - if (dpress < 400): - break - - deldt = dsum - ansol - if abs(deldt) <= 2 : - ftmax = ctmax - break - elif deldt > 2 and dsum > 0 : - dt = dt - 0.5 * deldt / dsum - if dt > 0 : - continue - else : - ctmax = sfct - ftmax = ctmax - break - - return ftmax - - - # Calculate the trigger temp and soaring index - def tsoar(self, elev, p, z, t, theta, tpmax): - """ DARE-II TSOAR Program for Denver Aviation and soaring community. - History. - -------- - L. Rasmussen 8 Feb 89 Original version. - J. Wakefield 20 Oct 89 Some tinkering. Added PTLXEC parameter. - - Description of input and output. - -------------------------------- - On input: - --------- - Elev Station elevation - p Raob pressures (mb) - z Raob heights (m) - t Raob temperatures (degrees Celsius) - theta The potential temperatures of the sounding data - nl number of levels in sounding - Tpmax Forecast max temperature - - On output: - ---------- - PTLXEC Potential temperature (C) of forecast TMax. - zlnec The height (m) of the level of minimum effective convection. - tlnec The temperature (C) of the level of min effective convection. - zlxec The height (m) of the maximum thermal altitude - tlxec The temperature (C) of the LXEC (max thermal alt) - Soarindx The soaring index in ft/min. - trigtemp The trigger temperature (C) """ - - - trigtemp = meteo.FLG - zlnec = meteo.FLG - tlnec = meteo.FLG - zlxec = meteo.FLG - tlxec = meteo.FLG - soarindx = meteo.FLG - t500 = meteo.FLG - - nl = p.shape[0] - - # Determine if the station elevation is above or below 2000 ft msl (609.57 m), - # then add either 4000 ft (1219.14 m) or 3000 ft (914.36 m) to compute the LNEC. - # From the LNEC compute the interpolated pressure and temperature at the LNEC, - # and finally compute the trigger temperature by following the potential - #temperature line going thru the LNEC temperature down to the surface. - if elev > 609.57 : - zlnec = elev + 1219.14 - else : - zlnec = elev + 914.36 - - # Compute the potential temp. of the forecast max temperature, then run up the - # sounding and locate or interpolate the height and pressure of the Lxec. - ptlxec = tpmax * math.pow((1000.0 / p[0]), 0.286) - - # initialize Plnec, Plxec, &Z500 - i = 0 - plnec = p[i] + (p[i + 1] - p[i]) * ((zlnec - z[i]) / z[i + 1] - z[i]) - plxec = p[i] + (p[i + 1] - p[i]) * ((ptlxec - theta[i]) / (theta[i + 1] - theta[i])) - - z500 = z[i] - - for i in range(nl - 1): - if ((zlnec >= z[i]) and (zlnec <= z[i + 1])) : - tlnec = t[i] + (t[i + 1] - t[i]) * ((zlnec - z[i]) / (z[i + 1] - z[i])) - plnec = p[i] + (p[i + 1] - p[i]) * ((zlnec - z[i]) / (z[i + 1] - z[i])) - - # Save info at 500 mb, in case the max thermal alt. is above 500 mb and must be - # truncated at 500 mb/18000 ft. - if p[i] <= 500.0 and t500 == meteo.FLG : - t500 = t[i] - z500 = z[i] - p500 = p[i] - - if ptlxec >= theta[i] and ptlxec <= theta[i + 1] : - if theta[i] == theta[i + 1] : - zlxec = z[i] - plxec = p[i] - tlxec = t[i] - else : - zlxec = z[i] + (z[i + 1] - z[i]) * ((ptlxec - theta[i]) / (theta[i + 1] - theta[i])) - plxec = p[i] + (p[i + 1] - p[i]) * ((ptlxec - theta[i]) / (theta[i + 1] - theta[i])) - tlxec = t[i] + (t[i + 1] - t[i]) * ((ptlxec - theta[i]) / (theta[i + 1] - theta[i])) - - - # compute the potential temperature of the trigger temperature. - thetaTrig = tlnec * math.pow((1000.0 / plnec), 0.286) - trigTemp = ((thetaTrig) * math.pow((p[0] / 1000.), 0.286)) - - # Truncate the height of the LXEC to 18000 ft, due to FAA positive controlled - # airspace or possible soaring flight in IFR conditions by penetrating into - # clouds. - if plxec < 500.0 : - zlxec = z500 - tlxec = t500 - plxec = p500 - - # Compute the Soaring Index if the fcst max temperature is equal to or exceeds - # the trigger temperature. - if tpmax >= trigTemp and tlnec != meteo.FLG and tlxec != meteo.FLG: - soarindx = 3 * ((zlxec / 0.3048 / 100.0) + 10.0 * (tlnec - tlxec)) - else : - soarindx = meteo.TOP_FLG - - tsoarReturn = zeros((1, 7), 'float32') - tsoarReturn[0][0] = ptlxec - tsoarReturn[0][1] = zlnec - tsoarReturn[0][2] = tlnec - tsoarReturn[0][3] = zlxec - tsoarReturn[0][4] = tlxec - tsoarReturn[0][5] = soarindx - tsoarReturn[0][6] = trigTemp - - return tsoarReturn - - # Computes the pressure, height, temperature of the convective condensation level from a sounding - def cclpar(self, mix, p, ht, t): - """ This routine computes the pressure, height, and temperature of the - convective condensation level (CCL) from a sounding. - - History. - -------- - Don Baker 15 Jun 85 Original version. - Dale Perry Sep 96 Adapted code for WFO - - Description of input and output. - -------------------------------- - On input: - --------- - MIX Real Mixing ratio used to intersect the sounding (g/kg). - P Real Array Sounding pressures (mb). - HT Real Array Sounding heights (m asl). - T Real Array Sounding temperatures (K). - NLVLS Integer Number of sounding levels passed. - - On output: - ---------- - PCCL Pressure of the convective condensation level (mb). - TCCL Temperature of the convective condensation level (K). - HCCL Height of the convective condensation level (m asl). - User notes: - ----------- - 1) The low level mean mixing ratio is input to this routine... - computed outside. - 2) On days with a strong low level inversion, the convective - temperature may seem low because the strict definition is - used in the computation (i.e., where the low level mixing - ratio line first intersects the sounding). """ - ccl = zeros((1, 3), 'float32') - TOLER = 0.05 - - i = 0 - for i in range(len(p)) : - t1 = self.temp_mixratio(p[i], mix) - t2 = t[i] - if t1 >= t2 : - break - - if i == 0 : # CCL at the surface - pccl = p[0][0] - hccl = ht[0][0] - tccl = t[0][0] - ccl[0][0] = pccl - ccl[0][1] = tccl - ccl[0][2] = hccl - return ccl - - pt = p[i] - pb = p[i - 1] - plog1 = log(p[i]) - plog3 = log(p[i - 1]) - - # Iterate to find the CCL. Keep cutting level in half until the - # point of intersection is found. - for count in range(100) : - pm = 0.5 * (pt + pb) - plog2 = math.log(pm) - t1 = self.temp_mixratio(pm, mix) - t2 = self.interp1(t[i], t[i - 1], plog1, plog2, plog3) - if abs(t1 - t2) <= TOLER : - pccl = pm - tccl = t1 - hccl = self.interp1(ht[i], ht[i - 1], plog1, math.log(pccl), plog3) - ccl[0][0] = pccl - ccl[0][1] = tccl - ccl[0][2] = hccl - return ccl - if (t1 - t2) > TOLER : - pt = pm - if (t2 - t1) > TOLER : - pb = pm - - ccl[0][0] = pccl - ccl[0][1] = tccl - ccl[0][2] = hccl - return ccl - - # calculates the temperature at a given pressure and mixing ratio - def temp_mixratio (self, press, mixratio): - sat = (press * mixratio) / (0.622 + mixratio) - b = 26.66082 - log10(sat) - tempmr = (b - math.sqrt(b * b - 223.1986)) / 0.0182758048 - return tempmr - - - def eqlev(self, p, ht, tp, te, plfc, eptpar): - eqlevReturn = zeros((1, 3), 'float32') - TOLER = 0.1 - npar = len(p) - - if te[npar - 1] <= tp[npar - 1] : - peqlev = meteo.MISSING - heqlev = meteo.MISSING - teqlev = meteo.MISSING - eqlevReturn[0][0] = peqlev - eqlevReturn[0][1] = heqlev - eqlevReturn[0][2] = teqlev - return eqlevReturn - - ii = 0 - for i in range(npar) : - if p[i] <= plfc : - ii = i - if ii == npar : - eqlevReturn[0][0] = peqlev - eqlevReturn[0][1] = heqlev - eqlevReturn[0][2] = teqlev - return eqlevReturn - break - for j in range(npar - 1, ii, - 1) : - if te[j] <= tp[j] : - pt = p[j + 1] - pb = p[j] - plog1 = math.log(pt) - plog3 = math.log(pb) - - for count in range(100) : - pm = 0.5 * (pt + pb) - plog2 = math.log(pm) - tem = self.interp1(te[j + 1], te[j], plog1, plog2, plog3) - etpar = eptpar * math.pow((pm / 1000.0), 0.286) - tpm = self.temp_of_te(etpar, pm) - if math.fabs(tpm - tem) < TOLER : - peqlev = pm - heqlev = self.interp1(ht[j + 1], ht[j], plog1, plog2, plog3) - teqlev = tem - eqlevReturn[0][0] = peqlev - eqlevReturn[0][1] = heqlev - eqlevReturn[0][2] = teqlev - return eqlevReturn - - if tpm - tem > TOLER : - pb = pm - if tem - tpm > TOLER : - pt = pm - - eqlevReturn[0][0] = peqlev - eqlevReturn[0][1] = heqlev - eqlevReturn[0][2] = teqlev - return eqlevReturn - - - # determines the size of the hail - def hailsiz (self, vvmax): - DRAG = 0.55 - RHOICE = 900.0 - RHOAIR = 1.0033 - GE = 9.8 - hailsize = 2 * ((3 * DRAG * RHOAIR * (vvmax * vvmax)) / (8 * meteo.GE * RHOICE)) * 100 - return hailsize - - def vvel(self, pcb, peqlev, p, ht, tp, tve, tvp, wlcl): - water = [] - DRAG = 0.33 - ENTRN = 0.67 - npar = len(p) - for i in range(npar) : - e = self.esat(tp[i]) - water.append(wlcl - ((0.622 * e) / (p[i] - e))) - vv = zeros(p.shape, 'float32') - vv[0] = 0.0 - vvmax = vv[0] - vv2 = 0 - for i in range(1, npar) : - if p[i] > pcb : - dh = ht[i] - ht[i - 1] - wm = 0.0005 * (water[i] + water[i - 1]) - tem = 0.5 * (tve[i] + tve[i - 1]) - tpm = 0.5 * (tvp[i] + tvp[i - 1]) - dtmp = tpm - tem - vv2 = vv[i - 1][0] * vv[i - 1][0] + 2 * meteo.GE * dh * (ENTRN * dtmp / tem - DRAG * wm) - if vv2 > 0.0 : - vv[i][0] = math.sqrt(vv2) - if p[i] >= peqlev : - if vvmax < vv[i][0] : - vvmax = vv[i][0] - - return vv, vvmax - - # Compute the air density at each level of a sounding - def density(self, p, tvir): - for i in range(len(p)) : - rho[i] = 100.0 * p[0][i] / (287.04 * tvir[i]) - return rho - - # estimates the cloud top based on the undiluted parcel vertical velocity profile - def ctop(self, p, ht, vv, peqlev): - cldtop = meteo.MISSING - npar = len(p) - - if peqlev == meteo.MISSING or peqlev == 0: - return cldtop - - for i in range(npar) : - if p[i][0] <= peqlev : - break - - if i == npar : - return cldtop - - for j in range(i, npar) : - if vv[j] < 0.01 : - cldtop = ht[j][0] - return cldtop - - return cldtop - - # Calculates the equivalent temperature of a temperature and pressure using the adiabatic definition - def adiabatic_te(self, temp, press): - e = math.exp(26.660820 - 0.0091379024 * temp - 6106.396 / temp) - e = 0.622 * e / (press - e) - return temp * math.exp(2740.0 * e / temp) - - - # Computes the rectangular wind components given wind direction and speed - def uvcomp (self, dir, spd): - RPD = 0.0174533 - if type(dir) is not ndarray: - dirAr = zeros((1, 1), 'float32') - spdAr = zeros((1, 1), 'float32') - dirAr[0][0] = dir - spdAr[0][0] = spd - dir = dirAr - spd = spdAr - nlvls = len(dir) - - u = zeros(dir.shape, 'float32') - v = zeros(dir.shape, 'float32') - - for i in range(nlvls): - if dir[i] < 0 or dir[i] > 360 or spd[i] < 0 or spd[i] > 250 : - u[i] = meteo.TOP_FLG - v[i] = meteo.TOP_FLG - else : - angle = RPD * dir[i] - u[i] = (- spd[i]) * math.sin(angle) - v[i] = (- spd[i]) * math.cos(angle) - - return u, v - - # Compute the value of some parameter in a sounding at a given pressure level using log pressure interpolation - def pvalue(self, pres, p, param): - # Make sure that the computation is possible. - np = len(p) - value = meteo.TOP_FLG - if pres < p[np - 1] or pres > p[0] : - return value - - # Check and see if the lowest pressure is equal to the desired pressure. - if math.fabs(p[0] - pres) < 0.1 : - value = param[0] - return value - - # Determine value of parameter at level "pres" in the sounding. - for i in range(1, np - 1) : - if p[i] <= pres : - p1 = math.log(p[i - 1]) - p2 = math.log(pres) - p3 = math.log(p[i]) - value = self.interp1(param[i - 1], param[i], p1, p2, p3) - return value - return value - - - - def tplcl(self, tk, td, pinit): - """ Calculate the temperature and pressure at the LCL given the - parcel's initial temperature, dew point and pressure. - - History: - E. Thaler 13 Mar 1997 - original version - - On input: - - tk = parcel temperature in Celsius - td = parcel dew point temperature in Celsius - pinit = initial pressure level of the parcel - - On output: - - tl = temperature (K) at the LCL - pl = pressure (mb) at the LCL - ier = >0 if successful completion, <0 if failure """ - - i = 0 - ier = - 1 - p0 = 1000.0 - tl = 0 - pl = 0 - - # Convert temperature/dewpoint to K and compute - # initial potential temperature. - tkk = tk + meteo.KELVIN_ZERO - tdk = td + meteo.KELVIN_ZERO - theta = tkk * math.pow((p0 / pinit), 0.2854) - - # Use Newton's method to compute the temperature - # at the LCL using Eq. (14) in Bolton (MWR 1980) - - tlold = tdk - - for i in range(20): - fprime = (0.001266 / tlold) - (1 / (math.pow(tlold, 2))) - dtl = (1.0 / tlold) - (1.0 / tdk) + (0.001266 * math.log(tlold / tdk)) - (0.000514 * math.log(tkk / tdk)) - dtl = tlold - (dtl / fprime) - - # If we have converged to a solution, compute the pressure at - # the LCL and return, otherwise iterate again. - # njensen changed the check from 1.0e-7 to 1.0e-3 - if math.fabs(dtl - tlold) <= 1.0e-3 : - pl = p0 * (math.pow((dtl / theta), (1.0 / 0.2854))) - tl = dtl - ier = 1 - return tl, pl, ier - else: - tlold = dtl - - return tl, pl, ier - - # Computes the values of the dry adiabat from the initial parcel pressure to the LCL - def deftrk(self, tcb, pcb): - thdpar = tcb * math.pow((1000.0 / pcb), 0.286) - etpar = self.adiabatic_te(tcb, pcb) - eptpar = etpar * math.pow((1000.0 / pcb), 0.286) - # eptpar = self.mytw(tcb,tcb,pcb) - return thdpar, eptpar - - def mytw (self, k, kd, p): - """ Calculate the isobaric wet-bulb temperature - - ported from the fortran function mytw from calctw.f - - @param K - temperature in degrees K - @param Kd - dewpoint in degrees K - @param p - pressure in millibars - @return - isobaric wet-bulb temperature in degrees K - - """ - - # This function takes temperature in degrees K, dewpoint in degrees K - # and pressure in millibars and returns the isobaric wet-bulb temperature - # C in degrees K using an iterative technique. For a given guess for the - # wet bulb temp, one tries to do an energy balance, matching cp*(T-Tw) to - # (esat(Tw)-esat(Td))*eps*L/p*. - - # c0, c1, and c2 are the same constants as from the esat.f function. - # f = cp/(L*epsilon). - - f = 0.0006355 - c0 = 26.66082 - c1 = 0.0091379024 - c2 = 6106.3960 - - # Special cases of Td >= T or a ridiculously low T. - if kd >= k : - kw = (k + kd) / 2 - return kw - elif k < 100 : - kw = k - return kw - - # Special case of a ridiculously high saturation vapor pressure. - ew = c0 - c1 * k - c2 / k - - if ew > 10.0 : - kw = (k + kd) / 2 - return kw - - ew = math.exp(ew) - - # kw is our current guess for wet-bulb, ed the vapor pressure corresponding - # to the depoint. Deal with case of a ridiculously small dewpoint vapor - # pressure. - - kdx = kd - ed = c0 - c1 * kdx - c2 / kdx - while True: - if ed < - 50.0 : - kdx = kdx + 10 - ed = c0 - c1 * kdx - c2 / kdx - else : - break - - ed = math.exp(ed) - fp = p * f - s = (ew - ed) / (k - kdx) - - kw = (k * fp + kdx * s) / (fp + s) - - # At each step of the iteration, esat(Tw)-esat(Td) is compared to - # (T-Tw)*p/(eps*L). When that difference is less than one part in - # 10000 of esat(Tw), or ten iterations have been done, the iteration stops. - # This is basically trying to find the value of kw where de is 0. The - # value s is the derivative of de with respect to kw, a fairly standard - # numerical technique for finding the zero value of a function. - - for l in range (10) : - ew = c0 - c1 * kw - c2 / kw - if ew < - 50.0 or ew > 10.0 : - break - ew = math.exp(ew) - de = fp * (k - kw) + ed - ew - if math.abs(de / ew) < 1e-5 : - continue - s = ew * (c1 - c2 / (kw * kw)) - fp - kw = kw - de / s - - return kw - - # Compute the convective gust potential by locating the 700 mb dewpoint depression - # and the upper level stability index on the nomogram - def cvgust(self, dd7, ui): - gstpot = 0 - if dd7 <= 10 : - if ui <= 5 : - gstpot = 1 - elif ui > 5 : - if self.eq1(ui) >= dd7 : - gstpot = 1 - - if gstpot != 0 : - return gstpot - - if ui >= 5 : - if dd7 >= 10 and dd7 <= 25 : - gstpot = 2 - elif dd7 < 10 : - if self.eq1(ui) <= dd7 : - gstpot = 2 - elif dd7 > 25 : - if self.eq3(ui) >= dd7 : - gstpot = 2 - - if gstpot != 0 : - return gstpot - - if dd7 >= 10 and dd7 <= 15 : - if ui <= 5 : - gstpot = 3 - elif ui <= 5 and ui >= 3.5 : - if dd7 >= 10 and dd7 <= 25 : - gstpot = 3 - elif dd7 >= 25 : - if self.eq2(ui) >= dd7 and self.eq3(ui) <= dd7 : - gstpot = 3 - elif ui >= 5 : - if self.eq3(ui) <= dd7 : - gstpot = 3 - - if gstpot != 0 : - return gstpot - - if dd7 >= 15 and dd7 <= 25 : - if ui <= 5 : - gstpot = 4 - elif dd7 >= 25 : - if self.eq2(ui) <= dd7 : - gstpot = 4 - - return gstpot - - # used in cvgust - def eq1(self, x): - return (- 2 * x + 20) - # used in cvgust - def eq2(self, x): - return (3.33 * x + 13.33) - # used in cvgust - def eq3(self, x): - return (2 * x + 15) - - # This routine computes the wind direction (deg) and speed given rectangular wind components - def ddff(self, u, v): - DPR = 57.29578 - dir = zeros(u.shape, 'float32') - spd = zeros(u.shape, 'float32') - for i in range(len(u)) : - if u[i] > 150 or u[i] < - 150 or v[i] > 150 or v[i] < - 150 : - dir[i] = meteo.MISSING - spd[i] = meteo.MISSING - elif math.fabs(u[i]) < 0.05 and math.fabs(v[i]) < 0.05 : - dir[i] = 0.0 - spd[i] = 0.0 - else : - dir[i] = DPR * (math.atan2(u[i], v[i])) + 180 - spd[i] = math.sqrt(u[i] * u[i] + v[i] * v[i]) - - return dir, spd - - - def liftedp(self, p, t, ht, tvir, pcb, hcb, tcb, wcb, thdpar, eptpar, pl, tl): - nlvls = p.shape[0] - pp = zeros(p.shape, 'float32') - htp = zeros(ht.shape, 'float32') - tp = zeros(t.shape, 'float32') - tvirp = zeros(tvir.shape, 'float32') - te = zeros(t.shape, 'float32') - tvire = zeros(t.shape, 'float32') - doStep2 = True - if pcb > meteo.FLG: - nparcel = 0 - else : - # Step 1. Assign first element of arrays to initial parcel values. - # this may involve interpolating environmental sounding data slightly - # to get data at mean parcel pressure. - - # Note: Subscript J refers to lifted parcel comparison arrays. - # Subscript K refers to environmental sounding arrays. - j = - 1 - k = 0 - for ik in range(nlvls) : - k = ik - if p[k][0] > pl : - continue - if p[k][0] <= pcb : - break - j = j + 1 - pp[j] = p[k] - htp[j] = ht[k] - tp[j] = thdpar * ((pp[j] / 1000.0) ** 0.286) - tdp = self.temp_mixratio(pp[j], wcb) - ###tvirp[j] = self.virttemp(tp[j], tdp, pp[j]) - # njensen changed the following line cause temp_mixratio was ported - # correctly and produces invalid data - tvirp[j] = self.virttemp(tp[j], tp[j], pp[j]) - te[j] = t[k] - tvire[j] = tvir[k] - - if fabs(p[0][0] - pcb) < 0.1 : - doStep2 = False - - # Step 2. Compute array values at the LCL. - if doStep2: - j = j + 1 - print pp, j, pcb - pp[j] = pcb - htp[j] = hcb - tp[j] = tcb - tvirp[j] = self.virttemp(tp[j], tp[j], pp[j]) - - # Case where the LCL is at the surface - if j == 1 : - te[j] = t[k] - tvire[j] = tvir[k] - else : - # LCL is above the surface - plog1 = math.log(p[k - 1]) - plog2 = math.log(pcb) - plog3 = math.log(p[k]) - te[j] = self.interp1(t[k - 1], t[k], plog1, plog2, plog3) - tvire[j] = self.interp1(tvir[k - 1], tvir[k], plog1, plog2, plog3) - - if(p[k] == pcb): - k = k + 1 - - for k in range(k, nlvls - 1) : - j = j + 1 - pp[j] = p[k] - htp[j] = ht[k] - etpar = eptpar * ((pp[j] / 1000.0) ** 0.286) - tp[j] = self.temp_of_te(etpar, pp[j]) - tvirp[j] = self.virttemp(tp[j], tp[j], pp[j]) - te[j] = t[k] - tvire[j] = tvir[k] - - nparcel = j - - return pp, htp, tp, tvirp, te, tvire, nparcel - - - def ept(self, t, td, p): - """ THIS FUNCTION RETURNS THE EQUIVALENT POTENTIAL TEMP EPT - (KELVIN) FOR A PARCEL OF AIR INITIALLY AT TEMP T (KELVIN), - DEW POINT TD (KELVIN) AND PRESSURE P (MILLIBARS). - - BAKER,SCHLATTER 17-MAY-1982 Original version - - THE FORMULA USED - IS EQ.(43) IN BOLTON, DAVID, 1980: "THE COMPUTATION OF EQUIVALENT - POTENTIAL TEMPERATURE," MONTHLY WEATHER REVIEW, VOL. 108, NO. 7 - (JULY), PP. 1046-1053. THE MAXIMUM ERROR IN EPT IN 0.3C. IN MOST - CASES THE ERROR IS LESS THAN 0.1C.""" - - # COMPUTE THE MIXING RATIO (GRAMS OF WATER VAPOR PER KILOGRAM OF - # DRY AIR). - tdc = td - 273.16 - w = self.wmr(p, tdc) - - # COMPUTE THE TEMP (CELSIUS) AT THE LIFTING CONDENSATION LEVEL. - tc = t - 273.16 - tlcl = self.tcon(tc, tdc) - tk = t # + 273.16 - tl = tlcl + 273.16 - d1 = 1e3 / p - d2 = (1.0 - w * 2.8e-4) * 0.2854 - pt = tk * pow(d1, d2) - eptk = pt * exp((3.376 / tl - 0.00254) * w * (w * 8.1e-4 + 1.0)) - ret_val = eptk # - 273.16 - return ret_val - - def wmr(self, p, t): - """ THIS FUNCTION APPROXIMATES THE MIXING RATIO WMR (GRAMS OF WATER - VAPOR PER KILOGRAM OF DRY AIR) GIVEN THE PRESSURE P (MB) AND THE - TEMPERATURE T (CELSIUS) - - BAKER,SCHLATTER 17-MAY-1982 Original version - - THE FORMULA USED IS GIVEN ON P. 302 OF THE - SMITHSONIAN METEOROLOGICAL TABLES BY ROLAND LIST (6TH EDITION). - - EPS = RATIO OF THE MEAN MOLECULAR WEIGHT OF WATER (18.016 G/MOLE) - TO THAT OF DRY AIR (28.966 G/MOLE) - THE NEXT TWO LINES CONTAIN A FORMULA BY HERMAN WOBUS FOR THE - CORRECTION FACTOR WFW FOR THE DEPARTURE OF THE MIXTURE OF AIR - AND WATER VAPOR FROM THE IDEAL GAS LAW. THE FORMULA FITS VALUES - IN TABLE 89, P. 340 OF THE SMITHSONIAN METEOROLOGICAL TABLES, - BUT ONLY FOR TEMPERATURES AND PRESSURES NORMALLY ENCOUNTERED IN - IN THE ATMOSPHERE. """ - - eps = 0.62197 - - x = (t - 12.5 + 7500.0 / p) * 0.02 - wfw = p * 4.5e-6 + 1.0 + x * 0.0014 * x - fwesw = wfw * self.esw(t) - r = eps * fwesw / (p - fwesw) - - # CONVERT R FROM A DIMENSIONLESS RATIO TO GRAMS/KILOGRAM. - ret_val = r * 1e3 - return ret_val - - def esw(self, t): - """ THIS FUNCTION RETURNS THE SATURATION VAPOR PRESSURE ESW (MILLIBARS) */ - OVER LIQUID WATER GIVEN THE TEMPERATURE T (CELSIUS). - - BAKER,SCHLATTER 17-MAY-1982 Original version - - THE POLYNOMIAL APPROXIMATION BELOW IS DUE TO HERMAN WOBUS, A - MATHEMATICIAN WHO WORKED AT THE NAVY WEATHER RESEARCH FACILITY, - NORFOLK, VIRGINIA, BUT WHO IS NOW RETIRED. THE COEFFICIENTS OF THE - POLYNOMIAL WERE CHOSEN TO FIT THE VALUES IN TABLE 94 ON PP. 351-353 - OF THE SMITHSONIAN METEOROLOGICAL TABLES BY ROLAND LIST (6TH ED). - THE APPROXIMATION IS VALID FOR -50 < T < 100C. """ - - - es0 = 6.1078 - - # ES0 = SATURATION VAPOR RESSURE OVER LIQUID WATER AT 0C - pol = t * (t * (t * (t * (t * (t * (t * (t * (t * - - 3.0994571e-20 + 1.1112018e-17) - 1.7892321e-15) + - 2.1874425e-13) - 2.9883885e-11) + 4.3884187e-9) - - 6.1117958e-7) + 7.8736169e-5) - 0.0090826951) + 0.99999683 - - # Computing 8th power - r1 = pol - r1 *= r1 - r1 *= r1 - ret_val = es0 / (r1 * r1) - return ret_val - - - def tcon(self, t, d): - """ THIS FUNCTION RETURNS THE TEMPERATURE TCON (CELSIUS) AT THE LIFTING */ - CONDENSATION LEVEL, GIVEN THE TEMPERATURE T (CELSIUS) AND THE - DEW POINT D (CELSIUS). - - BAKER,SCHLATTER 17-MAY-1982 Original version """ - - # COMPUTE THE DEW POINT DEPRESSION S. - - s = t - d; - - # THE APPROXIMATION BELOW, A THIRD ORDER POLYNOMIAL IN S AND T, - # IS DUE TO HERMAN WOBUS. THE SOURCE OF DATA FOR FITTING THE - # POLYNOMIAL IS UNKNOWN. - - dlt = s * (t * 0.001278 + 1.2185 + s * (s * 1.173e-5 - - 0.00219 - t * 5.2e-6)) - ret_val = t - dlt - return ret_val - - def tsa(self, os, pres): - """ Very little documentation on these following routines, so unsure - of the origin and derivation of these algorithms. """ - - rocp = 0.28571482 - - a = os # +273.16 - tq = 253.16 - d = 120.0 - - i = 0 - for i in range(12): - tqk = tq - 273.16 - d /= 2 - x = a * exp(- 2.6518986 * self.w(tqk, pres) / tq) - tq * pow((1000.0 / pres), rocp) - if (fabs(x) <= 0.0): - break - if x < 0.0: - sign = - 1 - else: - sign = 1 - tq += (d * sign) - - return tq # -273.16 - - def w(self, temp, pres): - """ Very little documentation on these following routines, so unsure - of the origin and derivation of these algorithms. """ - - x = self.esat(temp) - return (622.0 * x / (pres - x)) - - def temp_of_te(self, te, press): - import Temp_of_te - return Temp_of_te.temp_of_te(te,press) - - def capeFunc(self, usetv, p_dat_PPointer, tve_dat_PPointer, p0, th0, sh0): - import CapeFunc - return CapeFunc.capeFunc(usetv, p_dat_PPointer, tve_dat_PPointer, p0, th0, sh0) - - def lfcpar(self, eptpar, pcb, tcb, hcb, t1, t2, p1, ht1): - """ his routine computes the level of free convection of a rising parcel. - History. - -------- - Don Baker 01 Jun 85 Original version. - Dale Perry Oct 96 Adapted code to work with WFO - - Description of input and output. - -------------------------------- - On input: - --------- - EPTPAR Real Moist adiabat along which parcel rises above - the LCL (K). - PCB Real LCL pressure (mb). - TCB Real LCL temperature (K). - HCB Real LCL height (m asl). - T1 Real Array Parcel temperatures at lifted parcel levels (K). - T2 Real Array Sounding temperatures at parcel levels (K). - P1 Real Array Lifted parcel pressure levels (mb). - HT1 Real Array Lifted parcel level heights (m asl). - NPAR Integer Number of lifted parcel levels passed. - - On output: - ---------- - PLFC1 Real Level of free convection pressure (mb). - HLFC1 Real Level of free convection height (m asl). - TLFC1 Real Level of free convection temperature (K). """ - - lfcReturn = zeros((1, 6), 'float32') - TOLER = 0.05 - npar = p.shape[0] - print "npar=", npar - # Find the location in the parcel arrays that corresponds to the LCL - i = 0 - for ii in range(npar) : - i = ii - if math.fabs(p1[i] - pcb) < 0.1 : - break - else : - continue - print "found pressure at ", i - # Initially assign flag values to the LFC in case no buoyancy exists. - plfc1 = meteo.TOP_FLG - hlfc1 = meteo.TOP_FLG - tlfc1 = meteo.TOP_FLG - plfc2 = meteo.TOP_FLG - hlfc2 = meteo.TOP_FLG - tlfc2 = meteo.TOP_FLG - - if i == npar : - lfcReturn[0][0] = plfc1 - lfcReturn[0][1] = hlfc1 - lfcReturn[0][2] = tlfc1 - lfcReturn[0][3] = plfc2 - lfcReturn[0][4] = hlfc2 - lfcReturn[0][5] = tlfc2 - return lfcReturn - - # Check and see if parcel is positively buoyant at the LCL already. If - # this is true, then the LFC is coincident with the LCL. This may be - # the case in 00Z soundings when a super-adiabatic layer exists near - # the surface. - - if t1[i] >= t2[i] : - plfc1 = pcb - hlfc1 = hcb - tlfc1 = tcb - lfcReturn[0][0] = plfc1 - lfcReturn[0][1] = hlfc1 - lfcReturn[0][2] = tlfc1 - lfcReturn[0][3] = plfc2 - lfcReturn[0][4] = hlfc2 - lfcReturn[0][5] = tlfc2 - return lfcReturn - - # Loop upward from the LCL until the parcel temperature becomes warmer - # than the environment. If this does not occur, no positive buoyancy - # exists and the routine exits with whatever flag value was assigned to - # the level of free convection. - # To prevent a stack out of bounds error when I=1, set it equal to the - # next level if I=1. - - if i == 0 : - i = 1 - - runLoop = True - print "entering loop1 with i=", i - for j in range(i, npar) : - if t1[j] >= t2[j] : - pt = p1[j] - pb = p1[j - 1] - plog1 = math.log(p1[j]) - plog3 = math.log(p1[j - 1]) - - print "entering inner loop1 j=", j - for count in range(100) : - pm = 0.5 * (pb + pt) - plog2 = math.log(pm) - etpar = eptpar * math.pow((pm / 1000.0), 0.286) - t1m = self.temp_of_te(etpar, pm) - t2m = self.interp1(t2[j], t2[j - 1], plog1, plog2, plog3) - if math.fabs(t1m - t2m) <= TOLER : - plfc1 = pm - hlfc1 = self.interp1(ht1[j], ht1[j - 1], plog1, math.log(plfc1), plog3) - tlfc1 = t1m - runLoop = False; - print "attempting to break out of loop 1" - break - if (t1m - t2m) > TOLER : - pt = pm - if (t2m - t1m) > TOLER : - pb = pm - if runLoop != True : - break - else : - continue - - # Continue looping to find a possible second LFC per conditions - # above rules. - j = j + 1 - print "entering loop2 with j=", j - for k in range(j, npar) : - if t1[k] >= t2[k] : - pt = p1[k] - pb = p1[k - 1] - plog1 = math.log(p1[k]) - plog3 = math.log(p1[k - 1]) - - print "entering inner loop2 k=", k - for count in range(100) : - pm = 0.5 * (pb + pt) - plog2 = math.log(pm) - etpar = eptpar * math.pow(pm / 1000.0, 0.286) - t1m = self.temp_of_te(etpar, pm) - t2m = self.interp1(t2[k], t2[k - 1], plog1, plog2, plog3) - if math.fabs(t1m - t2m) <= TOLER : - plfc2 = pm - hlfc2 = self.interp1(ht1[k], ht1[k - 1], plog1, math.log(plfc2, plog3)) - tlfc2 = t1m - lfcReturn[0][0] = plfc1 - lfcReturn[0][1] = hlfc1 - lfcReturn[0][2] = tlfc1 - lfcReturn[0][3] = plfc2 - lfcReturn[0][4] = hlfc2 - lfcReturn[0][5] = tlfc2 - print "exiting loop2 k=", k - return lfcReturn - if (t1m - t2m) > TOLER : - pt = pm - if (t2m - t1m) > TOLER : - pb = pm - - lfcReturn[0][0] = plfc1 - lfcReturn[0][1] = hlfc1 - lfcReturn[0][2] = tlfc1 - lfcReturn[0][3] = plfc2 - lfcReturn[0][4] = hlfc2 - lfcReturn[0][5] = tlfc2 - return lfcReturn - - def richno(self, ht, hw, uw, vw, rho, buoy): - """ Statement of purpose. - Compute the dimensionless bulk Richardson number as defined by - Weisman and Klemp (1982). - History. - -------- - Tom Schlatter Late 1982 Original code based on MWR article by - Weisman and Klemp (1982). - D. Baker 01 Jun 84 Removed computation of positive energy... - made it an input argument. - D. Baker 01 Jul 85 Updated code for documentation. - J. Ramer 16 Jun 92 Added divide-by-zero prevention. - D. Perry 10 Oct 96 Adapted code for WFO - - Description of input and output. - -------------------------------- - On input: - --------- - HT Sounding heights (m asl). - HW Heights of wind reports (m asl). - UW Wind u-components (m/s). - VW Wind v-components (m/s). - RHO Air density at each sounding level (kg/m**3). - BUOY Positive buoyant energy (J/kg). - - On output: - ---------- - RICHNUM Dimensionless bulk Richardson number. """ - - - mnl = 500 - nlvls = ht.shape[0] - nw = uw.shape[0] - HALFKM = 500.0 - SIXKM = 6000.0 - richnum = meteo.MISSING - rhow = rho - # Interpolate an air density value to each reported wind level - if nlvls != nw : - rhow = self.wndrho(rho, ht, hw) - else : - for i in range(nlvls) : - rhow[i] = rho[i] - - # QC - qc = 1 - for i in range (2, nw) : - if uw[i] != uw[0] and vw[i] != vw[0] : - qc = 0 - - if nlvls < 3 or nlvls > 500 : - qc = 1 - - for i in range(nw) : - if rhow[i] <= 0.0 : - qc = 1 - break - - for i in range(2, nw) : - if (hw[i] - hw[i - 1]) <= 0.0 : - qc = 1 - break - - for i in range(2, nlvls) : - if (ht[i] - ht[i - 1]) <= 0.0 : - qc = 1 - - if qc == 1 : - return richnum - - # initialize sums - - sumu = 0 - sumv = 0 - sumr = 0 - sumul = 0 - sumvl = 0 - sumrl = 0 - - # define shear layer bounds (above ground level) - hbl = hw[0] + HALFKM - htop = hw[0] + SIXKM - - if hw[nw] < htop or hw[1] > htop : - return richnum - - # Loop to calculate shear terms - - i = 0 - rulay = 0.5 * (rhow[i] * uw[i]) - rvlay = 0.5 * (rhow[i] * vw[i]) - rlay = 0.5 * rhow[i] - dz = hw[i] - - for i in range(1, nw) : - rulay = 0.5 * (rhow[i] * uw[i] + rhow[i - 1] * uw[i - 1]) - rvlay = 0.5 * (rhow[i] * vw[i] + rhow[i - 1] * vw[i - 1]) - rlay = 0.5 * (rhow[i] + rhow[i - 1]) - dz = hw[i] - hw[i - 1] - if hw[i] > htop : - break - sumu = sumu + rulay * dz - sumv = sumv + rvlay * dz - sumr = sumr + rlay * dz - if hw[i] > hbl and i > 1 : - sumul = sumul + rulay * dz - sumvl = sumvl + rvlay * dz - sumrl = sumrl + rlay * dz - - sumu = sumu + rulay * dz - sumv = sumv + rvlay * dz - sumr = sumr + rlay * dz - - if sumr <= 0.0 : - u6 = 0.0 - v6 = 0.0 - else : - u6 = sumu / sumr - v6 = sumv / sumr - - if sumrl <= 0.0 : - ul = 0.0 - vl = 0.0 - else : - ul = sumul / sumrl - vl = sumvl / sumrl - - # calculate one half the square of the shear vector in the lowest 6 km - u6 = u6 - ul - v6 = v6 - vl - ske = 0.5 * (u6 * u6 + v6 * v6) - - # compute the bulk richardson number - - if ske > 0 : - richnum = buoy / ske - - return richnum - - def wndrho(self, rho, ht, hw): - """ PURPOSE: - -------- - INTERPOLATE TO DETERMINE DENSITY AT WIND LEVELS GIVEN DENSITY AT - PRESSURE LEVELS IN A SOUNDING. INTERPOLATION IS LINEAR BY HEIGHT. - - T. Schlatter late 82 Probable original author. - D. Baker 17 Dec 85 Added doc and indentation (?) - D. Baker (?) after Dec 85 Replaced 100 loop with 300 loop. It - appears that the interpolation is out. - J. Wakefield 17 Nov 92 Added parameter list documentation. - D. Perry Sep 96 Adapted code to work with WFO. - - Argument I/O Description - -------- --- ----------------------------------------------- - Rho I Density (kg m-3) at sounding levels. - Ht I Heights (m) at sounding levels. - NLvls I Number of sounding levels. - HW I Heights (m) of wind obs. - NW I Number of wind obs. - RhoW O Density interpolated to wind obs heights. """ - - - # Interpolate to derive density at wind heights - j = 0 - nw = len(hw) - skip = False - for i in range(nw) : - if skip == True : - break - k = j - for j in range(k, nlvls - 1) : - if hw[i] >= ht[j] and hw[i] <= ht[j + 1] : - rhow[i] = self.interp1(rho[j], rho[j + 1], ht[j], hw[i], ht[j + 1]) - skip = True - break - - rhow[0] = rho[0] - k1 = 0 - k2 = 1 - - for i in range(1, nw) : - if ht[k2] < hw[i] : - k1 = k2 - k2 = k2 + 1 - if k2 > nlvls : - for j in range(i, nw) : - rhow[j] = rho[k1] - return rhow - - rhow[i] = self.interp1(rho[k1], rho[k2], ht[k1], hw[i], ht[k2]) - - return rhow - - def lclpar(self, meanmix, ts, p, ht, t, td): - """ Statement of purpose. - --------------------- - This routine computes the pressure, height, and temperature of the - lifting condensation level (LCL) from a sounding. - - History. - -------- - Dale Perry 20 Sep 96 Bootlegged version of cclpar.f modified for - determining the LCL. - - Description of input and output. - -------------------------------- - On input: - --------- - MEANMIX Mixing ratio used to intersect the sounding (g/kg). - TS Surface temp (12Z-forecast max temp;00Z-sfc temp) (K). - P Sounding pressures (mb). - HT Sounding heights (m asl). - T Sounding temperatures (K). - TD Sounding dewpoint temperatures (K). - - On output: - ---------- - PLCL Pressure of the lifting condensation level (mb). - TLCL Temperature of the lifting condensation level (K). - HTLCL Height of the lifting condensation level (m asl). - - User notes: - ----------- - The low level mean mixing ratio is input to this routine... - computed outside. """ - - TOLER = 0.5 - nlvls = len(p) - lfcReturn = zeros((1, 3), 'float32') - - # Loop up through sounding until mixing ratio line corsses the dry - # adiabat through the surface temperature. Initially set the LCL - # parameters to MISSING values in case no LCL is found - - plcl = meteo.TOP_FLG - hlcl = meteo.TOP_FLG - tlcl = meteo.TOP_FLG - t2 = ts * math.pow(1000.0 / p[0], 0.286) - - for i in range(nlvls) : - t1 = self.temp_mixratio(p[i], meanmix) - t1 = t1 * math.pow(1000.0 / p[i], 0.286) - if t1 >= t2 : - break - - if i == 1 : #LCL at the surface - plcl = p[0] - hlcl = ht[0] - tlcl = t[0] - lfcReturn[0][0] = plcl - lfcReturn[0][1] = hlcl - lfcReturn[0][2] = tlcl - return lfcReturn - - # We were at the top of the sounding, but 'I' got incremented one more - # beyond. Reset it to the top of the sounding index 'NLVLS' - if i > nlvls : - i = nlvls - 1 - - pt = p[i] - pb = p[i - 1] - plog1 = math.log(p[i]) - plog3 = math.log(p[i - 1]) - - # Iterate to find the LCL. Keep cutting level in half until the point - # of intersection is found - - for count in range(100) : - pm = 0.5 * (pt + pb) - plog2 = math.log(pm) - t1 = self.temp_mixratio(pm, meanmix) - t1 = t1 * math.pow(1000.0 / pm, 0.286) - if math.fabs(t1 - t2) <= TOLER : - plcl = pm - tlcl = t1 * math.pow(plcl / 1000.0, 0.286) - hlcl = self.interp1(ht[i], ht[i - 1], plog1, math.log(plcl), plog3) - lfcReturn[0][0] = plcl - lfcReturn[0][1] = hlcl - lfcReturn[0][2] = tlcl - return lfcReturn - if (t1 - t2) > TOLER : - pt = pm - if (t2 - t1) > TOLER : - pb = pm - - lfcReturn[0][0] = plcl - lfcReturn[0][1] = hlcl - lfcReturn[0][2] = tlcl - return lfcReturn - -# def posarea(self,plfc,peqlev,tlfc,teqlev,hlfc,heqlev,eptpar,p,ht,te,tp): -# NL = 500 -# -# cin = 0.0 -# buoy = meteo.FLG -# idx1 = 0 -# npar = len(p) -# -# for i in range(npar): -# if p[i] < plfc : -# idx1 = i - 1 -# break -# -# peq = peqlev -# heq = heqlev -# teq = teqlev -# -# if peqlev > -meteo.FLG : -# peq = p[npar - 1] -# heq = ht[npar - 1] -# teq = te[npar - 1] -# -# for j in range(npar) : -# if p[j] < peq : -# idx2 = j -# idx2 = npar - 1 -# break -# -# pl[0] = plfc -# htl[0] = hlfc -# tel[0] = tlfc -# -# nparl = 0 -# for i in range(idx1 + 1, idx2 - 1) : -# nparl = nparl + 1 -# pl[nparl] = p[i] -# htl[nparl] = ht[i] -# tel[nparl] = te[i] -# -# nparl = nparl + 1 -# pl[nparl] = peq -# htl[nparl] = heq -# tel[nparl] = teq -# -# vdif = (heq-hlfc) / 25 -# -# -# -# -# def intpos(self,vdif) : -# j = 1 -# #for i in range(j) -# -# -# def negarea(self,plfc,tlfc,hlfc,eptpar,p,ht,te,tp): -# NL = 500 -# nparl = 0 -# npar = len(p) -# -# for i in range(npar) : -# if p[i] > plfc : -# pl[i] = p[i] -# htl[i] = ht[i] -# tel[i] = te[i] -# else : -# pl[i] = plfc -# htl[i] = hlfc -# tel[i] = tlfc -# nparl = i -# break -# -# vdif = (hlfc - ht[0]) / 25 -# if vdif < 35 : -# vdif = 35 -# -# if nparl > 1 and hlfc - ht[0] > 0 : -# #call intpos -# - -## diff --git a/cave/build/static/common/cave/etc/meteolib/NativeCapeFunc.py b/cave/build/static/common/cave/etc/meteolib/NativeCapeFunc.py deleted file mode 100644 index e178ca26b5..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/NativeCapeFunc.py +++ /dev/null @@ -1,110 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 16 Feb 2010 #4502 jelkins Initial Creation. - -from com.raytheon.edex.meteoLib import MeteoLibUtil -import numpy as np -import ctypes as ct - -def capeFunc(usetv, p_dat, tve_dat, p0, th0, sh0, ptop = None): - """ Use the native capeFunc function - """ - - # define the c_float_ptr type - c_float_ptr = ct.POINTER(ct.c_float) - - # determine the input dimensions - dataShape = tve_dat.shape - - nx = dataShape[2] if len(dataShape) > 2 else None - ny = dataShape[1] if len(dataShape) > 1 else None - nz = dataShape[0] - - gridArea = nx * ny - - # flatten all input arrays - p_dat.resize((nz, nx * ny,)) - tve_dat.resize((nz, nx * ny,)) - p0.resize((p0.size,)) - th0.resize((th0.size,)) - sh0.resize((sh0.size,)) - - if ptop != None: - ptop.resize((ptop.size,)) - - - # load the library - meteoLibPath = MeteoLibUtil.getSoPath() - meteoLib = np.ctypeslib.load_library(meteoLibPath,"") - capeFunc = meteoLib.capeFunc if ptop == None else meteoLib.capeFuncTop - - # "define" the capeFunc signature - capeFunc.restype = None # return type - capeFunc.argtypes = [ct.c_float, - ct.POINTER(c_float_ptr), - ct.POINTER(c_float_ptr), - c_float_ptr, - c_float_ptr, - c_float_ptr, - ct.c_int, - ct.c_int, - ct.c_int, - ct.c_int, - c_float_ptr, - c_float_ptr] - - if ptop != None: - capeFunc.argtypes.append(c_float_ptr) - - # result arrays - cape_dat = np.zeros(gridArea,p_dat.dtype) - cin_dat = np.zeros(gridArea,p_dat.dtype) - - capeFuncArgs = [ct.c_float(usetv), - - # get c_style pointers to the 2D input arrays - (c_float_ptr*len(p_dat))(*[row.ctypes.data_as(c_float_ptr) for row in p_dat]), - (c_float_ptr*len(tve_dat))(*[row.ctypes.data_as(c_float_ptr) for row in tve_dat]), - - p0.ctypes.data_as(c_float_ptr), - th0.ctypes.data_as(c_float_ptr), - sh0.ctypes.data_as(c_float_ptr), - ct.c_int(nx), - ct.c_int(nx), - ct.c_int(ny), - ct.c_int(nz), - cape_dat.ctypes.data_as(c_float_ptr), - cin_dat.ctypes.data_as(c_float_ptr)] - - if ptop != None: - capeFuncArgs.append(ptop.ctypes.data_as(c_float_ptr)) - - capeFunc(*capeFuncArgs) - - # resize the cape and cin data to the appropriate grid size - cape_dat.resize((ny,nx)) - cin_dat.resize((ny,nx)) - - return cape_dat, cin_dat \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/meteolib/NativeDCapeFunc.py b/cave/build/static/common/cave/etc/meteolib/NativeDCapeFunc.py deleted file mode 100644 index e0b2e37bdd..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/NativeDCapeFunc.py +++ /dev/null @@ -1,103 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 17 Feb 2010 #4502 jelkins Initial Creation. - -from com.raytheon.edex.meteoLib import MeteoLibUtil -import numpy as np -import ctypes as ct - -def dcapeFunc(usetv, p_dat, t_dat, td_dat, p0, th0, sh0, max_evap, max_rh): - """ Use the native dcapeFunc function - """ - - # define the c_float_ptr type - c_float_ptr = ct.POINTER(ct.c_float) - - # determine the input dimensions - dataShape = t_dat.shape - - nx = dataShape[2] if len(dataShape) > 2 else None - ny = dataShape[1] if len(dataShape) > 1 else None - nz = dataShape[0] - - gridArea = nx * ny - - # flatten all input arrays - p_dat.resize((nz, nx * ny,)) - t_dat.resize((nz, nx * ny,)) - td_dat.resize((nz, nx * ny,)) - p0.resize((p0.size,)) - th0.resize((th0.size,)) - sh0.resize((sh0.size,)) - - # load the library - meteoLibPath = MeteoLibUtil.getSoPath() - meteoLib = np.ctypeslib.load_library(meteoLibPath,"") - dcapeFunc = meteoLib.dcapeFunc - - # "define" the capeFunc signature - dcapeFunc.restype = None # return type - dcapeFunc.argtypes = [ct.c_float, - ct.POINTER(c_float_ptr), - ct.POINTER(c_float_ptr), - ct.POINTER(c_float_ptr), - c_float_ptr, - c_float_ptr, - c_float_ptr, - ct.c_int, - ct.c_int, - ct.c_int, - ct.c_int, - ct.c_float, - ct.c_float, - c_float_ptr] - - # result arrays - dcape_dat = np.zeros(gridArea,p_dat.dtype) - - dcapeFuncArgs = [ct.c_float(usetv), - - # get c_style pointers to the 2D input arrays - (c_float_ptr*len(p_dat))(*[row.ctypes.data_as(c_float_ptr) for row in p_dat]), - (c_float_ptr*len(t_dat))(*[row.ctypes.data_as(c_float_ptr) for row in t_dat]), - (c_float_ptr*len(td_dat))(*[row.ctypes.data_as(c_float_ptr) for row in td_dat]), - - p0.ctypes.data_as(c_float_ptr), - th0.ctypes.data_as(c_float_ptr), - sh0.ctypes.data_as(c_float_ptr), - ct.c_int(nx), - ct.c_int(nx), - ct.c_int(ny), - ct.c_int(nz), - ct.c_float(max_evap), - ct.c_float(max_rh), - dcape_dat.ctypes.data_as(c_float_ptr)] - - dcapeFunc(*dcapeFuncArgs) - - # resize the cape data to the appropriate grid size - dcape_dat.resize((ny,nx)) - - return dcape_dat \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/meteolib/Temp_of_te.py b/cave/build/static/common/cave/etc/meteolib/Temp_of_te.py deleted file mode 100644 index f6989eaf87..0000000000 --- a/cave/build/static/common/cave/etc/meteolib/Temp_of_te.py +++ /dev/null @@ -1,203 +0,0 @@ -## -# This software was developed and / or modified by Raytheon Company, -# pursuant to Contract DG133W-05-CQ-1067 with the US Government. -# -# U.S. EXPORT CONTROLLED TECHNICAL DATA -# This software product contains export-restricted data whose -# export/transfer/disclosure is restricted by U.S. law. Dissemination -# to non-U.S. persons whether in the United States or abroad requires -# an export license or other authorization. -# -# Contractor Name: Raytheon Company -# Contractor Address: 6825 Pine Street, Suite 340 -# Mail Stop B8 -# Omaha, NE 68106 -# 402.291.0100 -# -# See the AWIPS II Master Rights File ("Master Rights File.pdf") for -# further licensing information. -## - -# SOFTWARE HISTORY -# -# Date Ticket# Engineer Description -# ------------ ---------- ----------- -------------------------- -# 12 Feb 2010 #4502 jelkins Initial Creation. - -from MeteoLibTools import MeteoLibTools as MeteoLib -from CPointer import CPointer -from numpy import zeros -from numpy import sqrt - -meteoLib = MeteoLib() -adiabatic_te = meteoLib.adiabatic_te - -tmin = 193 -tmax = 333 -nval = 1 + tmax - tmin -TeData_ptr = CPointer(zeros(7 * nval,'f')) -Te1000_ptr = CPointer() -Te850_ptr = CPointer() -Te700_ptr = CPointer() -Te600_ptr = CPointer() -Te500_ptr = CPointer() -Te350_ptr = CPointer() -Te200_ptr = CPointer() - -def temp_of_te(te, press): - """ This routine calculates the saturation tempurature of an equivalent - temperature at given pressure using the adiabatic definition - - This function has been ported from the c language temp_of_te - - """ - press_ptr = CPointer([press]) - te_ptr = CPointer([te]) - - # grant access to the static variables - from Temp_of_te import tmin - from Temp_of_te import tmax - from Temp_of_te import nval - from Temp_of_te import TeData_ptr - from Temp_of_te import Te1000_ptr - from Temp_of_te import Te850_ptr - from Temp_of_te import Te700_ptr - from Temp_of_te import Te600_ptr - from Temp_of_te import Te500_ptr - from Temp_of_te import Te350_ptr - from Temp_of_te import Te200_ptr - - TeLookup_ptr = CPointer() - base = None - t = None - p = None - t1 = None - t2 = None - d = None - d1 = None - d2 = None - w = None - i = None - - # very first time, construct lookup table Te's of T from 193 to 343 K - if (Te1000_ptr.target == None): - Te1000_ptr.copy(TeData_ptr) - Te1000_ptr -= tmin - Te850_ptr.copy(Te1000_ptr) - Te850_ptr += nval; - Te700_ptr.copy(Te850_ptr) - Te700_ptr += nval - Te600_ptr.copy(Te700_ptr) - Te600_ptr += nval - Te500_ptr.copy(Te600_ptr) - Te500_ptr += nval - Te350_ptr.copy(Te500_ptr) - Te350_ptr += nval - Te200_ptr.copy(Te350_ptr) - Te200_ptr += nval - p = 1000 - for t in range(tmin, tmax+1): - Te1000_ptr[t] = adiabatic_te(t, p) - p = 850; - for t in range(tmin, tmax+1): - Te850_ptr[t] = adiabatic_te(t, p) - p = 700; - for t in range(tmin, tmax+1): - Te700_ptr[t] = adiabatic_te(t, p) - p = 600; - for t in range(tmin, tmax+1): - Te600_ptr[t] = adiabatic_te(t, p) - p = 500; - for t in range(tmin, tmax+1): - Te500_ptr[t] = adiabatic_te(t, p) - p = 350; - for t in range(tmin, tmax+1): - Te350_ptr[t] = adiabatic_te(t, p) - p = 200; - for t in range(tmin, tmax+1): - Te200_ptr[t] = adiabatic_te(t, p) - - # find correct table, check for beyond bounds of table - if (press_ptr[0] <= 250): - TeLookup_ptr.copy(Te200_ptr) - base = 200; - elif (press_ptr[0] <= 400): - TeLookup_ptr.copy(Te350_ptr) - base = 350; - elif (press_ptr[0] <= 550) : - TeLookup_ptr.copy(Te500_ptr) - base = 500; - elif (press_ptr[0] <= 650): - TeLookup_ptr.copy(Te600_ptr) - base = 600; - elif (press_ptr[0] <= 750): - TeLookup_ptr.copy(Te700_ptr) - base = 700; - elif (press_ptr[0] <= 900) : - TeLookup_ptr.copy(Te850_ptr) - base = 850; - else: - TeLookup_ptr.copy(Te1000_ptr) - base = 1000; - - if (te_ptr[0] < TeLookup_ptr[tmin + 1]): - return te_ptr[0] - if (te_ptr[0] >= TeLookup_ptr[tmax]): - return 1e37 - - # use table to get first guesses for value of temp - # if (diag) printf("te,base %.2f %.0f\n",*te,base); - t1 = tmin - t2 = te_ptr[0] - if (t2 > tmax): - t2 = tmax - while (t2 - t1 >= 3): - t = ((t1 + t2) / 2) - if (TeLookup_ptr[t] > te_ptr[0]): - t2 = t - elif (TeLookup_ptr[t] < te_ptr[0]): - t1 = t - else: - if (t1 < t - 1): - t1 = t - 1 - if (t2 > t + 1): - t2 = t + 1 - break - - # if (diag) printf("t1,t2,te1,te2 %.2f %.2f %.2f %.2f\n",t1,t2, - # TeLookup[(int)t1],TeLookup[(int)t2]); - w = sqrt(base / (press_ptr[0])) - t1 = (1 - w) * TeLookup_ptr[t1] + w * t1; - t2 = (1 - w) * TeLookup_ptr[t2] + w * t2; - # if (diag) printf("t1,t2 %.2f %.2f\n",t1,t2); - - # Iterate to find the exact solution - d1 = te_ptr[0] - adiabatic_te(t1, press_ptr[0]) - d2 = adiabatic_te(t2, press_ptr[0]) - te_ptr[0] - w = d2 / (d1 + d2) - t = w * t1 + (1 - w) * t2 - d = adiabatic_te(t, press_ptr[0]) - te_ptr[0] - - for i in range(0,10): - if (d > 0.01): - d2 = d - t2 = t - elif (d < -0.01): - d1 = -d - t1 = t - else: - break - w = d2 / (d1 + d2) - t = w * t1 + (1 - w) * t2 - d = adiabatic_te(t, press_ptr[0]) - te_ptr[0]; - - # if (diag) printf("t,i %.2f %d\n",t,i); - - return t; - -def test(): - """ Unit Test - """ - - result = temp_of_te(270, 500) - print result diff --git a/cave/build/static/common/cave/etc/riverpro/RPF_Apps_defaults b/cave/build/static/common/cave/etc/riverpro/RPF_Apps_defaults deleted file mode 100644 index 9557726315..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/RPF_Apps_defaults +++ /dev/null @@ -1,1733 +0,0 @@ -# -# Official National .Apps_defaults file for AWIPS Release OB8.3 -# Also see .Apps_defaults_site for override settings -# Revision History: -# 11/06/2001 - adjusted many directory locations of precip_proc tokens. -# notable changes: st3_mkimage, rfcwide_input_dir -# added pproc_local, pproc_local_data, pproc_log -# grouped tokens together for 3 subsystems - shefdecode, whfs, -# precip_proc. -# placed precip_proc section after ofs since there are some -# dependencies -# changed value of whfs_editor -# added hydro_publicbin token -# added pproc_util_log_dir -# 07/01/2002 - added ens_input, ens_output, ens_files -# 07/22/2002 - add global gaff execution token -# 11/04/2002 - added disagg tokens -# 08/29/2003 - added sqlcmd_bin_dir -# 08/20/2003 - added ligtning_input_dir, lightning_log_dir -# 10/03/2003 - added tokens gage_qc, sccqc_threshold, mpe_scc_boxes_failed, -# mpe_msc_precip_limit -# 10/10/2003 - changed token names to mpe_gage_qc, mpe_sccqc_threshold -# - changed mpe_gage_qc token value to ON -# 02/04/2004 - Added new tokens for ens_pre netCDF enhancement --kwz -# 2/4/2004 - added mpe_locbias_1hr_rerun token -# 02/11/2004 - Added hv_map_projection. -# 02/19/2004 - Removed stage2 and stage3 related tokens. -# 03/10/2004 - Added mpe_mlmosaic_calc and rfcwide_mlmosaic_dir tokens. -# 03/16/2004 - Added rfcwide_lsatpre_dir, rfcwide_satstate_var_dir, -# mpe_lsatpre_calc. -# 03/19/2004 - Added mpe_del_gage_zeros. -# 03/22/2004 - added sshp tokens -# 03/24/2004 - Added rpf_min_dur_filled -# 03/31/2004 - Added SSHP tokens -# 04/26/2004 - added sshp_invoke_map_preprocess and -# sshp_java_process_host tokens for the -# mpe_fieldgen scripts -# 05/06/2004 - Added more RFC archive database (adb) tokens -# 06/28/2004 - Added preadj_outts_dir -# 07/31/2004 - Added gage_pp_userid, gage_pp_host, gage_pp_data, gage_pp_log -# and gage_pp_sleep. -# 08/10/2004 - ssh- Added gage_pp_userid, gage_pp_host, gage_pp_data, -# gage_pp_log, gage_pp_sleep, gage_pp_enable, shef_post_precip -# 08/12/2004 - Added timeseries_begintime, timeseries_endtime, timeseries_mode -# timeseries_showcat, timeseries_linewidth, dam_icon_color -# 10/14/2004 - Added the mpe_generate_list token. BAL -# 10/14/2004 - Removed the tokens: mpe_mlmosaic_calc, mpe_lsatpre_calc -# 11/05/2004 - Corrected spelling of timeseries_endime. RAE -# 11/23/2004 - Added the mpe_show_missing_gage token. -# 01/07/2005 - Added the sum_pc_reports token. This controls how PC-based -# precipitation totals are derived. -# 01/10/2005 - Added the sum_pc_reports token. -# 01/28/2005 - Added AWIPS MODIFICATION BLOCK. When gmake is run in the -# development tree location of .Apps_defaults, a copy of it -# will be placed in /awips/hydroapps with the lines modified -# in the AWIPS modification block to work in the /awips/hydroapps -# tree. -# 01/28/2005 - Modified the definitions of adb_shef_pro_err_dir and -# adb_shef_pro_logs_dir. -# Added the pghost, and pguser, pgport tokens for PostGres. -# 04/21/2005 - Changed shefdecode_host and gage_pp_host to dx. -# 04/28/2005 - Added hv_min_dur_filled token. Added ppp_ppd_local_7am_window -# token. -# 5/5/2005 - Added SSHP tokens sshp_initial_forecast_length, sshp_max_forecast_length, -# sshp_sac_update_expiration_hours, sshp_sac_update_hours_forward. -# Moved sshp_fcst_ts to be next to the rest of the SSHP tokens. -# 5/11/2005 - Changed pguser token value to pguser. -# 6/9/2005 - Changed value of grib_rls (location of gribit executable) -# - Added new tokens mpe_d2d_display_grib, d2d_input_dir, mpe_send_grib -# 6/15/2005 - Changed value for d2d_input_dir token -# 9/13/2005 - Replaced the edit_poly token with the rfcwide_drawpre_dir -# token. This directory will contain the precip edit polygons -# drawn in Hydroview/MPE and applied in MPE Fieldgen. -# 9/22/2005 - Added the rfcwide_gageloc_dir and rfcwide_beamheight_dir tokens. -# 9/27/2005 - Added the hdb_db_name token. Contains the name of the database -# used by the historical data browser. -#10/6/2005 - Modified the value of the rfcwide_utiltriangles_dir token to -# be under local/data/app/mpe instead of local/data/mpe. -#10/6/2005 - Added the mpe_base_radar_mosaic token. -#02/7/2006 - Added the mpe_split_screen token. -#02/8/2006 - Added tokens for the PDC Preprocessor -#02/9/2006 - Added mpe_polygon_action_order and mpe_polygon_field_order -# tokens. -#03/2/2006 - Added new tokens for DailyQC. Added renamed MPE tokens. -#04/19/2006 - Added new tokens for controling the orientation/appearance -# of the historical data browser and the locations of the help -# and configuration directory. -#05/30/2006 - Modified the token values for datview_plot_font and anav_data. -# Added the following tokens for archive database programs: -# adb_shef_pro_tmp_dir, adb_shef_raw_tmp_dir, -# adb_shef_raw_add_adjust, rax_pghost, adb_name -#05/30/2006 - Added the mpe_send_qpe_to_sbn token. -#06/06/2006 - Added the grib_set_subcenter_0 token. -#07/07/2006 - Added the ifp_griddb_dir token. -#09/05/2006 - Added the dhm_d2d_data_dir and dhm_d2d_notify_dir tokens. -#10/02/2006 - Added the sshp_map_qpe_to_use token. -#11/02/2006 - Added the mpe_qpe_grib_sbn_dir token. -#11/17/2006 - Added the mpe_qpe_sbn_dir token. -#05/08/2007 - Added tokens for the rfc bias transfer project. -#05/09/2007 - Added 3 tokens for SRG field directories -#05/14/2007 - Added token for rdhm input directory -#O5/23/2007 - Added sshp_show_simulated_timeseries, changed sshp_background_fcst_length to -# sshp_background_forecast_length -#05/23/2007 - Add tokens for RiverPro: rpf_endtime_shifthrs, -# show_vtecqc_window, event_expire_withinhr -#06/18/2007 - Added the send_local_bias_when_rfc_bias_missing token. -# Biasmesgen reads this token to determine whether or not -# to send the locally generated MPE bias to the RPG if -# the RFC bias is not available. -#06/28/2007 - Added DailyQC preprocessor token dqc_preprocessor_basetime -#07/17/2007 - Added rgb_file_path token. Used by new Color Manager in Hydroview -# and MPE Editor. -#10/24/2007 - Added dhm_rain_plus_melt_data_dir token -#11/08/2007 - Added tokens for IHFS->RAX Synchronization: adb_sync_logs_dir, -# adb_sync_mode, adb_sync_tablenames, adb_sync_ihfs_ingest, adb_sync_rivercrit -#1/16/2008 - added new tokens for disagg processing -# mpe_disagg_execute, mpe_disagg_method, mpe_disagg_6hreq_0,mpe_disagg_6hrgt_0 -# ============================================================================== -# To see syntax rules for this file, see the bottom of this file -# -# Also see .Apps_defaults_site for overriding settings -# - -#$============================================================================= -#$ This section contains the tokens whose values are different between the -#$ development and the delivery tree. The value give is the development -#$ value. The commented value is the delivery value. The uncommented value -#$ is in the development tree. All of these tokens must be enclosed -#$ by the AWIPS_MODIFICATION_BLOCK_BEGIN and AWIPS_MODIFICATION_BLOCK_END -#$ tags. Token names and commented lines should at column 1. - -#AWIPS_MODIFICATION_BLOCK_BEGIN - -apps_dir : $(RPF_TEMPLATE_DIR) # Hydrologic applications directory - -mcp3_icp_iface : $(HOME)/mcp3_ntrfc -#mcp3_icp_iface : /tmp/$(LOGNAME)/mcp3_ntrfc - -verify_dir : $(apps_dir)/rfc/verify #base verify directory -#verify_dir : /rfc_arc/verify #base verify directory - -vsys_dir : $(apps_dir)/rfc/verify #base verify directory -#vsys_dir : $(verify_dir) #base verify directory - -#AWIPS_MODIFICATION_BLOCK_END - -# ============================================================================== - -# Executable directory tokens. -sys_java_dir : /usr/local/java # Location of Java COTS software -hydro_publicbin : $(apps_dir)/public/bin -sqlcmd_bin_dir : /usr/local/sqlcmd/bin # location of sqlcmd executable on both HP and - # Linux beginning in OB3 - -# database selection tokens -server_name : ONLINE # Informix database server name -db_name : hd_ob83krf # IHFS database name -damcat_db_name : dc_ob5xxx # Dam Catalog database name -hdb_db_name : ob81_histdata # Historical database. -pghost : awips-dev1 # The machine PostGres is running on -pguser : awips # The user allowed to access PostGres -pgport : 5432 # The PostGres Server port -adb_name : adb_ob7xxx # RFC archive database name -rax_pghost : ax # The machine PostGres is running on for the adb - -# vacuum log dir token. -vacuum_log_dir : $(whfs_log_dir)/vacuum - -# WHFS specific tokens -whfs_tz : EST5EDT # WHFS time zone for local time -whfs_primary_radar : TLX # WHFS primary radar id, for Stage II - -# damcat tokens -damcat_hostoffice_type : wfo # source of run-from office -damcat_office_datasource : ohd # which data source is used -max_storage_value : 0.00 # max storage volume filter -damcat_data : /tmp/damcatData - -# Damcrest tokens -damcrest.db_enabled : true # set to true when the user has damcat database -damcrest.hasListAllDams : true # when set to true, all dams will be displayed initially - -# Path to the editor used by Damcrest -damcrest.editor : /usr/X11R6/bin/gvim - -# Path to the damcrest data directory where input and output files -# of the model are stored -damcrest_data_dir : $(whfs_local_data_dir)/damcrest - -# Path to the directory where .vimrc resource file resides. -# This resource file is needed when editor in Damcrest application -# is set to gvim. -damcrest_res_dir : $(whfs_config_dir)/damcrest - -#===================== SHEFDECODE Application Tokens ================================ - -shefdecode_userid : oper # controlling UNIX user -shefdecode_host : dx1f # controlling UNIX system. -shefdecode_dir : $(apps_dir)/shefdecode # main directory location -shefdecode_bin : $(shefdecode_dir)/bin # executable programs location -shefdecode_input : $(shefdecode_dir)/input # SHEF parameter file location -shef_data_dir : /data/fxa/ispan/hydro # input products location - -shefdecode_log : $(shefdecode_dir)/logs/decoder # daily log files location -shef_error_dir : $(shefdecode_dir)/logs/product # product log files location -shef_keeperror : ALWAYS # keep product log files (=ALWAYS) or - # only when errors occur (=IF_ERROR) -shef_perflog : OFF # ON/OFF - create a separate performance log file to - # save internal decoder timing messages for - # monitoring performance -dupmess : ON # ON/OFF - include messages in the log file about - # duplicate data -elgmess : ON # ON/OFF - include messages in the log file about - # data types not found in IngestFilter or - # data types turned off in IngestFilter -locmess : ON # ON/OFF - include messages in the log file about - # stations and areas not found in Location - # or GeoArea - -shef_sleep : 10 # sleep duration in seconds in between queries -shef_winpast : 10 # number of days in past to post data -shef_winfuture : 30 # number of minutes in future to post obs data -shef_duplicate : IF_DIFFERENT # flag for handling duplicate date - # ALWAYS_OVERWRITE-always overwrite when value repeats - # USE_REVCODE-if revcode set overwrite duplicate value - # IF_DIFFERENT-overwrite if new value is different - # IF_DIFFERENT_OR_REVCODE-overwrite if new value is - # different or revcode is set -shef_load_ingest : ON # ON/OFF - automatically load the IngestFilter table or not - # with (station id-PEDTSE) combinations as they - # arrive in the input data flow -shef_storetext : OFF # ON/OFF - post/don't post raw encoded SHEF text messages - # to the TextProduct table -shef_post_unk : NONE # NONE - do not post to the UnkStn nor UnkStnValue tables - # IDS_ONLY - post only location identifiers for unknown - # stations to the UnkStn table - # IDS_AND_DATA - post all data from unknown stations to - # the UnkStnValue table -shef_post_baddata : REJECT # PE/REJECT - post data that have failed the gross range - # check to the physical element data tables (=PE) OR - # to the RejectedData table (=REJECT) -shef_procobs : OFF # ON/OFF - post Processed data values (i.e., TS=P*) to - # the observation data tables (=ON) or to - # the ProcValue table (=OFF) -shef_post_latest : ON # ON/OFF - post/don't post data to the LatestObsValue table - # VALID_ONLY - post data to the LatestObsValue table - # ONLY if the gross range check is passed -shef_post_link : ON # ON/OFF - post/don't post data to the ProductLink table -shef_load_maxfcst : ON # ON/OFF - after each product that resulted in forecast - # height or discharge data being posted, load - # the maximum forecast data into the RiverStatus table -shef_alertalarm : ON # ON/OFF - causes shefdecoder to screen data against - # alert and alarm thresholds - - -#===================== WHFS Applications Tokens ================================ - -whfs_base_dir : $(apps_dir)/whfs # top of the WHFS tree -whfs_local_dir : $(whfs_base_dir)/local # top of WHFS local tree -whfs_local_data_dir : $(whfs_local_dir)/data # top of WHFS local data tree -whfs_local_grid_dir : $(whfs_local_data_dir)/grid # top of WHFS grids tree -whfs_log_dir : $(whfs_local_data_dir)/log # top of WHFS logs tree - -whfs_local_bin_dir : $(whfs_local_dir)/bin # local WHFS executables - -whfs_geodata_dir : $(whfs_local_data_dir)/geo # WHFS map backgrounds -whfs_image_dir : $(whfs_local_data_dir)/image # user-saved image files -whfs_import_dir : $(whfs_local_data_dir)/import # files to import into WHFS -whfs_product_dir : $(whfs_local_data_dir)/product # WHFS generated external products -whfs_report_dir : $(whfs_local_data_dir)/report # user-saved text reports -whfs_lines_per_page : 60 - -whfs_config_dir : $(whfs_local_data_dir)/app # WHFS app configuration files -rpf_template_dir : $(RPF_TEMPLATE_DIR) # RiverPro templates -metar_config_dir : $(whfs_config_dir)/metar2shef # METAR translator config -metar2shef_options : " -a -b -p1 -p6 -p24 -round -w -strip -q1 " -ts_config_dir : $(whfs_config_dir)/timeseries # Time Series config -hv_config_dir : $(whfs_config_dir)/hydroview # Hydroview pixmaps etc. -hv_help_dir : $(hv_config_dir)/help/ # Hydroview Help direc. -rivermon_config_dir : $(whfs_config_dir)/rivermon/ # RiverMonitor Conf dir. - -whfs_misc_grid_dir : $(whfs_local_grid_dir)/misc # misc WHFS grids - -rgb_file_path : /usr/X11R6/lib/X11/rgb.txt # Location of X/Motif color file. - -rpf_log_dir : $(RPF_LOG_DIR) # RiverPro logs -rivermon_log_dir : $(whfs_log_dir)/rivermon # RiverMonitor logs -obsfcstmonitor_log_dir : $(whfs_log_dir)/obsfcst_monitor # ObsFcstMonitor logs -whfs_util_log_dir : $(whfs_log_dir)/misc # WHFS misc logs -precip_accum_log_dir : $(whfs_log_dir)/precip_accum # precip_accum logs -floodseq_log_dir : $(whfs_log_dir)/floodseq # flood sequencer logs -metar_log_dir : $(whfs_log_dir)/metar2shef # METAR translator logs -hb_gagrad_log_dir : $(whfs_log_dir)/create_gagradloc # gage-radar locator logs -qcalarm_log_dir : $(whfs_log_dir)/qcalarm # batch QC logs - -db_purge_log_dir : $(whfs_log_dir)/db_purge # db_purge token -db_purge_backup_retention_use : ON # db_purge token for using backup retention value - -purge_files_log_dir : $(whfs_log_dir)/misc # purge_files token - -whfs_bin_dir : $(whfs_base_dir)/bin # WHFS executables -sws_parent_dir : $(whfs_bin_dir) # SWS parent dir -sws_home_dir : $(whfs_bin_dir)/pa # SWS dir - -# ----------------------------------------------------------------- -# The Gage Precip Processor tokens -# ----------------------------------------------------------------- - -gage_pp_userid : oper # controlling UNIX user -gage_pp_host : dx # controlling UNIX system -gage_pp_data : $(pproc_local_data)/gpp_input # input data files location -gage_pp_log : $(pproc_log)/gage_pp # daily log files location -gage_pp_sleep : 10 # sleep duration in seconds in between queries -gage_pp_enable : ON # gpp enabled; shef uses to determine post -shef_post_precip : OFF # post to Precip/CurPrecip tables -build_hourly_enable : ON # Enable the build_hourly application - -# ---------------------------------------------------------------- -# The following tokens are most likely to be customized by the user -# (the first 4 MUST be customized at each site in the .Apps_defaults_site file) -# ---------------------------------------------------------------- -hv_center_lat : 35.0 # HydroView center latitude -hv_center_lon : -97.8 # HydroView center longitude -hv_height_in_pixels : 900 # Hydroview map height in pixels -hv_width_in_pixels : 1200 # Hydroview map width in pixels -hv_map_width : 320 # HydroView map width (nautical miles) -hv_pointdata_display : ON # Hydroview point data display flag (ON, OFF) -hv_hours_in_window : 4 # Change window hours -hv_zoom_out_limit : 20 # Limits how far the map can be zoomed out -hv_disclosure_limit : 60 # Prog disclosure limit -hv_zoom_threshold : 150 # nautical miles; Hydroview - # detail level for cities/towns -hv_map_projection : FLAT # Sets default map projection used in - # hydroview/MPE. Options are FLAT, POLAR - # or HRAP. -hv_refresh_minutes : 15 # HydroView auto refresh time (minutes) -hv_riverbasis : maxobsfcst # initial river basis for river characteristics -hv_min_dur_filled : 0.0 # Minimum percentage of accum interval covered - # by precip data. -ppp_ppd_local_7am_window : 3 # Number of +/- hours around 7 AM local to - # to use PPP and PPD reports for 24 hour - # precip summaries. - # values either obs, fcst, maxobsfcst -shefencode_prodid : CCCCNNNXXX # product identifier for outgoing SHEF - # encoded messages from Hydro Time Series -whfs_editor : whfs_editor # WHFS text editor -rpf_linewidth : 80 # width of line in RiverPro generated products -rpf_min_dur_filled : 0.25 # min percent time of requested precip dur in RiverPro -office_prefix : K # fourth char prepended to 3-char office id -vtec_record_stageoffset : 2.0 # ft offset from record value for H-VTEC field -vtec_record_flowoffset : 5000.0 # cfs offset from record value for H-VTEC field -pproc_s2_gridgen_hrs : 5 # WHFS Stage II lookback (hours) -whfs_min_dur_filled : 0.83 # WHFS min fractional time duration needed for radar accumulations -whfs_min_area_covered : 0.80 # WHFS min fractional area needed to compute MAPs -whfs_printcommand_HP : lp # command used to print WHFS apps reports on HP -whfs_printcommand_LX : lp # command used to print WHFS apps reports - # on LX -whfs_e19_print_command : "lp -o cpi=19 -o lpi=7" # command used to print e19 text reports - -dam_icon_color : BROWN # Color used for dam icon in Hydroview -timeseries_begintime : 5 # number of days back relative to current time -timeseries_endtime : 3 # number of days ahead relative to current time -timeseries_showcat : 2 # scale by data and show categories -timeseries_linewidth : 1 # width of line drawn on graph -timeseries_mode : STATION # set to GROUP or STATION mode -rpf_stage_window : 0.5 # set stage window for determining the trend - # variables in RiverPro -show_vtecqc_window : IF_ERROR #or ALWAYS, used in RiverPro -rpf_endtime_shifthrs : 6 # in RiverPro -event_expire_withinhr : 3 # in RiverPro - -#=====Tokens To Generate Areal FFG from Mosaicked FFG Grids for Use By SSHP===== -# (NOTE: gaff_rfc_list MUST be customized at EVERY Field Office) - -gaff_execution : ON # ON/OFF token for the gen_areal_ffg process - # the gen_areal_ffg process is run from the - # process_dpa_files script at WFOs -gaff_rfc_list : ABRFC,LMRFC # list of RFCs to be mosaicked - # list is comma separated, no embedded - # spaces are allowed -gaff_input_dir : /data/fxa/img/SBN/netCDF/HRAP/FFG - # directory containing gridded FFG - # generated by RFCs -gaff_look_back_limit : 60 # number of hours to look back for valid gridded - # FFG data for input -gaff_mosaic_dir : $(whfs_misc_grid_dir) # directory containing output - # mosaicked gridded FFG in - # netCDF format -gaff_durations : 1,3,6 # FFG durations in hours - # list is comma separated, no embedded - # spaces are allowed - - -# ================= "ds_" system tokens (see more in site file) =============== - -ofs_dir : $(apps_dir)/rfc/nwsrfs/ofs -util_dir : $(apps_dir)/rfc/nwsrfs/util -calb_dir : $(apps_dir)/rfc/nwsrfs/calb -ifp_dir : $(apps_dir)/rfc/nwsrfs/ifp -icp_dir : $(apps_dir)/rfc/nwsrfs/icp -ens_dir : $(apps_dir)/rfc/nwsrfs/ens -fld_dir : $(apps_dir)/rfc/fld - - -hdb_dir : $(apps_dir)/rfc/hdb - -# = = = = = = = = = = = = = = = = = = = = = = end "ds_" system requirements = = - -ofs_rls : $(ofs_dir)/bin/RELEASE -util_rls : $(util_dir)/bin/RELEASE -calb_rls : $(calb_dir)/bin/RELEASE -ffg_rls : $(ffg_dir)/bin/RELEASE -ifp_rls : $(ifp_dir)/bin/RELEASE -icp_rls : $(icp_dir)/bin/RELEASE -ens_rls : $(ens_dir)/bin/RELEASE -hdb_rls : $(hdb_dir)/bin/RELEASE -fld_rls : $(fld_dir)/bin/RELEASE -xsets_rls : $(xsets_dir)/bin/RELEASE -xnav_rls : $(xnav_dir)/bin/RELEASE -xdat_rls : $(xdat_dir)/bin/RELEASE - -ofs_arc : $(ofs_dir)/bin/ARCHIVE -util_arc : $(util_dir)/bin/ARCHIVE -calb_arc : $(calb_dir)/bin/ARCHIVE -ffg_arc : $(ffg_dir)/bin/ARCHIVE -ifp_arc : $(ifp_dir)/bin/ARCHIVE -icp_arc : $(icp_dir)/bin/ARCHIVE -ens_arc : $(ens_dir)/bin/ARCHIVE -hdb_arc : $(hdb_dir)/bin/ARCHIVE -fld_arc : $(fld_dir)/bin/ARCHIVE -xsets_arc : $(xsets_dir)/bin/ARCHIVE -xnav_arc : $(xnav_dir)/bin/ARCHIVE -xdat_arc : $(xdat_dir)/bin/ARCHIVE -# = = = = = = = = = = = = = = = = = = = = = = end of other "ds_" tokens = = = = - -# LDAD shefencode tokens -ldad_data_dir : /awips/ldad/data # the LDAD internal data dir -shefenc_pe_table : $(ldad_data_dir)/ShefEncoder_PE.tbl -shefenc_units_table : $(ldad_data_dir)/ShefEncoder_Units.tbl - -# NWSRFS tokens - -rfs_dir : $(apps_dir)/rfc/nwsrfs # Top-level rfs mt. -rfs_sys_dir : $(rfs_dir)/sys_files # RFS system files -rfs_doc : $(rfs_dir)/doc # NWSRFS documentation - -# OFS tokens -locks_dir : $(rfs_dir)/locks -ofs_lock_max_wait : 60 # no. of mins to wait to get an ofs lock -ofs_lock_wait_interval : 5 # no. of secs 'tween retries to get an ofs lock -ofs_locks_max_pass : 4 # no. of attempts to make to get a set of locks. - -ofs_level : oper -ofs_reor_lvl : oper_new -ofs_inpt_grp : oper - -home_files_workstation : ds - -ofs_log_output : off # whether to output file r/w info -ofs_error_output : on # whether to output file error info -fortran_stderr : 7 # FORTRAN standard error unit - -ofs_bin : $(ofs_dir)/bin # OFS executables dir -ofs_files : $(ofs_dir)/files # OFS file group -ofs_fs5files : $(ofs_files)/$(ofs_level)/fs5files # OFS files dir -ofs_reorder_dir : $(ofs_files)/$(ofs_reor_lvl)/fs5files # OFS reordered files -ofs_output : $(ofs_dir)/output # OFS output dir -ofs_input : $(ofs_dir)/input/$(ofs_inpt_grp) # OFS input dir -ofs_input_dflt : $(ofs_dir)/input/$(ofs_inpt_grp) # OFS input dir -ofs_shefdata_dir: $(ofs_files)/$(ofs_level)/shefdata # OFS SHEF data dir -ofs_shefout_dir : $(ofs_files)/$(ofs_level)/shefdata # OFS shefout file dir -ofs_mods_dir : $(ofs_files)/$(ofs_level)/mods # OFS MODS files dir -ofs_griddb_dir : $(ofs_files)/$(ofs_level)/griddb # OFS gridded fields -ofs_scripts : $(ofs_dir)/scripts # OFS scripts dir -ofs_server : apwk01g2 # OFS "slave" server -my_output : $(ofs_output)/$(LOGNAME) # users ofs output files - -ndfd2rfs_input : $(ofs_files)/$(ofs_level)/ndfd -ndfd2rfs_output : $(my_output) -ndfd2rfs_log_level : 0 - -fldview_dir : $(apps_dir)/rfc/fldview/floodmapdata - -# calb tokens -calb_bin : $(calb_dir)/bin -calb_lib : $(calb_dir)/lib - -calb_data_grp : oper -calb_inpt_grp : oper -calb_input : $(calb_dir)/input/$(calb_inpt_grp) -calb_output : $(calb_dir)/output -calb_sta_ts_dir : $(calb_dir)/data/sta_ts/$(calb_data_grp) -calb_area_ts_dir : $(calb_dir)/data/area_ts/$(calb_data_grp) -peakflow_data_dir : $(calb_dir)/data/area_ts/$(calb_data_grp) - -calb_gzio_read : off # whether or not to read gzipped DATACARD files -calb_gzio_write : off # whether or not to write gzipped DATACARD files - -nwsrfs_calbfile_default : CARD # default calibration file type -nwsrfs_platform : AIX # operating system - -# ICP tokens -icp_bin : $(icp_dir)/bin -icp_pw : hILLEL -icp_scripts : $(icp_dir)/scripts - -mcp_decks : $(calb_input)/mcp3 -mcp_dir : $(calb_rls) - -# IFP tokens -ifp_help_dir : $(ifp_dir)/help_files # IFP help files -ifp_bin_dir : $(ifp_dir)/bin/RELEASE # IFP bin files - ref in code -ifp_nwsrfs_bin_dir : $(ifp_dir)/bin/RELEASE # ifp_nwsrfs bin - ref in code -ifp_sys_dir : $(ifp_dir)/system # IFP system files -ifp_scripts_dir : $(ifp_dir)/scripts # IFP script files -ifp_options_dir : $(ifp_dir)/options # IFP options files -ifp_colors_dir : $(ifp_options_dir)/colors # IFP color files -ifp_fs5files : $(HOME)/ofs_ifp/fs5files # user copy of fs5files -ifp_rfc : ofstest # name of RFC to run -ifp_num_columns : 3 # number of columns to display -ifp_gif_files : $(ofs_files)/$(ofs_level)/gif_files # gif files directory -ifp_sacco_dir : $(ofs_files)/$(ofs_level)/sacsnow_clim -ifp_dhm_data_dir : /data/dhm/$(LOGNAME) -ifp_griddb_dir : $(ifp_dhm_data_dir)/precip - -# Ensemble (ens) tokens - -espts_dir : $(ens_dir)/files/$(ofs_level)/espts #espts files esp -espadp_dir : $(ens_dir) -preadj_dir : $(ens_dir)/files/$(ofs_level)/cpc_fcsts -ens_input : $(ens_dir)/input/$(ofs_level) -ens_output : $(ens_dir)/output -ens_files : $(ens_dir)/files/$(ofs_level) -ens_scripts : $(ens_dir)/scripts - -# ens_pre tokens -##FXA_HOME : /px1data #taken out by kwz.2/11/04 -enspre_griddb : $(FXA_DATA)/Grid/SBN/netCDF/CONUS211/CPCoutlook -ens_log_dir : $(ens_output)/$(ofs_level) -ens_msglog_level : 5 -preadj_outts_dir : $(calb_area_ts_dir)/pre - -# FLDGRF tokens (added 6 April 2000) - -fldgrf_iface : $(HOME)/fldgrf - -# ofsde tokens - -ofsde_log_dir : $(ofs_output)/ofsde_logs # ofsde log dir - # (formerly ofsde_output_dir) -ofsde_ndate : 7 # number of days to search for forecast temps -ofsde_rrstime_check : OFF # flag to check obs times of RRS data - # against window around 12Z (OFF/ON) - -# intervals for max/min temperatures (used by ofsde) -# these represent number of hours around 12z - -intlrmn : 8 -inturmn : 2 -intlrzn : 2 -inturzn : 2 -intlrzx : 8 -inturzx : 2 -siipp_calc_624_PP : OFF # flag for calculating 6hr and 24hr - # PP data from PC data - # if running RFCWide, should be set to OFF - -# defaults for geographic data - -geo_data : $(apps_dir)/geo_data -geo_util : $(geo_data)/util - -geo_ifp_bin : $(geo_data)/$(ifp_rfc)/binary -geo_ifp_ascii : $(geo_data)/$(ifp_rfc)/ascii - -#===================== PRECIP_PROC Application Tokens ======================== - -# precip_proc directory - -pproc_dir : $(apps_dir)/precip_proc # precip proc top - # level dir -pproc_bin : $(pproc_dir)/bin # dir with precip proc exes -pproc_local : $(pproc_dir)/local # dir with local items, esp. data -pproc_local_data : $(pproc_local)/data # dir with local data -pproc_local_bin : $(pproc_local)/bin # dir with local bin -pproc_log : $(pproc_local_data)/log # dir with local logs - -pproc_util_log_dir : $(pproc_log)/misc # miscellaneous logs - -# DecodeDPA tokens (formerly DecodeHDP tokens that looked like hdp_*) - -dpa_log_dir : $(pproc_log)/decodedpa # DPA Decoder logs -dpa_prod_dir : /data/fxa/ispan/hdp # DPA input directory -dpa_error_dir : $(pproc_local_data)/stage1_error # DPA error files -dpa_arch_dir : $(pproc_local_data)/stage1_archive # DPA archives -dpa_wind : 10 - - -dpa_filter_decode : ON # flag for non-top-of-hour - # filtering of decoded products - # ON - filter products for decode - # OFF - do not filter (ie decode all products) - -dpa_decode_window : 10 # number of minutes around top - # of hour for filtering products for - # decoding - -dpa_archive : OFF # ON/OFF flag for archiving products - # OFF - do not archive products - # ON - archive products and filter based - # on value of dpa_archive_window - -dpa_archive_window : 10 # number of minutes around top - # of hour for filtering products for archiving - -dpa_dirname1 : /data/fxa/radar # first part of directory name - # containing DPA products for - # associated or dial in radars -dpa_dirname2 : DPA/layer0/res4/level256 # second part of directory name - # containing DPA products for - # associated or dial in radars -dpa_grid_dir : $(pproc_local_data)/stage1_decoded # decoded DPA radar grids - -# siipp tokens - -intpc : 10 # interval (minutes) around top of hour for using PC data -intlppp : 2 -intuppp : 2 -intppq : 2 -siipp_log_dir : $(pproc_log)/siipp # Stage II preprocessor logs - # (formerly siipp_output_dir) - -# tokens for stageiii -st3_help : $(pproc_local_data)/app/stage3/help # online help text - -st3_rfc : host -awips_rfc_id : TUA # 3 char AWIPS RFC identifier - # must be all upper case - -# tokens for stageiii output -st3_mapx_id : xmrg # identifier for Stage 3 output -st3_date_form : mdY # date format - # current allowable = Ymd or mdY - # similar to formatting codes for - # strftime function - -st3_output : $(ofs_griddb_dir) # dir for xmrg files for MAPX - # ofs_griddb_dir defined outside of pproc -st3_out_dir : $(pproc_local_data)/stage3 -post_output : $(st3_out_dir)/post_analysis - -# defaults for netCDF output - -st3_netcdf_loc : arkansas_red_basin_river_forecast_center_tulsa_ok - # underscores needed between words -st3_netcdf_swlat : 33.603 -st3_netcdf_swlon : 106.456 -st3_netcdf_selat : 32.433 -st3_netcdf_selon : 92.322 -st3_netcdf_nelat : 38.027 -st3_netcdf_nelon : 90.678 -st3_netcdf_nwlat : 39.420 -st3_netcdf_nwlon : 106.652 - -#defaults for auto stageiii -st3_auto_graphic_scale : 2.4 # used by gif file generation - -#===================== disagg Tokens (old disagg process)======================== - -disagg_msglog_level : 30 # message level - # possible values are 1,10,20,30,...80 - # lower values signify less info in log - -disagg_dur : 24 # maximum duration of precip gage data to - # be disaggregated - # possible values = 2,3,...,24 - -disagg_look_back : 0 # time (hours) to look back from current hour - # for precip gage data to be disaggregated - -disagg_radius : 3 # number of HRAP bins within which the QPE - # will be averaged for disagg - # for example, if disagg_radius = 3, then - # the 9 nearest neighbor QPE bin values - # will be averaged -disagg_set_date : 0 # identifier for current date (yyyymmdd). - # Default value is 0 - set to - # today date - -disagg_set_hour : 0 # identifier for current hour (hh). - # Default value is 0 - # Possible values = 0,1,2,3,...,23 - -disagg_log_dir : $(pproc_log)/disagg # directory containing disagg logs - -# =============== Multi-Sensor Precipitation Estimator (MPE) ================ - -rfcw_rfcname : host -rfcwide_logs_dir : $(pproc_log)/mpe_fieldgen -hmap_mpe_timelapse : 1000 # time between images, in milliseconds, for the MPE - # time lapse display - -### tokens for input ### - -rfcwide_input_dir : $(pproc_local_data)/app/mpe - -rfcwide_satpre_dir : /data/fxa/img/SBN/netCDF/HRAP/SPE/AE/CONUS - -# the help_dir token needs a trailing slash because it is required byt -# the RFC software the processes the help info... - -rfcwide_help_dir : $(rfcwide_input_dir)/help/ -rfcwide_misbin_dir : $(rfcwide_input_dir)/misbin -rfcwide_prism_dir : $(rfcwide_input_dir)/prism -rfcwide_gageloc_dir : $(rfcwide_input_dir)/gage_locations -rfcwide_beamheight_dir : $(rfcwide_input_dir)/beam_height -rfcwide_utiltriangles_dir : $(rfcwide_input_dir)/utiltriangles - -### tokens for output ### -### NOTE: xmrg files are stored in dir defined by rfcwide_xmrg_dir token below - -rfcwide_output_dir : $(pproc_local_data)/mpe # fka ofs_griddb_dir defined outside of pproc - -rfcwide_gagetriangles_dir : $(rfcwide_output_dir)/gagetriangles -rfcwide_drawpre_dir : $(rfcwide_output_dir)/draw_precip - -rfcwide_avg_rmosaic_dir : $(rfcwide_output_dir)/avgrmosaic -rfcwide_max_rmosaic_dir : $(rfcwide_output_dir)/maxrmosaic -rfcwide_rmosaic_dir : $(rfcwide_output_dir)/rmosaic -rfcwide_bmosaic_dir : $(rfcwide_output_dir)/bmosaic -rfcwide_mmosaic_dir : $(rfcwide_output_dir)/mmosaic -rfcwide_mlmosaic_dir : $(rfcwide_output_dir)/mlmosaic -rfcwide_lmosaic_dir : $(rfcwide_output_dir)/lmosaic -rfcwide_lsatpre_dir : $(rfcwide_output_dir)/lsatpre -rfcwide_gageonly_dir : $(rfcwide_output_dir)/gageonly - -rfcwide_height_dir : $(rfcwide_output_dir)/height -rfcwide_index_dir : $(rfcwide_output_dir)/index -rfcwide_locbias_dir : $(rfcwide_output_dir)/locbias -rfcwide_locspan_dir : $(rfcwide_output_dir)/locspan -rfcwide_p3lmosaic_dir : $(rfcwide_output_dir)/p3lmosaic - -rfcwide_xmrg_dir : $(rfcwide_output_dir)/qpe -rfcwide_statevar_dir : $(rfcwide_output_dir)/state_var -rfcwide_sat_statevar_dir : $(rfcwide_output_dir)/sat_state_var - -# ==================== MPE Tokens =============================== - -#daily qc options token defaults to 'off' where daily qc options are grayed out; values are 'on' and 'off' -mpe_dqc_options : off -mpe_temperature_window : 60 # The window in minutes the dqc preprocessor - # searches around a synoptic time - # (00z,06z,12z,18z) for temperature data. -mpe_dqc_max_precip_neighbors : 30 -mpe_dqc_max_temp_neighbors : 20 -mpe_dqc_precip_deviation : 3.0 -mpe_dqc_temperature_deviation : 10.0 -mpe_dqc_min_good_stations : 5 -mpe_copy_level2_dqc_to_ihfs_shef : OFF -mpe_copy_level2_dqc_to_archive_shef : OFF -mpe_dqc_num_days : 10 - -#daily qc preprocessor tokens -dqc_preprocessor_basetime : 12Z #The value can be 12Z, 18Z, 00Z, or 06Z - -### MPE base directory tokens. -mpe_dir : $(pproc_local_data)/mpe -mpe_gageqc_dir : $(mpe_dir)/dailyQC -mpe_scratch_dir : $(mpe_gageqc_dir)/scratch -mpe_app_dir : $(pproc_local_data)/app/mpe -mpe_fieldgen_product_dir : $(mpe_dir) - -### MPE station list tokens -mpe_station_list_dir : $(mpe_app_dir)/station_lists -mpe_site_id : ounx -mpe_area_names : $(mpe_site_id) - -### MPE static data files -mpe_prism_dir : $(mpe_app_dir)/prism -mpe_misbin_dir : $(mpe_app_dir)/misbin -mpe_utiltriangles_dir : $(mpe_app_dir)/utiltriangles -mpe_beamheight_dir : $(mpe_app_dir)/beam_height -mpe_climo_dir : $(mpe_app_dir)/climo -mpe_help_dir : $(mpe_app_dir)/help -mpe_gridmask_dir : $(mpe_app_dir)/grid_masks -mpe_basin_file : $(whfs_geodata_dir)/basins.dat - -### MPE precipitation gage qc directories -mpe_precip_data_dir : $(mpe_gageqc_dir)/precip -mpe_bad_precip_dir : $(mpe_precip_data_dir)/bad -mpe_dev_precip_dir : $(mpe_precip_data_dir)/dev -mpe_map_dir : $(mpe_precip_data_dir)/MAP -mpe_grid_precip_dir : $(mpe_precip_data_dir)/grid -mpe_point_precip_dir : $(mpe_precip_data_dir)/point - -### MPE temperature gage qc directories -mpe_temperature_data_dir : $(mpe_gageqc_dir)/temperature -mpe_bad_temperature_dir : $(mpe_temperature_data_dir)/bad -mpe_dev_temperature_dir : $(mpe_temperature_data_dir)/dev -mpe_mat_dir : $(mpe_temperature_data_dir)/MAT -mpe_grid_temperature_dir : $(mpe_temperature_data_dir)/grid -mpe_point_temperature_dir : $(mpe_temperature_data_dir)/point - -### MPE freezing level gage qc directories -mpe_freezing_data_dir : $(mpe_gageqc_dir)/freezing_level -mpe_maz_dir : $(mpe_freezing_data_dir)/MAZ -mpe_grid_freezing_dir : $(mpe_freezing_data_dir)/grid -mpe_point_freezing_dir : $(mpe_freezing_data_dir)/point -ruc_model_data_dir : /data/fxa/Grid/SBN/netCDF/CONUS211/RUC - -### MPE 1 hour mosaics and fields and supporting reference fields. -mpe_avgrmosaic_dir : $(mpe_fieldgen_product_dir)/avgrmosaic -mpe_maxrmosaic_dir : $(mpe_fieldgen_product_dir)/maxrmosaic -mpe_bmosaic_dir : $(mpe_fieldgen_product_dir)/bmosaic -mpe_d2d_files_dir : $(mpe_fieldgen_product_dir)/d2d_files -mpe_polygon_dir : $(mpe_fieldgen_product_dir)/edit_polygon -mpe_gageonly_dir : $(mpe_fieldgen_product_dir)/gageonly -mpe_gagetriangles_dir : $(mpe_fieldgen_product_dir)/gagetriangles -mpe_height_dir : $(mpe_fieldgen_product_dir)/height -mpe_index_dir : $(mpe_fieldgen_product_dir)/index -mpe_lmosaic_dir : $(mpe_fieldgen_product_dir)/lmosaic -mpe_locbias_dir : $(mpe_fieldgen_product_dir)/locbias -mpe_locspan_dir : $(mpe_fieldgen_product_dir)/locspan -mpe_lsatpre_dir : $(mpe_fieldgen_product_dir)/lsatpre -mpe_mlmosaic_dir : $(mpe_fieldgen_product_dir)/mlmosaic -mpe_mmosaic_dir : $(mpe_fieldgen_product_dir)/mrmosaic -mpe_p3lmosaic_dir : $(mpe_fieldgen_product_dir)/p3lmosaic -mpe_qpe_dir : $(mpe_fieldgen_product_dir)/qpe -mpe_qpe_sbn_dir : $(mpe_fieldgen_product_dir)/qpe_sbn -mpe_qpe_gif_dir : $(mpe_fieldgen_product_dir)/qpe_gif -mpe_qpe_grib_dir : $(mpe_fieldgen_product_dir)/qpe_grib -mpe_qpe_grib_sbn_dir : $(mpe_fieldgen_product_dir)/qpe_grib_sbn -mpe_qpe_jpeg_dir : $(mpe_fieldgen_product_dir)/qpe_jpeg -mpe_qpe_netcdf_dir : $(mpe_fieldgen_product_dir)/qpe_netcdf -mpe_rmosaic_dir : $(mpe_fieldgen_product_dir)/rmosaic -mpe_sat_state_var : $(mpe_fieldgen_product_dir)/sat_state_var -mpe_state_var : $(mpe_fieldgen_product_dir)/state_var -mpe_srmosaic_dir : $(mpe_fieldgen_product_dir)/srmosaic -mpe_sgmosaic_dir : $(mpe_fieldgen_product_dir)/sgmosaic -mpe_srgmosaic_dir : $(mpe_fieldgen_product_dir)/srgmosaic -mpe_satpre_dir : /data/fxa/img/SBN/netCDF/HRAP/SPE/AE/CONUS -mpe_rfcmmosaic_dir : $(mpe_fieldgen_product_dir)/rfcmmosaic -mpe_rfcbmosaic_dir : $(mpe_fieldgen_product_dir)/rfcbmosaic - -### Tokens related to the MPE Editor map display. -mpe_config_dir : $(whfs_config_dir) -mpe_center_lat : 35.0 -mpe_center_lon : -97.8 -mpe_height_in_pixels : 900 -mpe_width_in_pixels : 1200 -mpe_map_width : 320 -mpe_zoom_out_limit : 20 -mpe_disclosure_limit : 60 -mpe_map_projection : FLAT - -### Misc tokens -mpe_load_hourlypc : ON -mpe_gageqc_gif_dir : $(whfs_image_dir) -mpe_gif_location : 34.0,-97.0,34.0,-94.0,33.0,-94.0 -mpe_overlay_dir : $(whfs_geodata_dir) -mpe_editor_logs_dir : $(pproc_log)/mpe_editor -mpe_type_source : RG:GOES,RR:ALERT,RM:SNOTEL,RP:LARC,RZ:COOP - -### Tokens which control the products generated by MPE Fieldgen. -mpe_locbias_1hr_rerun : OFF # ON/OF .Apps_defaultsF flag to - # determine if local bias should be - # recalculated as part of the mpe_fieldgen - # rerun from hmap_mpe - # ON -- recalc loc bias on rerun - # OFF -- do not recalc loc bias on rerun -mpe_del_gage_zeros : OFF # ON/OFF flog to determine if a zero gage - # value should be removed from consideration - # if the radar shows > 0.0 - # ON -- check for and remove zero gage values - # OFF -- do not check for or remove zero - # gage values - -mpe_qpe_fieldtype : MMOSAIC # field type to be saved as qpe -mpe_generate_list : BMOSAIC,GAGEONLY,LMOSAIC,LSATPRE,MLMOSAIC,MMOSAIC,RMOSAIC,SATPRE -mpe_base_radar_mosaic : RMOSAIC # The base radar mosaic used for the fields - # that mpe_fieldgen generates -mpe_show_missing_gage : None # MPE missing gage display. - # (None,All,Reported) -mpe_bad_gages_dir : $(rfcwide_output_dir)/bad_gages - -### directory locations of various format MPE output grid files -mpe_gif_dir : $(rfcwide_output_dir)/qpe_gif -mpe_jpeg_dir : $(rfcwide_output_dir)/qpe_jpeg -mpe_netcdf_dir : $(rfcwide_output_dir)/qpe_netcdf -mpe_grib_dir : $(rfcwide_output_dir)/qpe_grib - -### which format MPE output grid files to save -mpe_save_gif : nosave -mpe_save_jpeg : nosave -mpe_save_netcdf : nosave -mpe_save_grib : nosave - -### prefixes for various format MPE output grid files, blank by default -mpe_gif_id : -mpe_jpeg_id : -mpe_netcdf_id : -mpe_grib_id : - -### mpe gage QC tokens -mpe_gage_qc : ON -mpe_sccqc_threshold : 2.0 -mpe_scc_boxes_failed : 4 -mpe_msc_precip_limit : 1.0 -mpe_split_screen : OFF - -### mpe polygon tokens -mpe_polygon_action_order : None -mpe_polygon_field_order : None - -### tokens which control the transmission of RFC bias data. -mpe_transmit_bias : OFF -transmit_bias_on_save : NO -transmit_bias_on_rerun : NO -rfc_bias_input_dir : $(mpe_dir)/bias_message_input -rfc_bias_output_dir : $(mpe_dir)/bias_message_output -process_bias_log_dir : $(pproc_log)/process_bias_message -send_local_bias_when_rfc_bias_missing : NO - -### rfc qpe to wfo tokens -mpe_send_qpe_to_sbn : OFF -mpe_generate_areal_qpe : OFF -gaq_app_dir : $(pproc_local_data)/app/gen_areal_qpe -gaq_input_dir : /data/fxa/Grid/SBN/netCDF/HRAP/QPE -gaq_log_dir : $(pproc_log)/gen_areal_qpe -gaq_rfc_mask_dir : $(gaq_app_dir) -gaq_temp_xmrg_dir : $(rfcwide_output_dir)/rfcqpe_temp -gaq_xmrg_1hr_dir : $(rfcwide_output_dir)/rfcqpe01 -gaq_xmrg_6hr_dir : $(rfcwide_output_dir)/rfcqpe06 -gaq_xmrg_24hr_dir : $(rfcwide_output_dir)/rfcqpe24 - -### token which controls how PC precipitation totals are derived. -sum_pc_reports : NO - -geo_st3_bin : $(geo_data)/$(st3_rfc)/binary #geo_data defined outside of pproc -geo_st3_ascii : $(geo_data)/$(st3_rfc)/ascii - -### tokens for sending MPE mean field bias data to the ORPG - -bias_message_dir : $(apps_dir)/data/fxa/radar/envData - -### tokens for Lightning Data processing - -lightning_input_dir : /data/fxa/point/binLightning/netcdf - -lightning_log_dir : $(pproc_log)/lightning_proc - -### tokens for D2D display - -mpe_d2d_display_grib : ON # ON/OFF token to determine if further - # processing of grib file for D2D display - # is required - -d2d_input_dir : /data/fxa/Grid/SBN/Raw # dir containing grib files - # to be processed for D2D display - -mpe_send_grib : OFF # ON/OFF token to determine if grib file is - # to be sent to other sites such as NPVU - -# disagg processing tokens - -mpe_disagg_execute : OFF -mpe_disagg_method : POINT -mpe_disagg_6hreq_0 : 1 -mpe_disagg_6hrgt_0 : 1 - -#====== High-resolution Precipitation Estimator (HPE) tokens==================== - -# DecodeDHR tokens (formerly DecodeHDP tokens that looked like hdp_*) - -dhr_log_dir : $(pproc_log)/decodedhr # DHR Decoder logs - -dhr_prod_dir : /data/fxa/ispan/hdhr # DHR input directory - -dhr_dirname1 : /data/fxa/radar # first part of directory name -# # containing DHR products for -# # associated or dial in radars - -dhr_dirname2 : DHR/layer0/res1/level256 # second part of directory name - # containing DHR products for - # associated or dial in radar -dhr_grid_dir : $(pproc_local_data)/dhr_decoded # decoded DHR radar grids - -dhr_error_dir : $(pproc_local_data)/dhr_error # DHR error files -dhr_arch_dir : $(pproc_local_data)/dhr_archive # DHR archives - -# DecodeDSP tokens (formerly DecodeHDP tokens that looked like hdp_*) - -dsp_log_dir : $(pproc_log)/decodedsp # DSP Decoder logs - -dsp_prod_dir : /data/fxa/ispan/hdsp # DSP input directory - -dsp_dirname1 : /data/fxa/radar # first part of directory name -# # containing DSP products for -# # associated or dial in radars - -dsp_dirname2 : STP/layer0/res2/level256 # second part of directory name - # containing DSP products for - # associated or dial in radars - # NOTE that DSP is level256 vs level16 for - # STP and this is where it is stored - # in AWIPS -dsp_grid_dir : $(pproc_local_data)/dsp_decoded # decoded DSP radar grids -dsp_error_dir : $(pproc_local_data)/dsp_error # DSP error files -dsp_arch_dir : $(pproc_local_data)/dsp_archive # DSP archives - - -hpe_generate_list : DHRMOSAIC,BDHRMOSAIC,ERMOSAIC,EBMOSAIC -hpe_qpe_fieldtype : ERMOSAIC # field type to be saved as qpe - -hpe_input_dir : $(pproc_local_data)/app/hpe -hpe_output_dir : $(pproc_local_data)/hpe - -hpe_log_dir : $(pproc_local_data)/log/hpe - -hpe_hrap_grid_factor : 4 # 1 for HRAP grid - # 4 for quarter HRAP grid - -hpe_dhrmosaic_dir : $(hpe_output_dir)/dhrmosaic -hpe_bdhrmosaic_dir : $(hpe_output_dir)/bdhrmosaic -hpe_ermosaic_dir : $(hpe_output_dir)/ermosaic -hpe_ebmosaic_dir : $(hpe_output_dir)/ebmosaic -hpe_avg_ermosaic_dir : $(hpe_output_dir)/avgrmosaic -hpe_max_ermosaic_dir : $(hpe_output_dir)/maxrmosaic - -hpe_dspheight_dir : $(hpe_output_dir)/height -hpe_dspindex_dir : $(hpe_output_dir)/index -hpe_height_dir : $(hpe_output_dir)/height -hpe_index_dir : $(hpe_output_dir)/index - -hpe_dhrmosaic_grib_dir : $(hpe_dhrmosaic_dir)/grib -dhrmosaic_netcdf_dir : $(hpe_dhrmosaic_dir)/netcdf -dhrmosaic_gif_dir : $(hpe_dhrmosaic_dir)/gif -hpe_bdhrmosaic_grib_dir : $(hpe_bdhrmosaic_dir)/grib -bdhrmosaic_netcdf_dir : $(hpe_bdhrmosaic_dir)/netcdf -bdhrmosaic_gif_dir : $(hpe_bdhrmosaic_dir)/gif -hpe_ermosaic_grib_dir : $(hpe_ermosaic_dir)/grib -ermosaic_netcdf_dir : $(hpe_ermosaic_dir)/netcdf -ermosaic_gif_dir : $(hpe_ermosaic_dir)/gif -hpe_ebmosaic_grib_dir : $(hpe_ebmosaic_dir)/grib -ebmosaic_netcdf_dir : $(hpe_ebmosaic_dir)/netcdf -ebmosaic_gif_dir : $(hpe_ebmosaic_dir)/gif - -dhrmosaic_save_grib : save -dhrmosaic_save_gif : nosave -dhrmosaic_save_netcdf : nosave -bdhrmosaic_save_grib : save -bdhrmosaic_save_gif : nosave -bdhrmosaic_save_netcdf : nosave -ermosaic_save_grib : save -ermosaic_save_gif : nosave -ermosaic_save_netcdf : nosave -ebmosaic_save_grib : save -ebmosaic_save_gif : nosave -ebmosaic_save_netcdf : nosave - -hpe_gif_dir : $(hpe_output_dir)/hpe_gif -hpe_jpeg_dir : $(hpe_output_dir)/hpe_jpeg -hpe_netcdf_dir : $(hpe_output_dir)/hpe_netcdf -hpe_grib_dir : $(hpe_output_dir)/hpe_grib -hpe_xmrg_dir : $(hpe_output_dir)/hpe_xmrg -hpe_save_gif : nosave -hpe_save_jpeg : nosave -hpe_save_netcdf : nosave -hpe_save_grib : nosave - -dhr_window : 15 -dsp_window : 15 -dsp_duration : 60 - -hpe_base_radar_mosaic : ERMOSAIC -hpe_qpe_fieldtype : ERMOSAIC -hpe_load_misbin : OFF -hpe_debug_log : ON -hpe_use_locbias : OFF -hpe_runfreq : 5 -hpe_timelag : 5 -hpe_bias_source : RFC -hpe_rfc_bias_lag : 2 -hpe_purge_logage : 720 -hpe_purge_fileage : 180 -hpe_purge_xmrgage : 75 - -dhrmosaic_d2d_display_grib : ON -ermosaic_d2d_display_grib : ON -ebmosaic_d2d_display_grib : ON -bdhrmosaic_d2d_display_grib : ON - -hpe_send_grib : OFF # ON/OFF token to determine if grib file is - # to be sent to other sites such as NPVU - -#========END HPE tokens====================================================== - -# ================= Flash Flood Guidance System ============================= - -ffg_level : oper - -ffg_dir : $(apps_dir)/rfc/nwsrfs/ffg # Top-level ffg -ffg_bin : $(ffg_dir)/bin # FFG execute dir -ffg_files : $(ffg_dir)/files # FFG file group -ffg_gsfiles : $(ffg_files)/$(ffg_level) # FFG files dir -ffg_out_dir : $(ffg_dir)/output # FFG output dir -ffg_grib_out : $(ffg_out_dir)/grib # GRIB output -ffg_scripts : $(ffg_dir)/scripts # FFG scripts -ffg_gff_level : grff # regular grid ffg dir -ffg_gro_level : grro # regular grid ro dir - .Apps_defaults -ffg_usr_dir : $(ffg_gsfiles)/user # FFG user dir -ffg_area_dir : $(ffg_gsfiles)/affg # FFG area dir -ffg_cary_dir : $(ffg_gsfiles)/cary # FFG carryover dir -ffg_define_dir : $(ffg_gsfiles)/define # FFG definition dir -ffg_gridff_dir : $(ffg_gsfiles)/$(ffg_gff_level) # FFG grid ff dir -ffg_gridro_dir : $(ffg_gsfiles)/$(ffg_gro_level) # FFG grid ro dir -ffg_hwatr_dir : $(ffg_gsfiles)/hffg # FFG headwater dir - -ffg_gridpm_dir : $(ffg_gsfiles)/gdpm # grid runoff adjust parameters -ffg_group_dir : $(ffg_gsfiles)/grpp # FFG groups of products -ffg_prod_dir : $(ffg_gsfiles)/prod # FFG products dir -ffg_text_dir : $(ffg_gsfiles)/text # FFG text dir -ffg_wsup_dir : $(ffg_gsfiles)/wsup # Water supply dir - -# ffg program control -ffg_error_output : on # whether to output error messages -ffg_log_output : off # whether to output log messages - -# ===================== GRIB packer/encoder ================================= - -grib_dir : $(apps_dir)/rfc/grib # Top level grib -grib_rls : $(pproc_bin) # location of gribit executable -grib_arc : $(grib_dir)/bin/ARCHIVE # grib archive -grib_in_dir : $(rfcwide_xmrg_dir) # depends on data to be encoded -grib_out_dir : $(grib_dir)/output # GRIB encoded files -grib_error_output : on # turn on/off GRIB error output -grib_set_subcenter_0 : off # set subcenter to 0 - # on - set subcenter to 0 - # off - do not set subcenter to 0 - -# end of ffg apps - -#================== XSETS Apps_defaults Tokens - 08/03/2001 =================== - -# [] = default value -#................................. -# Date Control -#................................. -xsets_date_used : SYSTEM # computer system clock - # OFSFILES = forecast time series - # mm/dd/ccyy = explicit date, 12Z - -#................................. -# Directories and files to use -#................................. -xsets_dir : $(apps_dir)/rfc/xsets -xsets_level : oper -xsets_files : $(xsets_dir)/files -xsets_xsfiles : $(xsets_files)/$(xsets_level) -xsets_param_dir : $(xsets_xsfiles)/param -xsets_config_file : xsetsconfig -xsets_output_dir : $(xsets_xsfiles)/output - -#................................. -# Commands -#................................. -xsets_editor : "nedit" -xsets_hydrographs_cmd : "$(xsets_dir)/bin/RELEASE/new_hydroplot" -xsets_print_cmd : "lp" -xsets_xmit_cmd : "cat " - -#................................. -# Parameters for creation of hydrographs -#................................. -xsets_hydro_button : NO # Create Make Hydro button, [NO] - (currently unused) -xsets_make_hydro : NO # Create .gif hydrographs, [NO] - -#................................. -# NEW_HYDROPLOTS parameters -#................................. -xsets_html_daily_dir : /pub/FcstGraphs # Location of gif images on - web server -xsets_html_flood_dir : /pub/FloodGraphs # Location of gif images on - web server -xsets_hydrographs_html : 1 # 1 = create basic html - 0 = no html created -xsets_hydrographs_output: "$(xsets_output_dir)/gifs" -xsets_hydrographs_param : $(xsets_xsfiles)/hydrographs/param - -#................................. -# File Print Options and Settings -#................................. -xsets_add_remarks : NO # Add remark after each site, [NO] -xsets_brackets : NO # Put brackets around latest stage, - # forecasts and dates, [NO] -xsets_cmt_line : NO # YES = separate line, - # NO = append to description, river -xsets_expanded_dates : YES # Insert MMDD before values, [NO] -xsets_fgroup_preamble : "FORECAST GROUP IS" #Preamble for the fgroup (string) -xsets_H_precision : 1 # 0, [1], or 2 decimal precision of stages -xsets_output_style : E # E = Expanded, each day has line, - # C = Compact -xsets_print_crests : YES # Print crest comment, [NO] -xsets_print_disclaimer : YES # Print disclaimer, [NO] -xsets_print_fs : YES # YES = encode flood stage in SHEF, - # [NO] = display as comment -xsets_print_fs_cross : COMMENT # Time level passes flood stage - # [NO] = don't include, - # SHEF = encode in SHEF, - # COMMENT = display as comment -xsets_print_ls : COMMENT # Latest stage - # [NO] = don't include, - # SHEF = encode in SHEF, - # COMMENT = display as comment -xsets_print_MAP : NO # Print MAP values, [NO] -xsets_print_qpf : COMMENT # Print QPF values - # [NO] = don't include, - # SHEF = encode in SHEF, - # COMMENT = display as comment -xsets_print_ws : YES # Display warning/caution stage, [NO] -xsets_product_hdr : PIT # Indentifier in Product Header, non-AWIPS -xsets_Q_precision : 1 # 0, [1], 2 decimal precision of flows -xsets_signature : $(LOGNAME) #User signature (string) -xsets_wmo_id : TTAA00 KTUR DDHHMM # the wmo id -xsets_ws_label : "WARNING" # Label for WARNING/[CAUTION] stage (string) -xsets_zczc : YES # Include ZCZC & NNNN, [NO], non-AWIPS - -#................................. -# Run Options -#................................. -xsets_age_check : 6 # Number of hours old of forecast before - # error generated, [6] -xsets_edit_lock : NO # Lock main display when editing SETS file, [NO]??? -xsets_gen_summary : NO # Include summary of flood locations, [NO], Currently Unused -xsets_msg_obs_warn : YES # Print warning when observed values are - # missing, [NO] -xsets_numhrs_curob : 12 # number of hours back from current time to use - # informix obs as "current obs" -xsets_num_MAP_values : 4 # Number [4] of MAP values to include in product -xsets_num_qpf_values : 4 # Number [4] of qpf values to include in product -xsets_numdays_hydro : 3 # Run Parameters for FCSTPROG -xsets_ofs_select : OFS # OFS or IFP for time series files -xsets_stdout : NO # Send wprint messages to stdout, [NO] -xsets_time : Z # Time Zone code used in product - # ([Z], E, C, M, P, A, H OR N) -# ================== end of xsets tokens ======================================= - -#================== XNAV Apps_defaults Tokens - 03/29/2000 ==================== -# defaults for program XNAV - -xnav_user : oper - -#................................. -# Date/time related tokens -#................................. -db_days : 10 -xnav_daily_days : 30 -xnav_ffg_periods : 3 -xnav_sixhr_periods : 40 -xnav_hyd_days_fut : 5 -xnav_hyd_days_prev : 5 -xnav_precip_hours : 240 -xnav_settoday : - -#................................. -# Directories and files to use -#................................. -xnav_dir : $(apps_dir)/rfc/xnav -xnav_data : $(xnav_dir)/data -xnav_params : $(xnav_dir)/parameters -xnav_P1xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb -xnav_S1xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb -xnav_bin_dir : $(xnav_dir)/bin -xnav_data_dir : $(xnav_data) -xnav_ffg_dir : $(ffg_dir)/output/$(xnav_user) -xnav_geo_data : $(geo_data)/$(ifp_rfc)/binary -xnav_gif_dir : $(HOME)/gifs/xnav -xnav_grid_ffg_dir : $(ffg_dir)/files/$(xnav_user)/grff -xnav_localdata_dir : $(xnav_data)/localdata -xnav_misc_dir : $(xnav_data)/misc_data -xnav_qpfbin_dir : $(xnav_data)/wfoqpf -xnav_rfcfmap_dir : $(xnav_data)/rfcqpf -xnav_rules_dir : $(xnav_params)/rules -xnav_shefdata_dir : $(xnav_data)/shefdata -xnav_wfoqpf_dir : $(apps_dir)/rfc/data/products -xnav_xmrg_dir : $(rfs_dir)/ofs/files/$(xnav_user)/griddb -nmap_xmrg_dir : $(xnav_rfcfmap_dir)/nmap - -#................................. -# Fonts and colors -#................................. -xnav_action_color : yellow -xnav_flood_color : red -xnav_ok_color : green -xnav_ts1_color : yellow -xnav_ts2_color : magenta -xnav_label_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_legend_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_list_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_menu_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_pb_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_text_font : -*-charter-bold-*-*-*-17-*-*-*-*-*-*-* -xnav_toggle_font : "-*-new century schoolbook-*-*-*-*-14-*-*-*-*-*-*-*" -xnav_town_font : "-*-new century schoolbook-bold-*-*-*-14-*-*-*-*-*-*-*" - -idma_label_font : "-*-new century schoolbook-bold-*-*-*-12-*-*-*-*-*-*-*" -idma_data_font : "-*-new century schoolbook-bold-*-*-*-18-*-*-*-*-*-*-*" - -#................................. -# Window size controls -#................................. -xnav_hrap_x : 59 -xnav_hrap_xor : 311 -xnav_hrap_y : 83 -xnav_hrap_yor : 410 -xnav_hydro_height : 400 -xnav_hydro_width : 750 -xnav_scale : 8.0 -xnav_scale_colors : 3.0 -xnav_x_offset : 100 -xnav_y_offset : 100 - -#................................. -# Display options -#................................. -xnav_basins : yes -xnav_counties : no -xnav_cwas : no -xnav_fgroups : no -xnav_flights : no -xnav_grid : no -xnav_hydro_segments : no -xnav_radars : no -xnav_rfc : yes -xnav_rivers : yes -xnav_states : yes -xnav_towns : yes - -#................................. -# Other control options -#................................. -load_db_on_boot : no -load_ofs_on_boot : no -check_flood_on_boot : no -use_new_xmrg : yes -xnav_afosid : ? #PITRR1RHA -xnav_editor : nedit -xnav_exception_file : exception_file -xnav_grid_ffg_pattern : xhr -xnav_locrangecheck : no -xnav_office_hdr : ? #KRHA -xnav_only_use_ofs_data : no -xnav_pe : "HG HP HT PP PT QR QT SD SF SW TA TD TS XC" -xnav_precip_filter : .01 -xnav_route_code : ? #ES -xnav_seg_type : 2 -xnav_send_shef : no -xnav_show_p1_files : yes -xnav_suppress_msg : yes -xnav_xmit_cmd : "cat " - -# ====== MAKE24HRXMRG Tokens ====== - -make24hrxmrg_settoday : # Run date in mm/dd/yyyy. Empty means uses number - # of days back argument to program. -make24hrxmrg_debug_level : 0 # Set debug output level. 1 or 2 yields more output. -make24hrxmrg_endtime : # Hour to end the 24 hour total. Default: 12Z if not - # given. -make24hrxmrg_tz : Z # Time zone; E, C, M, P, Y, H, L, or Z (defautlt). - -# ================== end of xnav tokens ======================================== - -#================== XDAT Apps_defaults Tokens - 03/29/2000 ==================== -# defaults for program XDAT - -xdat_user : oper - -#................................ -# Date/time related tokens -#................................ -xdat_flood_hours : 6 -xdat_settoday : - -#.................................. -# Directories and files to use -#.................................. -xdat_dir : $(apps_dir)/rfc/xdat -xdat_data : $(xdat_dir)/data -xdat_params : $(xdat_dir)/parameters -xdat_groups_dir : $(xdat_params)/groups -xdat_localdata_dir : $(xdat_data)/localdata -xdat_shefdata_dir : $(xdat_data)/shefdata - -#.................................. -# Fonts and colors to use -#.................................. -xdat_label_font : ncenb14 -xdat_list_font : helvb14 -xdat_text_font : user14x19 -xdat_pb_font : ncenb14 - -#................................. -# Window size controls -#................................. -xdat_scale : 1.0 - -#.................................. -# Display Options -#.................................. -xdat_clear_id : yes - -#.................................. -# Other Control Options -#.................................. -xdat_afosid : ?ofstest? -xdat_office_hdr : ??? -xdat_post_unk : $(shef_post_unk) -xdat_route_code : ??? -xdat_send_shef : no -xdat_xmit_cmd : "cat " -# ================== end of xdat tokens ======================================== - -#================== send_rfc Apps_defaults Tokens - 3/08/2001 ================= -send_rfc_dir : $(apps_dir)/rfc/send_rfc -send_rfc_input_dir : $(send_rfc_dir)/data/send -send_rfc_id : WWW -send_hardcopy_nnn : PRI-WRK-EDI-SNO-ADM-RVF -send_rfc_hardcopy : $(send_rfc_dir)/data/sbnprods -send_rfc_hpc : 0 -send_rfc_host : ds-www -send_rfc_alternate : 0 -# ================== end of send_rfc tokens ==================================== - -#================== verify Apps_defaults Tokens - 08/03/2001 ================== -# defaults for program verify -vsys_output : $(vsys_dir)/output #location of output files -vsys_input : $(vsys_dir)/input #location of input files -vsys_files : $(vsys_dir)/files #location of verify files -vsys_scripts : $(vsys_dir)/scripts #location of verify scripts -vsys_output_log : test.log #name of log file -vsys_ihfsdb : $(db_name) #ihfs_db name -vsys_vdb : vdb1_1rfc #verification db name for RFC="rfc" -verify_rls : $(vsys_dir)/bin/RELEASE #The release directory. -vsys_rls : $(verify_rls) #Not really needed, but consistent. - -# ================== end of verify tokens ====================================== - -# ================== RFC Archive Database tokens =============================== - -archive_shefdata_dir : /data/fxa/ispan/hydro_adbs # directory for archive data -archive_enable : OFF # ON/OFF - Enable or Disable - # archive data feed (OFF by default) -metar_output_dir : $(whfs_local_data_dir)/metar_output # metar2shef temp output directory - # used if archive_enable is ON - -#================== Directory tokens for RFC Archive Database ================== -adb_dir : /rfc_arc # Base RFC Archive Directory -adb_raw_que : /rfc_arc_data/q/raw/ # pathname for raw q input directory -adb_pro_que : /rfc_arc_data/q/processed/ # pathname for processed q input directory -adb_bin_dir : $(adb_dir)/bin # pathname for the bin directory -adb_cfg_dir : $(adb_dir)/cfg # pathname for the config directory -adb_lib_dir : $(adb_dir)/lib # pathname for the lib directory -adb_logs_dir : $(adb_dir)/logs # pathname for the logs directory -adb_scripts_dir: $(adb_dir)/scripts # pathname for the scripts directory - -#================== Shefdecode tokens for RFC Archive Database ================= - -adb_shef_winpast : 9999 # number of days in past to post data for RAW -adb_shef_winfuture : 9999 # number of mins in future to post obs data - # for RAW. -adb_shef_winpast_pro : 9999 # number of days in past to post data -adb_shef_winfuture_pro : 9999 # number of minutes in future to post obs data -shefdecode_rax_userid : oper # controlling UNIX user -adb_shefdecode_input : $(adb_cfg_dir)/decoders # adb SHEF parameter file - # location -adb_shef_raw_perflog : OFF # ON/OFF - create a separate performance - # log file to save internal decoder timing - # messages for monitoring performance -adb_shef_raw_logs_dir : $(adb_logs_dir)/decoder/raw/logs # pathname for the - # daily logs directory -adb_shef_raw_err_dir : $(adb_logs_dir)/decoder/raw/err # pathname for the - #product logs directory -adb_shef_raw_keeperror : ALWAYS # keep files (=ALWAYS) or only - # when errors occur (=IF_ERROR) -adb_shef_raw_post_unk : IDS_AND_DATA # NONE - do not post to the UnkStnValue tables - # values IDS_ONLY or IDS_AND_DATA - # will post everything - # to the UnkStnValue table -adb_shef_pro_post_unk : NONE # NONE - do not post to the UnkStnValue tables - # values IDS_ONLY or IDS_AND_DATA - # will post everything - # to the UnkStnValue table -adb_shef_pro_perflog : OFF # ON/OFF - create a separate performance - # log file to save internal decoder timing - # messages for monitoring performance -adb_shef_pro_logs_dir : $(adb_logs_dir)/decoder/processed/logs # pathname for the - # daily logs directory -adb_shef_pro_err_dir : $(adb_logs_dir)/decoder/processed/err # pathname for the - # product logs directory -adb_shef_pro_keeperror : ALWAYS # keep files (=ALWAYS) or only - # when errors occur (=IF_ERROR) -adb_shef_raw_checktab : ON # ON checks location and ingestfilter tables -adb_shef_pro_checktab : OFF # ON checks location and ingestfilter tables -adb_shef_duplicate_raw : USE_REVCODE # Token for allowing duplicate records to be - # posted for raw decoder. -adb_shef_duplicate_pro : USE_REVCODE # Same thing but for processed decoder. -adb_shef_raw_dupmess : ON # duplication messages from adb raw decoder. -adb_shef_raw_locmess : ON # invalid location messages from adb raw decoder. -adb_shef_raw_elgmess : ON # invalid ingestfilter messages from adb raw - # decoder. -adb_shef_raw_storall : OFF # OFF - default- will only write to pecrsep table - # ON will write to both pecrsep and peirsep tables -adb_shef_pro_dupmess : ON # duplication messages from adb processed decoder. -adb_shef_pro_locmess : OFF # invalid location messages from adb pro decoder. -adb_shef_pro_elgmess : OFF # invalid ingestfilter messages from adb pro - # decoder. -adb_shef_pro_tmp_dir : $(adb_pro_que) -adb_shef_raw_tmp_dir : $(adb_raw_que) -adb_shef_raw_add_adjust : OFF - -#========== IHFS->RAX synchronization tokens for RFC Archive Database ========== -adb_sync_logs_dir : $(adb_logs_dir)/dbsync # directory for synchronization log files -adb_sync_mode : ANALYSIS # ANALYSIS or UPDATE -adb_sync_tablenames : ALL # List of table names to synchronize -adb_sync_ihfs_ingest: USE # USE or IGNORE -adb_sync_rivercrit : ACTION # ACTION, FIS or BOTH - - -#================== DatView program tokens for RFC Archive Database ============ -datview_db_name : $(adb_name) -datview_startdate : '1975-01-01 00:00:00' -datview_label_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* -datview_list_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* -datview_text_font : -schumacher-clean-bold-r-normal-*-14-*-75-75-c-80-*-* -datview_text2_font :-adobe-courier-bold-r-normal-*-*-140-*-*-m-*-iso8859-1 -datview_bg_color : black -datview_fg_color : white -datview_ob_color1 : green -datview_ob_color2 : blue -datview_ob_color3 : yellow -datview_ob_color4 : red -datview_ob_color5 : DarkOrange -datview_ob_color6 : SlateGray1 -datview_plot_font : -adobe-courier-bold-r-normal-*-*-80-*-*-m-*-iso8859-1 -datview_plot_width : 750 -datview_plot_height : 420 -datview_data_dir : /home/oper -datview_raw_shef_dir : $(adb_raw_que) -datview_pro_shef_dir : $(adb_pro_que) -datview_office_header : KTUA # to be set by each RFC -datview_pil : OKCRR1TUR # to be set by each RFC - - -#=============== ARCH_NAV Apps_defaults Tokens - 05/5/2005 ================== -# defaults for program ARCNAV - -anav_user : oper - -#................................. -# Date/time related tokens -#................................. -anav_daily_days : 30 -anav_sixhr_periods : 40 -anav_precip_hours : 24 - - -#................................. -# Directories and files to use -#................................. - -anav_dir : /awips/hydroapps/lx/rfc/xnav -anav_data : /data -anav_flatfiles : $(anav_data)/flatfiles -anav_params : $(anav_dir)/parameters -anav_data_dir : $(anav_data) -anav_geo_data : /awips/hydroapps/lx/geo_data/$(ifp_rfc)/binary -anav_gif_dir : /rfc_arc/data/arcnav/gifs -anav_localdata_dir : $(anav_data)/localdata -anav_xmrg_dir : $(anav_flatfiles) - -#................................. -# Fonts and colors -#................................. -anav_label_font : courb14gr -anav_legend_font : courb14gr -anav_list_font : courb14gr -anav_menu_font : 9x15 -anav_pb_font : courb12gr -anav_text_font : helvb18gr -anav_toggle_font : courb14gr -anav_town_font : courb12gr - -#................................. -# Window size controls -#................................. -anav_hrap_x : 200 -anav_hrap_xor : 850 -anav_hrap_y : 200 -anav_hrap_yor : 470 -anav_hydro_height : 400 -anav_hydro_width : 750 -anav_scale : 3.5 -anav_scale_colors : 3.0 -anav_x_offset : 300 -anav_y_offset : 300 - -#................................. -# Display options -#................................. -anav_basins : yes -anav_counties : no -anav_cwas : no -anav_fgroups : no -anav_flights : no -anav_grid : no -anav_hydro_segments : no -anav_radars : no -anav_rfc : no -anav_rivers : no -anav_states : yes -anav_towns : yes - -#................................. -# Other control options -#................................. -anav_editor : nedit -anav_suppress_msg : yes - -# ================= end of arcnav tokens ====================================== - -# ================== end of RFC Archive Database tokens ======================== - -# ================== SSHP Directory Structure and application tokens =============================== - -local_data_sshp_dir : $(whfs_local_data_dir)/sshp_transfer -sshp_control_dir : $(whfs_local_data_dir)/app/sshp -sshp_ofs_extract_text_dir : $(local_data_sshp_dir)/ofs_extract_text -sshp_ofs_extract_xml_dir : $(local_data_sshp_dir)/ofs_extract_xml -sshp_ingest_xml_dir : $(local_data_sshp_dir)/ingest_xml -sshp_incoming_dir : $(local_data_sshp_dir)/incoming -sshp_outgoing_dir : $(local_data_sshp_dir)/outgoing -sshp_log_dir : $(whfs_log_dir)/sshp -sshp_java_process_host : px1f -sshp_invoke_map_preprocess: ON -sshp_map_qpe_to_use : MIXED # choices are: MIXED, LOCAL_BEST_ONLY, RFC_ONLY -sshp_fcst_ts : FZ # SSHP type-source code for generated forecasts -sshp_initial_forecast_length: 24 # length of forecast in hours -sshp_max_forecast_length: 120 # max length of forecast in hours that user can make generated in GUI -sshp_sac_update_expiration_hours: 25 # number of hours after which to update locally the SAC states -sshp_sac_update_hours_forward: -2 # number of hours forward of last top of hour to save sac states - - # negative -2 means 2 hours BEFORE last top of hour -sshp_adjustment_pairing_minutes : 70 -sshp_adjustment_interpolation_hours : 3 -sshp_show_simulated_timeseries : true - -sshp_data_dir : $(whfs_local_data_dir)/sshp # base sshp dynamic data dir -sshp_precip_dir : $(sshp_data_dir)/precip # default location for saved precip files -sshp_background_forecast_output_dir : $(sshp_data_dir)/forecast -sshp_background_forecast_length : 48 # length of a background forecast - -# ==================== Radar Climatology Tokens ============================== -radclim_data_dir : $(pproc_local_data)/app/radclim - -# ==================== PDC Preprocessor Tokens =============================== -pdc_clean_cache_minutes : 60 -pdc_temperature_hours : 168 -pdc_height_hours : 168 -pdc_snow_hours : 168 -pdc_wind_hours : 168 -pdc_weather_hours : 168 -pdc_precip_hours : 168 -pdc_lower_window : 5 -pdc_upper_window : 5 - -pdc_pp_dir : $(whfs_local_data_dir)/pdc_pp -pdc_pp_log_dir : $(whfs_log_dir)/pdc_pp - -# ====================== Historical Data Browser Tokens ======================= - -hdb_help_dir : $(hdb_dir)/help_files # Historical data browser help - # files -hdb_script_directory : $(hdb_dir)/scripts # Historical data browser - # scripts dir -hdb_config_dir : $(hdb_dir)/app-defaults # Historical data browser - # configuration file directory - -hdb_height_in_pixels : 900 # Historical data browser map height in - # pixels -hdb_width_in_pixels : 1200 # Historical data browser map width in - # pixels -hdb_center_lat : 35 # The initial center latitude of the HDB -hdb_center_lon : -88.9 # The initial center longitude of the HDB -hdb_map_width : 2999.862 # The width in nautical miles of the area - # displayed in the HDB -hdb_disclosure_limit : 60 # The disclosure limit for displaying finer - # detail in the city overlay. -hdb_map_projection : FLAT # The initial map projection used by HDB. - # Possible values: FLAT, POLAR, HRAP -# ====================== DHM Token ======================= -dhm_data_dir : $(ofs_files)/$(ofs_level)/dhmdata # DHM data dir -dhm_d2d_data_dir : /data/fxa/Grid/LOCAL/netCDF/DHM # d2d data dir -dhm_d2d_notify_bin_dir : /awips/fxa/bin # d2d notify bin dir -rdhm_input_dir : $(geo_data) -dhm_rain_plus_melt_data_dir: $(geo_data) -# ================== end of SSHP Directory Structure tokens ======================== - - -# The syntax needed in the file is: -# -# token : resource -# -# where: token is defined as a string delimited by white space or -# the delimiter, -# the delimiter between token and resource is the :, -# no white space needs to surround the delimiter, -# comments are indicated by a #, -# neither token nor resource can begin with a # or :, -# a # or a : can be embedded within resource, -# resource can contain white space if it is bounded by -# the ' or " characters, -# blank lines are allowed. -# referbacks are indicated by $(...). The '...' is resolved -# the same way any other token is, and is substituted for -# the $(...) string to compose the final resource value. -# Multiple referbacks are allowed in a resource, but -# embedded referbacks are not allowed (i.e. no -# $($(...)) allowed). -# Note that this file is read only if the token can not be resolved -# as an environment variable. -# -# ============================================================================== diff --git a/cave/build/static/common/cave/etc/riverpro/basis.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/basis.tpl.EAX deleted file mode 100755 index 73ee6a410e..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/basis.tpl.EAX +++ /dev/null @@ -1,11 +0,0 @@ -# BASIS SECTION TEMPLATES -# ----------------------- -# -name: system -phrasestr:The current weather is dominated by a [...]. -phrasestr:This weather system will produce rainfall amounts ranging from [...]. -phrasestr:The extended outlook is for [...]. -# -name: default -phrasestr: ...insert basis section here!!!... -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/basis.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/basis.tpl.OAX deleted file mode 100755 index 73ee6a410e..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/basis.tpl.OAX +++ /dev/null @@ -1,11 +0,0 @@ -# BASIS SECTION TEMPLATES -# ----------------------- -# -name: system -phrasestr:The current weather is dominated by a [...]. -phrasestr:This weather system will produce rainfall amounts ranging from [...]. -phrasestr:The extended outlook is for [...]. -# -name: default -phrasestr: ...insert basis section here!!!... -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/basis.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/basis.tpl.XXX deleted file mode 100755 index 73ee6a410e..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/basis.tpl.XXX +++ /dev/null @@ -1,11 +0,0 @@ -# BASIS SECTION TEMPLATES -# ----------------------- -# -name: system -phrasestr:The current weather is dominated by a [...]. -phrasestr:This weather system will produce rainfall amounts ranging from [...]. -phrasestr:The extended outlook is for [...]. -# -name: default -phrasestr: ...insert basis section here!!!... -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/compare.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/compare.tpl.EAX deleted file mode 100755 index fe9595173d..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/compare.tpl.EAX +++ /dev/null @@ -1,22 +0,0 @@ -# HISTORICAL CREST COMPARISON SUBSECTION TEMPLATES -# -#------------------------------------------------- -name: default -varlist: -formats: T_CAMDDYYYY -bulletstr:This crest compares to a previous crest of & -feet on . -# -name: ref_stgval_compare -varlist: -formats: T_CAMDDYYYY -phrasestr:The crest near feet compares to & -a previous crest of feet on . -# -# -name: ref_stgtype_compare -varlist: -formats: T_CAMDDYYYY -phrasestr:The crest near feet compares to & -a previous crest of feet on . -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/compare.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/compare.tpl.OAX deleted file mode 100755 index fe9595173d..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/compare.tpl.OAX +++ /dev/null @@ -1,22 +0,0 @@ -# HISTORICAL CREST COMPARISON SUBSECTION TEMPLATES -# -#------------------------------------------------- -name: default -varlist: -formats: T_CAMDDYYYY -bulletstr:This crest compares to a previous crest of & -feet on . -# -name: ref_stgval_compare -varlist: -formats: T_CAMDDYYYY -phrasestr:The crest near feet compares to & -a previous crest of feet on . -# -# -name: ref_stgtype_compare -varlist: -formats: T_CAMDDYYYY -phrasestr:The crest near feet compares to & -a previous crest of feet on . -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/compare.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/compare.tpl.XXX deleted file mode 100755 index fe9595173d..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/compare.tpl.XXX +++ /dev/null @@ -1,22 +0,0 @@ -# HISTORICAL CREST COMPARISON SUBSECTION TEMPLATES -# -#------------------------------------------------- -name: default -varlist: -formats: T_CAMDDYYYY -bulletstr:This crest compares to a previous crest of & -feet on . -# -name: ref_stgval_compare -varlist: -formats: T_CAMDDYYYY -phrasestr:The crest near feet compares to & -a previous crest of feet on . -# -# -name: ref_stgtype_compare -varlist: -formats: T_CAMDDYYYY -phrasestr:The crest near feet compares to & -a previous crest of feet on . -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/cta.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/cta.tpl.EAX deleted file mode 100755 index b965f15ed6..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/cta.tpl.EAX +++ /dev/null @@ -1,53 +0,0 @@ -# CALL-TO-ACTION SECTION TEMPLATES -#--------------------------------- -# -name: dollar_signs -phrasestr:||$$ -# -name: CTABANNER -phrasestr:Call-to-action statements... -# -name: cardrive -phrasestr:For your safety...Do not drive through flooded areas. -# -name: riverbanks -phrasestr:Caution is urged when walking near riverbanks. -# -name: noaaradio -phrasestr:Stay tuned to NOAA weather radio or local media for -phrasestr: the latest on this situation. -# -name: laterproduct -phrasestr: A followup product will be issued later this afternoon. -# -name: laststatement -phrasestr:This will be the last statement issued for these sites -phrasestr: for the recent flood event. If conditions change, more -phrasestr: statements will be issued as needed. -# -name: drive -phrasestr:Never attempt to drive through a flooded roadway...this is how most -phrasestr:flood deaths result. -# -name: QPF -phrasestr:River flood forecasts are based on forecast amounts of -phrasestr: precipitation over the next 24 to 48 hours. If precipitation -phrasestr: amounts are greater or less than anticipated...river -phrasestr: forecasts will differ. Updated river flood statements or -phrasestr: warnings will be issued when necessary. -# -name: nextstatement -phrasestr: A followup statement will be issued in approximately 6 hours. -# -name: EAX_FF_1 -phrasestr:DO NOT DRIVE YOUR VEHIVLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. -phrasestr: THE WATER DEPTH MAY BE TOO GREAT TO ALLOW YOUR CAR TO CROSS SAFELY. -phrasestr: VEHICLES CAUGHT IN RISING WATER SHOULD BE ABANDONED QUICKLY. MOVE TO HIGHER GROUND. -# -name: EAX_FF_2 -phrasestr:|| ||A FLASH FLOOD WARNING MEANS THAT FLOODING IS IMMINENT OR OCCURRING. -phrasestr: IF YOU ARE IN THE WARNING AREA MOVE TO HIGHER GROUND IMMEDIATELY. -phrasestr: RESIDENTS LIVING ALONG STREAMS AND CREEKS SHOULD TAKE IMMEDIATE PRECAUTIONS TO PROTECT LIFE AND PROPERTY. -# -name:EAX_latlon_lid -phrasestr:|| ||LAT...LON 3901 9456 3887 9439 3889 9426 3902 9413 3918 9432 || ||$$ \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/cta.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/cta.tpl.OAX deleted file mode 100755 index b965f15ed6..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/cta.tpl.OAX +++ /dev/null @@ -1,53 +0,0 @@ -# CALL-TO-ACTION SECTION TEMPLATES -#--------------------------------- -# -name: dollar_signs -phrasestr:||$$ -# -name: CTABANNER -phrasestr:Call-to-action statements... -# -name: cardrive -phrasestr:For your safety...Do not drive through flooded areas. -# -name: riverbanks -phrasestr:Caution is urged when walking near riverbanks. -# -name: noaaradio -phrasestr:Stay tuned to NOAA weather radio or local media for -phrasestr: the latest on this situation. -# -name: laterproduct -phrasestr: A followup product will be issued later this afternoon. -# -name: laststatement -phrasestr:This will be the last statement issued for these sites -phrasestr: for the recent flood event. If conditions change, more -phrasestr: statements will be issued as needed. -# -name: drive -phrasestr:Never attempt to drive through a flooded roadway...this is how most -phrasestr:flood deaths result. -# -name: QPF -phrasestr:River flood forecasts are based on forecast amounts of -phrasestr: precipitation over the next 24 to 48 hours. If precipitation -phrasestr: amounts are greater or less than anticipated...river -phrasestr: forecasts will differ. Updated river flood statements or -phrasestr: warnings will be issued when necessary. -# -name: nextstatement -phrasestr: A followup statement will be issued in approximately 6 hours. -# -name: EAX_FF_1 -phrasestr:DO NOT DRIVE YOUR VEHIVLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. -phrasestr: THE WATER DEPTH MAY BE TOO GREAT TO ALLOW YOUR CAR TO CROSS SAFELY. -phrasestr: VEHICLES CAUGHT IN RISING WATER SHOULD BE ABANDONED QUICKLY. MOVE TO HIGHER GROUND. -# -name: EAX_FF_2 -phrasestr:|| ||A FLASH FLOOD WARNING MEANS THAT FLOODING IS IMMINENT OR OCCURRING. -phrasestr: IF YOU ARE IN THE WARNING AREA MOVE TO HIGHER GROUND IMMEDIATELY. -phrasestr: RESIDENTS LIVING ALONG STREAMS AND CREEKS SHOULD TAKE IMMEDIATE PRECAUTIONS TO PROTECT LIFE AND PROPERTY. -# -name:EAX_latlon_lid -phrasestr:|| ||LAT...LON 3901 9456 3887 9439 3889 9426 3902 9413 3918 9432 || ||$$ \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/cta.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/cta.tpl.XXX deleted file mode 100755 index b965f15ed6..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/cta.tpl.XXX +++ /dev/null @@ -1,53 +0,0 @@ -# CALL-TO-ACTION SECTION TEMPLATES -#--------------------------------- -# -name: dollar_signs -phrasestr:||$$ -# -name: CTABANNER -phrasestr:Call-to-action statements... -# -name: cardrive -phrasestr:For your safety...Do not drive through flooded areas. -# -name: riverbanks -phrasestr:Caution is urged when walking near riverbanks. -# -name: noaaradio -phrasestr:Stay tuned to NOAA weather radio or local media for -phrasestr: the latest on this situation. -# -name: laterproduct -phrasestr: A followup product will be issued later this afternoon. -# -name: laststatement -phrasestr:This will be the last statement issued for these sites -phrasestr: for the recent flood event. If conditions change, more -phrasestr: statements will be issued as needed. -# -name: drive -phrasestr:Never attempt to drive through a flooded roadway...this is how most -phrasestr:flood deaths result. -# -name: QPF -phrasestr:River flood forecasts are based on forecast amounts of -phrasestr: precipitation over the next 24 to 48 hours. If precipitation -phrasestr: amounts are greater or less than anticipated...river -phrasestr: forecasts will differ. Updated river flood statements or -phrasestr: warnings will be issued when necessary. -# -name: nextstatement -phrasestr: A followup statement will be issued in approximately 6 hours. -# -name: EAX_FF_1 -phrasestr:DO NOT DRIVE YOUR VEHIVLE INTO AREAS WHERE THE WATER COVERS THE ROADWAY. -phrasestr: THE WATER DEPTH MAY BE TOO GREAT TO ALLOW YOUR CAR TO CROSS SAFELY. -phrasestr: VEHICLES CAUGHT IN RISING WATER SHOULD BE ABANDONED QUICKLY. MOVE TO HIGHER GROUND. -# -name: EAX_FF_2 -phrasestr:|| ||A FLASH FLOOD WARNING MEANS THAT FLOODING IS IMMINENT OR OCCURRING. -phrasestr: IF YOU ARE IN THE WARNING AREA MOVE TO HIGHER GROUND IMMEDIATELY. -phrasestr: RESIDENTS LIVING ALONG STREAMS AND CREEKS SHOULD TAKE IMMEDIATE PRECAUTIONS TO PROTECT LIFE AND PROPERTY. -# -name:EAX_latlon_lid -phrasestr:|| ||LAT...LON 3901 9456 3887 9439 3889 9426 3902 9413 3918 9432 || ||$$ \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.EAX b/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.EAX deleted file mode 100644 index 522237df7a..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.EAX +++ /dev/null @@ -1,29 +0,0 @@ -# fcst_trend_phrase.xxx, this file is located at /awips/hydroapps/whfs/local/ -# data/app/riverpro. It defines the trend phrases for different trend index, -# for normal forecast points,the trend indexes are RISE_STEADY, RISE_ABOVEFS, RISE_ABOVEWS, RISE_CONT, -# RISE_CREST, FLUCTUATE_NEAR, FALL_STEADY, FALL_BELOWFS and FALL_BELOWWS. -# for the weir points, the trend indexes are -# -# -RISE_STEADY:forecast to rise to near -RISE_ABOVEFS:expected to rise above flood stage of -RISE_ABOVEWS:forecast to rise above warning stage of -RISE_CONT:forecast to rise to near xx ft with continued rise expected -RISE_CREST:forecast to crest near -FLUCTUATE_NEAR:forecast to fluctuate near -FALL_STEADY:forecast to recede to near -FALL_BELOWFS:forecast to fall below flood stage of -FALL_BELOWWS:forecast to fall below warning stage of -#end of trend indexs and associated phrases for normal forecast points. - -#For weir points -WEIR_NO_OVERFLOW:no overflow is expected -WEIR_SLIGHT_OVERFLOW:possibility of slight overflow -WEIR_BEGIN_OVERFLOW:forecast to begin overflow -WEIR_OVERFLOW_INC:overflow depth at weir increasing to -WEIR_PRESENT_OVERFLOW:present overflow depth is about -WEIR_REMAIN_OVERFLOW:overflow to remain near depth of -WEIR_OVERFLOW_DEC:overflow depth at weir decreasing to -WEIR_END_OVERFLOW:forecast to end overflow -WEIR_STOP_OVERFLOW:overflow stopped -WEIR_RENEW_OVERFLOW:forecast to begin renewed overflow diff --git a/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.OAX b/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.OAX deleted file mode 100644 index 522237df7a..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.OAX +++ /dev/null @@ -1,29 +0,0 @@ -# fcst_trend_phrase.xxx, this file is located at /awips/hydroapps/whfs/local/ -# data/app/riverpro. It defines the trend phrases for different trend index, -# for normal forecast points,the trend indexes are RISE_STEADY, RISE_ABOVEFS, RISE_ABOVEWS, RISE_CONT, -# RISE_CREST, FLUCTUATE_NEAR, FALL_STEADY, FALL_BELOWFS and FALL_BELOWWS. -# for the weir points, the trend indexes are -# -# -RISE_STEADY:forecast to rise to near -RISE_ABOVEFS:expected to rise above flood stage of -RISE_ABOVEWS:forecast to rise above warning stage of -RISE_CONT:forecast to rise to near xx ft with continued rise expected -RISE_CREST:forecast to crest near -FLUCTUATE_NEAR:forecast to fluctuate near -FALL_STEADY:forecast to recede to near -FALL_BELOWFS:forecast to fall below flood stage of -FALL_BELOWWS:forecast to fall below warning stage of -#end of trend indexs and associated phrases for normal forecast points. - -#For weir points -WEIR_NO_OVERFLOW:no overflow is expected -WEIR_SLIGHT_OVERFLOW:possibility of slight overflow -WEIR_BEGIN_OVERFLOW:forecast to begin overflow -WEIR_OVERFLOW_INC:overflow depth at weir increasing to -WEIR_PRESENT_OVERFLOW:present overflow depth is about -WEIR_REMAIN_OVERFLOW:overflow to remain near depth of -WEIR_OVERFLOW_DEC:overflow depth at weir decreasing to -WEIR_END_OVERFLOW:forecast to end overflow -WEIR_STOP_OVERFLOW:overflow stopped -WEIR_RENEW_OVERFLOW:forecast to begin renewed overflow diff --git a/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.XXX b/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.XXX deleted file mode 100644 index 522237df7a..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/fcst_trend_phrase.XXX +++ /dev/null @@ -1,29 +0,0 @@ -# fcst_trend_phrase.xxx, this file is located at /awips/hydroapps/whfs/local/ -# data/app/riverpro. It defines the trend phrases for different trend index, -# for normal forecast points,the trend indexes are RISE_STEADY, RISE_ABOVEFS, RISE_ABOVEWS, RISE_CONT, -# RISE_CREST, FLUCTUATE_NEAR, FALL_STEADY, FALL_BELOWFS and FALL_BELOWWS. -# for the weir points, the trend indexes are -# -# -RISE_STEADY:forecast to rise to near -RISE_ABOVEFS:expected to rise above flood stage of -RISE_ABOVEWS:forecast to rise above warning stage of -RISE_CONT:forecast to rise to near xx ft with continued rise expected -RISE_CREST:forecast to crest near -FLUCTUATE_NEAR:forecast to fluctuate near -FALL_STEADY:forecast to recede to near -FALL_BELOWFS:forecast to fall below flood stage of -FALL_BELOWWS:forecast to fall below warning stage of -#end of trend indexs and associated phrases for normal forecast points. - -#For weir points -WEIR_NO_OVERFLOW:no overflow is expected -WEIR_SLIGHT_OVERFLOW:possibility of slight overflow -WEIR_BEGIN_OVERFLOW:forecast to begin overflow -WEIR_OVERFLOW_INC:overflow depth at weir increasing to -WEIR_PRESENT_OVERFLOW:present overflow depth is about -WEIR_REMAIN_OVERFLOW:overflow to remain near depth of -WEIR_OVERFLOW_DEC:overflow depth at weir decreasing to -WEIR_END_OVERFLOW:forecast to end overflow -WEIR_STOP_OVERFLOW:overflow stopped -WEIR_RENEW_OVERFLOW:forecast to begin renewed overflow diff --git a/cave/build/static/common/cave/etc/riverpro/header.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/header.tpl.EAX deleted file mode 100644 index 91c58f295a..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/header.tpl.EAX +++ /dev/null @@ -1,509 +0,0 @@ -# -# HEADER SECTION TEMPLATES -# -name: rvs -# RIVER STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:HYDROLOGIC STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BALTIMORE MD/WASHINGTON DC -phrasestr: -# -# -# -name: rvs_daily_fcst -# DAILY RIVER FORECAST -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT - DAILY FORECAST -phrasestr:NATIONAL WEATHER SERVICE BALTIMORE MD/WASHINGTON DC -phrasestr: -# -# -# -name: rva_river_stages -# ROUTINE RIVER STAGES -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVAWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:HYDROLOGIC SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: fls -# FLOOD STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:ISSUANCE NUMBER -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: flt -# TERMINATING FLOOD STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLSWBC -# phrasestr:TTAA00 KLWX DDHHMM -#phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -#phrasestr:ISSUANCE NUMBER -phrasestr: -#phrasestr:* THIS PRODUCT TERMINATES PREVIOUSLY ISSUED FLOOD STATEMENT * -# -# -# -name: flw -# FLOOD WARNING -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLWWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr:ISSUANCE NUMBER -phrasestr: -# -# -# -name: test -formats: T_HEADER -varlist: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -phrasestr: TEST...RIVER STATEMENT...TEST -# -#phrasestr:TEST HEADER SECTION -#phrasestr:Prodid = -#phrasestr:CurDate = -#phrasestr:Clist = -#phrasestr:Zlist = -#phrasestr:Countylist = -#phrasestr:Riverlist = -#phrasestr:IssuanceNumber = -# -# -# -name: hyd -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVZ048>055-MDZ001>007-009>011-013-014-016>018- -phrasestr:VAZ021-025>031-038>042-051-WVZ048>055- -phrasestr: -phrasestr:PRECIPITATION AND TEMPERATURE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: NWR_rva -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVC048>055-MDZ001>007-009>011-013-014-016>18- 1800- -# -name: stp -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVZ048>055-MDZ001>007-009>011-013-014-016>018 -phrasestr: -phrasestr:PRECIPITATION AND TEMPERATURE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: pns -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:PUBLIC INFORMATION STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: hym -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:MONTHLY RAINFALL SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: wrk -formats: T_HEADER -varlist: -# -phrasestr:RIVER STAGES...NWR SCRIPT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: rvm -formats: T_HEADER -varlist: -# -phrasestr:MISCELLANEOUS HYDROLOGIC INFORMATION -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: precip -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:MISCELLANEOUS HYDROLOGIC INFORMATION -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: PHI_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI_flw -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI-flt -formatss: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS NGTON -phrasestr: -# -# -# -name: RNK_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: RNK_flw -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:RNK_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY BOSTON MA -phrasestr: -# -# -# -name:RNK_flt -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -# -name:AKQ_flw -formats:T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_flt -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVCIE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:rvd -#RIVER AND LAKE SUMMARY -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-MDZ001-004-013-WVZ051-052-054-VAZ025>031-038>040-042-052-054>056- -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name:PHI_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:RNK_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:EAX_FFS -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLASH FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name:EAX_FFW -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - EAS ACTIVATION REQUESTED -phrasestr:FLASH FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name: rtp_am_shef -formats: T_HEADER -varlist: -phrasestr: MORNING TEMPERATURE AND PRECIPITATION SUMMARY -phrasestr: NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name: test_flw -formats: T_HEADER -varlist: -# -phrasestr:TEST ... FLOOD WARNING ... TEST -phrasestr:NATIONAL WEATHER SERVICE MYOFFICE -phrasestr: -# -phrasestr:|| ... THIS MESSAGE IS FOR TEST PURPOSES ONLY ... -phrasestr:|| ... THERE IS NO FLOODING OCCURRING ... -# -# -name: test_fls -formats: T_HEADER -varlist: -# -phrasestr:TEST ... FLOOD WARNING ... TEST -phrasestr:NATIONAL WEATHER SERVICE MYOFFICE -phrasestr: -# -phrasestr:|| ... THIS MESSAGE IS FOR TEST PURPOSES ONLY ... -phrasestr:|| ... THERE IS NO FLOODING OCCURRING ... -# -name: flw_vtec -# HEADER FOR VTEC FLOOD WARNING -formats: T_HEADER -varlist: -# -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: fls_vtec -# HEADER FOR VTEC FLOOD STATEMENT -formats: T_HEADER -varlist: -# -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: ffa_vtec -# HEADER FOR VTEC FLOOD WATCH -formats: T_HEADER -varlist: -# -phrasestr:URGENT - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WATCH -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: fls_advisory_vtec -# HEADER FOR VTEC FLOOD ADVISORY -formats: T_HEADER -varlist: -# -phrasestr:FLOOD ADVISORY -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# diff --git a/cave/build/static/common/cave/etc/riverpro/header.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/header.tpl.OAX deleted file mode 100644 index 91c58f295a..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/header.tpl.OAX +++ /dev/null @@ -1,509 +0,0 @@ -# -# HEADER SECTION TEMPLATES -# -name: rvs -# RIVER STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:HYDROLOGIC STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BALTIMORE MD/WASHINGTON DC -phrasestr: -# -# -# -name: rvs_daily_fcst -# DAILY RIVER FORECAST -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT - DAILY FORECAST -phrasestr:NATIONAL WEATHER SERVICE BALTIMORE MD/WASHINGTON DC -phrasestr: -# -# -# -name: rva_river_stages -# ROUTINE RIVER STAGES -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVAWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:HYDROLOGIC SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: fls -# FLOOD STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:ISSUANCE NUMBER -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: flt -# TERMINATING FLOOD STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLSWBC -# phrasestr:TTAA00 KLWX DDHHMM -#phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -#phrasestr:ISSUANCE NUMBER -phrasestr: -#phrasestr:* THIS PRODUCT TERMINATES PREVIOUSLY ISSUED FLOOD STATEMENT * -# -# -# -name: flw -# FLOOD WARNING -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLWWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr:ISSUANCE NUMBER -phrasestr: -# -# -# -name: test -formats: T_HEADER -varlist: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -phrasestr: TEST...RIVER STATEMENT...TEST -# -#phrasestr:TEST HEADER SECTION -#phrasestr:Prodid = -#phrasestr:CurDate = -#phrasestr:Clist = -#phrasestr:Zlist = -#phrasestr:Countylist = -#phrasestr:Riverlist = -#phrasestr:IssuanceNumber = -# -# -# -name: hyd -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVZ048>055-MDZ001>007-009>011-013-014-016>018- -phrasestr:VAZ021-025>031-038>042-051-WVZ048>055- -phrasestr: -phrasestr:PRECIPITATION AND TEMPERATURE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: NWR_rva -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVC048>055-MDZ001>007-009>011-013-014-016>18- 1800- -# -name: stp -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVZ048>055-MDZ001>007-009>011-013-014-016>018 -phrasestr: -phrasestr:PRECIPITATION AND TEMPERATURE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: pns -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:PUBLIC INFORMATION STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: hym -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:MONTHLY RAINFALL SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: wrk -formats: T_HEADER -varlist: -# -phrasestr:RIVER STAGES...NWR SCRIPT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: rvm -formats: T_HEADER -varlist: -# -phrasestr:MISCELLANEOUS HYDROLOGIC INFORMATION -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: precip -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:MISCELLANEOUS HYDROLOGIC INFORMATION -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: PHI_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI_flw -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI-flt -formatss: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS NGTON -phrasestr: -# -# -# -name: RNK_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: RNK_flw -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:RNK_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY BOSTON MA -phrasestr: -# -# -# -name:RNK_flt -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -# -name:AKQ_flw -formats:T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_flt -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVCIE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:rvd -#RIVER AND LAKE SUMMARY -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-MDZ001-004-013-WVZ051-052-054-VAZ025>031-038>040-042-052-054>056- -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name:PHI_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:RNK_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:EAX_FFS -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLASH FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name:EAX_FFW -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - EAS ACTIVATION REQUESTED -phrasestr:FLASH FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name: rtp_am_shef -formats: T_HEADER -varlist: -phrasestr: MORNING TEMPERATURE AND PRECIPITATION SUMMARY -phrasestr: NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name: test_flw -formats: T_HEADER -varlist: -# -phrasestr:TEST ... FLOOD WARNING ... TEST -phrasestr:NATIONAL WEATHER SERVICE MYOFFICE -phrasestr: -# -phrasestr:|| ... THIS MESSAGE IS FOR TEST PURPOSES ONLY ... -phrasestr:|| ... THERE IS NO FLOODING OCCURRING ... -# -# -name: test_fls -formats: T_HEADER -varlist: -# -phrasestr:TEST ... FLOOD WARNING ... TEST -phrasestr:NATIONAL WEATHER SERVICE MYOFFICE -phrasestr: -# -phrasestr:|| ... THIS MESSAGE IS FOR TEST PURPOSES ONLY ... -phrasestr:|| ... THERE IS NO FLOODING OCCURRING ... -# -name: flw_vtec -# HEADER FOR VTEC FLOOD WARNING -formats: T_HEADER -varlist: -# -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: fls_vtec -# HEADER FOR VTEC FLOOD STATEMENT -formats: T_HEADER -varlist: -# -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: ffa_vtec -# HEADER FOR VTEC FLOOD WATCH -formats: T_HEADER -varlist: -# -phrasestr:URGENT - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WATCH -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: fls_advisory_vtec -# HEADER FOR VTEC FLOOD ADVISORY -formats: T_HEADER -varlist: -# -phrasestr:FLOOD ADVISORY -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# diff --git a/cave/build/static/common/cave/etc/riverpro/header.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/header.tpl.XXX deleted file mode 100644 index 91c58f295a..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/header.tpl.XXX +++ /dev/null @@ -1,509 +0,0 @@ -# -# HEADER SECTION TEMPLATES -# -name: rvs -# RIVER STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:HYDROLOGIC STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BALTIMORE MD/WASHINGTON DC -phrasestr: -# -# -# -name: rvs_daily_fcst -# DAILY RIVER FORECAST -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT - DAILY FORECAST -phrasestr:NATIONAL WEATHER SERVICE BALTIMORE MD/WASHINGTON DC -phrasestr: -# -# -# -name: rva_river_stages -# ROUTINE RIVER STAGES -formats: T_HEADER -varlist: -# -# phrasestr:WBCRVAWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:HYDROLOGIC SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: fls -# FLOOD STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLSWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:ISSUANCE NUMBER -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: flt -# TERMINATING FLOOD STATEMENT -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLSWBC -# phrasestr:TTAA00 KLWX DDHHMM -#phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -#phrasestr:ISSUANCE NUMBER -phrasestr: -#phrasestr:* THIS PRODUCT TERMINATES PREVIOUSLY ISSUED FLOOD STATEMENT * -# -# -# -name: flw -# FLOOD WARNING -formats: T_HEADER -varlist: -# -# phrasestr:WBCFLWWBC -# phrasestr:TTAA00 KLWX DDHHMM -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr:ISSUANCE NUMBER -phrasestr: -# -# -# -name: test -formats: T_HEADER -varlist: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -phrasestr: TEST...RIVER STATEMENT...TEST -# -#phrasestr:TEST HEADER SECTION -#phrasestr:Prodid = -#phrasestr:CurDate = -#phrasestr:Clist = -#phrasestr:Zlist = -#phrasestr:Countylist = -#phrasestr:Riverlist = -#phrasestr:IssuanceNumber = -# -# -# -name: hyd -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVZ048>055-MDZ001>007-009>011-013-014-016>018- -phrasestr:VAZ021-025>031-038>042-051-WVZ048>055- -phrasestr: -phrasestr:PRECIPITATION AND TEMPERATURE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: NWR_rva -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVC048>055-MDZ001>007-009>011-013-014-016>18- 1800- -# -name: stp -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-WVZ048>055-MDZ001>007-009>011-013-014-016>018 -phrasestr: -phrasestr:PRECIPITATION AND TEMPERATURE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: pns -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:PUBLIC INFORMATION STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: hym -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:MONTHLY RAINFALL SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: wrk -formats: T_HEADER -varlist: -# -phrasestr:RIVER STAGES...NWR SCRIPT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: rvm -formats: T_HEADER -varlist: -# -phrasestr:MISCELLANEOUS HYDROLOGIC INFORMATION -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: precip -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:MISCELLANEOUS HYDROLOGIC INFORMATION -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name: PHI_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI_flw -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: PHI-flt -formatss: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS NGTON -phrasestr: -# -# -# -name: RNK_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name: RNK_flw -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:RNK_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY BOSTON MA -phrasestr: -# -# -# -name:RNK_flt -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_daily_rvs -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:RIVER STATEMENT -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -# -name:AKQ_flw -formats:T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_fls -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_flt -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVCIE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:rvd -#RIVER AND LAKE SUMMARY -formats: T_HEADER -varlist: -# -phrasestr:DCZ001-MDZ001-004-013-WVZ051-052-054-VAZ025>031-038>040-042-052-054>056- -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -# -name:PHI_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE MT HOLLY NJ -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:AKQ_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE WAKEFIELD VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:RNK_rvd -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:DAILY RIVER AND LAKE SUMMARY -phrasestr:NATIONAL WEATHER SERVICE BLACKSBURG VA -phrasestr:ISSUED BY NWS BOSTON MA -phrasestr: -# -# -# -name:EAX_FFS -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:FLASH FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name:EAX_FFW -formats: T_HEADER -varlist: -# -phrasestr: -phrasestr: -phrasestr:BULLETIN - EAS ACTIVATION REQUESTED -phrasestr:FLASH FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name: rtp_am_shef -formats: T_HEADER -varlist: -phrasestr: MORNING TEMPERATURE AND PRECIPITATION SUMMARY -phrasestr: NATIONAL WEATHER SERVICE BOSTON MA -phrasestr: -# -# -name: test_flw -formats: T_HEADER -varlist: -# -phrasestr:TEST ... FLOOD WARNING ... TEST -phrasestr:NATIONAL WEATHER SERVICE MYOFFICE -phrasestr: -# -phrasestr:|| ... THIS MESSAGE IS FOR TEST PURPOSES ONLY ... -phrasestr:|| ... THERE IS NO FLOODING OCCURRING ... -# -# -name: test_fls -formats: T_HEADER -varlist: -# -phrasestr:TEST ... FLOOD WARNING ... TEST -phrasestr:NATIONAL WEATHER SERVICE MYOFFICE -phrasestr: -# -phrasestr:|| ... THIS MESSAGE IS FOR TEST PURPOSES ONLY ... -phrasestr:|| ... THERE IS NO FLOODING OCCURRING ... -# -name: flw_vtec -# HEADER FOR VTEC FLOOD WARNING -formats: T_HEADER -varlist: -# -phrasestr:BULLETIN - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WARNING -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: fls_vtec -# HEADER FOR VTEC FLOOD STATEMENT -formats: T_HEADER -varlist: -# -phrasestr:FLOOD STATEMENT -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: ffa_vtec -# HEADER FOR VTEC FLOOD WATCH -formats: T_HEADER -varlist: -# -phrasestr:URGENT - IMMEDIATE BROADCAST REQUESTED -phrasestr:FLOOD WATCH -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# -name: fls_advisory_vtec -# HEADER FOR VTEC FLOOD ADVISORY -formats: T_HEADER -varlist: -# -phrasestr:FLOOD ADVISORY -phrasestr:NATIONAL WEATHER SERVICE (city, state) -phrasestr: -# diff --git a/cave/build/static/common/cave/etc/riverpro/headline.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/headline.tpl.EAX deleted file mode 100755 index e8dc80a3dd..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/headline.tpl.EAX +++ /dev/null @@ -1,248 +0,0 @@ -# HEADLINE SECTION TEMPLATES -# -name:flw_fls_nonsegment -phrasestr: This product includes the following rivers: . -phrasestr: This product applies to the : . -# -# -name: rvs -phrasestr:The headline phrase for rvs -# -# -name: default -phrasestr: This product includes the following rivers: . -phrasestr: This product applies to the : . -# -# -#headline sections for event based product such as -#Flood Warning, Follow-up Flood Warning, Flood Watch for forecast point, -#and Flood Advisory for forecast point. -# -name:flw_fls_vtec -action_begin: COR -phrasestr:...The flood warning is corrected for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood warning is cancelled for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood warning has expired for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The flood warning extended for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The flood warning continues for the following rivers & -in .. -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -warning for the following rivers in & -... -phrasestr: -event_begin: -formats:T_WWA T_WWA T_WWA T_WWA -varlist: -indentstr: AFFECTING -condition: ( NE MISSING ) -indentstr:Observed flooding changed from to & -severity (from for the & -following in -# -condition: ( NE MISSING ) -indentstr:Forecast flooding changed from to & -severity (from to ) for the following & - in ... -# -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -phrasestr:(optional) general hydrometeorological synopsis -phrasestr: -# -# -name: fls_advisory_vtec -action_begin: COR -phrasestr:...The flood advisory is corrected for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood advisory is cancelled for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood advisory has expired for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The National Weather Service in has extended & -the flood advisory for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The National Weather Service in is continuing & -the flood advisory for the ... -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -advisory for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -action_end: -phrasestr:(optional) general hydrometeorological synopsis -phrasestr: - -# -# -name: fld_watch_vtec -action_begin: COR -phrasestr:...The flood watch is corrected for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood watch is cancelled for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood watch has expired for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The flood watch is extended for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The flood watch continues for the following rivers & -in ... -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -watch for the following rivers in & -... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -action_end: -phrasestr:(optional) AFFECTING the following -phrasestr: \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/headline.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/headline.tpl.OAX deleted file mode 100755 index e8dc80a3dd..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/headline.tpl.OAX +++ /dev/null @@ -1,248 +0,0 @@ -# HEADLINE SECTION TEMPLATES -# -name:flw_fls_nonsegment -phrasestr: This product includes the following rivers: . -phrasestr: This product applies to the : . -# -# -name: rvs -phrasestr:The headline phrase for rvs -# -# -name: default -phrasestr: This product includes the following rivers: . -phrasestr: This product applies to the : . -# -# -#headline sections for event based product such as -#Flood Warning, Follow-up Flood Warning, Flood Watch for forecast point, -#and Flood Advisory for forecast point. -# -name:flw_fls_vtec -action_begin: COR -phrasestr:...The flood warning is corrected for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood warning is cancelled for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood warning has expired for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The flood warning extended for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The flood warning continues for the following rivers & -in .. -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -warning for the following rivers in & -... -phrasestr: -event_begin: -formats:T_WWA T_WWA T_WWA T_WWA -varlist: -indentstr: AFFECTING -condition: ( NE MISSING ) -indentstr:Observed flooding changed from to & -severity (from for the & -following in -# -condition: ( NE MISSING ) -indentstr:Forecast flooding changed from to & -severity (from to ) for the following & - in ... -# -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -phrasestr:(optional) general hydrometeorological synopsis -phrasestr: -# -# -name: fls_advisory_vtec -action_begin: COR -phrasestr:...The flood advisory is corrected for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood advisory is cancelled for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood advisory has expired for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The National Weather Service in has extended & -the flood advisory for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The National Weather Service in is continuing & -the flood advisory for the ... -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -advisory for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -action_end: -phrasestr:(optional) general hydrometeorological synopsis -phrasestr: - -# -# -name: fld_watch_vtec -action_begin: COR -phrasestr:...The flood watch is corrected for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood watch is cancelled for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood watch has expired for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The flood watch is extended for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The flood watch continues for the following rivers & -in ... -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -watch for the following rivers in & -... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -action_end: -phrasestr:(optional) AFFECTING the following -phrasestr: \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/headline.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/headline.tpl.XXX deleted file mode 100755 index e8dc80a3dd..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/headline.tpl.XXX +++ /dev/null @@ -1,248 +0,0 @@ -# HEADLINE SECTION TEMPLATES -# -name:flw_fls_nonsegment -phrasestr: This product includes the following rivers: . -phrasestr: This product applies to the : . -# -# -name: rvs -phrasestr:The headline phrase for rvs -# -# -name: default -phrasestr: This product includes the following rivers: . -phrasestr: This product applies to the : . -# -# -#headline sections for event based product such as -#Flood Warning, Follow-up Flood Warning, Flood Watch for forecast point, -#and Flood Advisory for forecast point. -# -name:flw_fls_vtec -action_begin: COR -phrasestr:...The flood warning is corrected for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood warning is cancelled for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood warning has expired for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The flood warning extended for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The flood warning continues for the following rivers & -in .. -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -warning for the following rivers in & -... -phrasestr: -event_begin: -formats:T_WWA T_WWA T_WWA T_WWA -varlist: -indentstr: AFFECTING -condition: ( NE MISSING ) -indentstr:Observed flooding changed from to & -severity (from for the & -following in -# -condition: ( NE MISSING ) -indentstr:Forecast flooding changed from to & -severity (from to ) for the following & - in ... -# -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -phrasestr:(optional) general hydrometeorological synopsis -phrasestr: -# -# -name: fls_advisory_vtec -action_begin: COR -phrasestr:...The flood advisory is corrected for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood advisory is cancelled for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood advisory has expired for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The National Weather Service in has extended & -the flood advisory for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The National Weather Service in is continuing & -the flood advisory for the ... -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -advisory for the ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -action_end: -phrasestr:(optional) general hydrometeorological synopsis -phrasestr: - -# -# -name: fld_watch_vtec -action_begin: COR -phrasestr:...The flood watch is corrected for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CAN -phrasestr:...The flood watch is cancelled for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:EXP -phrasestr:...The flood watch has expired for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: EXT -phrasestr:...The flood watch is extended for the following rivers & -in ... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin: CON -phrasestr:...The flood watch continues for the following rivers & -in ... -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -phrasestr:(optional) AFFECTING the following -phrasestr: -action_end: -# -action_begin:NEW -phrasestr:...The National Weather Service in has issued a flood & -watch for the following rivers in & -... -phrasestr: -event_begin: -indentstr: AFFECTING -event_end: -phrasestr: -action_end: -phrasestr:(optional) AFFECTING the following -phrasestr: \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/impact.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/impact.tpl.EAX deleted file mode 100755 index 2c137379be..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/impact.tpl.EAX +++ /dev/null @@ -1,11 +0,0 @@ -# IMPACT SUBSECTION TEMPLATES -#----------------------------- -name: default -phrasestr:At feet, . -# -name: refstage -phrasestr:At stages near feet, . -# -name: test -phrasestr:Reference stage= , ; & -Impact= ... \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/impact.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/impact.tpl.OAX deleted file mode 100755 index 2c137379be..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/impact.tpl.OAX +++ /dev/null @@ -1,11 +0,0 @@ -# IMPACT SUBSECTION TEMPLATES -#----------------------------- -name: default -phrasestr:At feet, . -# -name: refstage -phrasestr:At stages near feet, . -# -name: test -phrasestr:Reference stage= , ; & -Impact= ... \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/impact.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/impact.tpl.XXX deleted file mode 100755 index 2c137379be..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/impact.tpl.XXX +++ /dev/null @@ -1,11 +0,0 @@ -# IMPACT SUBSECTION TEMPLATES -#----------------------------- -name: default -phrasestr:At feet, . -# -name: refstage -phrasestr:At stages near feet, . -# -name: test -phrasestr:Reference stage= , ; & -Impact= ... \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/roundup.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/roundup.tpl.EAX deleted file mode 100755 index c1d680a4d7..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/roundup.tpl.EAX +++ /dev/null @@ -1,437 +0,0 @@ -# ROUNDUP SUBSECTION TEMPLATES -# ---------------------------- -# -# -# -name: rvs_default -formats: T_HHW T_HHW -varlist: -condition: ( GT 0 ) -phrasestr:For the , the latest stage is feet at . -condition: ( EQ 0 ) -phrasestr:For the , no observed stage is available. -varlist: -formats: F6.3 -condition: ( GT 3.0 ) -phrasestr:The current observed stage plus 3.0 is , which is greater than 3.0 -condition: ( GT 5.0 ) -phrasestr:The latest observed stage with dur 0, ts RP, extreme Z, plus 5.0 is , which is greater than 5.0 -# -name: default -formats: T_HHW T_HHW T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: ( EQ 0 ) -phrasestr:For the , the latest stage is & - feet at . -condition: ( GT 0 ) -phrasestr:For the , flooding & -is occuring, with a stage of feet measured at . -condition: ( EQ 0 ) -phrasestr:For the , no observed stage is available. -# -condition: ( EQ 0 ) -phrasestr:No flooding is forecasted. -condition: ( ( EQ 0 ) AND ( NE MISSING ) ) -phrasestr:The maximum stage forecasted is at. -condition: ( ( GT 0 ) AND ( GT ) AND & -( GT 0 ) ) -phrasestr: flooding is forecast, with a maximum stage of & - feet at , which is feet above & -flood stage. -condition: ( ( GT 0 ) AND ( GT ) AND & -( EQ 0 ) ) -phrasestr: flooding is forecasted, with a maximum stage of & - feet at , which is equal to the flood stage. -condition: ( ( GT 0 ) AND ( GT ) AND & -( LT 0 ) ) -phrasestr: flooding is forecasted, with a maximum stage of & - feet at . -# -condition: ( NE MISSING ) -phrasestr: The stage exceeded the flood stage of feet at . -#condition: ( NE MISSING ) -#phrasestr:The stage fell below the flood stage of feet at . -condition: ( NE MISSING ) -phrasestr:The stage will rise above the flood stage of feet & -at . -condition: ( NE MISSING ) -phrasestr:The stage will fall below flood stage at . -# -#condition: ( GT ) -#phrasestr: The stage will crest around feet at . -condition: TRUE -phrasestr:. -# -# -# -name: teste19 -#name: bigtest -# TEMPLATE TO TEST E19 DATA RETRIEVAL W/O IMPACT OR CREST STUFF -condition: TRUE -phrasestr:Dump of data for Id, IdName = ... -condition: TRUE -phrasestr:River = ...Proximity = ... -condition: TRUE -phrasestr:County = ... -condition: TRUE -phrasestr:Reach = ... -condition: TRUE -phrasestr:FldStg = ...Bankfull = ...Warning Stage = ... -condition: TRUE -phrasestr:CatVals= ... -# -# -# -name: teststage -# TEMPLATE TO TEST THE STAGE DATA RETRIEVAL -formats: T_HHW T_HHW -varlist: -condition: TRUE -phrasestr:IdName = ... -condition: TRUE -phrasestr:Numobs, fcst stage = -condition: TRUE -phrasestr:ObsStage, Cat#, Name, Time = & -... -condition: TRUE -phrasestr:MaxFcstStg, Cat#, Name, Time = & - ... -condition: TRUE -phrasestr:OMFVal, Cat#, Name = ... -condition: TRUE -phrasestr:MaxObsStg24, 06 = ... -condition: TRUE -phrasestr: ObsRise, Fall FSTime = ... -condition: TRUE -phrasestr: FcstRise, Fall FSTime = ... -condition: TRUE -phrasestr: Obs Crest Stg,Time = ... -condition: TRUE -phrasestr: Fcst Crest Stg,Time = ... -condition: TRUE -phrasestr: ObsA/FcstA FS Depart = ... -condition: TRUE -phrasestr: Metric = -condition: TRUE -phrasestr: English = -# -name: testtime -# TEMPLATE TO TEST THE TIME FORMATSTAGE DATA RETRIEVAL -formats: T_AWH T_AWH -varlist: -condition: TRUE -phrasestr:IdName = ... -condition: TRUE -phrasestr:Obs Stage/CatName/Time = ... -condition: TRUE -phrasestr:MaxFcst Stg/CatName/Time = & -... -#ROUNDUP SUBSECTION TEMPLATES - Event based product such as -#Flood Warning, Follow-up Flood Warning, Flood Watch for forecast point, -#and Flood Advisory for forecast point. -# -name: flw_fls_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr:(optional)...Headline -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD WARNING FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD WARNING IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: FELL BELOW FLOOD STAGE AT -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD WARNING CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD WARNING CONTINUES FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD WARNING HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: FELL BELOW FLOOD STAGE AT -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -name: ffa_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr: (optional...Headline...) -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD WATCH FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD WATCH IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD WATCH CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD WATCH IS EXTENDED FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD WATCH HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -# -name: fls_advisory_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr: (optional...Headline...) -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD ADVISORY FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD ADVISORY IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD ADVISORY CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD ADVISORY IS EXTENDED FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD ADVISORY HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/roundup.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/roundup.tpl.OAX deleted file mode 100755 index c1d680a4d7..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/roundup.tpl.OAX +++ /dev/null @@ -1,437 +0,0 @@ -# ROUNDUP SUBSECTION TEMPLATES -# ---------------------------- -# -# -# -name: rvs_default -formats: T_HHW T_HHW -varlist: -condition: ( GT 0 ) -phrasestr:For the , the latest stage is feet at . -condition: ( EQ 0 ) -phrasestr:For the , no observed stage is available. -varlist: -formats: F6.3 -condition: ( GT 3.0 ) -phrasestr:The current observed stage plus 3.0 is , which is greater than 3.0 -condition: ( GT 5.0 ) -phrasestr:The latest observed stage with dur 0, ts RP, extreme Z, plus 5.0 is , which is greater than 5.0 -# -name: default -formats: T_HHW T_HHW T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: ( EQ 0 ) -phrasestr:For the , the latest stage is & - feet at . -condition: ( GT 0 ) -phrasestr:For the , flooding & -is occuring, with a stage of feet measured at . -condition: ( EQ 0 ) -phrasestr:For the , no observed stage is available. -# -condition: ( EQ 0 ) -phrasestr:No flooding is forecasted. -condition: ( ( EQ 0 ) AND ( NE MISSING ) ) -phrasestr:The maximum stage forecasted is at. -condition: ( ( GT 0 ) AND ( GT ) AND & -( GT 0 ) ) -phrasestr: flooding is forecast, with a maximum stage of & - feet at , which is feet above & -flood stage. -condition: ( ( GT 0 ) AND ( GT ) AND & -( EQ 0 ) ) -phrasestr: flooding is forecasted, with a maximum stage of & - feet at , which is equal to the flood stage. -condition: ( ( GT 0 ) AND ( GT ) AND & -( LT 0 ) ) -phrasestr: flooding is forecasted, with a maximum stage of & - feet at . -# -condition: ( NE MISSING ) -phrasestr: The stage exceeded the flood stage of feet at . -#condition: ( NE MISSING ) -#phrasestr:The stage fell below the flood stage of feet at . -condition: ( NE MISSING ) -phrasestr:The stage will rise above the flood stage of feet & -at . -condition: ( NE MISSING ) -phrasestr:The stage will fall below flood stage at . -# -#condition: ( GT ) -#phrasestr: The stage will crest around feet at . -condition: TRUE -phrasestr:. -# -# -# -name: teste19 -#name: bigtest -# TEMPLATE TO TEST E19 DATA RETRIEVAL W/O IMPACT OR CREST STUFF -condition: TRUE -phrasestr:Dump of data for Id, IdName = ... -condition: TRUE -phrasestr:River = ...Proximity = ... -condition: TRUE -phrasestr:County = ... -condition: TRUE -phrasestr:Reach = ... -condition: TRUE -phrasestr:FldStg = ...Bankfull = ...Warning Stage = ... -condition: TRUE -phrasestr:CatVals= ... -# -# -# -name: teststage -# TEMPLATE TO TEST THE STAGE DATA RETRIEVAL -formats: T_HHW T_HHW -varlist: -condition: TRUE -phrasestr:IdName = ... -condition: TRUE -phrasestr:Numobs, fcst stage = -condition: TRUE -phrasestr:ObsStage, Cat#, Name, Time = & -... -condition: TRUE -phrasestr:MaxFcstStg, Cat#, Name, Time = & - ... -condition: TRUE -phrasestr:OMFVal, Cat#, Name = ... -condition: TRUE -phrasestr:MaxObsStg24, 06 = ... -condition: TRUE -phrasestr: ObsRise, Fall FSTime = ... -condition: TRUE -phrasestr: FcstRise, Fall FSTime = ... -condition: TRUE -phrasestr: Obs Crest Stg,Time = ... -condition: TRUE -phrasestr: Fcst Crest Stg,Time = ... -condition: TRUE -phrasestr: ObsA/FcstA FS Depart = ... -condition: TRUE -phrasestr: Metric = -condition: TRUE -phrasestr: English = -# -name: testtime -# TEMPLATE TO TEST THE TIME FORMATSTAGE DATA RETRIEVAL -formats: T_AWH T_AWH -varlist: -condition: TRUE -phrasestr:IdName = ... -condition: TRUE -phrasestr:Obs Stage/CatName/Time = ... -condition: TRUE -phrasestr:MaxFcst Stg/CatName/Time = & -... -#ROUNDUP SUBSECTION TEMPLATES - Event based product such as -#Flood Warning, Follow-up Flood Warning, Flood Watch for forecast point, -#and Flood Advisory for forecast point. -# -name: flw_fls_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr:(optional)...Headline -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD WARNING FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD WARNING IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: FELL BELOW FLOOD STAGE AT -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD WARNING CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD WARNING CONTINUES FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD WARNING HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: FELL BELOW FLOOD STAGE AT -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -name: ffa_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr: (optional...Headline...) -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD WATCH FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD WATCH IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD WATCH CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD WATCH IS EXTENDED FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD WATCH HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -# -name: fls_advisory_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr: (optional...Headline...) -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD ADVISORY FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD ADVISORY IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD ADVISORY CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD ADVISORY IS EXTENDED FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD ADVISORY HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/roundup.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/roundup.tpl.XXX deleted file mode 100755 index c1d680a4d7..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/roundup.tpl.XXX +++ /dev/null @@ -1,437 +0,0 @@ -# ROUNDUP SUBSECTION TEMPLATES -# ---------------------------- -# -# -# -name: rvs_default -formats: T_HHW T_HHW -varlist: -condition: ( GT 0 ) -phrasestr:For the , the latest stage is feet at . -condition: ( EQ 0 ) -phrasestr:For the , no observed stage is available. -varlist: -formats: F6.3 -condition: ( GT 3.0 ) -phrasestr:The current observed stage plus 3.0 is , which is greater than 3.0 -condition: ( GT 5.0 ) -phrasestr:The latest observed stage with dur 0, ts RP, extreme Z, plus 5.0 is , which is greater than 5.0 -# -name: default -formats: T_HHW T_HHW T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: ( EQ 0 ) -phrasestr:For the , the latest stage is & - feet at . -condition: ( GT 0 ) -phrasestr:For the , flooding & -is occuring, with a stage of feet measured at . -condition: ( EQ 0 ) -phrasestr:For the , no observed stage is available. -# -condition: ( EQ 0 ) -phrasestr:No flooding is forecasted. -condition: ( ( EQ 0 ) AND ( NE MISSING ) ) -phrasestr:The maximum stage forecasted is at. -condition: ( ( GT 0 ) AND ( GT ) AND & -( GT 0 ) ) -phrasestr: flooding is forecast, with a maximum stage of & - feet at , which is feet above & -flood stage. -condition: ( ( GT 0 ) AND ( GT ) AND & -( EQ 0 ) ) -phrasestr: flooding is forecasted, with a maximum stage of & - feet at , which is equal to the flood stage. -condition: ( ( GT 0 ) AND ( GT ) AND & -( LT 0 ) ) -phrasestr: flooding is forecasted, with a maximum stage of & - feet at . -# -condition: ( NE MISSING ) -phrasestr: The stage exceeded the flood stage of feet at . -#condition: ( NE MISSING ) -#phrasestr:The stage fell below the flood stage of feet at . -condition: ( NE MISSING ) -phrasestr:The stage will rise above the flood stage of feet & -at . -condition: ( NE MISSING ) -phrasestr:The stage will fall below flood stage at . -# -#condition: ( GT ) -#phrasestr: The stage will crest around feet at . -condition: TRUE -phrasestr:. -# -# -# -name: teste19 -#name: bigtest -# TEMPLATE TO TEST E19 DATA RETRIEVAL W/O IMPACT OR CREST STUFF -condition: TRUE -phrasestr:Dump of data for Id, IdName = ... -condition: TRUE -phrasestr:River = ...Proximity = ... -condition: TRUE -phrasestr:County = ... -condition: TRUE -phrasestr:Reach = ... -condition: TRUE -phrasestr:FldStg = ...Bankfull = ...Warning Stage = ... -condition: TRUE -phrasestr:CatVals= ... -# -# -# -name: teststage -# TEMPLATE TO TEST THE STAGE DATA RETRIEVAL -formats: T_HHW T_HHW -varlist: -condition: TRUE -phrasestr:IdName = ... -condition: TRUE -phrasestr:Numobs, fcst stage = -condition: TRUE -phrasestr:ObsStage, Cat#, Name, Time = & -... -condition: TRUE -phrasestr:MaxFcstStg, Cat#, Name, Time = & - ... -condition: TRUE -phrasestr:OMFVal, Cat#, Name = ... -condition: TRUE -phrasestr:MaxObsStg24, 06 = ... -condition: TRUE -phrasestr: ObsRise, Fall FSTime = ... -condition: TRUE -phrasestr: FcstRise, Fall FSTime = ... -condition: TRUE -phrasestr: Obs Crest Stg,Time = ... -condition: TRUE -phrasestr: Fcst Crest Stg,Time = ... -condition: TRUE -phrasestr: ObsA/FcstA FS Depart = ... -condition: TRUE -phrasestr: Metric = -condition: TRUE -phrasestr: English = -# -name: testtime -# TEMPLATE TO TEST THE TIME FORMATSTAGE DATA RETRIEVAL -formats: T_AWH T_AWH -varlist: -condition: TRUE -phrasestr:IdName = ... -condition: TRUE -phrasestr:Obs Stage/CatName/Time = ... -condition: TRUE -phrasestr:MaxFcst Stg/CatName/Time = & -... -#ROUNDUP SUBSECTION TEMPLATES - Event based product such as -#Flood Warning, Follow-up Flood Warning, Flood Watch for forecast point, -#and Flood Advisory for forecast point. -# -name: flw_fls_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr:(optional)...Headline -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD WARNING FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD WARNING IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: FELL BELOW FLOOD STAGE AT -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD WARNING CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD WARNING CONTINUES FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD WARNING HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: FELL BELOW FLOOD STAGE AT -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -name: ffa_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr: (optional...Headline...) -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD WATCH FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD WATCH IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD WATCH CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD WATCH IS EXTENDED FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD WATCH HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -# -name: fls_advisory_vtec -formats:T_WWA T_WWA T_HHW T_HHW T_HHW T_HHW T_HHW -varlist: & - -condition: TRUE -phrasestr: -###for new event -condition: ( SEQ "NEW" ) -phrasestr: (optional...Headline...) -condition: ( SEQ "NEW" ) -phrasestr:THE NATIONAL WEATHER SERVICE IN HAS ISSUED A -condition: ( SEQ "NEW" ) -bulletstr: FLOOD ADVISORY FOR -condition: ( SEQ "NEW" ) -phrasestr: -condition: ( SEQ "NEW" ) -bulletstr: FROM until -condition: ( SEQ "NEW" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "NEW" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "NEW" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "NEW" ) -bulletstr: FORECAST...FLOOD STAGE WILL BE REACHED AT . & -MAXIMUM STAGE WILL BE AT . FLOOD & -STAGE WILL FALL BELOW FLOOD STAGE AT . -condition: ( SEQ "NEW" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for cancelled event -condition: ( SEQ "CAN" ) -phrasestr:THE FLOOD ADVISORY IS CANCELLED FOR -condition: ( SEQ "CAN" ) -phrasestr: -condition: ( SEQ "CAN" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CAN" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CAN" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for continued event -condition: ( SEQ "CON" ) -phrasestr:THE FLOOD ADVISORY CONTINUES FOR -condition: ( SEQ "CON" ) -phrasestr: -condition: ( SEQ "CON" ) -bulletstr: UNTIL -condition: ( SEQ "CON" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "CON" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "CON" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "CON" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "CON" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for extended event -condition: ( SEQ "EXT" ) -phrasestr:THE FLOOD ADVISORY IS EXTENDED FOR -condition: ( SEQ "EXT" ) -phrasestr: -condition: ( SEQ "EXT" ) -bulletstr: UNTIL -condition: ( SEQ "EXT" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXT" ) -bulletstr: FLOODING IS FORECAST -condition: ( SEQ "EXT" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXT" ) -bulletstr: FORECAST...MAXIMUM STAGE WILL BE AT . -condition: ( SEQ "EXT" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: -# -#for expired event -condition: ( SEQ "EXP" ) -phrasestr:THE FLOOD ADVISORY HAS EXPIRED FOR -condition: ( SEQ "EXP" ) -phrasestr: -condition: ( SEQ "EXP" ) -bulletstr: AT THE STAGE WAS... -condition: ( SEQ "EXP" ) -bulletstr: FLOOD STAGE IS... -condition: ( SEQ "EXP" ) -bulletstr: (optional)... -condition: TRUE -phrasestr: \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/summary.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/summary.tpl.EAX deleted file mode 100755 index 1123c7b820..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/summary.tpl.EAX +++ /dev/null @@ -1,130 +0,0 @@ -# SUMMARY SECTION TEMPLATES -# -name: default -# -# list the names of the forecast points included -# -condition: TRUE -phrasestr:For the , the following locations are included: . -# -name:rvs -# -# checks if observed and forecast data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is observed or forecast. -# -# checks if only observed data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is observed. -# -# checks if only forecast data, and max cat is non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is forecast. -# -# -# -name:fls_flw -# -# checks if observed and forecast data, and max cat is non-flood -# -condition: ( ( ( EQ TRUE ) AND ( EQ TRUE ) ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is observed & -or forecast. -# -# checks if only observed data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is observed. -# -# checks if only forecast data, and max cat is non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is forecast. -# -# checks if observed and forecast data, and current cat greater than max -# forecast and max cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( GT ) AND ( GT 0 ) ) -phrasestr:For the , including , & -flooding is occuring, with river levels forecasted to decrease. -# -# -# checks if observed and forecast data, and observed cat equal to max fcst -# cat and max cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( EQ ) AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring and is expected to continue. -# -# checks if observed and forecast data, and current cat less than max fcst cat -# and current cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( LT ) AND ( EQ 0 ) ) -phrasestr:For the , including , flooding & -is forecasted. -# -# checks if observed and forecast data, and current cat less than max fcst cat -# and current cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( LT ) AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring, with flooding forecasted. -# -# checks if only observed data, and current cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring. -# -# checks if only forecast data, and max forecast cat is greater than non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is forecasted. -# -# -# -name:flt -condition: TRUE -phrasestr:Water levels have receded to below flood stage for all locations & -for the . -# -# -# -name:test -# -condition: TRUE -phrasestr:MaxObs, CurObs, Fcst, ObsMaxFcst, RiseFall for: -# -# -condition: TRUE -phrasestr:For () = & -, ... -condition: TRUE -phrasestr: Numgrps = ... -condition: TRUE -phrasestr: River list = ... -condition: TRUE -phrasestr: Group list = ... -condition: TRUE -phrasestr: GroupForecast point list = ... -condition: TRUE -phrasestr: County list = ... -condition: TRUE -phrasestr: GrpObs,Fcst Found = -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/summary.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/summary.tpl.OAX deleted file mode 100755 index 1123c7b820..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/summary.tpl.OAX +++ /dev/null @@ -1,130 +0,0 @@ -# SUMMARY SECTION TEMPLATES -# -name: default -# -# list the names of the forecast points included -# -condition: TRUE -phrasestr:For the , the following locations are included: . -# -name:rvs -# -# checks if observed and forecast data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is observed or forecast. -# -# checks if only observed data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is observed. -# -# checks if only forecast data, and max cat is non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is forecast. -# -# -# -name:fls_flw -# -# checks if observed and forecast data, and max cat is non-flood -# -condition: ( ( ( EQ TRUE ) AND ( EQ TRUE ) ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is observed & -or forecast. -# -# checks if only observed data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is observed. -# -# checks if only forecast data, and max cat is non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is forecast. -# -# checks if observed and forecast data, and current cat greater than max -# forecast and max cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( GT ) AND ( GT 0 ) ) -phrasestr:For the , including , & -flooding is occuring, with river levels forecasted to decrease. -# -# -# checks if observed and forecast data, and observed cat equal to max fcst -# cat and max cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( EQ ) AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring and is expected to continue. -# -# checks if observed and forecast data, and current cat less than max fcst cat -# and current cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( LT ) AND ( EQ 0 ) ) -phrasestr:For the , including , flooding & -is forecasted. -# -# checks if observed and forecast data, and current cat less than max fcst cat -# and current cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( LT ) AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring, with flooding forecasted. -# -# checks if only observed data, and current cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring. -# -# checks if only forecast data, and max forecast cat is greater than non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is forecasted. -# -# -# -name:flt -condition: TRUE -phrasestr:Water levels have receded to below flood stage for all locations & -for the . -# -# -# -name:test -# -condition: TRUE -phrasestr:MaxObs, CurObs, Fcst, ObsMaxFcst, RiseFall for: -# -# -condition: TRUE -phrasestr:For () = & -, ... -condition: TRUE -phrasestr: Numgrps = ... -condition: TRUE -phrasestr: River list = ... -condition: TRUE -phrasestr: Group list = ... -condition: TRUE -phrasestr: GroupForecast point list = ... -condition: TRUE -phrasestr: County list = ... -condition: TRUE -phrasestr: GrpObs,Fcst Found = -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/summary.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/summary.tpl.XXX deleted file mode 100755 index 1123c7b820..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/summary.tpl.XXX +++ /dev/null @@ -1,130 +0,0 @@ -# SUMMARY SECTION TEMPLATES -# -name: default -# -# list the names of the forecast points included -# -condition: TRUE -phrasestr:For the , the following locations are included: . -# -name:rvs -# -# checks if observed and forecast data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is observed or forecast. -# -# checks if only observed data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is observed. -# -# checks if only forecast data, and max cat is non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , no flooding is forecast. -# -# -# -name:fls_flw -# -# checks if observed and forecast data, and max cat is non-flood -# -condition: ( ( ( EQ TRUE ) AND ( EQ TRUE ) ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is observed & -or forecast. -# -# checks if only observed data, and max cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is observed. -# -# checks if only forecast data, and max cat is non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( EQ 0 ) ) -phrasestr:For the , including , no flooding is forecast. -# -# checks if observed and forecast data, and current cat greater than max -# forecast and max cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( GT ) AND ( GT 0 ) ) -phrasestr:For the , including , & -flooding is occuring, with river levels forecasted to decrease. -# -# -# checks if observed and forecast data, and observed cat equal to max fcst -# cat and max cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( EQ ) AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring and is expected to continue. -# -# checks if observed and forecast data, and current cat less than max fcst cat -# and current cat is non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( LT ) AND ( EQ 0 ) ) -phrasestr:For the , including , flooding & -is forecasted. -# -# checks if observed and forecast data, and current cat less than max fcst cat -# and current cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ TRUE ) & - AND ( LT ) AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring, with flooding forecasted. -# -# checks if only observed data, and current cat is greater than non-flood -# -condition: ( ( EQ TRUE ) AND ( EQ FALSE ) & - AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is occuring. -# -# checks if only forecast data, and max forecast cat is greater than non-flood -# -condition: ( ( EQ FALSE ) AND ( EQ TRUE ) & - AND ( GT 0 ) ) -phrasestr:For the , including , flooding & -is forecasted. -# -# -# -name:flt -condition: TRUE -phrasestr:Water levels have receded to below flood stage for all locations & -for the . -# -# -# -name:test -# -condition: TRUE -phrasestr:MaxObs, CurObs, Fcst, ObsMaxFcst, RiseFall for: -# -# -condition: TRUE -phrasestr:For () = & -, ... -condition: TRUE -phrasestr: Numgrps = ... -condition: TRUE -phrasestr: River list = ... -condition: TRUE -phrasestr: Group list = ... -condition: TRUE -phrasestr: GroupForecast point list = ... -condition: TRUE -phrasestr: County list = ... -condition: TRUE -phrasestr: GrpObs,Fcst Found = -# \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/riverpro/tabular.tpl.EAX b/cave/build/static/common/cave/etc/riverpro/tabular.tpl.EAX deleted file mode 100755 index 971267183b..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/tabular.tpl.EAX +++ /dev/null @@ -1,67 +0,0 @@ -# TABULAR SECTION TEMPLATES -# ------------------------- -# -name: daily_rvs -# -#literal: FLD OBSERVED FORECAST 7AM -#formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -#varlist: -#miscwrt: -# -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW X4 T_AW -varlist: -fp_id: BLKO2 -literal: 7AM 1AM 7AM 1PM -# -grpname: skip -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# -formats: X2 S10 X3 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: DOVO2 -# -formats: X2 S10 X2 F3.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: BLKO2 -# -formats: X2 S10 X3 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: ALXO2 -fp_id: ANDO2 -fp_id: DURO2 -fp_id: PLVO2 -fp_id: ARCT2 -fp_id: BLUO2 -fp_id: CNEO2 -fp_id: FRSO2 -# -# -# -name: fls_and_flw -grpname: skip -# -literal: FLD OBSERVED FORECAST 7AM -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -varlist: -miscwrt: -# -formats: X2 S10 X2 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# -# -# -# -name: all_rvs -grpname: skip -# -literal: FLD OBSERVED FORECAST 7AM -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -varlist: -miscwrt: -# -formats: X2 S10 X2 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# diff --git a/cave/build/static/common/cave/etc/riverpro/tabular.tpl.OAX b/cave/build/static/common/cave/etc/riverpro/tabular.tpl.OAX deleted file mode 100755 index 971267183b..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/tabular.tpl.OAX +++ /dev/null @@ -1,67 +0,0 @@ -# TABULAR SECTION TEMPLATES -# ------------------------- -# -name: daily_rvs -# -#literal: FLD OBSERVED FORECAST 7AM -#formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -#varlist: -#miscwrt: -# -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW X4 T_AW -varlist: -fp_id: BLKO2 -literal: 7AM 1AM 7AM 1PM -# -grpname: skip -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# -formats: X2 S10 X3 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: DOVO2 -# -formats: X2 S10 X2 F3.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: BLKO2 -# -formats: X2 S10 X3 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: ALXO2 -fp_id: ANDO2 -fp_id: DURO2 -fp_id: PLVO2 -fp_id: ARCT2 -fp_id: BLUO2 -fp_id: CNEO2 -fp_id: FRSO2 -# -# -# -name: fls_and_flw -grpname: skip -# -literal: FLD OBSERVED FORECAST 7AM -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -varlist: -miscwrt: -# -formats: X2 S10 X2 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# -# -# -# -name: all_rvs -grpname: skip -# -literal: FLD OBSERVED FORECAST 7AM -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -varlist: -miscwrt: -# -formats: X2 S10 X2 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# diff --git a/cave/build/static/common/cave/etc/riverpro/tabular.tpl.XXX b/cave/build/static/common/cave/etc/riverpro/tabular.tpl.XXX deleted file mode 100755 index 971267183b..0000000000 --- a/cave/build/static/common/cave/etc/riverpro/tabular.tpl.XXX +++ /dev/null @@ -1,67 +0,0 @@ -# TABULAR SECTION TEMPLATES -# ------------------------- -# -name: daily_rvs -# -#literal: FLD OBSERVED FORECAST 7AM -#formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -#varlist: -#miscwrt: -# -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW X4 T_AW -varlist: -fp_id: BLKO2 -literal: 7AM 1AM 7AM 1PM -# -grpname: skip -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# -formats: X2 S10 X3 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: DOVO2 -# -formats: X2 S10 X2 F3.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: BLKO2 -# -formats: X2 S10 X3 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -fp_id: ALXO2 -fp_id: ANDO2 -fp_id: DURO2 -fp_id: PLVO2 -fp_id: ARCT2 -fp_id: BLUO2 -fp_id: CNEO2 -fp_id: FRSO2 -# -# -# -name: fls_and_flw -grpname: skip -# -literal: FLD OBSERVED FORECAST 7AM -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -varlist: -miscwrt: -# -formats: X2 S10 X2 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# -# -# -# -name: all_rvs -grpname: skip -# -literal: FLD OBSERVED FORECAST 7AM -formats: "LOCATION STG " " STG DAY TIME" X4 T_AW X4 T_AW X4 T_AW -varlist: -miscwrt: -# -formats: X2 S10 X2 F2.0 X1 F5.1 X1 T_AWHH X2 F5.1 X2 F5.1 X2 F5.1 -varlist: & - -specstagetime: TODAY 07:00 +1 +0 4 +2 +0 4 +3 +0 4 -# diff --git a/cave/build/static/common/cave/etc/staticMenu/Demos/Hurricane Monica (Old Tiling) b/cave/build/static/common/cave/etc/staticMenu/Demos/Hurricane Monica (Old Tiling) deleted file mode 100644 index c3188f4862..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Demos/Hurricane Monica (Old Tiling) +++ /dev/null @@ -1,15 +0,0 @@ - - - - - TiledResource (MONICA) - MONICA/ - - - true - 1.0 - false - false - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Demos/Marine Warnings b/cave/build/static/common/cave/etc/staticMenu/Demos/Marine Warnings deleted file mode 100644 index abba31372c..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Demos/Marine Warnings +++ /dev/null @@ -1,21 +0,0 @@ - - - - - Marine Warnings - Shapefile/mv.shp - MESSAGE - false - true - RGB {0, 0, 255} - 0 - true - - - true - 1.0 - false - false - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Demos/NOAA17 AVHRR IR Cloud Top Temp b/cave/build/static/common/cave/etc/staticMenu/Demos/NOAA17 AVHRR IR Cloud Top Temp deleted file mode 100644 index 42a92d5877..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Demos/NOAA17 AVHRR IR Cloud Top Temp +++ /dev/null @@ -1,18 +0,0 @@ - - - - - TiledResource (AVHRR) - AVHRR/ - 1.0 - 1.0 - false - - - true - 1.0 - false - false - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Demos/VIS GOES East Demo (HDF5) b/cave/build/static/common/cave/etc/staticMenu/Demos/VIS GOES East Demo (HDF5) deleted file mode 100644 index 2341a54525..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Demos/VIS GOES East Demo (HDF5) +++ /dev/null @@ -1,16 +0,0 @@ - - - - - COLORMAP { grey } - 0.0 - 255.0 - - - true - 1.0 - false - false - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/Blue Marble b/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/Blue Marble deleted file mode 100644 index 2b76e08eb9..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/Blue Marble +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - true - 1.0 - false - false - - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/SRTM Topo (HDF5) b/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/SRTM Topo (HDF5) deleted file mode 100644 index 7db554b904..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/SRTM Topo (HDF5) +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - 1.0 - 1.0 - true - COLORMAP { topo } - 0.0 - 3000.0 - - - - true - 1.0 - false - false - - - - - \ No newline at end of file diff --git a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US Counties b/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US Counties deleted file mode 100644 index 2da6e4548c..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US Counties +++ /dev/null @@ -1,22 +0,0 @@ - - - - - US Counties - counties/c_16mr06.shp - COUNTYNAME - false - true - RGB {191, 191, 191} - 1 - true - - - true - 1.0 - false - false - true - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US Rivers b/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US Rivers deleted file mode 100644 index 9c4fa57ef6..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US Rivers +++ /dev/null @@ -1,20 +0,0 @@ - - - - - US Rivers - rv14fe02.shp - PNAME - false - true - true - RGB {0, 0, 255} - 0 - true - - - true - 1.0 - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US States b/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US States deleted file mode 100644 index c85c6710c2..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/US States +++ /dev/null @@ -1,22 +0,0 @@ - - - - - US States - S_14jl05/s_14jl05.shp - NAME - false - true - RGB {255, 255, 255} - 0 - true - - - true - 1.0 - false - false - true - - - diff --git a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/World Political b/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/World Political deleted file mode 100644 index 3df4b208e8..0000000000 --- a/cave/build/static/common/cave/etc/staticMenu/Map Backgrounds/World Political +++ /dev/null @@ -1,22 +0,0 @@ - - - - - World Political - world.shp - CNTRY_NAME - false - true - RGB {255, 255, 255} - 0 - true - - - true - 1.0 - false - false - true - - - diff --git a/cave/com.raytheon.uf.viz.alertviz.ui/build.properties b/cave/com.raytheon.uf.viz.alertviz.ui/build.properties index 34d2e4d2da..3459198753 100644 --- a/cave/com.raytheon.uf.viz.alertviz.ui/build.properties +++ b/cave/com.raytheon.uf.viz.alertviz.ui/build.properties @@ -1,4 +1,5 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ - . + .,\ + localization/ diff --git a/cave/build/static/common/cave/etc/alertVizAudio/alert.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/alert.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/alert.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/alert.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/asterisk.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/asterisk.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/asterisk.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/asterisk.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/charge.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/charge.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/charge.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/charge.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/doh.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/doh.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/doh.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/doh.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/doiing.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/doiing.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/doiing.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/doiing.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/dooip.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/dooip.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/dooip.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/dooip.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/pleasant.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/pleasant.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/pleasant.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/pleasant.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/quickTinkle.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/quickTinkle.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/quickTinkle.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/quickTinkle.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/ripp.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/ripp.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/ripp.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/ripp.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/scrape.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/scrape.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/scrape.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/scrape.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/shwang.au b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/shwang.au similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/shwang.au rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/shwang.au diff --git a/cave/build/static/common/cave/etc/alertVizAudio/shwang.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/shwang.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/shwang.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/shwang.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/soapOpera.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/soapOpera.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/soapOpera.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/soapOpera.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/tink.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/tink.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/tink.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/tink.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/tinkle.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/tinkle.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/tinkle.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/tinkle.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/toneDown.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/toneDown.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/toneDown.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/toneDown.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/toneUp.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/toneUp.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/toneUp.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/toneUp.wav diff --git a/cave/build/static/common/cave/etc/alertVizAudio/whaap.wav b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/whaap.wav similarity index 100% rename from cave/build/static/common/cave/etc/alertVizAudio/whaap.wav rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizAudio/whaap.wav diff --git a/cave/build/static/common/cave/etc/alertVizIcons/alertError.png b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/alertError.png similarity index 100% rename from cave/build/static/common/cave/etc/alertVizIcons/alertError.png rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/alertError.png diff --git a/cave/build/static/common/cave/etc/alertVizIcons/alertViz.png b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/alertViz.png similarity index 100% rename from cave/build/static/common/cave/etc/alertVizIcons/alertViz.png rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/alertViz.png diff --git a/cave/build/static/common/cave/etc/alertVizIcons/alertVizErrorLog.png b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/alertVizErrorLog.png similarity index 100% rename from cave/build/static/common/cave/etc/alertVizIcons/alertVizErrorLog.png rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/alertVizErrorLog.png diff --git a/cave/build/static/common/cave/etc/alertVizIcons/audio.png b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/audio.png similarity index 100% rename from cave/build/static/common/cave/etc/alertVizIcons/audio.png rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/audio.png diff --git a/cave/build/static/common/cave/etc/alertVizIcons/handle.png b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/handle.png similarity index 100% rename from cave/build/static/common/cave/etc/alertVizIcons/handle.png rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/handle.png diff --git a/cave/build/static/common/cave/etc/alertVizIcons/resize.png b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/resize.png similarity index 100% rename from cave/build/static/common/cave/etc/alertVizIcons/resize.png rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/resize.png diff --git a/cave/build/static/common/cave/etc/alertVizIcons/trans_i_small.gif b/cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/trans_i_small.gif similarity index 100% rename from cave/build/static/common/cave/etc/alertVizIcons/trans_i_small.gif rename to cave/com.raytheon.uf.viz.alertviz.ui/localization/alertVizIcons/trans_i_small.gif diff --git a/cave/com.raytheon.uf.viz.alertviz/build.properties b/cave/com.raytheon.uf.viz.alertviz/build.properties index b85c8133f9..72742b8d21 100644 --- a/cave/com.raytheon.uf.viz.alertviz/build.properties +++ b/cave/com.raytheon.uf.viz.alertviz/build.properties @@ -5,4 +5,6 @@ bin.includes = META-INF/,\ plugin.xml,\ statusMessage.xsd,\ config.xml,\ - log4j-alertviz.xml + localization/,\ + lib/,\ + logback-alertviz.xml diff --git a/cave/build/static/common/cave/etc/alertViz/configurations/Default.xml b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/configurations/Default.xml similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/configurations/Default.xml rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/configurations/Default.xml diff --git a/cave/build/static/common/cave/etc/alertViz/python/AlertVizProcessor.py b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/AlertVizProcessor.py similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/python/AlertVizProcessor.py rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/AlertVizProcessor.py diff --git a/cave/build/static/common/cave/etc/alertViz/python/DebugProcessor.py b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/DebugProcessor.py similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/python/DebugProcessor.py rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/DebugProcessor.py diff --git a/cave/build/static/common/cave/etc/alertViz/python/DebugUIProcessor.py b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/DebugUIProcessor.py similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/python/DebugUIProcessor.py rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/DebugUIProcessor.py diff --git a/cave/build/static/common/cave/etc/alertViz/python/MasterProcessor.py b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/MasterProcessor.py similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/python/MasterProcessor.py rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/MasterProcessor.py diff --git a/cave/build/static/common/cave/etc/alertViz/python/PyShellScriptWrapper.py b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/PyShellScriptWrapper.py similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/python/PyShellScriptWrapper.py rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/PyShellScriptWrapper.py diff --git a/cave/build/static/common/cave/etc/alertViz/python/WriteToFileTest.py b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/WriteToFileTest.py similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/python/WriteToFileTest.py rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/WriteToFileTest.py diff --git a/cave/build/static/common/cave/etc/alertViz/python/testconfig/config.xml b/cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/testconfig/config.xml similarity index 100% rename from cave/build/static/common/cave/etc/alertViz/python/testconfig/config.xml rename to cave/com.raytheon.uf.viz.alertviz/localization/alertViz/python/testconfig/config.xml diff --git a/cave/com.raytheon.uf.viz.core.feature/feature.xml b/cave/com.raytheon.uf.viz.core.feature/feature.xml index 62ff17a95b..efc8de80fc 100644 --- a/cave/com.raytheon.uf.viz.core.feature/feature.xml +++ b/cave/com.raytheon.uf.viz.core.feature/feature.xml @@ -114,8 +114,7 @@ id="com.raytheon.uf.viz.spellchecker" download-size="0" install-size="0" - version="0.0.0" - unpack="false"/> + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> * @@ -69,10 +73,28 @@ import com.raytheon.uf.common.util.FileUtil; public class CAVELocalizationAdapter implements ILocalizationAdapter { - private final Map contexts; + private static final Map contexts = new HashMap(); - public CAVELocalizationAdapter() { - this.contexts = new HashMap(); + private static final Map caveStaticBaseFiles = new HashMap(); + + private static final LocalizationContext CAVE_STATIC_BASE = new LocalizationContext( + LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); + + private static final LocalizationContext CAVE_CONFIG_BASE = new LocalizationContext( + LocalizationType.CAVE_CONFIG, LocalizationLevel.BASE); + + private static boolean isCaveStaticBase(LocalizationContext ctx) { + return ctx.getLocalizationType() == CAVE_STATIC_BASE + .getLocalizationType() + && ctx.getLocalizationLevel() == CAVE_STATIC_BASE + .getLocalizationLevel(); + } + + private static boolean isCaveConfigBase(LocalizationContext ctx) { + return ctx.getLocalizationType() == CAVE_CONFIG_BASE + .getLocalizationType() + && ctx.getLocalizationLevel() == CAVE_CONFIG_BASE + .getLocalizationLevel(); } /** @@ -102,39 +124,59 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { */ @Override public File getPath(LocalizationContext context, String fileName) { - - String baseDir = null; - String typeString = getDirNameForType(context.getLocalizationType()); LocalizationLevel level = context.getLocalizationLevel(); - if (level == LocalizationLevel.BASE) { - if (context.getLocalizationType() == LocalizationType.COMMON_STATIC - || context.getLocalizationType() == LocalizationType.CAVE_CONFIG) { - // Common files are downloaded for all levels, including base - baseDir = FileUtil.join(LocalizationManager.getUserDir(), - typeString, "base"); + String typeDir = getDirNameForType(context.getLocalizationType()); + String levelDir = level.toString().toLowerCase(); + if (isCaveStaticBase(context)) { + // Check to see if it is resident in a bundle first + // else go to the cave static dir + if (context.getContextName() != null) { + return BundleScanner.searchInBundle(context.getContextName(), + fileName); } else { - if (context.getLocalizationType() == LocalizationType.CAVE_STATIC) { - // Check to see if it is resident in a bundle first - // else go to the cave static dir - if (context.getContextName() != null) { - return BundleScanner.searchInBundle( - context.getContextName(), fileName); + File file = new File(FileUtil.join( + LocalizationManager.getBaseDir(), typeDir, fileName)); + if (file.exists()) { + return file; + } else { + File bundleFile = null; + boolean containsKey = false; + synchronized (caveStaticBaseFiles) { + containsKey = caveStaticBaseFiles.containsKey(fileName); + if (containsKey) { + bundleFile = caveStaticBaseFiles.get(fileName); + } } + if (!containsKey) { + for (String bundle : BundleScanner + .getListOfBundles(true)) { + file = BundleScanner.searchInBundle(bundle, + fileName); + if (file != null && file.exists()) { + bundleFile = file; + break; + } + } + synchronized (caveStaticBaseFiles) { + caveStaticBaseFiles.put(fileName, bundleFile); + } + } + return bundleFile; } - baseDir = FileUtil.join(LocalizationManager.getBaseDir(), - typeString); } } else if (level != LocalizationLevel.UNKNOWN) { - baseDir = FileUtil.join(LocalizationManager.getUserDir(), - typeString, level.name().toLowerCase(), - context.getContextName()); + String baseDir = FileUtil.join(LocalizationManager.getUserDir(), + typeDir, levelDir); + if (context.getContextName() != null) { + baseDir = FileUtil.join(baseDir, context.getContextName()); + } + return new LocalizationInternalFile( + FileUtil.join(baseDir, fileName)); } else { throw new IllegalArgumentException( "Unsupported localization level: " + context.getLocalizationLevel()); } - - return new LocalizationInternalFile(FileUtil.join(baseDir, fileName)); } /* @@ -154,8 +196,7 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { List localContexts = new ArrayList( context.length); for (LocalizationContext ctx : context) { - if (ctx.getLocalizationType() == LocalizationType.CAVE_CONFIG - && ctx.getLocalizationLevel() == LocalizationLevel.BASE) { + if (isCaveConfigBase(ctx)) { // No need to check CAVE_CONFIG - BASE as they are locally // available and are not "protectable" localContexts.add(ctx); @@ -167,10 +208,10 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { List responses = new ArrayList( context.length); - if (serverContexts.size() > 0) { + if (serverContexts.isEmpty() == false) { List entriesList = LocalizationManager .getInstance().getListResponseEntry(context, fileName, - true, false); + false, false); for (int i = 0; i < context.length; i++) { ListResponseEntry[] entries = entriesList.get(i); @@ -216,9 +257,7 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { // cave_static.base and cave_config.base is baselined locally, not on // the server - if ((context.getLocalizationLevel() == LocalizationLevel.BASE) - && ((context.getLocalizationType() == LocalizationType.CAVE_STATIC) || (context - .getLocalizationType() == LocalizationType.CAVE_CONFIG))) { + if (isCaveConfigBase(context) || isCaveStaticBase(context)) { return; } @@ -275,8 +314,8 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { */ @Override public LocalizationContext[] getLocalSearchHierarchy(LocalizationType type) { - synchronized (this.contexts) { - LocalizationContext[] ctx = this.contexts.get(type); + synchronized (contexts) { + LocalizationContext[] ctx = contexts.get(type); LocalizationLevel[] levels = getAvailableLevels(); if (ctx != null) { @@ -296,26 +335,11 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { Arrays.sort(levels, LocalizationLevel.REVERSE_COMPARATOR); ctx = new LocalizationContext[levels.length]; - for (int i = 0; i < levels.length - 1; ++i) { + for (int i = 0; i < levels.length; ++i) { ctx[i] = getContext(type, levels[i]); } - if (type == LocalizationType.CAVE_STATIC) { - // only search bundles for cave_static - Set bndls = BundleScanner.getListOfBundles(); - - ctx = Arrays.copyOf(ctx, ctx.length + bndls.size()); - - int i = levels.length - 1; - for (String b : bndls) { - ctx[i] = getContext(type, LocalizationLevel.BASE); - ctx[i].setContextName(b); - i++; - } - } - - ctx[ctx.length - 1] = getContext(type, LocalizationLevel.BASE); - this.contexts.put(type, ctx); + contexts.put(type, ctx); } // return a copy for safety in case someone messes with references @@ -337,10 +361,8 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { */ @Override public LocalizationType[] getStaticContexts() { - LocalizationType[] type = new LocalizationType[] { - LocalizationType.CAVE_STATIC, LocalizationType.COMMON_STATIC }; - - return type; + return new LocalizationType[] { LocalizationType.CAVE_STATIC, + LocalizationType.COMMON_STATIC }; } /* @@ -356,15 +378,22 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { String path, boolean recursive, boolean filesOnly) throws LocalizationOpFailedException { Set addedFiles = new HashSet(); - List serverContexts = new ArrayList( + Set serverContexts = new LinkedHashSet( contexts.length); - List localContexts = new ArrayList( + Set localContexts = new LinkedHashSet( contexts.length); for (LocalizationContext context : contexts) { - if ((context.getLocalizationType() == LocalizationType.CAVE_STATIC || context - .getLocalizationType() == LocalizationType.CAVE_CONFIG) - && context.getLocalizationLevel() == LocalizationLevel.BASE) { - // CAVE_STATIC and CAVE_CONFIG - BASE are locally available + if (isCaveStaticBase(context)) { + localContexts.add(context); + if (context.getContextName() == null) { + // Also search bundles if CAVE_STATIC without context name + for (String bundle : BundleScanner.getListOfBundles()) { + localContexts.add(new LocalizationContext(context + .getLocalizationType(), context + .getLocalizationLevel(), bundle)); + } + } + } else if (isCaveConfigBase(context)) { localContexts.add(context); } else { serverContexts.add(context); @@ -375,7 +404,7 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { contexts.length); LocalizationManager manager = LocalizationManager.getInstance(); - if (serverContexts.size() > 0) { + if (serverContexts.isEmpty() == false) { List entryList = manager.getListResponseEntry( serverContexts .toArray(new LocalizationContext[serverContexts @@ -427,7 +456,7 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { } } - if (commands.size() > 0) { + if (commands.isEmpty() == false) { UtilityRequestMessage msg = new UtilityRequestMessage( commands.toArray(new AbstractUtilityCommand[commands.size()])); @@ -493,9 +522,7 @@ public class CAVELocalizationAdapter implements ILocalizationAdapter { lr.date = entry.getDate(); lr.fileName = entry.getFileName(); lr.checkSum = entry.getChecksum(); - if (context.getLocalizationLevel() == LocalizationLevel.BASE - && (context.getLocalizationType() == LocalizationType.CAVE_CONFIG || context - .getLocalizationType() == LocalizationType.CAVE_STATIC)) { + if (isCaveConfigBase(context) || isCaveStaticBase(context)) { File file = getPath(context, lr.fileName); lr.isDirectory = file != null && file.isDirectory(); } else { diff --git a/cave/com.raytheon.uf.viz.feature.alertviz/feature.xml b/cave/com.raytheon.uf.viz.feature.alertviz/feature.xml index b76cbd30ee..0937bf053f 100644 --- a/cave/com.raytheon.uf.viz.feature.alertviz/feature.xml +++ b/cave/com.raytheon.uf.viz.feature.alertviz/feature.xml @@ -96,8 +96,7 @@ id="com.raytheon.uf.viz.core" download-size="0" install-size="0" - version="0.0.0" - unpack="false"/> + version="0.0.0"/> + version="0.0.0"/> * @@ -194,8 +193,9 @@ public class FFMPSplash extends CaveSWTDialog { private String loadImage() { IPathManager pm = PathManagerFactory.getPathManager(); String path = pm.getStaticFile( - "ffmp" + File.separatorChar + "images" + File.separatorChar - + "ffmpLoading.png").getAbsolutePath(); + "ffmp" + IPathManager.SEPARATOR + "images" + + IPathManager.SEPARATOR + "ffmpLoading.png") + .getAbsolutePath(); return path; } diff --git a/cave/build/static/common/cave/etc/fog/FMThresholds.xml b/cave/com.raytheon.uf.viz.monitor.fog/localization/fog/FMThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/fog/FMThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.fog/localization/fog/FMThresholds.xml diff --git a/cave/build/static/common/cave/etc/fog/FMconfig.xml b/cave/com.raytheon.uf.viz.monitor.fog/localization/fog/FMconfig.xml similarity index 100% rename from cave/build/static/common/cave/etc/fog/FMconfig.xml rename to cave/com.raytheon.uf.viz.monitor.fog/localization/fog/FMconfig.xml diff --git a/cave/build/static/common/cave/etc/fog/algorithm/FogMonitorAlgThresh.xml b/cave/com.raytheon.uf.viz.monitor.fog/localization/fog/algorithm/FogMonitorAlgThresh.xml similarity index 100% rename from cave/build/static/common/cave/etc/fog/algorithm/FogMonitorAlgThresh.xml rename to cave/com.raytheon.uf.viz.monitor.fog/localization/fog/algorithm/FogMonitorAlgThresh.xml diff --git a/cave/build/static/common/cave/etc/fog/algorithm/defaultAlgorithm/DefaultFileName.xml b/cave/com.raytheon.uf.viz.monitor.fog/localization/fog/algorithm/defaultAlgorithm/DefaultFileName.xml similarity index 100% rename from cave/build/static/common/cave/etc/fog/algorithm/defaultAlgorithm/DefaultFileName.xml rename to cave/com.raytheon.uf.viz.monitor.fog/localization/fog/algorithm/defaultAlgorithm/DefaultFileName.xml diff --git a/cave/build/static/common/cave/etc/fog/threshold/display/DefaultFogDisplayThresholds.xml b/cave/com.raytheon.uf.viz.monitor.fog/localization/fog/threshold/display/DefaultFogDisplayThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/fog/threshold/display/DefaultFogDisplayThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.fog/localization/fog/threshold/display/DefaultFogDisplayThresholds.xml diff --git a/cave/build/static/common/cave/etc/fog/threshold/display/defaultThresh/DefaultFileName.xml b/cave/com.raytheon.uf.viz.monitor.fog/localization/fog/threshold/display/defaultThresh/DefaultFileName.xml similarity index 100% rename from cave/build/static/common/cave/etc/fog/threshold/display/defaultThresh/DefaultFileName.xml rename to cave/com.raytheon.uf.viz.monitor.fog/localization/fog/threshold/display/defaultThresh/DefaultFileName.xml diff --git a/cave/build/static/common/cave/etc/fog/threshold/monitor/DefaultFogMonitorThresholds.xml b/cave/com.raytheon.uf.viz.monitor.fog/localization/fog/threshold/monitor/DefaultFogMonitorThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/fog/threshold/monitor/DefaultFogMonitorThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.fog/localization/fog/threshold/monitor/DefaultFogMonitorThresholds.xml diff --git a/cave/build/static/common/cave/etc/monitorIcons/Fog.png b/cave/com.raytheon.uf.viz.monitor.fog/localization/monitorIcons/Fog.png similarity index 100% rename from cave/build/static/common/cave/etc/monitorIcons/Fog.png rename to cave/com.raytheon.uf.viz.monitor.fog/localization/monitorIcons/Fog.png diff --git a/cave/build/static/common/cave/etc/monitorIcons/SS.png b/cave/com.raytheon.uf.viz.monitor.safeseas/localization/monitorIcons/SS.png similarity index 100% rename from cave/build/static/common/cave/etc/monitorIcons/SS.png rename to cave/com.raytheon.uf.viz.monitor.safeseas/localization/monitorIcons/SS.png diff --git a/cave/build/static/common/cave/etc/safeseas/SSThresholds.xml b/cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/SSThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/safeseas/SSThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/SSThresholds.xml diff --git a/cave/build/static/common/cave/etc/safeseas/SSconfig.xml b/cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/SSconfig.xml similarity index 100% rename from cave/build/static/common/cave/etc/safeseas/SSconfig.xml rename to cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/SSconfig.xml diff --git a/cave/build/static/common/cave/etc/safeseas/threshold/display/DefaultSSDisplayThresholds.xml b/cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/threshold/display/DefaultSSDisplayThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/safeseas/threshold/display/DefaultSSDisplayThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/threshold/display/DefaultSSDisplayThresholds.xml diff --git a/cave/build/static/common/cave/etc/safeseas/threshold/display/defaultThresh/DefaultFileName.xml b/cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/threshold/display/defaultThresh/DefaultFileName.xml similarity index 100% rename from cave/build/static/common/cave/etc/safeseas/threshold/display/defaultThresh/DefaultFileName.xml rename to cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/threshold/display/defaultThresh/DefaultFileName.xml diff --git a/cave/build/static/common/cave/etc/safeseas/threshold/monitor/DefaultSSMonitorThresholds.xml b/cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/threshold/monitor/DefaultSSMonitorThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/safeseas/threshold/monitor/DefaultSSMonitorThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.safeseas/localization/safeseas/threshold/monitor/DefaultSSMonitorThresholds.xml diff --git a/cave/build/static/common/cave/etc/monitorIcons/Scan.png b/cave/com.raytheon.uf.viz.monitor.scan/localization/monitorIcons/Scan.png similarity index 100% rename from cave/build/static/common/cave/etc/monitorIcons/Scan.png rename to cave/com.raytheon.uf.viz.monitor.scan/localization/monitorIcons/Scan.png diff --git a/cave/build/static/common/cave/etc/scan/config/SCANMonitorConfig.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/SCANMonitorConfig.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/SCANMonitorConfig.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/SCANMonitorConfig.xml diff --git a/cave/build/static/common/cave/etc/scan/config/ScanRunConfig.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/ScanRunConfig.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/ScanRunConfig.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/ScanRunConfig.xml diff --git a/cave/build/static/common/cave/etc/scan/config/ScanSampleConfig.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/ScanSampleConfig.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/ScanSampleConfig.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/ScanSampleConfig.xml diff --git a/cave/build/static/common/cave/etc/scan/config/cellTableConfig/SCANconfig_cellTable.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/cellTableConfig/SCANconfig_cellTable.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/cellTableConfig/SCANconfig_cellTable.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/cellTableConfig/SCANconfig_cellTable.xml diff --git a/cave/build/static/common/cave/etc/scan/config/dmdTableConfig/SCANconfig_dmdTable.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/dmdTableConfig/SCANconfig_dmdTable.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/dmdTableConfig/SCANconfig_dmdTable.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/dmdTableConfig/SCANconfig_dmdTable.xml diff --git a/cave/build/static/common/cave/etc/scan/config/mesoTableConfig/SCANconfig_mesoTable.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/mesoTableConfig/SCANconfig_mesoTable.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/mesoTableConfig/SCANconfig_mesoTable.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/mesoTableConfig/SCANconfig_mesoTable.xml diff --git a/cave/build/static/common/cave/etc/scan/config/preciprate/SCANconfig_precipRate.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/preciprate/SCANconfig_precipRate.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/preciprate/SCANconfig_precipRate.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/preciprate/SCANconfig_precipRate.xml diff --git a/cave/build/static/common/cave/etc/scan/config/trendSets/CellTrendSets.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/trendSets/CellTrendSets.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/trendSets/CellTrendSets.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/trendSets/CellTrendSets.xml diff --git a/cave/build/static/common/cave/etc/scan/config/trendSets/DmdTrendSets.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/trendSets/DmdTrendSets.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/trendSets/DmdTrendSets.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/trendSets/DmdTrendSets.xml diff --git a/cave/build/static/common/cave/etc/scan/config/tvsTableConfig/SCANconfig_tvsTable.xml b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/tvsTableConfig/SCANconfig_tvsTable.xml similarity index 100% rename from cave/build/static/common/cave/etc/scan/config/tvsTableConfig/SCANconfig_tvsTable.xml rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/config/tvsTableConfig/SCANconfig_tvsTable.xml diff --git a/cave/build/static/common/cave/etc/scan/images/ScanLoading.png b/cave/com.raytheon.uf.viz.monitor.scan/localization/scan/images/ScanLoading.png similarity index 100% rename from cave/build/static/common/cave/etc/scan/images/ScanLoading.png rename to cave/com.raytheon.uf.viz.monitor.scan/localization/scan/images/ScanLoading.png diff --git a/cave/build/static/common/cave/etc/monitorIcons/Snow.png b/cave/com.raytheon.uf.viz.monitor.snow/localization/monitorIcons/Snow.png similarity index 100% rename from cave/build/static/common/cave/etc/monitorIcons/Snow.png rename to cave/com.raytheon.uf.viz.monitor.snow/localization/monitorIcons/Snow.png diff --git a/cave/build/static/common/cave/etc/snow/SNOWThresholds.xml b/cave/com.raytheon.uf.viz.monitor.snow/localization/snow/SNOWThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/snow/SNOWThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.snow/localization/snow/SNOWThresholds.xml diff --git a/cave/build/static/common/cave/etc/snow/SNOWconfig.xml b/cave/com.raytheon.uf.viz.monitor.snow/localization/snow/SNOWconfig.xml similarity index 100% rename from cave/build/static/common/cave/etc/snow/SNOWconfig.xml rename to cave/com.raytheon.uf.viz.monitor.snow/localization/snow/SNOWconfig.xml diff --git a/cave/build/static/common/cave/etc/snow/threshold/display/DefaultSnowDisplayThresholds.xml b/cave/com.raytheon.uf.viz.monitor.snow/localization/snow/threshold/display/DefaultSnowDisplayThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/snow/threshold/display/DefaultSnowDisplayThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.snow/localization/snow/threshold/display/DefaultSnowDisplayThresholds.xml diff --git a/cave/build/static/common/cave/etc/snow/threshold/display/defaultThresh/DefaultFileName.xml b/cave/com.raytheon.uf.viz.monitor.snow/localization/snow/threshold/display/defaultThresh/DefaultFileName.xml similarity index 100% rename from cave/build/static/common/cave/etc/snow/threshold/display/defaultThresh/DefaultFileName.xml rename to cave/com.raytheon.uf.viz.monitor.snow/localization/snow/threshold/display/defaultThresh/DefaultFileName.xml diff --git a/cave/build/static/common/cave/etc/snow/threshold/monitor/DefaultSnowMonitorThresholds.xml b/cave/com.raytheon.uf.viz.monitor.snow/localization/snow/threshold/monitor/DefaultSnowMonitorThresholds.xml similarity index 100% rename from cave/build/static/common/cave/etc/snow/threshold/monitor/DefaultSnowMonitorThresholds.xml rename to cave/com.raytheon.uf.viz.monitor.snow/localization/snow/threshold/monitor/DefaultSnowMonitorThresholds.xml diff --git a/cave/com.raytheon.uf.viz.radarapps.fsi/build.properties b/cave/com.raytheon.uf.viz.radarapps.fsi/build.properties index e9863e281e..6e2f847b66 100644 --- a/cave/com.raytheon.uf.viz.radarapps.fsi/build.properties +++ b/cave/com.raytheon.uf.viz.radarapps.fsi/build.properties @@ -2,4 +2,5 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ - plugin.xml + plugin.xml,\ + localization/ diff --git a/cave/build/static/common/cave/etc/fsi/startWG.sh b/cave/com.raytheon.uf.viz.radarapps.fsi/localization/fsi/startWG.sh similarity index 100% rename from cave/build/static/common/cave/etc/fsi/startWG.sh rename to cave/com.raytheon.uf.viz.radarapps.fsi/localization/fsi/startWG.sh diff --git a/cave/com.raytheon.uf.viz.spellchecker/build.properties b/cave/com.raytheon.uf.viz.spellchecker/build.properties index 34d2e4d2da..3459198753 100644 --- a/cave/com.raytheon.uf.viz.spellchecker/build.properties +++ b/cave/com.raytheon.uf.viz.spellchecker/build.properties @@ -1,4 +1,5 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ - . + .,\ + localization/ diff --git a/cave/build/static/common/cave/etc/spelldict b/cave/com.raytheon.uf.viz.spellchecker/localization/spelldict similarity index 100% rename from cave/build/static/common/cave/etc/spelldict rename to cave/com.raytheon.uf.viz.spellchecker/localization/spelldict diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/AviationDialog.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/AviationDialog.java index bd57b506cb..e13d8b2e4b 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/AviationDialog.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/AviationDialog.java @@ -101,6 +101,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * 10/02/2012 1229 rferrel Made dialog non-blocking. * 10/09/2012 1229 rferrel Changes for non-blocking TafMonitorDlg. * 04/10/2013 1735 rferrel Changes for taf monitor speed up. + * 08/09/2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -111,8 +112,9 @@ public class AviationDialog extends CaveSWTDialog implements IBackupRestart { private static final transient IUFStatusHandler statusHandler = UFStatus .getHandler(AviationDialog.class); - private static String FORECAST_CONFIG_FILE = "aviation" + File.separator - + "avnwatch" + File.separator + "aviationForecasterConfig.xml"; + private static String FORECAST_CONFIG_FILE = "aviation" + + IPathManager.SEPARATOR + "avnwatch" + IPathManager.SEPARATOR + + "aviationForecasterConfig.xml"; /** * Label font. diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatedata/GenScriptsDlg.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatedata/GenScriptsDlg.java index 757eca5f0c..c9244f02ee 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatedata/GenScriptsDlg.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatedata/GenScriptsDlg.java @@ -71,6 +71,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * May 10, 2011 #8844 rferrel Display error message when unable * to save a script. * Oct 08, 2012 #1229 rferrel Made non-blocking. + * Aug 09, 2013 #2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -447,9 +448,10 @@ public class GenScriptsDlg extends CaveSWTDialog { private void initFtpArgs() { StringBuilder path = new StringBuilder(); - path.append("aviation").append(File.separator).append("config") - .append(File.separator).append("scripts") - .append(File.separator).append("ClimateDataFTPArgs.xml"); + path.append("aviation").append(IPathManager.SEPARATOR).append("config") + .append(IPathManager.SEPARATOR).append("scripts") + .append(IPathManager.SEPARATOR) + .append("ClimateDataFTPArgs.xml"); IPathManager pm = PathManagerFactory.getPathManager(); File fname = pm.getStaticFile(path.toString()); try { diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/ClimateTimeoutManager.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/ClimateTimeoutManager.java index 7b9cdaf1f9..2a0454230e 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/ClimateTimeoutManager.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/ClimateTimeoutManager.java @@ -21,6 +21,7 @@ import com.raytheon.viz.aviation.xml.ClimateTimeouts; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Apr 4, 2011 8896 rferrel Initial creation + * Aug 9, 2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -52,9 +53,9 @@ public class ClimateTimeoutManager { private void initTimeouts() { StringBuilder path = new StringBuilder(); - path.append("aviation").append(File.separator).append("config") - .append(File.separator).append("gui").append(File.separator) - .append("ClimateTimeouts.xml"); + path.append("aviation").append(IPathManager.SEPARATOR).append("config") + .append(IPathManager.SEPARATOR).append("gui") + .append(IPathManager.SEPARATOR).append("ClimateTimeouts.xml"); IPathManager pm = PathManagerFactory.getPathManager(); File fname = pm.getStaticFile(path.toString()); try { diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/editor/TafViewerEditorDlg.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/editor/TafViewerEditorDlg.java index de9d6c8804..fb429166d2 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/editor/TafViewerEditorDlg.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/editor/TafViewerEditorDlg.java @@ -224,6 +224,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * 10/15/2012 1229 rferrel Changes for non-blocking HelpUsageDlg. * 11/05/2012 15477 zhao Trim blank lines in text in Editor when check Syntax * 01/09/2013 15528 zhao Modified saveFile() and restoreFile() + * 08/09/2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -2727,7 +2728,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable, private boolean checkSyntaxInEditor(boolean doLogMessage) { // Get the content of the Taf Editor. // Assume editorTafTabComp is for the active tab. - // DR15477: trim blank lines before Syntax Checking + // DR15477: trim blank lines before Syntax Checking String in = (editorTafTabComp.getTextEditorControl().getText().trim()); // Declare variables for processing the editor's contents. boolean errorInTaf = false; @@ -3149,10 +3150,11 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable, LocalizationContext baseContext = pm.getContext( LocalizationType.CAVE_STATIC, LocalizationLevel.BASE); - File baseFile = pm.getFile(baseContext, "aviation" + File.separator - + "python" + File.separator + "TafDecoder.py"); - File baseDir = pm.getFile(baseContext, "aviation" + File.separator - + "python"); + File baseFile = pm.getFile(baseContext, "aviation" + + IPathManager.SEPARATOR + "python" + IPathManager.SEPARATOR + + "TafDecoder.py"); + File baseDir = pm.getFile(baseContext, "aviation" + + IPathManager.SEPARATOR + "python"); HashMap resultMap = null; @@ -3602,7 +3604,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable, */ private ArrayList getTafViewerEditorCfg() { TafViewerEditorConfig tvec = null; - String fs = String.valueOf(File.separatorChar); + String fs = IPathManager.SEPARATOR; try { IPathManager pm = PathManagerFactory.getPathManager(); @@ -3619,7 +3621,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable, private SyntaxMonitorCfg getSyntaxMonitorCfg() { SyntaxMonitorCfg syntaxMonCfg = null; - String fs = String.valueOf(File.separatorChar); + String fs = IPathManager.SEPARATOR; try { IPathManager pm = PathManagerFactory.getPathManager(); diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java index ae7c415a3a..b8fff63b20 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java @@ -145,6 +145,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * 11/28/2012 1363 rferrel Dispose of PythonGuidanceJob when closing. * 01/02/2013 15606 gzhang Remove GridData widthHint so button/label size change with GUI * 03/07/2013 1735 rferrel Performance speed up for retrieving grid data. + * 08/09/2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -978,7 +979,7 @@ public class TafMonitorDlg extends CaveSWTDialog implements * Read in the TAF monitor configuration from XML. */ private void createTafMonitorCfg() { - String fs = File.separator; + String fs = IPathManager.SEPARATOR; try { IPathManager pm = PathManagerFactory.getPathManager(); File path = pm.getStaticFile("aviation" + fs + "config" + fs diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/LoadStationConfig.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/LoadStationConfig.java index 34086f159e..e3852435b4 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/LoadStationConfig.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/LoadStationConfig.java @@ -46,6 +46,7 @@ import com.raytheon.viz.aviation.xml.StationConfig; * ------------ ---------- ----------- -------------------------- * Apr 1, 2008 934 grichard Initial creation. * 8/11/2008 1314 grichard Used PathManager for pathnames. + * Aug 9, 2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -74,8 +75,8 @@ public class LoadStationConfig { IPathManager pm = PathManagerFactory.getPathManager(); File path = pm.getFile(pm.getContext(LocalizationType.CAVE_STATIC, - LocalizationLevel.BASE), "aviation" + File.separatorChar - + "avnwatch" + File.separatorChar + name + ".xml"); + LocalizationLevel.BASE), "aviation" + IPathManager.SEPARATOR + + "avnwatch" + IPathManager.SEPARATOR + name + ".xml"); // System.out.println(path); diff --git a/cave/com.raytheon.viz.avnconfig/META-INF/MANIFEST.MF b/cave/com.raytheon.viz.avnconfig/META-INF/MANIFEST.MF index b8dc665c46..81d8576d76 100644 --- a/cave/com.raytheon.viz.avnconfig/META-INF/MANIFEST.MF +++ b/cave/com.raytheon.viz.avnconfig/META-INF/MANIFEST.MF @@ -22,10 +22,6 @@ Import-Package: com.raytheon.uf.common.dataplugin.persist, com.raytheon.uf.common.serialization.comm, com.raytheon.uf.common.time, com.raytheon.uf.common.util, - com.raytheon.uf.viz.core.localization, - com.raytheon.viz.ui.dialogs, - com.vividsolutions.jts.geom, - com.vividsolutions.jts.io, org.apache.commons.configuration Export-Package: com.raytheon.viz.avncommon, com.raytheon.viz.avnconfig diff --git a/cave/com.raytheon.viz.avnconfig/build.properties b/cave/com.raytheon.viz.avnconfig/build.properties index 740a6bee7e..e5eb50c213 100644 --- a/cave/com.raytheon.viz.avnconfig/build.properties +++ b/cave/com.raytheon.viz.avnconfig/build.properties @@ -4,4 +4,4 @@ bin.includes = META-INF/,\ .,\ plugin.xml,\ config.xml,\ - static/common/cave/etc/aviation/avnsetup/TafConfig.xml + localization/ diff --git a/cave/com.raytheon.viz.avnconfig/plugin.xml b/cave/com.raytheon.viz.avnconfig/plugin.xml deleted file mode 100644 index 989e99dc62..0000000000 --- a/cave/com.raytheon.viz.avnconfig/plugin.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - diff --git a/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/MessageStatusComp.java b/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/MessageStatusComp.java index c0e22e25d8..02735033ff 100644 --- a/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/MessageStatusComp.java +++ b/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/MessageStatusComp.java @@ -19,7 +19,6 @@ **/ package com.raytheon.viz.avnconfig; -import java.io.File; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; @@ -70,6 +69,7 @@ import com.raytheon.viz.avncommon.AvnMessageMgr.StatusMessageType; * 10/04/2012 1229 rferrel Added dispose check needed for * non-blocking dialogs. * 10/12/2012 1229 rferrel Changes for non-blocking MessageViewerDlg. + * 08/09/2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -326,8 +326,9 @@ public class MessageStatusComp extends Composite implements IStatusSettable { String path = pm.getFile( pm.getContext(LocalizationType.CAVE_STATIC, LocalizationLevel.BASE), - "aviation" + File.separatorChar + "avnwatch" - + File.separatorChar + "msgLog2.png").getAbsolutePath(); + "aviation" + IPathManager.SEPARATOR + "avnwatch" + + IPathManager.SEPARATOR + "msgLog2.png") + .getAbsolutePath(); return path; } diff --git a/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/TafSiteConfigIni.java b/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/TafSiteConfigIni.java index 0451d7ea87..9e41793774 100644 --- a/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/TafSiteConfigIni.java +++ b/cave/com.raytheon.viz.avnconfig/src/com/raytheon/viz/avnconfig/TafSiteConfigIni.java @@ -65,6 +65,7 @@ import com.raytheon.viz.avnconfig.AvnConfigConstants.triggerType; * Feb 16, 2011 7878 rferrel Modifications to use ids.cfg file. * Apr 08, 2011 8856 rferrel Can now make a new station's templates * May 24, 2011 9060 rferrel Limit downloading of localization files. + * Aug 09, 2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -80,23 +81,23 @@ public class TafSiteConfigIni implements ITafSiteConfig { /** * Relative path to the tafs directory with file separator at the end. */ - private static final String TAFS_DIR = "aviation" + File.separator - + "config" + File.separator + "tafs"; + private static final String TAFS_DIR = "aviation" + IPathManager.SEPARATOR + + "config" + IPathManager.SEPARATOR + "tafs"; /** * The file name for site configuration with the file separator prepended to * it. */ - private static final String INFO_FILE = File.separator + "info.cfg"; + private static final String INFO_FILE = IPathManager.SEPARATOR + "info.cfg"; - private static final String IDS_FILE = "aviation" + File.separator - + "config" + File.separator + "ids.cfg"; + private static final String IDS_FILE = "aviation" + IPathManager.SEPARATOR + + "config" + IPathManager.SEPARATOR + "ids.cfg"; /** * Relative location for the file that contains the default product name. */ private static final String DEFAULT_PRODUCT_FILE = TAFS_DIR - + File.separator + "DEFAULT"; + + IPathManager.SEPARATOR + "DEFAULT"; /** * The suffix for a site's start hour template file name. @@ -574,7 +575,8 @@ public class TafSiteConfigIni implements ITafSiteConfig { public TafSiteData getSite(String siteId) throws IOException, ConfigurationException { TafSiteData site = null; - String fileName = TAFS_DIR + File.separator + siteId + INFO_FILE; + String fileName = TAFS_DIR + IPathManager.SEPARATOR + siteId + + INFO_FILE; try { File file = AvnConfigFileUtil.getStaticSiteFile(fileName, siteId); diff --git a/cave/com.raytheon.viz.avnfps.feature/feature.xml b/cave/com.raytheon.viz.avnfps.feature/feature.xml index c62664aebc..73c90673b1 100644 --- a/cave/com.raytheon.viz.avnfps.feature/feature.xml +++ b/cave/com.raytheon.viz.avnfps.feature/feature.xml @@ -39,8 +39,7 @@ id="com.raytheon.viz.avnconfig" download-size="0" install-size="0" - version="0.0.0" - unpack="false"/> + version="0.0.0"/> + version="0.0.0"/> diff --git a/cave/com.raytheon.viz.ghg/build.properties b/cave/com.raytheon.viz.ghg/build.properties index e9863e281e..6e2f847b66 100644 --- a/cave/com.raytheon.viz.ghg/build.properties +++ b/cave/com.raytheon.viz.ghg/build.properties @@ -2,4 +2,5 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ - plugin.xml + plugin.xml,\ + localization/ diff --git a/cave/build/static/common/cave/etc/ghg/config/DefaultGHGMonitorConfig.xml b/cave/com.raytheon.viz.ghg/localization/ghg/config/DefaultGHGMonitorConfig.xml similarity index 100% rename from cave/build/static/common/cave/etc/ghg/config/DefaultGHGMonitorConfig.xml rename to cave/com.raytheon.viz.ghg/localization/ghg/config/DefaultGHGMonitorConfig.xml diff --git a/cave/build/static/common/cave/etc/ghg/sortDown.gif b/cave/com.raytheon.viz.ghg/localization/ghg/sortDown.gif similarity index 100% rename from cave/build/static/common/cave/etc/ghg/sortDown.gif rename to cave/com.raytheon.viz.ghg/localization/ghg/sortDown.gif diff --git a/cave/build/static/common/cave/etc/ghg/sortUp.gif b/cave/com.raytheon.viz.ghg/localization/ghg/sortUp.gif similarity index 100% rename from cave/build/static/common/cave/etc/ghg/sortUp.gif rename to cave/com.raytheon.viz.ghg/localization/ghg/sortUp.gif diff --git a/cave/build/static/common/cave/etc/parameterMapping/radar/RadarProductCodes.xml b/cave/com.raytheon.viz.grid/localization/parameterMapping/radar/RadarProductCodes.xml similarity index 100% rename from cave/build/static/common/cave/etc/parameterMapping/radar/RadarProductCodes.xml rename to cave/com.raytheon.viz.grid/localization/parameterMapping/radar/RadarProductCodes.xml diff --git a/cave/build/static/common/cave/etc/hydro/config/pdc_loc_shift.txt b/cave/com.raytheon.viz.hydro/localization/hydro/config/pdc_loc_shift.txt similarity index 100% rename from cave/build/static/common/cave/etc/hydro/config/pdc_loc_shift.txt rename to cave/com.raytheon.viz.hydro/localization/hydro/config/pdc_loc_shift.txt diff --git a/cave/build/static/common/cave/etc/hydro/shefIssue.xml b/cave/com.raytheon.viz.hydro/localization/hydro/shefIssue.xml similarity index 100% rename from cave/build/static/common/cave/etc/hydro/shefIssue.xml rename to cave/com.raytheon.viz.hydro/localization/hydro/shefIssue.xml diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/appsdefaults/SHEFAppsDefaultsDlg.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/appsdefaults/SHEFAppsDefaultsDlg.java index 8faa917132..754ffbcdb4 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/appsdefaults/SHEFAppsDefaultsDlg.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/appsdefaults/SHEFAppsDefaultsDlg.java @@ -55,8 +55,9 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * Jan 26, 2011 mpduff Initial creation + * Jan 26, 2011 mpduff Initial creation * Dec 07, 2012 1353 rferrel Make non-blocking dialog. + * Aug 09, 2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -68,7 +69,7 @@ public class SHEFAppsDefaultsDlg extends CaveSWTDialog { private final IUFStatusHandler statusHandler = UFStatus .getHandler(SHEFAppsDefaultsDlg.class); - private final String CONFIG_FILE_NAME = "hydro" + File.separatorChar + private final String CONFIG_FILE_NAME = "hydro" + IPathManager.SEPARATOR + "shefGadTokens.xml"; /** diff --git a/cave/com.raytheon.viz.lpi/build.properties b/cave/com.raytheon.viz.lpi/build.properties index 6f20375d6c..d5b5e0ffde 100644 --- a/cave/com.raytheon.viz.lpi/build.properties +++ b/cave/com.raytheon.viz.lpi/build.properties @@ -2,4 +2,5 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ - plugin.xml + plugin.xml,\ + localization/ diff --git a/cave/build/static/common/cave/etc/basemaps/88D.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/88D.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/88D.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/88D.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/airport.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/airport.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/airport.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/airport.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/cities.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/cities.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/cities.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/cities.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/fireWxSta.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/fireWxSta.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/fireWxSta.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/fireWxSta.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/fix.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/fix.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/fix.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/fix.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/latlon10.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/latlon10.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/latlon10.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/latlon10.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/navaid.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/navaid.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/navaid.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/navaid.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/spotters.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/spotters.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/spotters.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/spotters.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/us_county.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/us_county.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/us_county.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/us_county.lpi diff --git a/cave/build/static/common/cave/etc/basemaps/volcanoes.lpi b/cave/com.raytheon.viz.lpi/localization/basemaps/volcanoes.lpi similarity index 100% rename from cave/build/static/common/cave/etc/basemaps/volcanoes.lpi rename to cave/com.raytheon.viz.lpi/localization/basemaps/volcanoes.lpi diff --git a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResourceData.java b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResourceData.java index bcfdea2711..7070360006 100644 --- a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResourceData.java +++ b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/rsc/PlotResourceData.java @@ -19,7 +19,6 @@ **/ package com.raytheon.viz.pointdata.rsc; -import java.io.File; import java.util.HashMap; import java.util.Map; @@ -35,6 +34,7 @@ import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType; import com.raytheon.uf.common.dataquery.requests.RequestableMetadataMarshaller; +import com.raytheon.uf.common.localization.IPathManager; import com.raytheon.uf.common.time.BinOffset; import com.raytheon.uf.common.time.DataTime; import com.raytheon.uf.viz.core.exception.VizException; @@ -56,6 +56,7 @@ import com.raytheon.viz.pointdata.rsc.retrieve.PointDataPlotInfoRetriever; * Feb 17, 2009 njensen Initial creation * Jun 29, 2009 2538 jsanchez Implemented Metars. * May 14, 2013 1869 bsteffen Get plots working without dataURI + * Aug 09, 2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -66,7 +67,7 @@ import com.raytheon.viz.pointdata.rsc.retrieve.PointDataPlotInfoRetriever; @XmlAccessorType(XmlAccessType.NONE) public class PlotResourceData extends AbstractRequestableResourceData { - public static final String PLOT_DIR = "plotModels" + File.separator; + public static final String PLOT_DIR = "plotModels" + IPathManager.SEPARATOR; public static class PluginPlotProperties { @@ -151,7 +152,6 @@ public class PlotResourceData extends AbstractRequestableResourceData { pluginProps.put("airep", new PluginPlotProperties(false, false)); pluginProps.put("acars", new PluginPlotProperties(false, false)); - /* * These have a dependency on dataURI because they don't set stationId, * In the future if stationId can be set to anything that is even a @@ -481,10 +481,12 @@ public class PlotResourceData extends AbstractRequestableResourceData { return result; } - public static PluginPlotProperties getPluginProperties(Map metadataMap){ + public static PluginPlotProperties getPluginProperties( + Map metadataMap) { RequestConstraint rc = metadataMap.get("pluginName"); if (rc == null || rc.getConstraintType() != ConstraintType.EQUALS) { - throw new IllegalArgumentException("Cannot find plugin properties because metadataMap does not specify a plugin."); + throw new IllegalArgumentException( + "Cannot find plugin properties because metadataMap does not specify a plugin."); } return getPluginProperties(rc.getConstraintValue()); } diff --git a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/SymbolLoader.java b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/SymbolLoader.java index 2ed5a6e800..1d33462c40 100644 --- a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/SymbolLoader.java +++ b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/util/SymbolLoader.java @@ -22,7 +22,6 @@ package com.raytheon.viz.pointdata.util; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.awt.image.IndexColorModel; -import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.util.HashMap; @@ -38,6 +37,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Text; +import com.raytheon.uf.common.localization.IPathManager; import com.raytheon.uf.common.localization.PathManagerFactory; import com.raytheon.uf.viz.core.IGraphicsTarget; import com.raytheon.uf.viz.core.data.prep.IODataPreparer; @@ -54,6 +54,7 @@ import com.raytheon.uf.viz.core.exception.VizException; * ------------ ---------- ----------- -------------------------- * Sep 25, 2009 3099 bsteffen Initial creation * Oct 20, 2010 6853 bgonzale Migrated common symbol loading code. + * Aug 09, 2013 2033 mschenke Switched File.separator to IPathManager.SEPARATOR * * * @@ -85,8 +86,8 @@ public class SymbolLoader { document = f.createDocument(PathManagerFactory .getPathManager() .getStaticFile( - "plotModels" + File.separator + "WxSymbolText.svg") - .toURI().toString()); + "plotModels" + IPathManager.SEPARATOR + + "WxSymbolText.svg").toURI().toString()); } catch (MalformedURLException e) { throw new VizException( "Error loading symbol file: WxSymbolText.svg", e); diff --git a/cave/com.raytheon.viz.radar.feature/feature.xml b/cave/com.raytheon.viz.radar.feature/feature.xml index ca2662192f..31e9dc2e4e 100644 --- a/cave/com.raytheon.viz.radar.feature/feature.xml +++ b/cave/com.raytheon.viz.radar.feature/feature.xml @@ -42,8 +42,7 @@ id="com.raytheon.uf.viz.radarapps.fsi" download-size="0" install-size="0" - version="0.0.0" - unpack="false"/> + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> - - -