530 likes | 744 Views
GFESuite Configuration. Mark Mathewson. Topics. Documentation Directory Structure Base/Site Configuration Base/Site/User configuration Problem Solving Misc. Items. Documentation. Where is it?. GFE HELP menu FSL AWIPS doc web site http://www-md.fsl.noaa.gov/eft/AWIPSdoc.html
E N D
GFESuite Configuration Mark Mathewson
Topics • Documentation • Directory Structure • Base/Site Configuration • Base/Site/User configuration • Problem Solving • Misc. Items GFESuite Configuration
Documentation GFESuite Configuration
Where is it? • GFE HELP menu • FSL AWIPS doc web site • http://www-md.fsl.noaa.gov/eft/AWIPSdoc.html • Many other regional/national web sites contain information • listservers another source • ndfd_team, ifpsrppinfo, ifps GFESuite Configuration
What is available? • User Training Guides • Reference Manuals • Configuration Guides • Product Generation Guides • README file GFESuite Configuration
How good is it? • Issues: • Little indexing available…. • High priority for accurate info. • Lower priority for indexing than s/w enhancements • Generally fairly accurate – especially the configuration guides • Spend a few minutes with it – it will save you time. GFESuite Configuration
Directory Structures GFESuite Configuration
examples Run scripts Server configuration documentation Top-Level GFESuite Configuration
KEEP OUT! databases Structure GFESuite Configuration
databases Structure GFESuite Configuration
Database grids Structure GFESuite Configuration
GFE files on HPUX GFESuite Configuration
Directory Tips • Do not modify ANY files in etc/BASE • Use etc/SITE instead • Do not modify ANY files under data/databases • These are controlled by the ifpServer • README file contains list of directories that will be “purged” during installation GFESuite Configuration
BASE/SITE Concepts ifpServer Configurability GFESuite Configuration
MapFiles – new in IFPS12 Base/Site concept • Applies to /etc/BASE, /etc/SITE • Used to preserve YOUR changes from upgrade to upgrade. GFESuite Configuration
Base/Site concept • Use favorite text editor to change files. • Normally have to restart ifpServer after changing files. • Use runIFPServer –n to check for errors. • If server doesn’t come up, check for errors. • Look through log files. GFESuite Configuration
Base/Site concept • Configuration files are Python-executable code • Very particular to syntax. • Local (e.g., SITE) overrides using Python importing • Can be tricky GFESuite Configuration
Server Configuration Overrides BASE SITE serverConfig.py localConfig.py Partial overrides import Maps.py Maps.py Complete Override (don’t do) Copied Then modified Python Path: SITE, then BASE GFESuite Configuration
localConfig import serverConfig from serverConfig import * serverConfig.TC6NG = (1*HOUR,…) TC6NG = … import localConfig parms = [([MaxT], TC6NG)] parms = [([QPF], TC6NG)] DFC_UPDATE_INTERVAL = 10 Python “dual” Importing serverConfig TC6NG = (0*HOUR,6*HOUR,6*HOUR) DFC_UPDATE_INTERVAL = 15 Eta = (ETA, TC6NG) Dbs = DBS + localConfig.parms GFESuite Configuration
localConfig import serverConfig from serverConfig import * DFC_UPDATE_INTERVAL = 10 Result? DFC_UPDATE_INTERVAL = ??? start Python “dual” Importing serverConfig DFC_UPDATE_INTERVAL = 15 import localConfig GFESuite Configuration
Python “dual” Importing • import serverConfig • Allows you to access variables/methods from the module you import, via: serverConfig.varName • from serverConfig import * • Makes a copy of the variables, you can access the copies of these variables directly, via: varName, but these are COPIES. If you change them, the originals aren’t changed. • Exceptions: dictionaries, arrays • Don’t require serverConfig. in front of variable. GFESuite Configuration
localConfig import serverConfig from serverConfig import * serverConfig.TC6NG = (1,6,6) TC6NG = (2,6,6) import localConfig parms = [([MaxT], TC6NG)] parms = [([QPF], TC6NG)] Two parm lines Python “dual” Importing serverConfig TC6NG = (0,6,6) MaxT = (“MaxT”, SCALAR, "F", …) MaxT_PG = (MaxT, TC6NG) Dbs = DBS + localConfig.parms What is TC6NG at this point? What is the TC for MaxT at this point? GFESuite Configuration
Base/Site concept • GOTCHA – Python files • .py • .pyc • .pyo • If you delete the .py file, such as localConfig.py, you may still have *pyc or *pyo files. The system will use those and will behave as if you never deleted the .py file. GFESuite Configuration
localConfig capabilities • Adding new weather elements • Adding new models • Changing characteristics (# of versions) • Changing time constraints for elements • Changing domain/resolution GFESuite Configuration
localMaps/localMapFiles • Overrides Maps.py and MapFiles.py • Add new maps • Remove existing maps • Modify characteristics of maps • Filters • Automatic edit areas • MapFiles/localMapFiles (new IFPS12) • Defines the names of the shapefiles GFESuite Configuration
Changing map backgrounds – filtering • Can filter by shapefile attributes. • Make a new map just for ifpIMAGE generation. CWAzones.filter(lambda x : x['CWA'] == CWA) def cwaZoneFilt(x): return x['CWA'] == CWA CWAzones.filter(cwaZoneFilt) Identical Filter Shapefile Attribute GFESuite Configuration
Changing map backgrounds - filtering def exampleFilt(x): myCounties = ['Summit', 'Sandusky', 'Huron', 'Medina'] return x['COUNTYNAME'] in myCounties and \ x['STATE'] == "OH" and x['CWA'] = 'CLE' Note: excludedCities = [‘Clinton’, ‘Pearl’, ‘Brandon’] cities.filter(lambda x,y=excludedCities: x[‘POP_1990’] > 10000 \ and x[‘NAME’] not in y GFESuite Configuration
Updating Map Shapefiles • Download new shapefiles from NWSH • gzip each component: • *.dbf, *.shp, *.shx • Place into /awips/GFESuite/data/maps • If the name changed, add/edit localMapFiles.py [IFPS12] to point to the new file • Caution: shapefiles replaced during upgrade GFESuite Configuration
localWxConfig • Similar to localConfig, except for the Weather Definition • Uses: • Adding additional attributes • Adding additional weather types • Adding additional coverage/prob, intensities • May make incompatible grids with other NWS offices. GFESuite Configuration
Tips (and Rules) • DON’T edit files in etc/BASE • They are wiped clean each upgrade • Check your changes immediately: • runIFPServer –n (even with server running) • Some changes may not be compatible with IFPS • Time constraints, domains/resolution GFESuite Configuration
BASE/SITE/USER Concepts GFE / ifpIMAGE Configurability GFESuite Configuration
Base/Site/User concept • Applies to: • gfe and ifpIMAGE configuration files • Sample sets, edit areas • Color tables • Smart Tools/Procedures • User-defined time ranges • Weather Element Groups GFESuite Configuration
Tips (and Rules) • Just like etc/BASE, do not edit files in data/databases/BASE since they are wiped clean during the next upgrade. • Do not edit files directly in the databases directory. • Some files require associated metadata files that can’t be created with a text editor • Changing files can confuse the ifpServer and GFEs if they are running at the time. • Use the GFE to edit files, OR use the ifpServerText program. GFESuite Configuration
“Special” Users • SITE – site administrator login. Files in this category are seen by all users. • BASE – brings up GFE using BASE configuration only --- as supplied by FSL. Good way to verify a problem is a local configuration problem. • “BASE” and “SITE” will not appear in the GFE startup dialog. GFESuite Configuration
Python Errors…GFE is hung! Not any more…. Starting GFE with a bad configuration file will cause a dialog to popup showing you the error location. FSL GFESuite Configuration
Why Can’t I find my config files • Are your config files lost? • Perhaps you created them under a different user? • Use ifpServerStats to help you find them. • ifpIMAGE uses the user SITE for execution – you need to create files in correct place. GFESuite Configuration
2. Later, the same user logsonto user SITE and copiesthe awipsusr BOUsiteConfig using ifpServerText. Makes another change to it. import BOUsiteConfig SITE BOUsiteConfig awipsusr (or other user) 1. User awipsusr createsBOUsiteConfig, to test out thenew configuration. I changed my config file, but the change isn’t working… gfeConfig BASE 3. Later, log onto awipsusr,the BOUsiteConfig “seen” doesn’thave the latest changes. GFESuite Configuration
The “READ-ONLY” flag • Setting the Read-Only flag on the various configuration files will stop the user from overriding them. • No GFE GUI to set the read-only flag. • Must do it directly on the file system. • chmod 444 filename • Fully implemented with IFPS12 GFESuite Configuration
Some sites have… BASE SITE user • Made copies of files in BASE and placed them in SITE • Copied lots of files from SITE to “user” • This practice is NOT recommended. You might get different behavior based on login name. 50 tools 50 tools copied gfeConfig gfeConfig copied GFESuite Configuration
Concepts to understand • Python files (gfeConfig) • Can use Python importer for partial overrides • Non-Python files (sample sets) • Must use complete overrides, no importer capability GFESuite Configuration
Request File USER File Exists? SITE File Exists? BASE File Exists? no no yes yes yes Return USER File Return SITE File Return BASE File Order of Precedence no ERROR GFESuite Configuration
Retrieval of Color Table Example X X QPF Color Table QPF Color Table QPF Color Table BASE SITE USER GFESuite Configuration
Some files are Python • You can use the Python “import” mechanism and you should. • Advantage: • You can override small pieces of files. • You don’t need to redefine everything • Examples: Smart Tools, gfe/ifpIMAGE configuration files GFESuite Configuration
Python importing import A codecodecode import B codecodecode codecodecode B C A GFESuite Configuration
Python importing Can’t import from “yourself”, even if at different BASE/SITE/USER levels X codecodecode import C codecodecode C C GFESuite Configuration
Python-file Retrieval GFESuite Configuration
… T_defaultColorTable=‘midRange’ ImageOnActive=yes … import gfeConfig T_defaultColorTable=‘lowRange’ … GFE Config file example Site could also have redefined the color table SITE (siteGfeConfig) BASE (gfeConfig) import siteGfeConfig T_defaultColorTable=‘myOwn’ ImageOnActive=no Contour_font=3 T_spatialImageType = [‘Image’, ‘Contour’] … User could also have imported directly from the base. USER (joeConfig) GFESuite Configuration
Tips • Software doesn’t seem to be working. • Start GFE as user “BASE”, config “gfeConfig” • Run ifpServerStats and look at your environment. • Move files around if needed using moveGFEData. GFESuite Configuration
Misc. Topics GFESuite Configuration
Installs/Upgrades • SITE and USER directories not touched by installs. • BASE files overwritten. • Recommend you do partial overrides, not complete files copies in order to ensure operability of software and to catch latest changes in the upgrade. • Watch out for directories that are overwritten! • README file. GFESuite Configuration