AWIPS Integration Checklist

Date: 05/22/2006

Release

Title:

Reference Number:

OB7.2

Text Products: Allow capability to leave products in lower case

DCS 3347, tk4669


Contacts

Name

Email/Phone

Task Lead

Mark Mathewson

Mark.A.Mathewson@noaa.gov
303-497-6713

Main Developer

Tracy Hansen

Tracy.L.Hansen@noaa.gov
303-497-6569

Documentation Focal Point

Mark Mathewson

Mark.A.Mathewson@noaa.gov
303-497-6713

Testing Focal Point

Mark Mathewson

Mark.A.Mathewson@noaa.gov
303-497-6713


Narrative:

This is an enhancement to the GFE Text Formatter Infrastructure. Currently the GFE will automatically "uppercase" all text products, since the general rules for allowed NWS characters is upper case characters. Changes are required to the GFE Text Formatter Infrastructure to allow an option of lower case output. Changes are also required to the GFE Product Editor and perhaps Headline generation code to not automatically convert the output to upper case as well.


Milestone

Date

Requirements Review

04/17/2006 - conference call.  Participants: Mark Mathewson (GSD), Tracy Hansen (GSD), Doug Young (OCCWS), Joe Palko (ER), Matt Belk (ER), Jeff Manion (CR), Eric Howieson (SR), Kirby Cook (WR), Michael Szkil (Training), Chris Marshall (Raytheon/Keane), Andrew Lare (Raytheon/Keane), Ed Mandel (SEC).   Accepted without changes.

Design Review

04/17/2006 - conference call.  Participants: Mark Mathewson (GSD), Tracy Hansen (GSD), Doug Young (OCCWS), Joe Palko (ER), Matt Belk (ER), Jeff Manion (CR), Eric Howieson (SR), Kirby Cook (WR), Michael Szkil (Training), Chris Marshall (Raytheon/Keane), Andrew Lare (Raytheon/Keane), Ed Mandel (SEC).   Accepted without changes.

Interface Review

NA

Test Plan Review

04/27/2006 - Test Case Accepted As-is
Mark Mathewson (GSD), Tracy Hansen (GSD), Susan Williams (GSD), Joe Palko (ER), Jeff Manion (CR), Eric Howieson (SR), Carl Gorski (WR), Jamie Vavra (OOS via email), Chris Marshall (Raytheon/Keane), Ed Mandel (AWIPS Development Manager), Shannon White (Training), Peter Wu (SEC), Cliff Wong (SEC)

Independent Testing

05/22/2006 - Vada Dreisbach

Integration (GFS Handoff) Readiness Review

05/30/2006

Documentation Turnover

06/06/2006

Software Check-In (GFS Handoff)

06/06/2006



References/Attachments

Location & Document Name

Requirements Documentation

Allow the option of producing products in lower case.

Design Documentation

All changes are confined to the GFESuite Text Formatter infrastructure.

  • Add a Definition section option ["lowerCase"].  If set to 1, the product output will NOT be converted to upper case.  If not present, the product output will be automatically converted to upper case.
  • All Standard Text Products: Remove calls to string.upper() so "lowerCase" flag can be honored.  Changed hard-coded labels to lower case.
  • headline/TextFormatter.py:  After the call to the translator, we convert to upper case. Make this dependent on the Definition "lowerCase" value. 
  • ProductEditor.py: Check the Definition "lowerCase" value before converting to upper case.
  • Headline code: Check the Definition "lowerCase" value before converting to upper case.
    • "headlines_words", "hazards_words" (gfe/userPython/textUtilities/regular/DiscretePhrases): modified to call "convertToUpper"
    • "headlines_words", "makeStandardPhrase": modified to call "convertToLower" for headlines
    • Hard-coded upper case wording set to lower case in DiscretePhrases
  • StringUtils:
    • Added "convertToUpper" as help function to check Definition "lowerCase" and convert to upper if appropriate.
    • Added "convertToLower" as helper function to check Definition "lowerCase" and convert a string of words to lower case if appropriate.
  • gfe/userPython/textUtilities/regular/TimeDescriptor.py: Changed "Labels" dictionary entries from all caps
  • gfe/userPython/textUtilities/regular/Header.py: Took out calls to "upper"

User Interface Documentation

NA

