1

NOAA Technical Memorandum GLERL-117

GREAT LAKES ICE DATA RESCUE PROJECT

David C. Norton1

Raymond A. Assel1

Don Meyers2

Bradly A. Hibner2

Ned Morse2

Patrick J. Trimble2

Kevin Cronk2

Mathew Rubens1

1NOAA, Great Lakes Environmental Research Laboratory, Ann Arbor, MI 48105

2NOAA GLERL/University of Michigan, Cooperative Institute for Limnology and Ecosystems Research

Ann Arbor, MI 48105

Great Lakes Environmental Research Laboratory

Ann Arbor, Michigan

March 2000

UNITED STATES

DEPARTMENT OF COMMERCE

William Daley

Secretary

NATIONAL OCEANIC AND

ATMOSPHERIC ADMINISTRATION

D. James Baker

Under Secretary for Oceans

and Atmosphere/Administrator

NAT OI NAL OCEANIC AND ATMOSPHERIC ADMINISTRAT OI N

U.S.DEPARTMENT OF COMMERCE
2

NOTICE

Mention of a commercial company or product does not constitute an endorsement

by the NOAA Environmental Research Laboratories. Use of information from

this publication concerning proprietary products or the tests of such products for

publicity or advertising purposes is not authorized. This is GLERL Contribution

No. 1157.

This publication is available as a PDF file and can be downloaded from GLERL’s

web site: www.glerl.noaa.gov. Hard copies can be requested from the GLERL

Publications Unit, 2205 Commonwealth Blvd., Ann Arbor, MI 48105.

pubs.glerl@noaa.gov.
3

Table of Contents

Introduction ........................................................................................................................................ 5

Methods.............................................................................................................................................. 5

Products.............................................................................................................................................. 7

Acknowledgements............................................................................................................................ 8

References.......................................................................................................................................... 8

Figures

Figure 1. ArcView image of total ice concentration for National Ice Center composite chart of

 February 25, 1994 ............................................................................................................. 8

Figure 2. A composite ice chart from the Canadian Ice Service for January 15, 1979 .................. 12

Figure 3. A composite ice chart from the National Ice Center for February 25, 1994................... 13

Figure 4. The ALTEK digitizer setup menu ................................................................................... 16

Figure 5. Map locations of the tic-ids used to register composite ice charts for digitizing ........... 17

Figure 6. The ARC/INFO digitizing menu .................................................................................... 18

Figure 7. The Albers Equal Area Conic basemap .......................................................................... 59

Figure 8. The Lambert Conformal Conic basemap........................................................................ 59

Figure 9. The Mercator basemap ................................................................................................... 59

Figure 10. Routine to convert Longitude ........................................................................................ 61

Figure 11. Coarse image of Lake Superior (IDL) ........................................................................... 61

Figure 12. Array is filled with squares around data points ............................................................. 61

Figure 13. Image before the mask is applied (IDL) ........................................................................ 62

Figure 14. Finished image after the mask applied (IDL) ................................................................ 62

Tables

Table 1. Tic-ids and their Longitude and Latitude .......................................................................... 16

Table 2. An ARC/INFO description of the Albers Equal Area Conic basemap .............................. 55

Table 3. An ARC/INFO description of the Lambert Conformal Conic basemap ........................... 56

Table 4. An ARC/INFO description of the Mercator basemap ....................................................... 57

Table 5. An ARC/INFO description of the Mercator basemap with CoastWatch extent ................ 58

Table 6. Computerized ice concentration database ......................................................................... 60
4

List of Appendices

Appendix 1 – Standard Operating Procedure .................................................................................. 10

Appendix 2 – All AML names and descriptions .............................................................................. 47

Appendix 3 – All AML codes.......................................................................................................... 49

Appendix 4 – All “C” and FORTRAN program names and descriptions ........................................ 50

Appendix 5 – All “C” and FORTRAN source codes ....................................................................... 51

Appendix 6 – The Egg Code ............................................................................................................ 52

Appendix 7 – Base Maps ................................................................................................................. 55

Appendix 8 – Converting Ice Atlas Data to the CoastWatch format ............................................... 60

Appendix 9 – Sample IDL 5.1 Chart Conversion Program ............................................................. 63
5

Great Lakes Ice Data Rescue Project

David C. Norton

Raymond A. Assel

Don Meyers

Bradly A. Hibner

Ned Morse

Patrick J. Trimble

Kevin Cronk

Mathew Rubens

INTRODUCTION

Great Lakes ice cover is important because it affects the aquatic system of the Great Lakes (Lam and Schertzer,

1999; Magnuson et al., 1997), the regional weather (Petterssen and Calabrese, 1959; Sousounis, 1997), and the

regional economy. In an earlier project, over 2800 historical ice charts spanning the winters of 1960-1979 were

digitized (Assel, 1983). The project described here updates that earlier Great Lakes ice cover data base, with the

following important differences: (1) the ice charts digitized contain some extrapolated data and cover the entire

surface area of the Great Lakes; the earlier ice charts did not cover the entire surface of the Great Lakes and

contained original observations only, (2) the updated data base contains information on ice concentration, ice age

(thickness) and ice form (flow size); the earlier ice cover data base only contains information on ice concentration,

and (3) the earlier data base has a spatial precision of 5 km, the updated data base has a spatial precision of 2.56

km.

This project has its origins in the Environmental Research Laboratories’ Endangered Data and Increased Access

Program, and NOAA’s National Environmental Satellite and Data Information Service’s (NESDIS) Earth System

Data and Information Management (ESDIM) Program. The purpose of this report is to document the methods and

procedures used to update the ice cover database. The methods and computer algorithms described here may serve

a secondary purpose: to provide guidance to others in researchers, academia, and private industry who have

developed, or plan to develop, similar projects to digitize historical graphically based data sets. The objective of

the project was to develop an updated ice cover data set. These data will then be used to update the existing Great

Lakes Ice Atlas, Assel et al. (1983) and to provide historical ice cover data in an electronic form to make it more

easily accessible for others (researchers, operational users, private industry, and to the public at large) who have

need of such data in their applications.

The general Standard Operating Procedure (SOP) for digitizing ice charts, quality control of the digital data, and

interim and final products is summarized in the main body of this report. Additional information of a technical

nature with much greater detail of the step-by-step procedures and computer algorithms are given in a series of

appendices for those interested in the ‘nuts and bolts’ of the SOP. The SOP along with the appendices provides the

user with a synergistic encapsulation of this project.

METHODS

The general methods used in digitizing and quality control of the ice charts are given in generic form in the

processing sequence below:

1. Identify ice polygons and assign ID numbers.

2. Enter polygon-ID’s and attributes in file.

3. Quality Control: Visually verify attribute file with chart.
6

4. Digitize chart.

5. Edit Coverage: Fix over-shoots, missing polygons, etc.

6. Quality Control: Visually compare coverage with chart.

7. Standardize attribute file with FORTRAN software.

8. Quality Control: Visually verify attribute translation.

9. Link attributes to coverage.

10. Edit Coverage: Fix label errors, slivers, etc.

11. Quality Control: Use AMLS and C software to compare coverage to attribute file.

12. Quality Control: Visually compare coverage to chart.

13. Quality Control: Visually compare coverages sequentially via IDL animation.

14. Convert coverage to mercator with CoastWatch extent.

15. Rasterize coverages.

16. Convert raster files to ASCII.

17. Quality Control: Use FORTRAN software to standardize all ASCII grids to master shoreline.

18. Populate database.

19. Quality Control: Use FORTRAN to evaluate all ASCII grids.

20. Quality Control: Compare database file dates with work areas. Delete work areas.

Although about one half the steps above relate to quality control, these consumed most of the total man-hours;

and one must add the time required to develop the software used. Quality control and software development

consumed about 80% of the staff’s time in this project. Appendices 2-5 list all software currently identified in the

SOP. However, more than twice that amount was developed for limited use or as limited use modifications of the

software presented. This other software is not provided for the sake of clarity and the lack of its processing

context.

The ice charts were digitized using an ALTEK ACT-36048-BLN model digitizer coupled with ARC/INFO (Versions 6.1 to 7.0. Environmental Systems Research Institute, Inc., 380 New York Street, Redlands, CA 92373),

which was resident on a HP 730 Workstation. Copies of all existing historic composite ice charts were obtained.

They were individually named based on chart source and observation date. The ice polygons drawn on them were

sequentially hand numbered on each chart in the following order:

Lake Superior 401-499

Lake Michigan 501-599

Lake Huron 601-699

Lake Erie 701-799

Lake Ontario 801-899

This numbering system was used to establish a consistency, which facilitated editing, and quality control in a

large multiple staff member project. A logbook was maintained with every chart identified, and employees

initialized each identified step they completed. Charts were taped on the digitizer surface. A PC was used to

access ARC/INFO and the digitizer. Arc Macro Language (AML) codes were written to customize the digitizing

process and were used to initiate the process. Location tic marks (latitude and longitude) were entered for each

chart, and a Root Mean Square (RMS) Error between the paper copy and our electronic base map was displayed.

If this value was above 2500 m, tic marks were reentered until a lower value was obtained. The RMS was normally under 1000. The ice polygons were then digitized and the electronic file saved as a vector coverage combined with our base map. An editing AML was used, which added an underlay copy of the base map in red. This

underlay was an important aide when editing shoreline regions. Each coverage had to be edited to correct underand over-shoots, distorting shoreline snaps, adding/refining polygons in congested regions, etc.

Separately, the information on each ice chart was encoded as an ASCII text file. The files contained one line of

code per ice polygon, containing the polygon ID number followed by the polygon’s ice attributes. These data were
7

all double-checked from printouts. This encoding of attributes was very systematic, replicating the information on

the chart. However, the data entry methods evolved as the ice codes on the original charts changed over time. The

codes entered were subsequently translated to a new all numeric form of the Egg-Code (see Appendix 6) so that a

consistent database could be established.

The vector coverages were linked with their ASCII text file containing the ice attributes to form combined coverages in their original Albers, Lambert, or Mercator projection (see Appendix 7). Mismatches between file and

coverage polygons were fixed. The entire quality control process on these coverages was lengthy and is detailed

in Appendix 1.

The combined vector coverages were all reprocessed to a Mercator map projection. A single projection for all

coverages in the database was mandatory for subsequent rasterization. The Mercator coverages were then appended with the slightly larger CoastWatch extent. Remotely sensed data is collected for the Great Lakes region

under the CoastWatch program (Leshkevich et al., 1997), so spatial compatibility with those products was very

important.

The coverages were rasterized to the standard CoastWatch 2.56 km grids then converted to ASCII files. Owing to

slight shoreline variations, some over-water cells were erroneously assigned land code, or land cells erroneously

assigned over-water code. These ASCII files were then processed with a correct base to produce a standard land

coverage so that water cells would be consistent from map to map.

The explicit application and details of these methods specific to our ARC/INFO utilization, and to specific

problems related to the Unix operating system (and ARC/INFO versions we used) are not given here for the sake

of brevity but are described in the SOP presented in Appendix 1. The AML codes cited in the SOP are given in

Appendices 2-3, and the Fortran and “C” codes in Appendices 4-5. An explanation of the history and meaning of

the “egg code” parameters used to describe the dataset is given in Appendix 6. Information on the three base maps

of the imput data and the final base map of the output is given in Appendix 7. Although not part of the original

data rescue project, it was desirable to convert Assel’s (1983) 5 km database to the current 2.56 km precision. The

details of this conversion are given in Appendix 8.

PRODUCTS

A total of 812 composite ice charts were processed to digital coverages containing 42,970 ice polygons. These

coverages were processed to 10,569 ASCII grids. A structured database was established for easy access. The data

are segregated by ice season (December–May) for 7273, 7374,...9394, 9495 and then by type, example: ArcView,

ascii,cov, export, and grids where:

ArcView - contains ArcView plot files of each coverage for the ice season.

ascii - contains ASCII grids, the final form of the digital data

cov - ARC/INFO vector files of the original coverages, Mercator CoastWatch appended coverages,

 and ASCII text files containing polygon attributes.

export - ARC/INFO export coverages

grids- ARC/INFO grids

Details on data availability will be made on the GLERL web page. An atlas will be made from these data to

chronicle the 1973-1995 ice seasons. This atlas and other publications will contain informationo n the coverages

(Figure 1) and a statistical analysis of these data.

The step-by-step processing details are provided in Appendix 1. The subsequent appendices identify and then give

the source code for all AML’s, FORTRAN, and C routines identified in Appendix 1. We can provide limited

support to those with questions relating directly to our data. Answering general “How do I ...?” questions are not

supported here and should be directed to ESRI or consultation companies.
8

ACKNOWLEDGEMENTS

This GLERL data rescue was funded in part by NOAAs NESDIC ESDIM Program. We thank the Canadian Ice

Service (Mr. David Mudry, Mr. Wayne Lumsden), and the National Ice Center (Mr. David Benner, Mr. Chris

O’Connors, Ms. Sharylon Young) for making the historical ice charts available to GLERL and for providing

background information needed to make proper interpretation of the historical ice chart codes. We acknowledge

GLERL staff (not listed as co-authors) who have digitized, edited, or otherwise contributed to software development (including Mr. Aronald Fang, Ms. Deborah Lee, Mr. Tim Hunter, Mr. John Fenton, Mr. Jeff Lefevre, and Mr.

Richard Towler).

