Programs/Script information

Column Heading Expected input Description/comments
A: Program/Script: 1) name of individual Program or script
2) Name of a set of program/scripts (e.g. sgp sds bundling scripts).
3) Label information (like External Data Center IDPCs or "Collections")
list of programs and scripts used in our IDPCs including collections, pre-processing scripts, ingests, rename scripts, bundling scripts and other miscellaneous programs used in processing the IDPCs.
B: IDPC IDPC which the Program/Script is associated with. Basically list the elements included in the data streams associated with each IDPC. For instance, the Oklahoma Mesonet IDPC generates 2 datastreams - sgp05okmX1.a1 and sgp15okmX1.a1 - so I indicated the IDPC by SGP OKM 05 and SGP OKM 15.
C: Description: text, describing program/script in column A General description for the function of each program/script.

Dependencies

The following are shared code or software that the element is be dependent upon. If the software is any way dependent upon the indicated software, then put a "y". otherwise put a "n"
Column Heading Expected input Description
D:Zebra y (for "yes" it is dependent on Zebra) or n (for "no" it is not dependent on Zebra)
E:BW y/n BW (a.k.a Bozzel Works, currently used at EC and XDC)
F: SGP Shared Libs y/n (Shared libs that are currently used at SGP, NSA, and TWP)
G:TDB y/n (Scripts will be dependent on the TDB if they either use any of the C or Perl TDB API's or use the keys withing the TDB.)

Types of code that the program or scripts are written in:

Column Heading Expected input Description/comments
H: C y/n
I: FORTRAN y/n
J: Perl y/n
K: Shell y/n Includes C-shell, Bourne Shell, etc...
L: IDL y/n

Common Y2K problems

Feel free to add columns under the "Common Problems" heading as new types of problems are found across various sites.
Column Heading Expected input Description/comments
M: Creates/Parse filenames: y/n Going to 4 digit years in the filenames will cause problems in many scripts & programs which either parse or create a filename. It may be trying to get the date or info from the filename or it may be renaming a file. If the element must be changed in order to properly read in a filename with a 4 digit year or create a file with a 4 digit year, then put a "y". If it does not directly create filename or does not parse any filenames, put a "n".
N: Works with 2 digit years from data within raw file y/n This is where year is extracted from the data within a data file (particularly raw data files). Often, the date within the raw files contain years in yy data format. Usually, grepping for variables like "yy", "yymm", or "yyjjj" uncover this problem.
O: Calls shared SDS routines y/n Calls shared SDS library functions which may have Y2K problems such as:
days_sinceJan(MM, YY) + DD;
set_sample_time(hhmm, jday, YY, ztime)
P: Calls "date" command: y/n Calls the unix command "date": I listed it here not necessarily because "date" may not be Y2K compliant, but how it is used isn't always Y2K compiliant.
Q: Has own routines for time.: y/n Script or program contains an algorithm for calculating the date/time. For examples, there are quite a few scripts for figuring out "yesterday's" date (e.g. yesterday.pl) or for converting julian date to yymmdd (e.g. jdate_to_yymmdd.c)
R: Uses Obstime.ds_yymmdd. y/n This is a problem for BW ingests which use the Obstime structure for converting yymmdd to zebtime.

Software Dependencies

Column Heading Expected input Description/comments
S: In House: text, names of script or software package Other in house programs/scripts that the element uses
T: Outside sources: text, name of script of software packages Code from other sources that this code depends on. (like ohwhio lib's for the aeri ingest).
U: Status: text, "production", "development", "retired" is the code "retired", in "development", in "production" ?
V: priority: Text, high, medium, low Priority assigned to the item in column A.
W: Contact Person(s) text, e-mail address Person(s) to contact regarding the item column A

On which data systems is this code implemented at:

Column Heading Expected input Description/comments
SGP y/n
NSA y/n
SHE y/n
TWP y/n
EC y/n
XDC y/n

Finally, is there a problem? and how long will it take to fix and test it?

Time should be in hours and should pertain to only the time spend on fixing the code in program or script indicated in column A. This should not include any time spent waiting for any changes made to dependent software. For example, if the the MPL ingest requires a change to be made in the shared libraries. Only the time to change the MPL ingest should be included in this estimate. (The time to change the function in the shared lib's should be included under the shared lib's time estimate...)
Column Heading Expected input Description/comments
AD: Is there a Y2K problem? y/n If you put a y under any of the Common Y2K problem columns, or if you suspect that there is a potential problem, put a "y"
AE: Time estimate, To assess: hours How long will it take to assess the problem (including the time spent now to fill out this entry)
AF: Time estimate, To change: hours How long will it take to actually do the code to fix the problems. Only include the changes made to the code indicated in column A, not any dependent software.
AG: Time estimate, To unit test: hours How long will it take to test this code individual (before integrating it with other software or within the data system).
AH: Time estimate, system integration: hours Time to install and test code when tested within the system. On the SGP SDS system, for example, this would include tests on development (after a make "install"). On the EC and XDC systems, this might include the release and test in "pseudo production" mode.
AI: Time estimate, data quality review: hours This is here for any changes that might be made to the data itself. If there are any modifications that could impact the data or the quality of the data, the time to check that would be included here.

Comments/Concerns

AJ: Comments/concerns: text Anything not included in any of the other columns. Any concerns about possible problems or dependencies. Any comments about how problems were found.