Code Review Summary

Code walkthru -- Mark/Tracy 4/20/06 Approved as written.


 /localhost/home/afps/cvsroot/GFESuite/data/test/dbconfig/TEXT/Misc/ExpireTime_TestScript.py,v  <--  ExpireTime_TestScript.py
new revision: 1.5; previous revision: 1.4
done
Checking in data/test/dbconfig/TEXT/Misc/RoutineLevel1_FWFTable_TestScript.py;
/localhost/home/afps/cvsroot/GFESuite/data/test/dbconfig/TEXT/Misc/RoutineLevel1_FWFTable_TestScript.py,v  <--  RoutineLevel1_FWFTable_TestScript.py
new revision: 1.15; previous revision: 1.14
done
Checking in data/test/dbconfig/TEXT/Misc/RoutineLevel1_PFM_TestScript.py;
/localhost/home/afps/cvsroot/GFESuite/data/test/dbconfig/TEXT/Misc/RoutineLevel1_PFM_TestScript.py,v  <--  RoutineLevel1_PFM_TestScript.py
new revision: 1.16; previous revision: 1.15
done
Checking in data/test/dbconfig/TEXT/Misc/RoutineLevel1_SFT_TestScript.py;
/localhost/home/afps/cvsroot/GFESuite/data/test/dbconfig/TEXT/Misc/RoutineLevel1_SFT_TestScript.py,v  <--  RoutineLevel1_SFT_TestScript.py
new revision: 1.11; previous revision: 1.10
done
Checking in data/test/dbconfig/TEXT/Misc/RoutineLevel1_SRF_TestScript.py;
/localhost/home/afps/cvsroot/GFESuite/data/test/dbconfig/TEXT/Misc/RoutineLevel1_SRF_TestScript.py,v  <--  RoutineLevel1_SRF_TestScript.py
new revision: 1.14; previous revision: 1.13
done
Checking in gfe/ui/ProductEditor.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/ui/ProductEditor.py,v  <--  ProductEditor.py
new revision: 1.144; previous revision: 1.143
done
Checking in gfe/userPython/textProducts/direct/AFD.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/AFD.py,v  <--  AFD.py
new revision: 1.95; previous revision: 1.94
done
Checking in gfe/userPython/textProducts/direct/AreaFcst.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/AreaFcst.py,v  <--  AreaFcst.py
new revision: 1.68; previous revision: 1.67
done
Checking in gfe/userPython/textProducts/direct/CWF.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/CWF.py,v  <--  CWF.py
new revision: 1.60; previous revision: 1.59
done
Checking in gfe/userPython/textProducts/direct/CWF_Pacific.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/CWF_Pacific.py,v  <--  CWF_Pacific.pynew revision: 1.59; previous revision: 1.58
done
Checking in gfe/userPython/textProducts/direct/CivilEmerg.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/CivilEmerg.py,v  <--  CivilEmerg.py
new revision: 1.6; previous revision: 1.5
done
Checking in gfe/userPython/textProducts/direct/FWF.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/FWF.py,v  <--  FWF.py
new revision: 1.71; previous revision: 1.70
done
Checking in gfe/userPython/textProducts/direct/FWFTable.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/FWFTable.py,v  <--  FWFTable.py
new revision: 1.62; previous revision: 1.61
done
Checking in gfe/userPython/textProducts/direct/FWM.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/FWM.py,v  <--  FWM.py
new revision: 1.14; previous revision: 1.13
done
Checking in gfe/userPython/textProducts/direct/GLF.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/GLF.py,v  <--  GLF.py
new revision: 1.53; previous revision: 1.52
done
Checking in gfe/userPython/textProducts/direct/GenericHazards.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/GenericHazards.py,v  <--  GenericHazards.py
new revision: 1.64; previous revision: 1.63
done
Checking in gfe/userPython/textProducts/direct/Hazard_CFW.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/Hazard_CFW.py,v  <--  Hazard_CFW.py
new revision: 1.25; previous revision: 1.24
done
Checking in gfe/userPython/textProducts/direct/Hazard_FFA.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/Hazard_FFA.py,v  <--  Hazard_FFA.py
new revision: 1.50; previous revision: 1.49
done
Checking in gfe/userPython/textProducts/direct/Hazard_HLS.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/Hazard_HLS.py,v  <--  Hazard_HLS.py
new revision: 1.13; previous revision: 1.12
done
Checking in gfe/userPython/textProducts/direct/Hazard_HWO.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/Hazard_HWO.py,v  <--  Hazard_HWO.py
new revision: 1.18; previous revision: 1.17
done
Checking in gfe/userPython/textProducts/direct/NSH.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/NSH.py,v  <--  NSH.py
new revision: 1.53; previous revision: 1.52
done
Checking in gfe/userPython/textProducts/direct/OFF.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/OFF.py,v  <--  OFF.py
new revision: 1.32; previous revision: 1.31
done
Checking in gfe/userPython/textProducts/direct/PFM.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/PFM.py,v  <--  PFM.py
new revision: 1.21; previous revision: 1.20
done
Checking in gfe/userPython/textProducts/direct/SFT.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/SFT.py,v  <--  SFT.py
new revision: 1.24; previous revision: 1.23
done
Checking in gfe/userPython/textProducts/direct/SRF.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/SRF.py,v  <--  SRF.py
new revision: 1.27; previous revision: 1.26
done
Checking in gfe/userPython/textUtilities/regular/DiscretePhrases.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textUtilities/regular/DiscretePhrases.py,v  <--  DiscretePhrases.py
new revision: 1.129; previous revision: 1.128
done
Checking in gfe/userPython/textUtilities/regular/FWS_Overrides.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textUtilities/regular/FWS_Overrides.py,v  <--  FWS_Overrides.py
new revision: 1.29; previous revision: 1.28
done
Checking in gfe/userPython/textUtilities/regular/Header.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textUtilities/regular/Header.py,v  <--  Header.py
new revision: 1.86; previous revision: 1.85
done
Checking in gfe/userPython/textUtilities/regular/SAF_Overrides.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textUtilities/regular/SAF_Overrides.py,v  <--  SAF_Overrides.py
new revision: 1.19; previous revision: 1.18
done
Checking in gfe/userPython/textUtilities/regular/StringUtils.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textUtilities/regular/StringUtils.py,v  <--  StringUtils.py
new revision: 1.16; previous revision: 1.15
done
Checking in gfe/userPython/textUtilities/regular/TimeDescriptor.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textUtilities/regular/TimeDescriptor.py,v  <--  TimeDescriptor.py
new revision: 1.11; previous revision: 1.10
done
Checking in data/test/dbconfig/TEXT/Misc/RoutineLevel5_2_TestScript.py;
/localhost/home/afps/cvsroot/GFESuite/data/test/dbconfig/TEXT/Misc/RoutineLevel5_2_TestScript.py,v  <--  RoutineLevel5_2_TestScript.py
new revision: 1.19; previous revision: 1.18
done
Checking in headline/TextFormatter.py;
/localhost/home/afps/cvsroot/GFESuite/headline/TextFormatter.py,v  <--  TextFormatter.py
new revision: 1.168; previous revision: 1.167
done
Checking in data/test/dbconfig/TEXT/Misc/VTEC_TestMode_TestScript.py;
/localhost/home/afps/cvsroot/GFESuite/data/test/dbconfig/TEXT/Misc/VTEC_TestMode_TestScript.py,v  <--  VTEC_TestMode_TestScript.py
new revision: 1.17; previous revision: 1.16
done
*********************
Checking in gfe/userPython/textProducts/direct/GLF.py;
/localhost/home/afps/cvsroot/GFESuite/gfe/userPython/textProducts/direct/GLF.py,v  <--  GLF.py
new revision: 1.54; previous revision: 1.53
done

