@ Override public void buildCoordinateSystems ( NetcdfDataset ncDataset ) { // put status info into parseInfo that can be shown to someone trying to debug this process parseInfo . format ( "Parsing with Convention = %s%n" , conventionName ) ; // Bookkeeping info for each variable is kept in the VarProcess inner class addVariables ( ncDataset , ncDataset . getVariables ( ) , varList ) ; // identify which variables are coordinate axes findCoordinateAxes ( ncDataset ) ; // identify which variables are used to describe coordinate system findCoordinateSystems ( ncDataset ) ; // identify which variables are used to describe coordinate transforms findCoordinateTransforms ( ncDataset ) ; // turn Variables into CoordinateAxis objects makeCoordinateAxes ( ncDataset ) ; // make Coordinate Systems for all Coordinate Systems Variables makeCoordinateSystems ( ncDataset ) ; // assign explicit CoordinateSystem objects to variables assignCoordinateSystemsExplicit ( ncDataset ) ; // assign implicit CoordinateSystem objects to variables makeCoordinateSystemsImplicit ( ncDataset ) ; // optionally assign implicit CoordinateSystem objects to variables that dont have one yet if ( useMaximalCoordSys ) makeCoordinateSystemsMaximal ( ncDataset ) ; // make Coordinate Transforms makeCoordinateTransforms ( ncDataset ) ; // assign Coordinate Transforms assignCoordinateTransforms ( ncDataset ) ; if ( debug ) System . out . println ( "parseInfo = \n" + parseInfo . toString ( ) ) ; }
Heres where the work is to identify coordinate axes and coordinate systems .