Figure 1. ArcView image of total ice concentration for National

Ice Center composite chart of February 25, 1994.
9

REFERENCES

Assel, R.A., F.H. Quinn, G.A. Leshkevich, and S.J. Bolsenga. Great Lakes Ice Atlas. NOAA Atlas No. 4. Great

Lakes Environmental Research Laboratory, Ann Arbor, MI (1983).

Assel, R.A. A computerized ice concentration data base for the Great Lakes. NOAA Data Report ERL GLERL-24.

Great Lakes Environmental Research Laboratory, Ann Arbor, MI (1983).

Lam, D.C., and W.M Schertzer (Editors). Potential climate change effects on Great Lakes hydrodynamics and

water quality. International Association of Hydrologic Research - American Society of Civil Engineers Monograph (1999).

Leshkevich, G.A., D.J. Schwab, and G.C.Muhr. Satellite environmental monitoring of the Great Lakes: Great

Lakes CoastWatch Program update. Marine Technology Society Journal 30(4):28-35 (1997).

Magnuson, J.J., C.J. Bowser, R. A. Assel, and others. Potential Effects of Climate Changes on Aquatic Systems:

Laurentian Great Lakes and Precambrian Shield Region. Journal of Hydrological Processes 11:825-871 (1997).

Petterssen, S., and P.A. Calabrese. On some weather influences due to warming of the air by the Great Lakes in

winter. Journal of Meteorology 16:649-652 (1959).

Sousounis, P.J. Lake aggregate mesoscale disturbances. Part III: Description of a mesoscale aggregate vortex.

Monthly Weather Review 125:1111-1134 (1997).
10

Appendix 1

Standard Operating Procedure

Table of Contents

Introduction .................................................................................................................................................... 11

Getting Started ................................................................................................................................................ 13

Digitizing ........................................................................................................................................................ 14

Quitting Arc/Info and Closing XoftWare ....................................................................................................... 20

Editing ........................................................................................................................................................... 20

Linking Attribute Files to Coverages ............................................................................................................. 29

Quality Control ............................................................................................................................................... 30

Linking and Quality Control – A Combined System...................................................................................... 31

Copying and Converting Coverages to Consistent Mercator Projection........................................................ 31

Conversion to the CoastWatch Base ............................................................................................................... 32

Raster File Generation .................................................................................................................................... 34

Renaming Coverages to an all Numeric Convention ..................................................................................... 38

Data Sharing with the National Ice Center ..................................................................................................... 38
11

INTRODUCTION

NOTE: For computer security reasons, some information has been altered and some deletions made.

This document describes the rationales, methods, and processing details of the multi-year project with a changing

work force. The memorandum is of value to users of the GLERL lake ice database, as well as anyone working on

large digitizing projects using ESRI software. To achieve specific ends, the path followed sometimes involved

“work around” solutions to software problems which are now not required in more recent software versions.

Until recently there was insufficient disc storage media to efficiently accomplish some operations which also

impacted the early stages of this project. All ARC/INFO users will find the many arc macro language (aml)

routines in Appendices 2 and 3 useful, with a variety of examples of list processing methods.

The Geographic Information System (GIS) used was ARC/INFO 6.0 through 7.1 by ESRI. The project focuses on

over 800 historic ice charts for the Great Lakes, from the winter of 1972-1973 through the winter of 1994-1995.

Each chart contains hand drawn polygons representing the distribution of lake ice on the surface of the Great

Lakes, and codes which describe the physical properties of the ice.

We processed copies of the original charts. Canadian government produced ice charts were obtained from:

Canadian Ice Service (CIS)

Atmospheric Environment Service

373 Sussex Drive, 3rd Floor

Lasalle Academy Annex ‘E’

Ottawa, Ontario K1A 0H3

Canada

Charts produced by the United States government were obtained from:

National Ice Center (NIC)

FOB #4, Room 2301

4251 Suitland Rd.

Washington, D.C. 20395

USA

These charts are very difficult to efficiently utilize in their original paper form (Figure 2 and 3) so they were

preserved and made more useful by converting them to a digital form. Each chart was digitized to capture the ice

polygons identified on it. The polygons were then located on a standardized Great Lakes shoreline base chart.

This base chart was obtained from the US Army Corps of Engineers, and was slightly modified by eliminating

some small islands and intricate shoreline detail. The lake ice attributes for each of the almost 43,000 ice polygons

were individually keyed in, translated to a standardized form, and then linked to the digitized charts to form

coverages. This standard operating procedure (SOP) was developed to describe the steps necessary to complete

each task within the project. There were personnel changes and software upgrades during the course of this

project. Therefore, the methods used sometimes reflect staff capabilities as well as overcoming software problems that no longer exist in later versions.

All of the coverage data reside on an Hewlett Packard (HP) workstation using a UNIX operating system. This

workstation was accessed via XoftWare (XoftWare for Windows. Version 4.0, 1995. Age Logic, Inc. 12651 High

Bluff Drive, San Diego, CA 92130) or Exceed (Exceed,Version 6.1 Windows NT. Hummingbird Communications Ltd. 1 Sparks Avenue, North York, Ontario, Canada M2H 2W1) software from PC’s used as terminals. The PC which had to be used for digitizing was the guest terminal in room 211, and the remainder of this

write-up assumes that machine was the one being used. The present tense is used henceforth in order to more

logically lead the reader through the steps.
12

Figure 2. A composite ice chart from the Canadian Ice Service for January 15, 1979.

NOTE: whenever you decide to stop an operation, how you exit is very important. Do not use Control Z, X, C, etc. to end

processes or just turn off the PC. At the ARC prompt use “quit” and at the UNIX prompt use “exit”. Close down all the

popup menus by clicking exit and right click on the Exceed icon and choose exit there as well. Finally, close down

windows on the PC, and then turn the PC off. Failure to follow these instructions, or power outages, can result in stopped

jobs that will stay around and consume resources indefinitely, eventually using up all your licenses. These can be

identified by issuing the UNIX command:

GIS:735: ps –ef | grep LakeIce

where LakeIce is the user name, and yields output such as:

LakeIce 6064 6050 7 07:52:28 ttyp3 0:00 ps -ef

LakeIce 6050 6048 6 06:32:33 ttyp3 0:00 sh

LakeIce 24873 24869 0 Oct 25 ttyp3 0:00 sh

LakeIce 6048 1 4 06:32:32 ? 0:00 /usr/bin/X11/xterm -sb –sl 00 -T GIS -display 192.94.173.72

LakeIce 6049 1 0 06:32:32 ? 0:02 /usr/bin/X11/mwm -display 192.94.173.72:0

LakeIce 6065 6050 1 07:52:28 ttyp3 0:00 grep LakeIce

In this example only the third process has an earlier date. To eliminate an old process, it must be killed. This old

process can be killed by identifying it in the following command:

GIS:735: kill –9 24873

Also, no user should have more than one ARC/INFO process running in the same area; nor should different users ever work

in the same area. The temporary ARC/INFO files become corrupt and cause many serious problems.
13

Figure 3. A composite ice chart from the National Ice Center for February 25, 1994.

GETTING STARTED

Starting up a session on the Guest Workstation (PC)

Turn on the guest worksation (pc), enter:

User Name: GIS735

Password: swammy

Double click on the ‘GIS’ icon, then enter:

User Name: LakeIce

Password: Xx$LI$211

A hpterm window will pop up, hit <return>. You will now be on the HP730 work station using an XoftWare

interface, and see the following prompt:

GIS:735:
14

You may enter any UNIX command now, or simply start ARC/INFO by typing

GIS:735: arc

The system will scroll a listing of licensing and warning information that you can ignore. The location GIS/D1

will be given. The last information the system scrolls will be something such as:

List of workspaces at location: /GIS/LAKEICE

Available workspaces

AMLS

ASSEL

ICEBASE

NORTON

BASEMAP-BACKUP

MAPPER

ICEMAP

PROGRAMS

Normally, you will change workspace to mapper by typing:

Arc: w mapper

At the arc prompt you may use UNIX or ARC/INFO directory commands, for example:

Arc: ls (a UNIX command to list all files and sub-directories)

Arc: lc (an ARC/INFO command to list only coverages)

DIGITIZING

Arc/Info - Digitizing

Attach a hard copy ice chart to the digitizer using drafting tape. Make sure the ice chart is within the active area

of the digitizer. Enter your initials in the DIGITIZED column of the Ice Chart Digitization Progress Sheets (black

folder).

Coordinate System/Projection Information

ARC Help has detailed information concerning Arc/Info’s supported projections. Canadian CIS charts are either

Mercator or later, Lambert Conformal Conic. US NIC charts are Albers Equal Area Conic, and more recently

Mercator. There is a separate base map for each of these projections. These base maps are illustrated in Appendix

7 in Figures 7-9, and described in Tables 2-5. Table 5 is for the Mercator projection which has had the

CoastWartch extent added, which is explained further on.

Once a coverage has been created use describe to display the coordinate system description of the chart, such as:

Arc: describe u90jan01

and the writeproj.aml to create a printout of all polygon coverages in a workspace

Arc: &r writeproj
15