Test Plan and Procedures

See OB7.2 GFE Test Matrix

Summary of Functional Testing

Approved as is without changes.

User Manual and SMM Documentation

No changes needed to User Manual and SMM document.  GFE User and System documentaion is provided with the software release and is available at: http://www-md.fsl.noaa.gov/eft/AWIPS.html

Integration (GFS) Handoff Checklist

This document.




Id

Question

Response

I.

Design/Architectural Assessment


I.1

List names of new persistent processes if any. If none, state "NA".

NA

I.2

List names of existing persistent processes that will require mods if any. If none, state "NA".

NA

I.3

Does design include new fork/exec calls, system calls, or threads? If so, list type; also identify process(es) performing such activity. If no such calls will be made state "NA".

NA

I.4

If item will involve new processes, describe how processes will communicate (e.g., sockets, pipes, signals). If no new multi-processing involved state "NA".

NA

I.5

List all languages being used.

Python, C++

I.6

Are new versions COTS/freeware being used (Yes/No/unsure)?

N

I.7

List any AWIPS system APIs/CLIs anticipated being used (e.g. textdb, distributeProduct, handleOUP, transferNWR, ...) If none, state "NA".

NA

I.8

Describe any new AWIPS system APIs/CLIs desired but not currently provided. If none desired, state "NA".

