grib/src/main/java/ucar/nc2/grib/grib1/tables/EcmwfLocalConcepts.java
private void addLocalConcept(InputStream is, String conceptName) throws IOException {
        /*
        example entry from name.def:

        #Total precipitation of at least 5 mm
        'Total precipitation of at least 5 mm' = {
             table2Version = 131 ;
             indicatorOfParameter = 61 ;
            }
         */

        try (BufferedReader br = new BufferedReader(new InputStreamReader(is, ENCODING))) {
            String line = br.readLine();

            while (!line.startsWith("#"))
                line = br.readLine(); // skip

            while (true) {
                HashMap<String, String> items = new HashMap<>();
                line = br.readLine();
                if (line == null) break; // done with the file
                if ((line.length() == 0) || line.startsWith("#")) continue;
                line = cleanLine(line);
                if (line.contains("{")) {
                    String paramName = line.split("=")[0].trim();
                    line = br.readLine();
                    if (line == null) break; // done with the file
                    line = cleanLine(line);
                    while (line.contains("=")) {
                        String[] kvp = line.split("=");
                        items.put(kvp[0].trim(), kvp[1].trim());
                        line = br.readLine();
                        if (line == null) break; // done with the file
                        line = cleanLine(line);                    }
                    String tableVersion = items.get(TABLE_VERSION_ID);
                    String parameterNumber = items.get(PARAM_NUM_ID);

                    storeConcept(tableVersion, parameterNumber, conceptName, paramName);
                }
            }
        }
    }
private void addLocalConcept(InputStream is, String conceptName) throws IOException {
        /*
        example entry from name.def:

        #Total precipitation of at least 5 mm
        'Total precipitation of at least 5 mm' = {
             table2Version = 131 ;
             indicatorOfParameter = 61 ;
            }
         */

        try (BufferedReader br = new BufferedReader(new InputStreamReader(is, ENCODING))) {
            String line = br.readLine();

            while (!line.startsWith("#"))
                line = br.readLine(); // skip

            while (true) {
                HashMap<String, String> items = new HashMap<>();
                line = br.readLine();
                if (line == null) break; // done with the file
                if ((line.length() == 0) || line.startsWith("#")) continue;
                line = cleanLine(line);
                if (line.contains("{")) {
                    String paramName = line.split("=")[0].trim();
                    line = br.readLine();
                    if (line == null) break; // done with the file
                    line = cleanLine(line);
                    while (line.contains("=")) {
                        String[] kvp = line.split("=");
                        items.put(kvp[0].trim(), kvp[1].trim());
                        line = br.readLine();
                        if (line == null) break; // done with the file
                        line = cleanLine(line);                    }
                    String tableVersion = items.get(TABLE_VERSION_ID);
                    String parameterNumber = items.get(PARAM_NUM_ID);

                    storeConcept(tableVersion, parameterNumber, conceptName, paramName);
                }
            }
        }
    }
Add the information from a localConcept file to super HashMap localConcepts

@param is InputStream of the localConcept file
@param conceptName "type" of localConcept being added