/* ------------------------------------------------------——————-

/* writeproj.aml written by Pat Trimble

/*

/* This aml creates a file which lists the names and

/* projections of coverages in a workspace and sends it

/* to the 4m211 printer

/*

/*—————————————————————————

To start the Digitizing Menu, enter &r icedig You will then be prompted to enter the name of the coverage to be

digitized and the projection type of the coverage. Icedig.aml is a customized AML for editing ice coverages. It

was developed over time to minimize digitizing and subsequent editing problems. It sets a variety of options and

presents a rather stream lined data entry methodology.

Arc: &r icedig

NAMING CONVENTION - (C{Canada}/U{U.S.})<YY><MONTH><DD>

EXAMPLE - c82dec21 FOR CANADIAN CHART DATE DEC 21, 1982

Enter name of new coverage to be digitized: c82dec21

Select 1,2, or 3 to indicate icecover basemap projection type.

 1=Albers, 2=Lambert, 3=Mercator: 2

copied baselam to c82dec21

At this point the system executes a set of Arc Macro Language (aml) instructions to create the new coverage, and

starts ARCEDIT. The icedig.aml merely sets a variety of parameters which trial and error have proven to work

best in our application, saving a lot of typing. On execution there will be a black screen with a green border (the

ARCEDIT window) over the dialog window. Before continuing, the ARCEDIT window will need to be moved

away from the dialog window by clicking and dragging on the top bar of the green border. Typically this will

be moved to the lower right corner, leaving the dialog window in the upper left. After moving the ARCEDIT

window, you may want to re-size the dialog window to fit the area not covered by the ARCEDIT window. This

will help ease reading the command lines in the dialog window.

Once you have resized the windows, you will be prompted to hit <return> to continue.

Coordinating the Digitizer

To coordinate the ice chart on the digitizer, a series of tic locations will need to be entered.

Note- The digitizer only needs to be coordinated if you are:

1) working with a new map

2) physically moved the map on the digitizer

3) Quit Arcedit since the last time the digitizer was coordinated to the map.

If you need to coordinate the digitizer, enter ‘Y’ when asked. You will be prompted with

the following:

Input new tics? Y or N?

Input tic marks from icecover map on digitizer.

Digitize a minimum of 4 tics.

Signal end of tic input with Tic-ID = 0

Tic-ID:
16

Before entering the tic marks, you will need to make sure the digitizer is set to intermittent stream mode. To set

the digitizer mode, use the Digitizer Setup Menu (Figure 4), located in the lower left corner of digitizing table.

1. Place the puck over the MENU ON/OFF item and press the (1) button until both lights are on and have

stopped blinking.

2. Place the puck over the INTERMITTENT item and press the (1) button until both lights are on.

3. Place the puck over the RATE/INCREMENTAL item and press (1) until only the right light is on.

4. Place the puck over the MENU ON/OFF item and press the (1) button until only the right light is on and both

lights have stopped blinking.

Note - The tic marks will be entered using the puck on the digitizer. See Table 1 for a listing of the longitude and

latitude coordinates for the tic marks by corresponding number, and Figure 5 for the tick locations on charts.

Since the charts varied, only some these tic locations were available on a given chart.

To input the tic marks, locate the first tic mark you wish to use on the ice chart. Press the number of that tic

mark on the puck, then press the ‘A’ button on the puck. This tells the system that the next point entered will be

the location of the tic mark. Carefully center the cross hairs of the puck on the coordinates of the tic mark, then

press ‘1’ on the puck to register the point. Repeat this procedure until you have entered in at least four tic marks.

To end, enter ‘0’ as the last tic mark.

OFFSET

RUN

RATE/

INCREMENTAL

INTERMITTENT

POINT

MENU

ON/OFF

LOCATE

LARGE MENU

PREVIOUS

MENU

LOCATION

Figure 4. The ALTEK digitizer setup menu.

Tic-id Longitude Latitude

1 90 42

2 -90 45

3 -90 48

4 -85 42

5 -85 45

6 -85 48

7 -80 42

8 -80 45

9 -77 45

10 -83 43

11 -82.5 43

12 -83 42

13 -82.5 42

14 -85 46.5

15 -84 46.5

16 -85 46

17 -84 46

18 -90 41

19 -85 41

20 -90 49

21 -85 49

22 -81 42

23 -76 45

Table 1. Tic IDs and their

Longitude and Latitude.
17

Tic-ID: 1*

Tic-ID: 3*

Tic-ID: 4*

Tic-ID: 6*

Tic-ID: 9*

Tic-ID: 0*

Scale (X) = (99194.981,99765.000) RMS Error (dig,map) = (0.018,1835.124)

The edit coverage is now /GIS/LakeIce/c82dec21

479 element(s) for edit feature ARC

Coverage has no COGO attributes

Updating the initial attribute buffer only

The snap coverage is now /GIS/LakeIce/c82dec21

479 element(s) for edit feature NODES

479 element(s) for edit feature ARCS

RMS Error

The middle line of the tic entering sequence contains relational information between the locations on the digitizer

and the same locations on the electronic base map. The number to make note of is the root mean square error or

RMS Error of the map. This number should be less than 2500 to accurately represent the digitized coverages.

Note - For each ice chart the RMS error must be recorded in the RMS VALUE column of the Ice Chart Digitization Progress Sheets (black folder).

Note - If the RMS value is greater than 2500, the ice chart will need to be re-coordinated to the digitizer. To recoordinate the digitizer, first set the digitizing menu as directed earlier under Setting the Digitizing Menu and

see COORD DIGITIZER in the Digitizing Menu Commands section for a full explanation of this procedure.

Figure 5. Map locations of the tic-ids used to register composite ice charts for digitizing.
18

The Digitizing Menu

Setting the Digitizing Menu

You will be prompted to enter the lower left and upper right extremes of the digitizing menu (Figure 6) after you

have finished entering the tic locations for the ice chart.

Enter the extremes of the menu ...

To enter the extremes of the menu, first place the cross hairs of the puck over the lower left corner of the Digitizing Menu and press ‘1’. Then place the cross hairs over the upper right corner of the Digitizing Menu and press

‘1’. An ‘*’ will appear on the screen as the digitizing menu prompt. Once the asterisk is displayed on the screen

all commands contained on the digitizing menu can be accessed with the digitizer puck. Note - See Digitizing

Menu Commands for a full explanation of each command.

Digitizing Menu Commands

COORD DIGITIZER

It was previously mentioned that if the RMS error is greater than 2500, you will need to re-orient the map to the

system. To re-orient the map to the system, select ‘COORD DIGITIZER’ from the Digitizing Menu. You will

then be prompted with the following:

Digitize a minimum of 4 tics.

Signal end of tic input with Tic-ID = 0

Tic-ID:

Figure 6. The ARC/INFO digitizing menu.

EDIT FEATURE

ADD

COORD. DIGITIZER

SAVE KEYBOARD ENTRY

ARC LABEL DRAW

SELECT UNSELECT SET DRAW ENV.

CLEAR DELETE CLEAR DRAW

ENV.

EXIT
19

Enter at least 4 tics and check the RMS Error. Note - If the RMS Error is still greater that 2500 seek assistance.

SET DRAW ENV., CLEAR DRAW ENV

This controls the Arcedit drawing environment. To select arcs as the drawing feature select ‘SET DRAW ENV.’

then select ‘ARC’. To select labels as the drawing environment select ‘SET DRAW ENV.’ then select ‘LABEL’.

To clear the drawing environment select ‘CLEAR DRAW ENV.’ to remove all features that were present within

the drawing environment. Note- the draw environment must be set before any features can be drawn with the

DRAW command.

DRAW, CLEAR

DRAW displays all features in the drawing environment. Select ‘DRAW’ from the digitizing menu to display all

features in the current drawing environment. DRAW can also be use to refresh the display screen. Note- if you

want to change which element(s) is(are) being shown in the ARCEDIT window, you will need to 1) clear the draw

environment, 2) set the draw environment 3) draw. CLEAR will clear the display screen.

EDIT FEATURE

Before adding arcs, you need to tell Arcedit what type of feature you will be adding by selecting ‘EDIT FEATURE’. Edit feature works in the same way as draw environment but controls what type of features can be

edited. After selecting ‘EDIT FEATURE’, you must select ‘ARC’ from the Digitizing Menu. By selecting

‘ARC’ you will see this sequence on the screen.

* editf arc

|>> editf arc <<|

483 element(s) for edit feature ARC

Coverage has no COGO attributes

Internal attribute buffer now selected

ADD

Once you have set your Edit Feature, you are now ready to start adding arcs to the coverage. To digitize arcs,

make sure the Edit Feature is set to ARC (See EDIT FEATURE section above), then select ‘ADD’ from the

Digitizing Menu. You will get the following Add Menu on the screen.

-----------------------------------Options-----------------------------------

 1) Vertex 2) Node 3) Curve

 4) Delete vertex 5) Delete arc 6) Spline on/off

 7) Square on/off 8) Digitizing Options9) Quit

 (Line) User-ID: 541 Points 0

To add a line, place the cross hairs of the puck over the starting point of the line. Press ‘2’ on the puck to enter a

NODE at this point. Next, move the puck slightly (1-2 mm) down the line you are digitizing and press the ‘1’

button and hold it down while tracing over the line. The ‘1’ button will place VERTICES along the line. When

the puck cross hairs near the end of the line (1-2 mm), release the ‘1’ button, center the cross hairs over the ending

point of the line and press ‘2’ to place a NODE at this point. Note - To help save on editing time, make sure to

place the cross hairs as close as possible to the beginning and ending points of the line on the chart when entering

the NODES.

SELECT and UNSELECT

The ‘SELECT’ item on the Digitizing Menu is really used to invoke a ‘select many’ command to the system. This

command allows you to select one or several arcs.

* select many

 1 = Select 2 = Next 3 = Who 9 = Quit
20

With the select menu, you will only be concerned with ‘1’ and ‘9’. To select an item, place the cross hairs over

the item and press ‘1’. Repeat this as many times as needed until you have selected all the items you want. When

done selecting items, press ‘9’

The ‘UNSELECT’ item on the Digitizing Menu is really used to invoke an ‘unselect all’ command to the system.

Unselect all does exactly what its name implies, it unselects all selected items.

DELETE and OOPS!

Selecting the ‘DELETE’ item on the Digitizing Menu will delete all of the selected items. However, if you

deleted the wrong items, you can select ‘OOPS!’ from the Digitizing Menu to restore them. The ‘OOPS!’ command can restore all changes (one transaction at a time) made to the coverage since the last ‘SAVE’.

SAVE, KEYBOARD ENTRY, EXIT

Selecting the ‘SAVE’ item on the Digitizing Menu will save the coverage in its current condition. The ‘KEYBOARD ENTRY’ item will permit you to enter one command from the keyboard. The ‘EXIT’ command exits

only the Digitizing Menu.

QUITTING ARC/INFO AND CLOSING XOFTWARE

To end the digitizing session, select ‘EXIT’ from the digitizing menu. Selecting EXIT will remove you from the

digitizing menu and place you at the arcedit prompt. To quit arcedit, enter ‘quit’ from the keyboard at the arcedit

prompt.

arcedit: quit

Arc:

Quitting arcedit will place you at the arc prompt. To quit Arc/Info, enter ‘quit’ at the arc prompt.

Arc: quit

To end the XoftWare session enter ‘exit’ at the Unix prompt.

GIS:735: exit

Important- To properly close the XoftWare session:

(1) click the upper right corner of the gray patterned screen and select close from the menu.

(2) click on the Trumpet Winsock icon and select close from the menu.

At this point you can safely exit windows.

EDITING

The Ice Editing Directory

The ice editing directories are created because Arc/Info could have potential problems with multiple users in the

same workspace. Since ice chart editing takes the bulk of our time and is the most computer intensive (build,

etc.), it was decided to give each user a personal ice-editing directory. For example: /GIS/LakeIce/

<user_last_name>. Digitizing and linking of ice charts will still take place within the /GIS/LakeIce workspace

but will be coordinated so only one user is either digitizing or linking ice charts.
21

Ice Chart Editing General Overview

(1) start Arc/Info

GIS:735: arc

(2) Change workspace

Arc: w mapper

(3) Write your initials in the EDITED column of the Ice Chart Digitization Progress Sheets (black folder) for the

coverage you plan to edit.

(4) Get coverage from /GIS/LakeIce to edit

Arc: &r get

NOTE- get.aml will copy the coverage from /GIS/LakeIce to your ice editing directory. As a back up, the

original digitized coverage will still reside in /GIS/LakeIce.

(5) Edit the coverage- See Editing, Adding Labels, and Error Checking

NOTE- Once the coverage is completely edited, meaning all polygons correct and error free and all labels correct

and error free, it will need to be placed back into the /GIS/LakeIce directory.

(6) Put coverage into /GIS/LakeIce/ from your editing directory

Arc: &r put

NOTE - put.aml will kill the original digitized coverage in /GIS/LakeIce and replace it with the edited coverage

from your editing directory. A copy of the coverage will still reside in your editing directory as a back up.

(7) Write the date you completed the editing next to your initials in the EDITED column of the Ice Chart digitization Progress Sheets (black folder).

Editing Procedures

Note- Before you begin any editing you should be in your editing directory and your initials should be placed in

the EDITED column of the Ice Chart Digitization Progress Sheet (black folder).

(1) Open an XoftWare session (See Guest Workstation (pc) XoftWare Set-Up)

(2) Start Arc/Info

GIS:735: arc

(3) Change workspace to your ice-editing directory

Arc: &wo <last_name>

(4) Get coverage from /GIS/LakeIce to edit

Arc: &run get

Enter name of coverage to transfer to editing directory: <coverage>

(5) Write your initials in the edited column of the Ice Chart Digitization Progress Sheets (black folder) for the

coverage you plan to edit
22

(6) Start Arctools to edit coverage

Arc: arctools

Edit the coverage using arctools (See Arctools section, for detailed startup information)

Note - Editing ice charts is best performed one lake at a time. It is suggested to start with Lake Superior, then

Michigan, Huron, Erie, and finally Lake Ontario. Doing one lake at a time in the same order will reduce the

confusion and potential for editing mistakes. The main goal of editing is to make certain the ice polygons are

represented correctly. Visually comparing the original hardcopy ice chart to the digital coverage will reveal

errors and irregularities. These errors can be corrected by using the appropriate editing commands.

Editing Programs

ArcTools

(1) Move to your ice editing directory and start arctools.

Arc: &wo <last_name>

Arc: arctools

This will bring up the arctools menu. Select edittools from the menu. Because the menus will overlap each other,

resize the ‘drawing area window’ to fit the lower right corner, move the ‘Edit Tools’ menu off the ‘dialog window’, and resize the dialog window to about 8 lines.

(2) Select ‘ArcTools’ from the ‘Edit Tools’ menu giving you a pull down menu. Select ‘Commands...’ from the

pull down menu. This will give you a command line in a window.

(3) Reposition the ‘drawing area window’ to just above the ‘command line window’. You are now ready to open

a coverage to edit.

(4) Select ‘File’ from the ‘Edit Tools’ menu to open a pull down menu. From the pull down menu, select ‘coverage: open’. This will open a window listing the available coverages. Highlight the desired coverage and press

‘ok’. The coverage will be displayed in the drawing area window.

(5) Enter ‘&r iceeditpara’ at the commands line to set editing tolerances . Move the cursor to the white dialog

box and enter the name of the coverage.

The chart is now ready to be edited for overshoots, undershoots and label errors. For more detail on ArcTools, as

well as graphics of the windows, see the ArcTools Editor section using Help.

Choosing A Iceedit???.aml

(1) Move to your ice-editing directory and start one of the 3 iceedit.amls

Arc: &wo <last_name>

Arc: &r iceeditalb for Albers projection

or

Arc: &r iceeditlam for Lambert projection

or

Arc: &r iceeditmer for Mercator projection (all coverage names ending in “m” or “ma” are Mercator)

(2) Type the name of the coverage you wish to edit.

Enter coverage name: <coverage>
23

The chart is now ready to be edited for overshoots, undershoots and label errors.

Note- Editing newly digitized ice charts is best accomplished using Arctools. Arctools allows simpler execution

because of its graphic user interface. Arctools should be used to correct arc errors and to add labels. Iceedit.aml is

best suited for one-time fixes of certain locations within the ice chart that result during topology building and

error checking.

Editing Commands

If using arctools, see the section Arctools Editor for a description of the ArcTools visual environment. Arctools

operates with all the same commands discussed in the following pages, but the commands are accessible as icons

rather then typing them in at the keyboard as with iceedit.aml.

Display and Viewing Area

When using arctools or iceedit.aml, most of the display and editing parameters have been set initially when the

program runs. However, it is important that the user learns the basics of manually setting the visual and editing

environments.

drawe- sets the draw environment for arcedit

drawe arc - sets the environment to draw arcs

drawe all off - sets the environment to null

drawe nodes dangle - sets the environment to draw a box around dangling nodes

drawe labels ids - sets the environment to draw labels and their ids

drawe polys - sets the environment to draw polygons

backcov <coverage> <symbol> - selects a backcoverage to be drawn with selected symbol

backcov baselam 2 - will set backcoverage to baselam to be drawn with color 2 (red)

backe - sets backcoverage draw environment (same format as drawe)

draw - displays features in the draw environment

The area of the covarage displayed can also be changed by using the mouse and a set of control functions.

ctrl + w - creates new window at user defined area

ctrl + a - pan to user defined location

ctrl + v - zoom in at user defined location

ctrl + x - zoom out at user defined location

ctrl + f - default to full view

Default settings:

drawe arc nodes dangle

draw

Edit Feature and Selection

The edit feature must be set before any editing can occur. Once the edit feature is set only those features will be

affected by the editing and selection commands.

editf - sets the current edit feature

editf arc- sets the edit feature to arcs

editf poly - sets the edit feature to polygons

editf labels - sets the edit feature to labels

Selection will only effect the current edit feature. Selection is performed by entering the appropriate select

command and defining the area with the mouse.
24

sel - allows graphical and database selection

sel - select one feature at a time

sel many - select features until ctrl + 3rd mouse button is pressed

sel box - select everything within the user-defined box

sel c80jan14-id = 0 - will select every feature where item c80jan14-id equals 0

Default Settings:

editf arc

Editing

Editing commands allow addition, manipulation, and deletion of selected features

add - allows current edit features to be added, ctrl + 3rd mouse button ends adding

split - splits currently selected arc at user-defined point

move - moves currently selected feature from user defined point to user defined point

delete - deletes currently selected feature(s)

extend - extends currently selected arc by user defined distance

Tolerances

Tolerances affect selection, snapping distances, and node generation

nodesnap closest (* | distance) -sets snap distance for nodes snapping to nodes

snapping closest (* | distance)- sets snap distance for nodes snapping to arcs

intersectarcs (add | all)- all arc intersections are split with a node

editdistance - allows user to define the edit distance (selection tolerance)

status tolerance - lists the current tolerance settings

Default Settings:

intersectarcs all

snapcoverage <coverage>

snapfeatures nodes arcs

snaporder vertex segment

snapping closest 2500

nodesnap closest 500

General

General arcedit commands that are used during editing.

save - saves the current file

oops- restores editing transactions (one transaction at a time)

quit - exits arcedit

Common Editing Errors

The most common error is the dangling node. Dangling nodes are displayed with small boxes around each error.

This is the only type of errors that is highlighted with a box. All other potential errors need to be checked by

zooming into areas within the coverage and visually checking for irregularities. With experience, the editor will

begin to know what and where potential problems can occur. Here are some basic examples of how to correct

some common errors.

Problem - Basic Correction Process

1) If missing arc(s) - editf arc, add, draw missing arc with mouse

2) If incorrectly placed arc - select incorrect arc, delete, add, and draw arc in correct location

3) If arc cuts through an island - select arc segment within island, delete

4) If arc has dangling node(s) -select arc, split arc
25

5) If arc is incorrectly placed: select arc, delete

6) If arc is correctly placed but not snapped to closing: select arc, extend

7) If arc has two dangling arcs within single polygon: add arc to close polygon error in part of arc - select entire

arc, split arc near error, select arc with error, split arc near error, select segment with error, delete, add correct arc

with mouse

Common Tolerance Errors

If the arc you are adding is not written out due to zero length - reduce the nodesnap tolerance. If the selection

area on your mouse is too small, adjust it by using the editdist command. See Tolerances for additional information.

Error Checking I - Building/Cleaning Topology

After correcting the arc errors, the coverage is ready to be built.

Quit arcedit!

Note - Building coverages with any active arcedit sessions in your workspace can corrupt the coverage. To quit

arcedit, enter quit at all the arcedit prompts.

Building and Intersection Errors

To build topology enter

Arc: build <coverage>

If there are any intersection errors, the coverage’s topology will not be built. The coverage will now have to be

cleaned to remove intersection errors.

Cleaning

Note- CLEANING SHOULD BE PERFORMED WITH CAUTION. The coverage should be edited and visually

correct. Never Clean a non-edited map.

Arc: clean <coverage> <coverage>_cl # 1

Cleaning will remove all intersection errors and build the coverage topology. Note - Before adding labels the

cleaned coverage must be checked for clean induced errors.

To check the cleaned coverage, use iceedit.aml with the original coverage as a back coverage to highlight any

differences between the original (<coverage>) and the cleaned coverage (<coverage>_cl).

Arc: &r iceedit

Enter coverage name: <coverage>_cl

arcedit: backcov <coverage> 2

arcedit: backe arc

arcedit: draw

If there are any differences in the cleaned coverage from the original coverage, these arcs will be highlighted in

red.

Clean induced errors will need to be corrected using iceedit.aml
26

Once the cleaned coverage is correct, it will need to replace the original coverage:

Arc: &r cleanreplace

Enter coverage name: <coverage>

Cleanreplace.aml will kill the original coverage and rename the <coverage>_cl to the original coverage name.

Adding labels

(1) Move to your ice editing directory and start iceedit.aml

Arc: &wo <last_name>

Arc: &r iceedit

(2) Type the name of the coverage you wish to add labels to.

Enter coverage name: <coverage>

(3) Change edit feature from arcs to labels

arcedit: editf labels

Note - Begin adding labels in the same order as arc editing (Lake Superior, Michigan, Huron, Erie, and Ontario).

(4) To add labels type add at the arcedit prompt.

arcedit: add

Once you typed add, you will get the following Add Menu on the screen.

**********************************************************************

--------------------Options--------------------

 1) Add Label 5) Delete last label 8) Digitizing Options

 9) Quit

(Label) User-ID: 142 Coordinate =

**********************************************************************

For the first polygon label of a adding session, you will need to set a new USER-ID number. To set a new

USER-ID number, select option ‘8’ (ctrl + 2nd mouse button) from the add menu. Giving you the DIGITIZING

OPTIONS menu.

**********************************************************************

-------------------------DIGITIZING OPTIONS-------------------------

 1) New User-ID 2) New Symbol 3) Autoincrement OFF

 4) Autoincrement RESUME 5) New Angle 6) New Scale

 9) Quit

**********************************************************************

Press ‘1’ on the mouse to be prompted for a new starting User-ID. You will then be prompted with the following.

**********************************************************************

New User-ID

**********************************************************************

At this point enter the new starting User-ID. For example in Lake Superior the starting polygon-id would be 401.
27

**********************************************************************

New User-ID 401

**********************************************************************

Once the new User-ID is entered you will be prompted to enter the location of the label. To enter the location, use

the mouse to place the cross hairs within the polygon where you would like the label, and press mouse button

‘1’. You will then be prompted to enter the next label location. This will be displayed as...

**********************************************************************

(Label) User-ID: 401 Coordinate = Please wait...

Please wait...

-189207.425,777656.812

(Label) User-ID: 402 Coordinate =

**********************************************************************

However, if you would like to set a new User-ID. you will need to press ‘8’ to go into the options menu again and

set the new User-ID as described above. Note - Always add the lower number polygon-ids first, because Arc/

Info will always default back to the highest number polygon-id during the automatic incrementing. For example

if you start labeling the 800’s first, you will have to individually define each polygon-id that is lower than 800.

Attribute File Update

If during the editing and label adding, you discover an ice area that was not labeled or not correctly labeled on the

paper chart, thus not attributed, you will need to record the polygon number and the ice attribute information so it

can be added to the ASCII ice attribute file. To record an attribute correction, document the error on the

hardcopy ice chart and write the polygon-id and attribute information on the corresponding line in the blue

attribute up-date folder.

For example, if an ice polygon of fast ice in Lake Superior was not labeled. First, find the next 400 series

polygon-id. (If the highest polygon-id number in Lake Superior was 426, then the next in series will be 427.)

Second, write the correction on the hardcopy ice chart. Third, add the label (See Adding Labels). And finally,

record the correction in the blue folder. Ex. 427 = fast ice

Note - The user may come across ice polygons that do not have any associated ice information. These polygons

will need a series 200 label to represent nodata. Label-id’s 203-210 are reserved for polygons that have no known

ice information.

Error Checking II - Building Topology and Labelerrors

After correcting the arc errors, intersection errors, and adding labels, the coverage is ready to be built.

Quit arcedit!

Note - Building coverages with any active arcedit sessions in your workspace can corrupt the coverage. To quit

arcedit, edit enter quit at all the arcedit prompts.

Building and Intersection Errors

To build topology enter

Arc: build <coverage>

If there are any intersection errors, see Error Checking I - Building/Cleaning Topology.
28

Label Errors

If the coverage builds successfully, you will need to check for label errors. Label errors are checked by entering

the command ‘labelerrors <coverage>’ at the arc prompt.

Arc: labelerrors <coverage>

If there are any label errors, you will need to edit the coverage to remove the additional labels, add labels, or

modify arcs. The label errors command will tell you if there are any polygons with either zero or multiple labels.

Label Error Correction Methods

Multiple Labels

Polygons with more than one label will need to be edited to remove a label, extend an arc, or add an arc to correct

the topology. To correct this error run iceedit.aml , set the draw environment to labels ids, and zoom into the

polygon with multiple labels

1) Move to your ice editing directory and start iceedit.aml

Arc: &wo <last_name>

Arc: &r iceedit

(2) Type the name of the coverage you wish to correct label errors.

Enter coverage name: <coverage>

(3) Change draw environment from arcs to labels ids

arcedit: drawe labels ids

(4) Zoom into the problem polygon

ctrl + v

The problem can now be corrected by editing the polygon arcs or the extra label. See Editing section for additional information. After the polygons with more than one label have been fixed, you will need to exit arcedit

and build the topology.

Polygons with Zero Labels

Polygons with zero labels are caused either by placing a label in the wrong place or by very small sliver polygons

which were missed during the first edit. To display the polygons without labels run the iceedit.aml.

1) Move to your ice editing directory and start iceedit.aml

Arc: &wo <last_name>

Arc: &r iceedit

2) Type the name of the coverage you wish to correct label errors.

Enter coverage name: <coverage>

Once in arcedit, you can locate the polygons without labels, as shown in the following steps:

arcedit: drawe all off

arcedit: draw

arcedit: editf polygons

arcedit: drawe polygons

arcedit: editf labels
29

arcedit: select <coverage>-id = 0

arcedit: drawselect

********************************************************************************************

* To view all labels: To identify and view other labels, such as those greater than 612: *

* arcedit: drawe labels ids arcedit: select <coverage>-id > 612 *

* arcedit: draw arcedit: drawselect *

********************************************************************************************

This will display the polygons without labels in yellow. Note- Since the labelerrors polygons can only be highlighted with the topology intact, any alteration to the coverage will remove the topology. To keep from having to

exit arcedit and issue a build command with each correction, you can zoom- in on the highlighted polygons in

individual windows. This is done by pressing <Ctrl>W and placing a small box around the polygon(s) to be

fixed. After these highlighted polygons have been zoomed-in with individual windows (8 maximum), you can

remove the errors. Note- by altering any part of the coverage the topology will be lost and the yellow highlight

will not be maintained. Make sure you take a mental picture and zoom in close enough so that the changes to be

made are obvious. To remove errors set the edit feature to arcs, and select and delete the arc(s) causing the

error(s).

Occasionally there may be a polygon without a label due to the label being missed during label adding. Use the

earlier Adding Labels procedure to add the missing label(s).

Once you correct all labelerrors, quit arcedit and build the topology.

If the coverage builds successfully, you will need to check for additional label errors. If there are still label

errors present in the coverage, repeat the necessary label error correction procedures (outlined in the Label Errors

Correction Methods section) until there are no label errors present.

Once the coverage is: 1) completely edited 2) error free (no intersection errors or labelerrors) and 3) successfully built it will need to be placed back into the /GIS/LakeIce directory by running the put.aml from the arc

prompt in your editing directory.

To place coverage back into /GIS/LakeIce, run put.aml at the arc prompt.

Arc: &r put

NOTE - put.aml will kill the original digitized coverage in /GIS/LakeIce and replace it with the edited coverage

from your editing directory. A copy of the coverage will still reside in your editing directory as a back up.

Important - Write the date you completed the editing next to your initials in the EDITED column the Ice Chart

Digitization Progress Sheets (black folder).

LINKING ATTRIBUTE FILES TO COVERAGES

Note- It is recommended that only one person perform the linking, and quality control to insure consistency.

Important - After (a) all editing and building has been completed with no intersection or label errors, (b) the

ASCII files have been updated and transferred and the ASCII files have no characters, only numeric elements, and

(c) the coverages have been visually checked for accuracy, you are ready to link the attributes to the coverage.

Create .iat Info file from ASCII text file for a single coverage, or for all coverages in a workspace. Use:

Arc: dir info *.iat to confirm these files are correct, and in the right workspace.
30

Arc: &r cio (formerly create_iat-old.aml)

Enter coverage name: <coverage>

or

Arc: &r create_iat (loops through all coverages in a workspace)

Link .iat Info file to .pat info file by:

Arc: &r icelink2 Enter coverage name: <coverage> Icelink2.aml checks for the existence of .pat and .iat files. If

a cover has already been linked, and a .bat file already created, the old unlinked .bak will be linked with the latest

.iat file. This protects against adding attributes to coverages that already contain attribute data.

Icelink2 will generate a new Polygon Attribute Table (PAT) by linking the <coverage>.iat and the <coverage>.pat

to include the ice attributes information within the .pat. A backup of the non-linked .pat file will be saved as

<coverage>.bak

Arc: &r icelinkbatch will link the cover.iat info file with the cover.pat for all coverages found in a workspace,

and will perform the checking noted above.

QUALITY CONTROL

There are two quality control procedures. The first is to visually check the locations of the ice polygons and

attribute data, and the second is to check the attribute data by ASCII file comparison. The best way to visually

check the coverages is to run iceedit.aml, as described above in the Error Checking sections, and zoom in on the

polygons to compare with the paper copy. This should be done during the label adding and error-checking phase

of editing.

To check the ice attribute data by ASCII file, you will need to compare the original ice attribute ASCII file

(coverage.txt) with the linked polygon attribute table (coverage.pat) of the ice chart. To create an ASCII listing of

the polygon attribute table use the following AML:

Arc: &r ascii_qc

Enter coverage name: <coverage>

The AML ascii_qc.aml will create an ASCII format listing of the polygon attribute table as <coverage>.asc

To check the output of the PAT to the original ASCII text file, use the C program compare2 to compare the files.

Arc: &sys compare2

Enter name of polygon attribute table ASCII file: <coverage>.asc

Enter name of original ice attribute ASCII file: <coverage>.txt

If the compare program finds the files are different, the inconsistencies will be listed. These inconsistencies will

need to be checked with the original hard copy ice chart and updated if necessary. Note - Before any updating of

the coverage occurs, the corrupted .pat file will need to be deleted and replaced with the back-up .pat. See

Updating Coverages.

If a comparison of the files shows them to be identical, no inconsistencies will be listed. The coverage is correct

and is ready to be converted to raster format. See Raster File Generation.
31

LINKING AND QUALITY CONTROL - A COMBINED SYSTEM

In order to expedite the processing of coverages, AMLs other than those above can be used, but must be used

carefully since they combine several steps. These AMLs cannot simply be rerun on a coverage.

Arc: &r cio

Arc: &r qc

QC is a combination of icelink2.aml + ascii_qc + compare2.c, therefore inconsistencies are listed if present. If no

extra or missing information is printed, that coverage is done. If some are printed you must open an edit window

for the coverages TXT file and bring up the coverage in iceedit.

Arc: &sys dtpad & (opens an Arc editor)

Arc: &r iceedit

Fix the labels and/or polygon errors as appropriate. Then run fixcov.aml, which has a dropitems built into it so

that it doesn’t corrupt anything.

Arc: &r fixcov

If no inconsistencies are printed, you are done. If there are inconsistencies listed, use dtpad & iceedit to fix the

errors in the sequence outlined below.

Updating and/or Editing Previously Linked Coverages

(1) To prepare a previously linked coverage for editing the linked items in the .pat will need to be dropped.

Arc: &r dropitems

Enter coverage name: <coverage>

(2) Edit the coverage to correct polygon-id inconsistencies. See Editing section.

(3) Build and check the coverage for labelerrors. See Error Checking I and II.

(4) Link attributes to corrected coverage. See Linking Attribute Files to Coverages.

(5) Perform the quality control operation. See Quality Control

COPYING AND CONVERTING COVERAGES TO CONSISTENT MERCATOR PROJECTION

After coverages are correct, they need to be copied to a new area to continue processing. Copier.aml copies all

coverages in the current directory to a user specified new area.

Arc: &r copier

You will be prompted for the destination directory, provide the entire path such as: /D1/LakeIce/CIS/1973/

Set default to the new area containing the coverages, and continue processing.

Although all charts are digitized in the projection matching the base of the printed chart, these coverages are

converted to a consistent Mercator projection. After all digitizing, correcting, linking, and quality control has

been finished in the mapper or other areas, a final copy of the coverage is moved to its final location in the data

base. Use the appropriate aml with the coverage.
32

/*--------------------------------------------------------------------------———————————-

/* projectmercan.aml written by Pat Trimble 2-17-97

/* uses the project command to convert Canadian lambert

/* ice charts to Mercator (Ice chart parameter) projection

/*————————————————————————————————————

Canadian charts are in Lambert projection, and need to have their projection changed to Mercator by:

Arc: &r projectmercan

U.S. charts are in Albers projection, and need to have their projection changed to Mercator by:

Arc: &r projectmerus

CONVERSION TO THE COASTWATCH BASE

The final form of all coverages is expanded to match GLERL’s CoastWatch base since information obtained by

remote sensing is available in that format as well as other data within the laboratory. To match the CoastWatch

map extent, vector ice chart coverages need to have a CoastWatch coverage with the same Mercator projection as

the ice coverage appended to them. This coverage is herein referred to as the “box” and is made once, and added

with the appendbox.aml to all the Mercator coverages to match the CoastWatch map extent. This will increase the

area of the ice vector coverages, adding marginal extent, but not adding any features outside of the Great Lakes

coastline. (For instance, the map extent of this box, which is simply a vector coverage generated and projected

onto earth space coordinates, stretches from the Lake of the Woods to Lake Champlain, but does not include these

shorelines.) The file that contains the four lines that makes up the box is called box.file and includes the points

necessary for Arc/Info to know to link the first point to the last.

The following is for reference, once this coverage has been generated, and projected, and built, it stays the same.

The appendbox.aml uses this coverage over and over.

Arc: generate <cover>

 GENERATE: input <box.file>

 GENERATE: polys

 GENERATING POLYGONS...

 GENERATE: quit

 EXTERNALLING BND and TIC

 ARC:

Box.file has the series of x,y coordinate pairs that defined the lines. The polygon is automatically closed (by arc/

info) from the last vertex to the first vertex, since these vertices are not the same.

The <box.file> looks like this:

101, -92.0,39

-92.3823,38.8355

-92.3823,50.5389

-75.70612,50.5389

-75.70612,38.8355

end

end

This coverage, which we’ll now call “box”, has to be built to acquire topology and projected to acquire a coordinate system definition.
33

 ARC: build box polys

 BUILDING POLYGONS...

 ARC: project cover <input “box”> <output> {projection.file}

 ARC:

The projection.file input is for the box coverage, the output has the information described in the Mercator ice

chart basemap in use for several years at GLERL.

The projection file looks like this:

input

projection geographic

units dd

parameters

output

projection mercator

units meters

parameters

-84 8 24.000

45 2 24.000

0.0

0.0

end

Box has these characteristics:

Xmin -649446.250 Xmax 664541.250

Ymin 3306260.000 Ymax 4605619.500

and the Mercator coordinate system items

 MERCATOR, METERS, CLARKE1866,

 LONGITUDE OF CENTRAL MERIDIAN: -84 8 24.000

 LATITUDE OF TRUE SCALE: 45 2 24.000

 FALSE NORTHING/EASTING = 0.0/0.0

Note: Only append a coverage with the box.file one time. That is, appending the coverage and the box twice will

result in an overlap of the arcs, nodes and polygons. Unbuilt polygon coverages cannot be appended with the

box.file or another coverage. Once built, using the append command on the already appended coverages will

result in this duplication.

Arc: &r appendbox

/*--------------------------------------------------------------------------------------------------

/* appendbox.aml adds the Mercator projected, point generated, “box” coverage matching

/* the CoastWatch map extent to all the vector coverages in the workspace that end in ‘m’

/* written by Pat Trimble 02/14/97, modified 5/21/98

/* The output files, which are made of the digitized coverage plus the box coverage with

/* a greater map extent are designated with the letter ‘a’ after the usual name.

/*

/* The append command is executed for all coverages in a workspace as append cover’m’, poly, all

/*

/* USAGE: append, coverage, box, return (the tilde) yes, yes

/*

/*----------------------------------------------------------------------------------------------------
34

The coverages that now have an “a” suffix designating them as having the CoastWatch map extent need to be

built.

If you wish to do select coverages, they can be done one at a time as the following example:

Arc: append <coverage>a poly all

Enter the coverages to be appended:

============================================

Enter the first coverage: /gis/pathname/<coverage>

Enter the second coverage: /gis/pathname/box.file

Enter the third coverage: {return}

Done entering coverages? y

Are these the coverages you wish to append:y

Appending coverages.....

Arc:

Append in the help documentation has further information concerning the use of this command.

(For example, both coverages must have attribute data, i.e. label points [which can be checked using the command

Arc: describe <cover>] for successful output coverage to be created.)

All coverages must be rebuilt after they have had the box appended to them. Build_after_append.aml builds all

coverages in your workspace that end in an “a”.

Arc: &r build_after_append

/* --------------------------------------------------------------------------------------

/* build_after_append.aml by Pat Trimble 10/22/96

/* modified 5/21/98

/*

/* Builds all polygon coverages “poly” that end in an ‘a’ in a workspace

/*

/* Note: User should be in the workspace of the source coverages.

/*

RASTER FILE GENERATION

The coverages that end in “a” are now ready to be converted into more useful x,y grids by rasterizing them. The

ARC polygrid command does this conversion, and was incorporated into an AML of the same name to convert all

the coverages within a directory.

A series of amls exist to create rasterized grids from polygon coverages linked with attribute data. The variation

among some of the amls is subtle, though the resulting grids are all distinct. Poly2grid.aml will normally be used.

Arc: &r poly2grid

/*--------------------------------------------------------------------------------------

/* polygrid.aml by Pat Trimble 8/14/96 + 5/22/98

/*
35

/* Converts polygon coverages in current directory to grids.

/*

/* Allows user to determine the destination directory of the newly created grids.

/*

/* Items in the .PAT are used to create separate grids.

/*

/* Creates a separate grid for each attribute {Value item} of the ice chart.

/*

/* Sets cell size so that grid is 510 rows by 516 columns.

/*

/* Cell size is 2550 meters.

/*

/* Will not overwrite grids already in existence in user defined destination.

/*

/* Items in the .PAT are used to create separate grids.

/*

/* -------------------------------------------------------------------------------------------

This converts the coverages in a directory to grids, queries the user for the destination directory and cell size;

joins items in the .pat to the .vat, and drops the area, perimeter and internal-id (<cover>#).

A grid can be created by entering the appropriate coverage, grid name, variable, and look-up table into the

polygrid command. This information is presented here primarily for reference, you would not normally use the

command.

Arc: polygrid <coverage> <grid> <variable> <look-up table>

Converting polygons from <coverage> to grid <grid>

Cell Size (square cell): 2550

Convert the Entire Coverage? (Y/N): y

Number of Rows = 510

Number of Columns = 516

Percentage of Gridded Cells...100%

Note - The cell size may vary depending on the type of analysis and resolution desired. Generally it will be either

2550 (Coast Watch cell size) or 5000 (Ice Atlas cell size).

Arc: items <grid>.vat

COL ITEM NAME WIDTH OUTPUT TYPE N.DEC ALTERNATE NAME INDEXED?

1 VALUE 4 10 B - Indexed

5 COUNT 4 10 B - -

Arc: describe <grid>

Cell Size = 2550.000 Data Type: Integer

Number of Rows = 510 Number of Values = 11

Number of Columns = 516 Attribute Data (bytes) = 8

 BOUNDARY STATISTICS

Xmin = -649446.250 Minimum Value = 0.000

Xmax = 666353.750 Maximum Value = 100.000
36

Ymin = 3306260.000 Mean = 2.096

Ymax = 4606760.000 Standard Deviation = 11.255

 COORDINATE SYSTEM DESCRIPTION

Projection MERCATOR

Units METERS Spheroid CLARKE1866

Parameters:

longitude of central meridian -84 8 24.000

latitude of true scale 45 2 24.000

false easting (meters) 0.00000

false northing (meters) 0.00000

Single charts can be gridded with the Arc: polygrid <incover> <outcover> {value item}

Cell size:

Convert entire coverage?

Rows ### Columns ###

Arc:

Another example follows the naming convention section on the next page.

When described, 68 poly attribute data bytes should exist for coverages with all the usual ice attributes (ct, ca, gid,

area, perimeter, -id, #, fc, n). Value items are chosen from the <coverage>.pat and can be found with the command:

Arc: items <cover>.pat

COLUMN ITEM NAME WIDTH OUTPUT TYPE N.DEC ALTERNATE NAME INDEXED?

 1 AREA 4 12 F 3 -

 5 PERIMETER 4 12 F 3 -

 9 COVER# 4 5 B - -

13 COVER-ID 4 5 B - -

17 CT 4 5 I - -

21 CA 4 5 I - -

25 CB 4 5 I - -

29 CC 4 5 I - -

33 SN 4 5 I - -

37 SA 4 5 I - -

41 SB 4 5 I - -

45 SC 4 5 I - -

49 SD 4 5 I - -

53 FA 4 5 I - -

57 FB 4 5 I - -

61 FC 4 5 I - -

65 N 4 5 I - -

Note: 68 is the last byte for an N starting in column 65.

Naming convention for grids

One, two, or three characters are added to the coverage name to indicate what type of data is in each gridded file.

For example, total concentration = ‘ct’, elements partial concentration ‘ca’, ‘cb’, ‘cc’; stage of development (from

thickest to least thick) = ‘so’, ‘sa’, ‘sb’, ‘sc’, ‘sd’; form (floe size) = ‘fa’, ‘fb’, ‘fc’; and finally, ‘gid’ which
37

denotes the polygon numbering system on the grid (400+ Lake Superior, 500+ Lake Michigan...800+ Lake

Ontario). Below is a list of the variables input into the polygrid command. Take note of the grid naming conventions and the different variables and look-up tables for ice concentration, stage, and form.

Naming convention example:

<coverage>: c80feb13 (original)

<coverage>: c80feb13m (Mercator)

<coverage>: c80feb13ma (appended)

<grid>:

concentration c80feb13mact, c80feb13maca, c80feb13macb, c80feb13macc

stage c80feb13masn, c80feb13masa, c80feb13masb, c80feb13masc, c80feb13masd

form c80feb13mafa, c80feb13mafb, c80feb13mafc

polygon/label idsc80feb13magid

Binary to ASCII Format

The raster file is now in UNIX form. To be universally useful, particularly on PCs, these files are converted to

ASCII format. After the coverage has been converted to a grid you can now export one grid to an ASCII file

containing the values for each grid cell. This is done by the gridascii command:

Arc: gridascii <grid> <ASCII file>

As a batch job, the grids can be converted to ascii with the

Arc: &r gd2ascii2 [processes all grids in the directory]

or use

Arc: &r gd2ascii4 [processes all grids listed in the input file gd2ascii4.inp to ASCII, then process all *value

files in the directory to an I5,1X format]

/*--------------------------------------------------------------------------------

/* gd2ascii.aml by Ned Morse 6/25/96

/*

/* Modified by Pat Trimble 1-22-97 5-22-98

/*

/* Converts grids in current directory to ascii.

/*

/* Allows user to determine the destination directory of the newly created files.

/*

/* Makes ascii grids for each item in the grid after count.

/*

/* Calls and runs the c program sp2i5 that sets cells into space delimited format.

/*

/*---------------------------------------------------------------------------------

sp2i5 is used to set correct spacing in the ascii files so that each line of attributes takes up the same space in a

516(I5,1X) format sp2i5 resides at /gis/D1/LakeIce/amls/sp2i5
38

RENAMING COVERAGAES TO AN ALL NUMERIC CONVENTION

This method was abandoned later in favor of a FORTRAN method with rename1.f (see Processing Files in Place

on the GIS). Most of the renaming processing was done on a PC.

The final form of the coverage names uses all numeric designations instead of 3 character month designation.

Thus, c80dec21mact becomes c801221mact.

month dec becomes 12

month jan becomes 01

month feb becomes 02

month mar becomes 03

month apr becomes 04

month may becomes 05

To rename all coverages in an area, set default to that area, and then execute attr_monthnum.aml.

Arc: &r attr_monthnum

/*--------------------------------------------------------------------------------------

/* attr_monthnum.aml written by Pat Trimble modified 5-22-98

/*

/* Sets the workspace and operates an aml to alter the naming convention of the grids

/* from the 3 character month designation to a 2 digit numerical designation for each

/* of the 13 egg code ice attributes

/*

/*---------------------------------------------------------------------------------------

Attr_monthnum.aml simply executes 6 other AMLs, one for each month for December through May.

DATA SHARING WITH THE NATIONAL ICE CENTER

The discussion here represents a snapshot in time. The materials discussed here are not being pursued in this

context, but are left here for historical perspectives.

GLERL to NIC

Tentatively, data sharing with NIC will be through conversion of the vector coverage to an ASCII format file.

There will be three ASCII files associated with each vector coverage. The first will contain the coordinates of the

points, which make up the polygons (<coverage>.pol), the second will contain the coordinates for the label points

(<coverage>.lab), the third will contain the ice attribute data (<coverage>.txt). Note that the third file is the same

ice attribute file used in the attribute linking process. These ASCII files will then be imported to the NIC GRASS

system. Note - The <coverage>.txt file will need to go through a ‘translation’ before it can be used. The translation program is currently in the developmental stage, pending code standardization between, GLERL, NIC, and

CIS.

To create the <coverage>.pol and <coverage>.lab files, use the ‘ungenerate’ command as outlined below.

For <coverage>.pol file

Arc: ungenerate line <coverage> <coverage>.pol

For <coverage>.lab file

Arc: ungenerate point <coverage> <coverage>.lab
39

NIC can then use the appropriate GRASS procedure to import Arc/Info files.

NIC to GLERL

NIC will also be creating three ASCII files from GRASS coverages, which can be used to create Arc/Info coverages. This is accomplished with the v.out.arc command in GRASS, creating <coverage>.pol, <coverage>.lab, and

<coverage>.txt. As with the GLERL to NIC procedures, the <coverage>.txt file will need to go through a translation before it can be incorporated in the coverage. Once the coverage is created, and the <coverage>.txt file is

translated, use the linking procedures (Linking Attribute Files to Coverages) outlined earlier to link the attributes.

To create the vector coverage from the <coverage>.pol and <coverage>.lab, use the generate command as outlined elsewhere.

Generating Vector Coverage from NIC Files

Arc: generate <Coverage>

generate: input <Coverage>.pol

generate: lines

generating lines...

generate: input <Coverage>.lab

generate: points

generating points...

generate: quit

Arc:

Importing Export Files

NIC and CIS have established (December, 1998) a standardized ARC/INFO ice chart format. They will be

exchanging these coverages between themselves as they do ice forecasts. GLERL will have access to these

coverages as well. The coverages are in Mercator projection keyed to our CoastWatch coordinates, so they do not

require any geographical conversion. Their attributes are very different from GLERL’s system and require

conversion. The charts are being exchanged and made available to GLERL in standard ARC export format.

Converting NIC Export Files to Coverages

In the subdirectory where the “*.e00” files are, use importer.aml. This will import, i.e. convert, all export files in

the directory to coverages. The coverages will have the same name as the export file.

Arc: &r importer

The coverages have sequential numbering of IDs for islands and ice polygons. Since we need to distinguish

between islands and ice polygons, fixnica1.aml, is used to add 400 to the ID number of every polygon with ice.

This AML will modify every coverage in the default area, so have no previously converted coverages in that area

or any you don’t want converted. This AML is used by:

Arc: &r fixnica1

The attributes of any of these files can be seen using the list command.

Arc: list cistest1.pat
40

 1

AREA = ******************

PERIMETER = 5226694.00000

CISTEST1# = 1

CISTEST1-ID = 1

EGG_ID = 0

AEGG_ID = 0

PNT_TYPE = 0

EGG_NAME =

EGG_SCALE = 0

EGG_ATTR =

USER_ATTR =

ROTATION = 0

ICECODE =

 2

AREA = ******************

PERIMETER = 14415213.66870

CISTEST1# = 2

CISTEST1-ID = 96

EGG_ID = 49

AEGG_ID = 0

PNT_TYPE = 120

EGG_NAME = G

EGG_SCALE = 1

EGG_ATTR =

USER_ATTR =

ROTATION = 0

ICECODE = NODATA

 3

AREA = 352719881.40626

PERIMETER = 151224.91042

CISTEST1# = 3

CISTEST1-ID = 482

EGG_ID = 35

AEGG_ID = 0

PNT_TYPE = 120

EGG_NAME = A

EGG_SCALE = 1

EGG_ATTR = 9+_4_6_@_@_@_4_1_@_@_@_4_X_@_@_@_@

USER_ATTR = 9+_4_6_@_@_@_4_1_@_@_@_4_X_@_@_@_@

ROTATION = 0

ICECODE = CT91CA408499CB608199CF0499

 4

AREA = 806181441.28845

PERIMETER = 340674.69983

CISTEST1# = 4

CISTEST1-ID = 495

EGG_ID = 48

AEGG_ID = 0

PNT_TYPE = 120

EGG_NAME = G
41

EGG_SCALE = 1

EGG_ATTR = 1_@_@_@_@_@_1_@_@_@_@_@_@_@_@_@_~9+

USER_ATTR = 1_@_@_@_@_@_1_@_@_@_@_@_@_@_@_@_~9+

ROTATION = 0

ICECODE = CT10CA998119

.

.

.

In the above listing one can see that the cistest1-id’s with ice attributes in the polygon attribute table, PAT, now

are numbered over 400. The attributes themselves are not in the GLERL form. The fixnica1.aml also outputs a

text file for every coverage containing the ID’s and the SIGRID ICECODE for every polygon. These ASCII file

names match the coverage and have a “nic” extension. These SIGRID data files are converted to GLERL’s form

of the egg_code by Fortran program sig_egg_98.for which also makes the land area code –1, required for our

ArcView implementation. The executable image of the program is activated by:

GIS:735: sig_egg_98

This Fortran program creates attribute files with “txt” extension. These files are then used along with the coverages by tem1.aml to create GLERL style coverages, i.e. the attributes are now egg_code.

Arc: &r tem1

Now the PAT file is like all GLERL coverages:

Arc: list cistest1.pat

 1

AREA = ******************

PERIMETER = 5226694.00000

CISTEST1# = 1

CISTEST1-ID = 1

CT = 0

CA = 0

CB = 0

CC = 0

SN = 0

SA = 0

SB = 0

SC = 0

SD = 0

FA = 0

FB = 0

FC = 0

N = 0

 2

AREA = ******************

PERIMETER = 14415213.66870

CISTEST1# = 2

CISTEST1-ID = 96

CT = 0

CA = 0

CB = 0

CC = 0
42

SN = 0

SA = 0

SB = 0

SC = 0

SD = 0

FA = 0

FB = 0

FC = 0

N = 0

 3

AREA = 352719881.40627

PERIMETER = 151224.91042

CISTEST1# = 3

CISTEST1-ID = 482

CT = 95

CA = -88

CB = 40

CC = 60

SN = -8

SA = -8

SB = 4

SC = 1

SD = -8

FA = -8

FB = 4

FC = 4

N = -8

 4

AREA = 806181441.28827

PERIMETER = 340674.69983

CISTEST1# = 4

CISTEST1-ID = 495

CT = 10

CA = -88

CB = -88

CC = -99

SN = -8

SA = -8

SB = -8

SC = 1

SD = -8

FA = -8

FB = -8

FC = -8

N = -8

The files can now be viewed with ArcView. There are coding errors on some of the original coverages, making

some of the islands ice. This can be seen in ArcView. The polygon with the wrong label can be identified using

iceedit. The polygon must be changed in the *.txt file. Fixcov.aml is then used to correct each coverage one at a

time.
43

Automatic File Transfer

The details on file transfer are still ‘in the works’. The transfer will most likely be through either anonymous FTP,

or FTP with permission to access the area where the transfer files are stored. A possibility is for NIC to FTP the

files to an area on the GLERL gishp730 machine as part of NIC’s data distribution routine. Ultimately an agreement on file transfer procedures will need to be reached between GLERL and NIC.

Backing up Export Coverages to Tape

Tapewritebatch.aml writes all export coverages in an area to Data Cartridges.

*-—————————————-------------------------------------------------------------------------------

/* tapewritebatch.aml by Ned Morse and Pat Trimble

/*

/* Sends export files ( WITH AN .e00 SUFFIX ) in workspace to Data Cartridges

/*

/* Note: User should be in the workspace of the source coverages.

/*

/*--------------------------——————————————-------------------------------------------------------

Creating GID files

Files with “gid” extension are raster files containing the polygon ID value in each grid cell location. These files

were required for subsequent quality control and can be used in conjunction with an attribute text file to easily

create attribute ASCII grids. If not created, gid files must be created from coverages using the following AML

which makes its own input file of all “*a” named coverages in the area .

Arc: &r poly_gid1

Then run

Arc: &r gd2ascii2

Create a sub-directory “named” under the directory with the GID files, and then create the input file:

Arc: ls > renamgid.inp *gidvalue

And then run the program:

Arc: renamgid

The GID files are now finished (we do not make them match the base mask).

Moving Files from the GIS to the PC and PC Processing

FTP is used to transfer ASCII grids to the PC, ice season by ice season. Identify grids by *ctvalue and then select

all of them and transfer them; and then select *gidvalue and transfer them. Be sure to set the transfer to ASCII.

Transfer the files in mass. On the PC, make input lists using:

E:\7374> dir/b > rename1.inp *ctvalue

E:\7374> dir/b > renamgid.inp *gidvalue

The ct and gid files must be renamed. The following programs rename files, examples: c72dec31mactvalue

becomes c721231.ct and c72dec31magidvalue becomes c72dec31.gid . The two programs to run are:
44

E:\7374> rename1

E:\7374> renamgid

The grids are now in ASCII form and have universally useable naming. The grids are then standardized to a

master grid made from the base shorelines, so that all water cells are water and all land cells are land. This

processing is necessary for subsequent numerical processing of the grids. Normally only a few cells are adjusted.

This processing is:

E:\7374> dir/b > icemaskx.inp *.ct

E:\7374> i_mask_2

The output file icemaskx.num should be checked for a summary of changes. If more than a handful of changes are

made in any given file then icemaskx.out should be evaluated for every change. The files are now finished, and in

the form used internally and provided via the net to outside users. The files final names are in the form

c721231.c_t.

Processing Files in Place on the GIS

It is easier to process files in place on the UNIX machine. This first entailed creating *.gid files, using

poly_gid1.aml. These *.gid files are grids which contain polygon ids as the cell values, i.e. 401,402 ... 804,805,

etc.

The grid files now have names such as u90jan03mactvalue. To rename these files, first create an input list by:

GIS:735: ls > rename1.inp *ctvalue

This program uses only 1 of the 13 parameters in the name list, hence the *ctvalue and not *value which would

give all 13. The program is then run:

GIS:735: rename1

The file u90jan03mactvalue is renamed (actually by copying and deleting) to u900103.ct. This ASCII file is then

standardized so that all their cell values are consistent with our master, i.e. that all lake cells are lake cells and all

land cells are land cells. The program that does this wants every file in the input file list, so create the list by:

GIS:735: ls > i_mask_1.inp *.*

Then,

GIS:735: nedit i_mask_1inp

Nedit is an editor, which is easy to work with on the UNIX. Use it to remove any extraneous files in the input list,

remove the blank line at the bottom, and save it. Then run the program:

GIS:735: i_mask_1 (1 for NIC)

or

GIS:735: i_mask_2 (2 for CIS)

This program adjusts each input file to the base, outputs a new file of the same name but adds a ‘_‘ in the suffix

such as u900103.c_t.

The next program fixes a few stray cells in the original masking.
45

GIS:735: ls > imaskfix.inp *.?_?

GIS:735: imaskfix

These files now have the ‘_’ changed to a ‘-‘ in the extension such as c950123.c_t becomes c950123.c-t, and are

now finished.

Several programs were written to define how much data there is in the database. These require an input file list,

made by:

GIS:735: ls > summary.inp *.c-t

Then execute program summary1.f, which reads through all 13 ASCII grids per coverage, counting cells with

data.

GIS:735: summar1

The summary1 output gives the percentage of data available (number of cells assigned/number of cells with Ct)

for CIS coverages is as follows:

Coverage ct ca cb cc sn sa sb sc sd fa fb fc ~ cells

c740110 100 9 64 100 0 9 64 67 0 0 4 39 0 14707

c740117 100 51 78 100 3 51 78 80 5 5 30 49 0 12077

c740123 100 34 59 100 4 34 59 60 9 0 5 45 1 7915

c740131 100 53 57 100 12 53 57 68 39 0 1 44 0 6416

c740207 100 15 68 100 0 15 68 87 14 0 0 31 0 14786

c740214 100 64 71 100 17 64 71 88 33 0 28 55 0 22623

c740221 100 69 84 100 4 69 84 85 30 14 57 76 0 24657

.

.

.

c950213 100 1 64 100 0 1 64 74 0 1 64 48 0 12829

c950220 100 19 59 100 0 19 59 67 0 19 52 37 0 11052

c950227 100 39 59 100 0 39 59 66 0 39 59 56 0 11005

c950306 100 21 57 100 0 21 57 76 0 19 48 72 0 14215

c950313 100 16 63 100 0 16 63 81 0 16 56 90 0 11926

c950320 100 7 49 100 0 7 49 71 0 7 36 70 0 6924

c950327 100 8 45 100 0 8 45 68 0 8 45 93 0 2731

c950403 100 3 45 100 0 3 45 78 0 3 45 100 0 2153

c950410 100 0 0 100 0 0 0 76 0 0 0 100 0 1050

c950417 100 0 0 100 0 0 0 65 0 0 0 100 0 497

c950424 100 0 0 100 0 0 0 29 0 0 0 100 0 242

c950501 100 0 0 100 0 0 0 27 0 0 0 100 0 201

c950508 100 0 0 100 0 0 0 100 0 0 0 100 0 114

c950515 100 0 0 100 0 0 0 100 0 0 0 100 0 6

Program summary13.f was written to provide a spatial evaluation of the amount of data available for each parameter for the entire period. This was done by computing the amount of available data by cell, and then outputting

13 grids containing these percentages. These ASCII grids are in the same format as the parameter grids which

contain 6 lines of heading and 510 rows of cell data in (515i3,I5) format.
46

Program tabulate.f creates a tabular summary of the dates of the coverages in the database. Tabulate1.1 contains 0

if there is no coverage for each day or a 1 if there is a chart. The output is by ice season, starting December 1.

Tabulate1.2 lists the available charts by their Julian day, starting with December one as Julian day 334. For

Canadian coverages these files appear as below for ice season 1990 (1989-1990):

Tabulate1.1

1990,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,

1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,

1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Tabulate1.2

1990,350,357,364,371,378,385,392,396,403,410,417,427,434,441,448,454,461,468,475,

Tabulate1.3 organizes the coverage dates into 7 day increments, and sums the number of coverages available for

all years for each 7 day period beginning with the week of December 107 (334-340). The following is for Canadian coverages:

Tabulate1.3

334-340 1

341-347 3

348-354 12

355-361 19

362-368 21

369-375 23

376-382 23

383-389 23

390-396 22

397-403 23

404-410 23

411-417 22

418-424 24

425-431 23

432-438 22

439-445 22

446-452 25

453-459 22

460-466 23

467-473 21

474-480 19

481-487 13

488-494 7

495-501 5

502-508 1

509-515 0

total 442
47

Appendix 2 – All AML Names and Descriptions

appendbox.aml Adds the Mercator projected, point generated, “box” coverage matching the CoastWatch map extent to all vector coverages in a workspace

ascii_qc.aml Creates ASCII file of (<coverage>.pat) to compare to original ASCII attribute

file(<coverage>.txt)

attr_monthnum.aml Sets the workspace and operates an aml to alter the naming convention of the grids

from the 3 character month designation to a 2 digit numerical designation for each of

the 13 egg code ice attributes

build_after_append.aml Builds all polygon coverages “poly” that end in an ‘a’ in a workspace

cio.aml Creates ice attribute table (<coverage>.iat) from ASCII attribute files (<coverage>.txt)

cleanreplace.aml Kills the original coverage (<coverage>) and renames the cleaned coverage

(<coverage>_cl) to the original coverage name.

copier.aml Copies all polygon coverages in workspace to a user defined destination

create_iat.aml Also will be made to run in batch mode on all <coverage>.txt files in workspace to

create an ice attribute table (<coverage>.iat) for each cover in workspace.

dropitems.aml Drops linked items from .pat

fixcov.aml This AML is to be used after errors have been found and fixed during quality control.

This AML will sometimes be doing some unnecessary work, depending on what you

fixed, but this does not cause any problems and is very fast. To create this AML a

BUILD was put in sequence with: dropitems.aml + create_us_iat2.aml + icelink2.aml

+ ascii_qc.aml + sys compare2.c

fixnica1.aml Adds 400 to ice polygon ID’s. For recent NIC coverages only.

gd2ascii2.aml Converts grids in current directory to ascii. Allows user to determine the destination

directory of the newly created files. Makes ascii grids for each item in the grid after

count. Calls and runs the c program sp2i5 that sets cells into space delimited format.

gd2ascii4.aml As above, except uses input file instead of processing all files in default area.

get.aml Transfers a coverage from the /gis/LakeIce/ workspace to editing directory

icedig.aml Allows users to digitize ice coverage hardcopy maps. Starts arcedit and sets the

digitizer and editing parameters uses a digitizing menu to make editing selections from

the puck. Modified to allow using previous tic locations when restarting. If the program bombs, it will quit to arcedit. This will allow the user to use the previous tic

locations and menu locations for easier restarting

iceedit.aml Iceedit.aml sets the edit coverage and controls the editing environment for ice coverage editing
48

iceeditalb.aml Iceedit.aml with Albers backcoverage.

iceeditlam.aml Iceedit.aml with Lambert backcoverage.

iceeditmer.aml Iceedit.aml with Mercator backcoverage.

iceeditpara.aml Sets parameters for editing when using arctools. Use the “commands” command of

edit tools to run iceeditpara.aml

icelink2.aml Links the <cover>.iat info file to the <cover>.pat modified to eliminate creation and

use of a .bak file.

icelinkbatch.aml Links the <cover>.iat info file to the <cover>.pat for all polygon covers in workspace.

importer.aml Imports, i.e. converts, all export coverages in area to coverages

killcovcan.aml All c* coverages in the area will be killed

poly_gid1.aml Creates “gid”, polygon ID label, grids for all coverages in the area.

projectmercan.aml Uses the project command to convert Canadian Lambert ice charts to Mercator

projection

projectmerus.aml Uses the project command to convert US Albers ice charts to Mercator projection

put.aml Replaces the coverage in /gis/LakeIce/ with an edited coverage from the users editing

directory

qc.aml A combination of icelink2.aml + ascii_qc.aml + sys compare2.c icelink2.aml links the

<cover>.iat info file to the <cover>.pat

renameCAPS.aml Adds a “.txt” in place of the TXT suffix

 renamegg.aml Adds a “.asc” in place of the egg suffix

replace.aml Replaces the linked and corrupted .pat file with the back-up .pat (<coverage>.bak) to

allow error correction and relinking

replaceus.aml Replaces the linked and corrupted US .pat file with the back-up .pat (<coverage>.bak)

to allow error correction and relinking

scriptext.aml Prints a copy of the aml script to the laser printer

tapereadbatch.aml Copies a series of export files from Tape to a workspace

tapewritebatch.aml Writes export files in workspace to Data Cartridges
49

Appendix 3 – All AML Codes

These codes are contained in an ASCII file located on GLERL’s anonymous

ftp server at the following address:

ftp://ftp.glerl.noaa.gov/publications/tech_reports/glerl-117
50

Appendix 4 – All “C” and FORTRAN Program Names

compare2.c Compares polygon IDs in a coverage with those in its TXT file, prints mismatches.

i_mask_1.f Compares ASCII grids to a base grid, adjusts land & water cells to match base grid.

imaskfix.f Changes selected cells in ASCII grids along Niagara River, etc.

rename1.f Changes parameter grid names from character months to numeric months.

renamgid.f Changes gid (polygon id) grid names from character months to numeric months.

sp2i5.c Rewrites grids, changing variable format to fixed.

summar1.f Creates a “% of Data Available” table, per coverage, by parameter. Computed from

individual parameter grids.

summary13.f Computes the cell by cell % of data available, output as grids, for each parameter.

Computed from an input file of sequential grids.

tabulate1.f Creates tabular summaries of the dates of the coverages. These are output as (1) a table of 0

(no coverage) or 1 (coverage) from December 1-May31, (2) as a sequence of julian dates; and

(3) as the number of coverages per 7 day period.
51

Appendix 5 – All “C” and FORTRAN Source Codes

These codes are contained in an ASCII file located on GLERL’s anonyumous

ftp server at the following address:

ftp://ftp.glerl.noaa.gov/publications/tech_reports/glerl-117
52

Appendix 6 – The Egg Code

The coding of ice information on composite ice charts changed over the 1972 – 1994 period. These codes were

not entirely consistent, and partially complete codes were common. The early code had a two-line form:

C1,C2,C3,C4

—————

N1,N2,N3

where: C1 is tenths of very thick and/or thick lake ice

 C2 is tenths of medium thickness lake ice

 C3 is tenths of thin lake ice

 C4 is tenths of new lake ice

 N1 is tenths of floes 0-100m size

 N2 is tenths of floes 100-500m size

 N3 is floes 500m or greater

The two line code gave way to a more common coding format of the World Meteorlogy Organization (WMO)

system for sea ice symbology, frequently referred to as the “Egg Code” due to the oval shape of the symbol. This

egg coding of ice characteristics evolved somewhat through time also. The latest form of the egg code was used

as the standard for the database and has the form:

 Ct

 ————

 Ca Cb Cc

 ————

 So Sa Sb Sc Sd

 ————

 Fa Fb Fc

 ~F (sometimes in ‘Fa Fb Fc’ position, Example: ~9)

The standard egg code represents ice concentrations in 10ths or sometimes as ranges of 10ths such as 7-9/10. We

modified this representation slightly to achieve an all-numeric form by representing concentrations as percentages, and ranges as the median, so 7-9/10 is 80% in the database. Other non-numeric codes such as X, blank, 1.,

etc. were assigned numeric codes. The total ice concentration, Ct, is usually equals the sum of the individual ice

type concentrations. Ct can be greater than that sum if the thinnest ice present was assigned to Sd. However, this

total is not allowed to be greater than 100% or 95% if the original code was circled. Represented as a line of code

in a data file the egg code takes the form:

ID,Ct,Ca,Cb,Cc,Sa,Sb,Sc,Fa,Fb,Fc,So,Sd,~F

Where: ID is a 3 digit integer identifier of a polygon

 Ct is total ice concentration as a percent, includes the percentage of Sd

 Ca is the percentage concentration of the thickest ice type

 Cb is the percentage concentration of the next thickest ice type

 Cc is the percentage concentration of the next thickest ice type

 So is a code for the thickest ice present, but <10%, assigned 5%, included in Ct

 Sa is a code for the thickness of Ca

 Sb is a code for the thickness of Cb

 Sc is a code for the thickness of Cc
53

 Sd is a code for the thinnest ice present, normally greater than 10%, percentage concentration included in Ct

 Fa is a code for the floe size of Ca

 Fb is a code for the floe size of Cb

 Fc is a code for the floe size of Cc

 ~F is the percentage concentration of strip & patch ice

The total concentration (Ct) is reported in tenths and is the uppermost group. Concentration may

be expressed as a single number or as a range, not to exceed two tenths (i.e., 3-5, 5-7). Partial concentration (Ca,

Cb, Cc) are also reported in tenths, but must be reported as a single digit. These are reported in order of decreasing thickness. That is, Ca is the concentration of the thickest ice and Cc is the concentration of the thinnest ice.

The Egg Code concentration values have the following translation to the GLERL numeric format.

FOR: Ct, Ca, Cb, Cc:

Egg Code GLERL implementation

ICE FREE ------------------0

0 ------------------------------5

1 ---------------------------- 10

2 ---------------------------- 20

3 ---------------------------- 30

4 ---------------------------- 40

5 ---------------------------- 50

6 ---------------------------- 60

7 --------------------------- 70

8 ---------------------------- 80

9 ---------------------------- 90

9+ -------------------------- 95

10 -------------------------100

X--------------------------- -88 (place holder) or –99 (missing data) depending on circumstances

Stages of development (Sa, Sb, Sc, So, Sd) are listed using the following code in decreasing

order of thickness. These codes are directly correlated with the partial concentrations above.

Ca is the concentration of stage Sa, Cb is the concentration of stage Sb, and Cc is the

concentration of Sc. So is used to report a development with the greatest remaining

concentration that will not fit into the egg. If all partial concentrations equal the total

concentration and there is a Sd, Sd is considered to be present in a trace amount. The following

codes are used to denote stage of development of lake ice.
54

FOR: So, Sa, Sb, Sc, Sd:

Egg Code GLERL implementation

0 ----------------------------- 0 (no stage of development {no ice})

1 ----------------------------- 1 (new ice - 0-5 cm)

4 ----------------------------- 4 (thin lake ice - 5-15 cm)

5 ----------------------------- 5 (medium lake ice - 15-30 cm)

7 ----------------------------- 7 (thick lake ice - 30-70 cm)

8 ----------------------------- 8 (1st stage thick ice - 30-50 cm)

9 ----------------------------- 9 (2nd stage thick ice - 50-70 cm)

1. ----------------------------10 (very thick lake ice - 70-120 cm)

blank-------------------------8 (placeholder) or –9 (missing data) depending on circumstances

Forms of lake ice (Fa, Fb, Fc) indicate the floe size corresponding to the stages identified in Sa,

Sb, and Sc respectively. Belts and strips (~F) is the percentage concentration of the floe. The following codes are

used to denote forms of lake ice:

FOR: Fa, Fb, Fc, ~F - FORM OF ICE

Egg Code GLERL implementation

0 ----------------------------- 0 (pancake ice)

1 ----------------------------- 1 (small ice cake; brash ice)

2 ----------------------------- 2 (ice cake)

3 ----------------------------- 3 (small floe, < 100m)

4 ----------------------------- 4 (medium floe, 100-500m)

5 ----------------------------- 5 (big floe, > 500m)

8 ----------------------------- 8 (fast ice)

X -----------------------------8 (placeholder) or –9 (missing data) depending on circumstances

~F ---------------------------(Belts and Strips, percent concentration, 10-100)
55

Appendix 7 – Base Maps

Table 2. An ARC/INFO description of the Albers Equal Area Conic basemap.

FEATURE CLASSES

Number of Attribute Spatial

Feature Class Subclass Features data (bytes) Index? Topology?

ARCS 479

POLYGONS 147 16 Yes

NODES 474

SECONDARY FEATURES

Tics36

Arc Segments21233

Polygon Labels142

TOLERANCES

Fuzzy = 211.699 V Dangle = 0.000 N

COVERAGE BOUNDARY

Xmin = 298205.906 Xmax = 1594408.625

Ymin = 2101545.750 Ymax = 2915377.250

STATUS

The coverage has not been Edited since the last BUILD or CLEAN.

COORDINATE SYSTEM DESCRIPTION

Projection ALBERS

UnitsMETERS Spheroid CLARKE1866

Parameters:

1st standard parallel 29 30 0.000

2nd standard parallel 45 30 0.000

central meridian -96 0 0.000

latitude of projection’s origin 23 0 0.000

false easting (meters) 0.00000

false northing (meters) 0.00000
56

Table 3. An ARC/INFO description of the Lambert Conformal Conic basemap.

FEATURE CLASSES

Number of Attribute Spatial

Feature Class Subclass Features Data (bytes) Index? Topology?

ARCS 479

POLYGONS 147 16 Yes

NODES 474

SECONDARY FEATURES

Tics23

Arc Segments21233

Polygon Labels142

TOLERANCES

Fuzzy = 195.640 V Dangle = 0.000 N

COVERAGE BOUNDARY

Xmin = -546953.625 Xmax = 747359.688

Ymin = 49142.852 Ymax = 913010.813

STATUS

The coverage has not been Edited since the last BUILD or CLEAN.

COORDINATE SYSTEM DESCRIPTION

Projection LAMBERT

UnitsMETERS Spheroid CLARKE1866

Parameters:

1st standard parallel 49 0 0.000

2nd standard parallel 77 0 0.000

central meridian -85 0 0.000

latitude of projection’s origin 41 0 0.000

false easting (meters) 0.00000

false northing (meters) 0.00000
57

Table 4. An ARC/INFO description of the Mercator basemap.

FEATURE CLASSES

Number of Attribute Spatial

Feature Class Subclass Features data (bytes) Index? Topology?

ARCS 479

POLYGONS 147 16 Yes

NODES 474

SECONDARY FEATURES

Tics23

Arc Segments21233

Polygon Labels142

TOLERANCES

Fuzzy = 1.000 V Dangle = 0.000 V

COVERAGE BOUNDARY

Xmin = -627970.688 Xmax = 660035.000

Ymin = 3568310.750 Ymax = 4421138.500

STATUS

The coverage has not been Edited since the last BUILD or CLEAN.

COORDINATE SYSTEM DESCRIPTION

Projection MERCATOR

UnitsMETERS Spheroid CLARKE1866

Parameters:

longitude of central meridian -84 8 24.000

latitude of true scale 45 2 24.000

false easting (meters) 0.00000

false northing (meters) 0.00000
58

Table 5. An ARC/INFO description of the Mercator basemap with CoastWatch extent.

FEATURE CLASSES

Number of Attribute Spatial

Feature Class Subclass Features Data (bytes) Index? Topology?

ARCS 1

POLYGONS 2 68 Yes

NODES 1

SECONDARY FEATURES

Tics 4

Arc Segments4

TOLERANCES

Fuzzy = 191.873 V Dangle = 0.000 N

COVERAGE BOUNDARY

Xmin = -649446.250 Xmax = 664541.250

Ymin = 3306260.000 Ymax = 4605619.500

STATUS

The coverage has not been Edited since the last BUILD or CLEAN.

COORDINATE SYSTEM DESCRIPTION

Projection MERCATOR

UnitsMETERS Spheroid CLARKE1866

Parameters:

longitude of central meridian -84 8 24.000

latitude of true scale 45 2 24.000

false easting (meters) 0.00000

false northing (meters) 0.00000
59

48 o

46 o

44 o

42 o

90 o

85 o 80 o

48 o

46 o

44 o

42 o

90 o 85 o 80 o

48 o

46 o

44 o

42 o

90 o

85 o

80 o

75 o

MAP PROJECTIONS OF ICE CHARTS

Projection: MERCATOR

Units: meters

Parameters:

 longitude of central

 meridian: -84 8 24.000

 latitude of true scale: 45 2 24.000

 false easting (meters): 0.00000

 false northing (meters): 0.00000

Projection: ALBERS

Units: meters

Parameters:

 1st standard parallel: 29 30 0.000

 2nd standard parallel: 45 30 0.000

 central meridian: -96 0 0.000

 latitude of origin: 23 0 0.000

 false easting (meters): 0.00000

 false northing (meters): 0.00000

Projection: LAMBERT

Units: meters

Parameters:

 1st standard parallel: 49 0 0.000

 2nd standard parallel: 77 0 0.000

 central meridian: -85 0 0.000

 latitude of origin: 41 0 0.000

 false easting (meters): 0.00000

 false northing (meters): 0.00000

Figure 8. The Lambert Conformal

Conic basemap.

Figure 9. The Mercator basemap.

Figure 7. The Albers Equal Area Conic

basemap.
60

Appendix 8 - Converting Ice Atlas Data to the CoastWatch Format

Introduction

In order to compare and model different data sets with each other it is necessary for them to be in the same

format. The ice concentration and climatology data from 1960-1979 were digitized from analog charts in a earlier

project and were converted to a 5.000 x 5.000 km grid to create an ice atlas (Assel, 1983). However, the current

data from the 1973-1994 period were projected onto a 2.550 x 2.550 km grid, or approximately four times the

resolution of the old data. Therefore, a method had to be devised to fit the earlier low resolution data to the new

higher resolution CoastWatch grid. A series of IDL programs were written to fit the earlier data to the CoastWatch

grid while still maintaining the integrity of the data.

Input Data

The Ice Atlas data files contain information on ice concentration to the nearest ten percent, denoted as tenths ice

cover (0, 1, 2, ..., 9, 10) with a value of -1 for land cells, and a value of 99 where there was no observed data.

Each lake has associated files (Table 6) containing a series of arrays of ice concentration data for each day

observations were made, a file containing the latitude of each grid point on the 5.000 x 5.000 km grid, and a file

containing the longitude of each grid point. In addition, there is a climatic file for each lake containing the

maximum, minimum, average, mode, and median ice concentration values at each grid point over a series of half

month periods for each year.

Methodology

To solve the problem of transposing the 5 x 5 km grid to the 2.55 x 2.55 km CoastWatch grid, a series of IDL

(IDL, 1997) programs were written. (See Appendix 9.) The necessary input files were the input data listed above,

a pair of latitude and longitude matrices corresponding to the CoastWatch grid, and a “mask” CoastWatch array

that ensures that ice concentration data is only transposed to the part of the grid that is designated as water cells.

Figure 10. Routine to convert longitude

The first step is to take the longitude and latitude of each Ice Atlas data point and find the closest corresponding

location in the CoastWatch grid. Since each row of the CoastWatch longitude grid is equal, and each column of

the latitude grid is also, the mapping coordinates can be reduced to one longitude vector and one latitude vector.

An IDL function finds the closest latitude and longitude value in the CoastWatch grid and returns the array index

of the point in the vector (Figure 10). To simplify calculations the degree values are not converted to distance

units. The amount of variation in distance across the range of latitudes is negligible compared to the size of the

grid cells. It follows that the point with the closest latitude and closest longitude is also the nearest location in

terms of two-dimensional distance.

Next, a blank 516 x 510 array (the size of the CoastWatch grid) is created; where x is the index of the longitude

value, y is the index of the latitude value, and z is the ice concentration, Ax,y = z. In this way, the array is filled

Table 6: Computerized ice concentration database (modified from Assel et al., 1983).

 Lake Image Data Matrix

Number of Ice Charts Dimension Grid Cells

Lake Original Climatic Row Column Total Overwater

Superior 618 45 71 121 8591 3195

Michigan 489 45 117 77 9009 2224

Huron 845 45 85 95 8075 2308

Erie-St. Clair 565 45 40 91 3640 1041

Ontario 307 45 34 73 2482 739
61

with the low resolution data. Now, the array is a coarse representation of the Ice Atlas data on the CoastWatch

grid (Figure 11). (Note: The curvilinear lines across the image result from warping the original polyconic projection to Mercator.) In this image, the colors range from blue to white for ice concentrations 0-10, with gray

representing land cells and red indicating cells where no data was observed.

Next, the gaps in the data must be filled in. Interpolation is the first method that comes to mind, but it is very

complicated to interpolate with so many unobserved cells. Therefore, a new method was devised. This method

was used to, in essence, fill the unobserved cells with the value of the nearest cell containing data.The task was

accomplished using an algorithm written in IDL. The first step was to make a list of every cell that was not land,

and only enter these cells into the CoastWatch grid. The list was made in the left-to-right, top-to-bottom sequence.

 Next, all points in the CoastWatch grid within a square of set width (7 grid cells) centered at the data point took

on the data value (Figure 12). This produced a mosaic of overlapping squares, and consequently a very abstract

representation of the data set. However, the next step was to repeat the procedure with smaller squares (and

increasingly greater detail). In this way, the original data was plotted last, so only the gaps were filled by the

larger squares (Figure 13). A side effect of the order in which the array was filled is that the data were shifted one

or two cells up and to the left. However, since low resolution data is being transposed to a high resolution grid,

this amount of error is insignificant. Lastly, the CoastWatch mask was applied to the array, in effect “cutting out”

the shape of the lake (Figure 14). Because of small differences in the CoastWatch mask, such as increased detail

on coastlines and rivers, the squares did not “cover” every cell designated as not land. These cells were assigned

the no data value. The data was then output to a file with a header including the position of the array in the

CoastWatch array (i.e. coordinates of lower left:(0,316) coordinates of upper right:(250,449)). The same coding

was used for the output data as for the input.

Longitude Index

Latitude

Index

Figure 10. Routine to convert longitude.

... -91.39524 -91.36288 -91.33051 -91.29815 -91.26579 -91.23342 ...

-91.2937622

CoastWatch Longitude Grid

Ice Atlas Longitude Point

31 32 33 35 36 index = 34

Figure 11.

Coarse

Image of

Lake

Superior

(IDL).

Figure 12. Array

is filled with

squares around

data points.
62

Figure 13: Image before mask applied (IDL). Figure 14: Finished image after mask

applied (IDL).

References

Assel, R. A. A Computerized Ice Concentration Data Base for the Great Lakes, NOAA Data Report ERL GLERL24 (1983).

Assel, R.A., F.H. Quinn, S.J. Bolsenga, and G.A. Leshkevich. Great Lakes Ice Atlas. NOAA Atlas No. 4, Great

Lakes Environmental Research Lab. Ann Arbor, MI (1983).

IDL. IDL Basics, Reseach Systems, 2995 Wildnerness Place, Boulder, CO, 80301 (1997).
63

Appendix 9 - Sample IDL 5.1 Chart Conversion Program

This program is contained in an ASCII file located on GLERL’s anonymous

ftp server at the following address:

ftp://ftp.glerl.noaa.gov/publications/tech_reports/glerl-117