NA

I.9

Describe any modifications to existing AWIPS system APIs/CLIs desired. If none, state "NA".

NA

I.10

Mark (Y/N) any planned use of the following AWIPS services: NotificationServer, TextNotificationServer, PostGres triggers, Postgres (general) , MHSserver , DataController , CommsRouter, any core system Decoders (identify which).

N

II.

Database


II.1

List existing databases to be read from. If none, state "NA".

NA

II.2

List existing databases to be written to. If none, state "NA".

NA

II.3

List modifications to the format of any existing databases. If none, state "NA". If yes, include information about conversion scripts, disk space requirements for backup, conversion and reload, estimated time for conversion and ingest downtime requirements.

NA

II.4

List any new databases and their proposed type (Informix, UNIX file). If none, state "NA".

NA

III.

Operability


III.1

Will a new user interface be implemented (Y/N)?

N

III.2

Will an existing user interface be modified (Y/N)?

N

IV.

Application Integration and Installation


IV.1

Have new or changed metadata files been used (Y/N/unknown)? If yes, provide information about site-configuration, merging with existing customizations, and need for re-localization.

N

IV.2

Is localization required (Y/N/unknown)? If Y, list localization options.

N

IV.3

Have runtime setup files (.rhosts, .environs, etc.) been chnaged (Y/N/unknown)?

N

IV.4

Are there any new exes/scripts/data/config files (Y/N/unknown)?

If Y, list the file location (directory, host) and their permissions. Will the old files need to be converted and is the change backward compatible?

N

IV.5

Is any cron usage anticipated (Y/N/unknown)? If Y, list times of day if known.

N

IV.6

Have the appropriate mkdirs and purge scripts been modified?

NA

V.

System Integration


V.1

Will the functionality get installed at all site types (WFO/RFC/OCONUS)?

If N, are all site type-specific files available (acq_parms, menus, etc.)?

Y

V.2

Are there changes required to dtwmrc or other environs files? (Y,N,unknown) If Y, list the changes.

N

V.3

Does a previous version of the function need to be installed prior to this version?

N

V.4

Are there any old files/data that need to be removed from the site? (Y, N/Unknown)

If Y, is removing these files optional or will the system be unstable?

N

V.5

Are there any dependencies or sequencing that needs to followed during installation and integration?

N

V.6

Is SBN use expected (Y/N/unknown)? If Yes, is the expected usage known - e.g., frequency and times of use, amount of data, etc. (Y/N/unknown)? Provide details.

N

VI.

Performance


VI.1

Will remote system calls (e.g., rcp, rsh, etc.) be used (Y/N/unknown)? If Yes, list

N

VI.2

Is there any new NFS access?

N

VI.3

Is there any new data acquisition? Is there any impact on disk space?

N

VI.4

Is there any new WAN access? If WAN use is expected, is level of usage known - e.g., frequency and times of use, amount of data, etc. (Y/N/unknown)? If Y, provide details.

N

VII.

External Interfaces


VII.1

List name(s) of all external interfaces this item will directly contend with; do not list interfaces for which an AWIPS-provided API/CLI exists, such as distributeProduct, transferNWR). If none, state "NA"

NA

VII.2

For every external interface listed in III.1 does a formal and sufficient Interface Control Document (ICD) exist (Y.N)?

NA

VIII.

Documentation


VIII.1

Will SMM entry/mod be required (Y/N/unknown)?

If Y, please state section, type of change (e.g. new, modified) and location of soft copy (if available).

N

VIII.2

Will Users Manual entry/mod be required (Y/N/unknown)?

If Yes, please state section, type of change (e.g. new, modified) and location soft copy (if available).

N