diff --git a/opm/parser/eclipse/IntegrationTests/CMakeLists.txt b/opm/parser/eclipse/IntegrationTests/CMakeLists.txt index a95aca074..781ee2d65 100644 --- a/opm/parser/eclipse/IntegrationTests/CMakeLists.txt +++ b/opm/parser/eclipse/IntegrationTests/CMakeLists.txt @@ -1,4 +1,4 @@ -add_definitions( -DKEYWORD_DIRECTORY="${PROJECT_SOURCE_DIR}/opm/parser/share/keywords") +add_definitions( -DKEYWORD_DIRECTORY="${PROJECT_SOURCE_DIR}/opm/parser/share/keywords/000_Eclipse100") add_executable(runCheckDeckValidity CheckDeckValidity.cpp) target_link_libraries(runCheckDeckValidity Parser ${Boost_LIBRARIES}) diff --git a/opm/parser/eclipse/Parser/createDefaultKeywordList.cpp b/opm/parser/eclipse/Parser/createDefaultKeywordList.cpp index 5839bfd74..312b2dab1 100644 --- a/opm/parser/eclipse/Parser/createDefaultKeywordList.cpp +++ b/opm/parser/eclipse/Parser/createDefaultKeywordList.cpp @@ -88,8 +88,8 @@ static void generateKeywordSignature(std::iostream& of , KeywordMapType& keyword { for (auto iter=keywordMap.begin(); iter != keywordMap.end(); ++iter) { KeywordElementType keywordElement = *iter; - const std::string& fileName = keywordElement.first; - const std::string& keywordName = keywordElement.second.first; + const std::string& keywordName = keywordElement.first; + const std::string& fileName = keywordElement.second.first; Json::JsonObject * jsonKeyword = new Json::JsonObject(boost::filesystem::path(fileName)); of << keywordName << std::endl << jsonKeyword->get_content() << std::endl; @@ -136,8 +136,8 @@ static void testKeyword(ParserKeywordConstPtr parserKeyword , const std::string& static void generateTestForKeyword(std::iostream& of, KeywordElementType keywordElement) { - const std::string& fileName = keywordElement.first; - const std::string& keywordName = keywordElement.second.first; + const std::string& keywordName = keywordElement.first; + const std::string& fileName = keywordElement.second.first; ParserKeywordConstPtr parserKeyword = keywordElement.second.second; testKeyword( parserKeyword , keywordName , fileName , of ); @@ -157,7 +157,7 @@ static void generateKeywordTest(const char * test_file_name , KeywordMapType& ke static void generateSourceForKeyword(std::iostream& of, KeywordElementType keywordElement) { - const std::string& keywordName = keywordElement.second.first; + const std::string& keywordName = keywordElement.first; ParserKeywordConstPtr parserKeyword = keywordElement.second.second; std::string indent(" "); @@ -179,15 +179,15 @@ static void generateKeywordSource(const char * source_file_name , KeywordMapType // the stupid default compiler flags will cause a warning if a function is // defined without declaring a prototype before. So let's give the compiler a // cookie to make it happy... - source_file_stream << "void add" << iter->second.first << "Keyword(Opm::Parser *parser);\n"; + source_file_stream << "void add" << iter->first << "Keyword(Opm::Parser *parser);\n"; - source_file_stream << "void add" << iter->second.first << "Keyword(Opm::Parser *parser)\n"; + source_file_stream << "void add" << iter->first << "Keyword(Opm::Parser *parser)\n"; generateSourceForKeyword(source_file_stream , *iter); } startFunction(source_file_stream); for (auto iter=keywordMap.begin(); iter != keywordMap.end(); ++iter) - source_file_stream << " add" << iter->second.first << "Keyword(this);\n"; + source_file_stream << " add" << iter->first << "Keyword(this);\n"; endFunction(source_file_stream); source_file_stream << "} // end namespace Opm\n"; @@ -198,11 +198,20 @@ static void generateKeywordSource(const char * source_file_name , KeywordMapType //----------------------------------------------------------------- static void scanKeyword(const boost::filesystem::path& file , KeywordMapType& keywordMap) { - if (!ParserKeyword::validInternalName(file.filename().string())) { + std::string internalName = file.filename().string(); + if (!ParserKeyword::validInternalName(internalName)) { std::cerr << "Warning: Ignoring incorrectly named file '" << file.string() << "'.\n"; return; } + KeywordMapType::iterator existingEntry = keywordMap.find(internalName); + bool alreadyExists = existingEntry != keywordMap.end(); + if (alreadyExists) { + std::cerr << "Warning: Ignoring the the keyword " << internalName << " found in '" << existingEntry->second.first << "'," << std::endl + << "\treplacing it with data from '" << file.string() << "'" << std::endl; + keywordMap.erase(existingEntry); + } + Json::JsonObject * jsonKeyword; try { jsonKeyword = new Json::JsonObject(file); @@ -216,8 +225,8 @@ static void scanKeyword(const boost::filesystem::path& file , KeywordMapType& ke if (parserKeyword->getName() != boost::filesystem::basename(file)) std::cerr << "Warning: The name '" << parserKeyword->getName() << " specified in the JSON definitions of file '" << file << "' does not match the file's name!\n"; - std::pair elm(file.filename().string(), parserKeyword); - std::pair > pair(file.string() , elm); + std::pair elm(file.string(), parserKeyword); + std::pair > pair(parserKeyword->getName() , elm); keywordMap.insert(pair); } @@ -226,8 +235,8 @@ static void scanKeyword(const boost::filesystem::path& file , KeywordMapType& ke } static void scanAllKeywords(const boost::filesystem::path& directory , KeywordMapType& keywordMap) { - boost::filesystem::directory_iterator end; - for (boost::filesystem::directory_iterator iter(directory); iter != end; iter++) { + boost::filesystem::directory_iterator end_iterator; + for (boost::filesystem::directory_iterator iter(directory); iter != end_iterator; iter++) { if (boost::filesystem::is_directory(*iter)) scanAllKeywords(*iter , keywordMap); else @@ -241,7 +250,7 @@ static void scanAllKeywords(const boost::filesystem::path& directory , KeywordMa static void printUsage() { std::cout << "Generates source code for populating the parser's list of known keywords." << std::endl; std::cout << "Usage: createDefaultKeywordList []" << std::endl; - std::cout << " : Path to keyword (JSON) files" << std::endl; + std::cout << " : Path to keyword (JSON) files, first level below this will be read in alfanumerical order. Ignoring repeated keywords." << std::endl; std::cout << " : Path to source file to generate" << std::endl; std::cout << " : Path to source file with keyword testing" << std::endl; std::cout << " : Path to dump file containing state of keyword list at" << std::endl; @@ -256,6 +265,29 @@ static void ensurePath( const char * file_name ) { } +static std::vector getPathsInAlfanumOrder(const char* config_root) +{ + boost::filesystem::path root(config_root); + std::vector paths_in_root; + boost::filesystem::directory_iterator end_iterator; + for (boost::filesystem::directory_iterator iter(root); iter != end_iterator; iter++) { + if (boost::filesystem::is_directory(*iter)) { + paths_in_root.push_back(iter->path().string()); + } + } + + std::sort(paths_in_root.begin(), paths_in_root.end()); + std::vector paths_in_alfanum_order; + + std::cout << "Paths will be scanned for keyword definitions in the following order, ignoring repeats:" << std::endl; + for (auto it = paths_in_root.begin(); it != paths_in_root.end(); ++it) { + std::cerr << "-- " << *it << std::endl; + paths_in_alfanum_order.push_back(boost::filesystem::path(*it)); + } + + return paths_in_alfanum_order; +} + int main(int /* argc */, char ** argv) { const char * config_root = argv[1]; const char * source_file_name = argv[2]; @@ -267,7 +299,7 @@ int main(int /* argc */, char ** argv) { return 0; } KeywordMapType keywordMap; - boost::filesystem::path keywordPath(config_root); + bool needToGenerate = false; std::stringstream signature_stream; @@ -276,7 +308,11 @@ int main(int /* argc */, char ** argv) { ensurePath( test_file_name ); ensurePath( signature_file_name ); - scanAllKeywords( config_root , keywordMap ); + std::vector paths_in_alfanum_order = getPathsInAlfanumOrder(config_root); + + for (auto it = paths_in_alfanum_order.begin(); it != paths_in_alfanum_order.end(); ++it) { + scanAllKeywords( *it , keywordMap ); + } generateKeywordSignature(signature_stream , keywordMap); diff --git a/opm/parser/share/keywords/A/ACTNUM b/opm/parser/share/keywords/000_Eclipse100/A/ACTNUM similarity index 100% rename from opm/parser/share/keywords/A/ACTNUM rename to opm/parser/share/keywords/000_Eclipse100/A/ACTNUM diff --git a/opm/parser/share/keywords/A/ADD b/opm/parser/share/keywords/000_Eclipse100/A/ADD similarity index 100% rename from opm/parser/share/keywords/A/ADD rename to opm/parser/share/keywords/000_Eclipse100/A/ADD diff --git a/opm/parser/share/keywords/A/ALL b/opm/parser/share/keywords/000_Eclipse100/A/ALL similarity index 100% rename from opm/parser/share/keywords/A/ALL rename to opm/parser/share/keywords/000_Eclipse100/A/ALL diff --git a/opm/parser/share/keywords/B/BLOCK_PROBE b/opm/parser/share/keywords/000_Eclipse100/B/BLOCK_PROBE similarity index 100% rename from opm/parser/share/keywords/B/BLOCK_PROBE rename to opm/parser/share/keywords/000_Eclipse100/B/BLOCK_PROBE diff --git a/opm/parser/share/keywords/B/BOX b/opm/parser/share/keywords/000_Eclipse100/B/BOX similarity index 100% rename from opm/parser/share/keywords/B/BOX rename to opm/parser/share/keywords/000_Eclipse100/B/BOX diff --git a/opm/parser/share/keywords/C/COMPDAT b/opm/parser/share/keywords/000_Eclipse100/C/COMPDAT similarity index 100% rename from opm/parser/share/keywords/C/COMPDAT rename to opm/parser/share/keywords/000_Eclipse100/C/COMPDAT diff --git a/opm/parser/share/keywords/C/CONNECTION_PROBE b/opm/parser/share/keywords/000_Eclipse100/C/CONNECTION_PROBE similarity index 100% rename from opm/parser/share/keywords/C/CONNECTION_PROBE rename to opm/parser/share/keywords/000_Eclipse100/C/CONNECTION_PROBE diff --git a/opm/parser/share/keywords/C/COORD b/opm/parser/share/keywords/000_Eclipse100/C/COORD similarity index 100% rename from opm/parser/share/keywords/C/COORD rename to opm/parser/share/keywords/000_Eclipse100/C/COORD diff --git a/opm/parser/share/keywords/C/COPY b/opm/parser/share/keywords/000_Eclipse100/C/COPY similarity index 100% rename from opm/parser/share/keywords/C/COPY rename to opm/parser/share/keywords/000_Eclipse100/C/COPY diff --git a/opm/parser/share/keywords/D/DATE b/opm/parser/share/keywords/000_Eclipse100/D/DATE similarity index 100% rename from opm/parser/share/keywords/D/DATE rename to opm/parser/share/keywords/000_Eclipse100/D/DATE diff --git a/opm/parser/share/keywords/D/DATES b/opm/parser/share/keywords/000_Eclipse100/D/DATES similarity index 100% rename from opm/parser/share/keywords/D/DATES rename to opm/parser/share/keywords/000_Eclipse100/D/DATES diff --git a/opm/parser/share/keywords/D/DENSITY b/opm/parser/share/keywords/000_Eclipse100/D/DENSITY similarity index 100% rename from opm/parser/share/keywords/D/DENSITY rename to opm/parser/share/keywords/000_Eclipse100/D/DENSITY diff --git a/opm/parser/share/keywords/D/DEPTH b/opm/parser/share/keywords/000_Eclipse100/D/DEPTH similarity index 100% rename from opm/parser/share/keywords/D/DEPTH rename to opm/parser/share/keywords/000_Eclipse100/D/DEPTH diff --git a/opm/parser/share/keywords/D/DEPTHZ b/opm/parser/share/keywords/000_Eclipse100/D/DEPTHZ similarity index 100% rename from opm/parser/share/keywords/D/DEPTHZ rename to opm/parser/share/keywords/000_Eclipse100/D/DEPTHZ diff --git a/opm/parser/share/keywords/D/DIMENS b/opm/parser/share/keywords/000_Eclipse100/D/DIMENS similarity index 100% rename from opm/parser/share/keywords/D/DIMENS rename to opm/parser/share/keywords/000_Eclipse100/D/DIMENS diff --git a/opm/parser/share/keywords/D/DISGAS b/opm/parser/share/keywords/000_Eclipse100/D/DISGAS similarity index 100% rename from opm/parser/share/keywords/D/DISGAS rename to opm/parser/share/keywords/000_Eclipse100/D/DISGAS diff --git a/opm/parser/share/keywords/D/DRSDT b/opm/parser/share/keywords/000_Eclipse100/D/DRSDT similarity index 100% rename from opm/parser/share/keywords/D/DRSDT rename to opm/parser/share/keywords/000_Eclipse100/D/DRSDT diff --git a/opm/parser/share/keywords/D/DX b/opm/parser/share/keywords/000_Eclipse100/D/DX similarity index 100% rename from opm/parser/share/keywords/D/DX rename to opm/parser/share/keywords/000_Eclipse100/D/DX diff --git a/opm/parser/share/keywords/D/DXV b/opm/parser/share/keywords/000_Eclipse100/D/DXV similarity index 100% rename from opm/parser/share/keywords/D/DXV rename to opm/parser/share/keywords/000_Eclipse100/D/DXV diff --git a/opm/parser/share/keywords/D/DY b/opm/parser/share/keywords/000_Eclipse100/D/DY similarity index 100% rename from opm/parser/share/keywords/D/DY rename to opm/parser/share/keywords/000_Eclipse100/D/DY diff --git a/opm/parser/share/keywords/D/DYV b/opm/parser/share/keywords/000_Eclipse100/D/DYV similarity index 100% rename from opm/parser/share/keywords/D/DYV rename to opm/parser/share/keywords/000_Eclipse100/D/DYV diff --git a/opm/parser/share/keywords/D/DZ b/opm/parser/share/keywords/000_Eclipse100/D/DZ similarity index 100% rename from opm/parser/share/keywords/D/DZ rename to opm/parser/share/keywords/000_Eclipse100/D/DZ diff --git a/opm/parser/share/keywords/D/DZV b/opm/parser/share/keywords/000_Eclipse100/D/DZV similarity index 100% rename from opm/parser/share/keywords/D/DZV rename to opm/parser/share/keywords/000_Eclipse100/D/DZV diff --git a/opm/parser/share/keywords/E/ECHO b/opm/parser/share/keywords/000_Eclipse100/E/ECHO similarity index 100% rename from opm/parser/share/keywords/E/ECHO rename to opm/parser/share/keywords/000_Eclipse100/E/ECHO diff --git a/opm/parser/share/keywords/E/EDIT b/opm/parser/share/keywords/000_Eclipse100/E/EDIT similarity index 100% rename from opm/parser/share/keywords/E/EDIT rename to opm/parser/share/keywords/000_Eclipse100/E/EDIT diff --git a/opm/parser/share/keywords/E/EHYSTR b/opm/parser/share/keywords/000_Eclipse100/E/EHYSTR similarity index 100% rename from opm/parser/share/keywords/E/EHYSTR rename to opm/parser/share/keywords/000_Eclipse100/E/EHYSTR diff --git a/opm/parser/share/keywords/E/END b/opm/parser/share/keywords/000_Eclipse100/E/END similarity index 100% rename from opm/parser/share/keywords/E/END rename to opm/parser/share/keywords/000_Eclipse100/E/END diff --git a/opm/parser/share/keywords/E/ENDBOX b/opm/parser/share/keywords/000_Eclipse100/E/ENDBOX similarity index 100% rename from opm/parser/share/keywords/E/ENDBOX rename to opm/parser/share/keywords/000_Eclipse100/E/ENDBOX diff --git a/opm/parser/share/keywords/E/ENDINC b/opm/parser/share/keywords/000_Eclipse100/E/ENDINC similarity index 100% rename from opm/parser/share/keywords/E/ENDINC rename to opm/parser/share/keywords/000_Eclipse100/E/ENDINC diff --git a/opm/parser/share/keywords/E/ENDNUM b/opm/parser/share/keywords/000_Eclipse100/E/ENDNUM similarity index 100% rename from opm/parser/share/keywords/E/ENDNUM rename to opm/parser/share/keywords/000_Eclipse100/E/ENDNUM diff --git a/opm/parser/share/keywords/E/ENDPOINT_SPECIFIERS b/opm/parser/share/keywords/000_Eclipse100/E/ENDPOINT_SPECIFIERS similarity index 100% rename from opm/parser/share/keywords/E/ENDPOINT_SPECIFIERS rename to opm/parser/share/keywords/000_Eclipse100/E/ENDPOINT_SPECIFIERS diff --git a/opm/parser/share/keywords/E/ENDSCALE b/opm/parser/share/keywords/000_Eclipse100/E/ENDSCALE similarity index 100% rename from opm/parser/share/keywords/E/ENDSCALE rename to opm/parser/share/keywords/000_Eclipse100/E/ENDSCALE diff --git a/opm/parser/share/keywords/E/ENKRVD b/opm/parser/share/keywords/000_Eclipse100/E/ENKRVD similarity index 100% rename from opm/parser/share/keywords/E/ENKRVD rename to opm/parser/share/keywords/000_Eclipse100/E/ENKRVD diff --git a/opm/parser/share/keywords/E/ENPTVD b/opm/parser/share/keywords/000_Eclipse100/E/ENPTVD similarity index 100% rename from opm/parser/share/keywords/E/ENPTVD rename to opm/parser/share/keywords/000_Eclipse100/E/ENPTVD diff --git a/opm/parser/share/keywords/E/EQLDIMS b/opm/parser/share/keywords/000_Eclipse100/E/EQLDIMS similarity index 100% rename from opm/parser/share/keywords/E/EQLDIMS rename to opm/parser/share/keywords/000_Eclipse100/E/EQLDIMS diff --git a/opm/parser/share/keywords/E/EQLNUM b/opm/parser/share/keywords/000_Eclipse100/E/EQLNUM similarity index 100% rename from opm/parser/share/keywords/E/EQLNUM rename to opm/parser/share/keywords/000_Eclipse100/E/EQLNUM diff --git a/opm/parser/share/keywords/E/EQLOPTS b/opm/parser/share/keywords/000_Eclipse100/E/EQLOPTS similarity index 100% rename from opm/parser/share/keywords/E/EQLOPTS rename to opm/parser/share/keywords/000_Eclipse100/E/EQLOPTS diff --git a/opm/parser/share/keywords/E/EQUALS b/opm/parser/share/keywords/000_Eclipse100/E/EQUALS similarity index 100% rename from opm/parser/share/keywords/E/EQUALS rename to opm/parser/share/keywords/000_Eclipse100/E/EQUALS diff --git a/opm/parser/share/keywords/E/EQUIL b/opm/parser/share/keywords/000_Eclipse100/E/EQUIL similarity index 100% rename from opm/parser/share/keywords/E/EQUIL rename to opm/parser/share/keywords/000_Eclipse100/E/EQUIL diff --git a/opm/parser/share/keywords/E/EXCEL b/opm/parser/share/keywords/000_Eclipse100/E/EXCEL similarity index 100% rename from opm/parser/share/keywords/E/EXCEL rename to opm/parser/share/keywords/000_Eclipse100/E/EXCEL diff --git a/opm/parser/share/keywords/F/FAULTDIM b/opm/parser/share/keywords/000_Eclipse100/F/FAULTDIM similarity index 100% rename from opm/parser/share/keywords/F/FAULTDIM rename to opm/parser/share/keywords/000_Eclipse100/F/FAULTDIM diff --git a/opm/parser/share/keywords/F/FAULTS b/opm/parser/share/keywords/000_Eclipse100/F/FAULTS similarity index 100% rename from opm/parser/share/keywords/F/FAULTS rename to opm/parser/share/keywords/000_Eclipse100/F/FAULTS diff --git a/opm/parser/share/keywords/F/FIELD b/opm/parser/share/keywords/000_Eclipse100/F/FIELD similarity index 100% rename from opm/parser/share/keywords/F/FIELD rename to opm/parser/share/keywords/000_Eclipse100/F/FIELD diff --git a/opm/parser/share/keywords/F/FIELD_PROBE b/opm/parser/share/keywords/000_Eclipse100/F/FIELD_PROBE similarity index 100% rename from opm/parser/share/keywords/F/FIELD_PROBE rename to opm/parser/share/keywords/000_Eclipse100/F/FIELD_PROBE diff --git a/opm/parser/share/keywords/F/FIPNUM b/opm/parser/share/keywords/000_Eclipse100/F/FIPNUM similarity index 100% rename from opm/parser/share/keywords/F/FIPNUM rename to opm/parser/share/keywords/000_Eclipse100/F/FIPNUM diff --git a/opm/parser/share/keywords/F/FLUXNUM b/opm/parser/share/keywords/000_Eclipse100/F/FLUXNUM similarity index 100% rename from opm/parser/share/keywords/F/FLUXNUM rename to opm/parser/share/keywords/000_Eclipse100/F/FLUXNUM diff --git a/opm/parser/share/keywords/F/FMTIN b/opm/parser/share/keywords/000_Eclipse100/F/FMTIN similarity index 100% rename from opm/parser/share/keywords/F/FMTIN rename to opm/parser/share/keywords/000_Eclipse100/F/FMTIN diff --git a/opm/parser/share/keywords/F/FMTOUT b/opm/parser/share/keywords/000_Eclipse100/F/FMTOUT similarity index 100% rename from opm/parser/share/keywords/F/FMTOUT rename to opm/parser/share/keywords/000_Eclipse100/F/FMTOUT diff --git a/opm/parser/share/keywords/G/GAS b/opm/parser/share/keywords/000_Eclipse100/G/GAS similarity index 100% rename from opm/parser/share/keywords/G/GAS rename to opm/parser/share/keywords/000_Eclipse100/G/GAS diff --git a/opm/parser/share/keywords/G/GCONINJE b/opm/parser/share/keywords/000_Eclipse100/G/GCONINJE similarity index 100% rename from opm/parser/share/keywords/G/GCONINJE rename to opm/parser/share/keywords/000_Eclipse100/G/GCONINJE diff --git a/opm/parser/share/keywords/G/GCONPROD b/opm/parser/share/keywords/000_Eclipse100/G/GCONPROD similarity index 100% rename from opm/parser/share/keywords/G/GCONPROD rename to opm/parser/share/keywords/000_Eclipse100/G/GCONPROD diff --git a/opm/parser/share/keywords/G/GECON b/opm/parser/share/keywords/000_Eclipse100/G/GECON similarity index 100% rename from opm/parser/share/keywords/G/GECON rename to opm/parser/share/keywords/000_Eclipse100/G/GECON diff --git a/opm/parser/share/keywords/G/GRID b/opm/parser/share/keywords/000_Eclipse100/G/GRID similarity index 100% rename from opm/parser/share/keywords/G/GRID rename to opm/parser/share/keywords/000_Eclipse100/G/GRID diff --git a/opm/parser/share/keywords/G/GRIDFILE b/opm/parser/share/keywords/000_Eclipse100/G/GRIDFILE similarity index 100% rename from opm/parser/share/keywords/G/GRIDFILE rename to opm/parser/share/keywords/000_Eclipse100/G/GRIDFILE diff --git a/opm/parser/share/keywords/G/GRIDOPTS b/opm/parser/share/keywords/000_Eclipse100/G/GRIDOPTS similarity index 100% rename from opm/parser/share/keywords/G/GRIDOPTS rename to opm/parser/share/keywords/000_Eclipse100/G/GRIDOPTS diff --git a/opm/parser/share/keywords/G/GRIDUNIT b/opm/parser/share/keywords/000_Eclipse100/G/GRIDUNIT similarity index 100% rename from opm/parser/share/keywords/G/GRIDUNIT rename to opm/parser/share/keywords/000_Eclipse100/G/GRIDUNIT diff --git a/opm/parser/share/keywords/G/GROUP_PROBE b/opm/parser/share/keywords/000_Eclipse100/G/GROUP_PROBE similarity index 100% rename from opm/parser/share/keywords/G/GROUP_PROBE rename to opm/parser/share/keywords/000_Eclipse100/G/GROUP_PROBE diff --git a/opm/parser/share/keywords/G/GRUPNET b/opm/parser/share/keywords/000_Eclipse100/G/GRUPNET similarity index 100% rename from opm/parser/share/keywords/G/GRUPNET rename to opm/parser/share/keywords/000_Eclipse100/G/GRUPNET diff --git a/opm/parser/share/keywords/G/GRUPTREE b/opm/parser/share/keywords/000_Eclipse100/G/GRUPTREE similarity index 100% rename from opm/parser/share/keywords/G/GRUPTREE rename to opm/parser/share/keywords/000_Eclipse100/G/GRUPTREE diff --git a/opm/parser/share/keywords/I/IMBNUM b/opm/parser/share/keywords/000_Eclipse100/I/IMBNUM similarity index 100% rename from opm/parser/share/keywords/I/IMBNUM rename to opm/parser/share/keywords/000_Eclipse100/I/IMBNUM diff --git a/opm/parser/share/keywords/I/IMKRVD b/opm/parser/share/keywords/000_Eclipse100/I/IMKRVD similarity index 100% rename from opm/parser/share/keywords/I/IMKRVD rename to opm/parser/share/keywords/000_Eclipse100/I/IMKRVD diff --git a/opm/parser/share/keywords/I/IMPTVD b/opm/parser/share/keywords/000_Eclipse100/I/IMPTVD similarity index 100% rename from opm/parser/share/keywords/I/IMPTVD rename to opm/parser/share/keywords/000_Eclipse100/I/IMPTVD diff --git a/opm/parser/share/keywords/I/INCLUDE b/opm/parser/share/keywords/000_Eclipse100/I/INCLUDE similarity index 100% rename from opm/parser/share/keywords/I/INCLUDE rename to opm/parser/share/keywords/000_Eclipse100/I/INCLUDE diff --git a/opm/parser/share/keywords/I/INIT b/opm/parser/share/keywords/000_Eclipse100/I/INIT similarity index 100% rename from opm/parser/share/keywords/I/INIT rename to opm/parser/share/keywords/000_Eclipse100/I/INIT diff --git a/opm/parser/share/keywords/I/IPCG b/opm/parser/share/keywords/000_Eclipse100/I/IPCG similarity index 100% rename from opm/parser/share/keywords/I/IPCG rename to opm/parser/share/keywords/000_Eclipse100/I/IPCG diff --git a/opm/parser/share/keywords/I/IPCW b/opm/parser/share/keywords/000_Eclipse100/I/IPCW similarity index 100% rename from opm/parser/share/keywords/I/IPCW rename to opm/parser/share/keywords/000_Eclipse100/I/IPCW diff --git a/opm/parser/share/keywords/I/ISGCR b/opm/parser/share/keywords/000_Eclipse100/I/ISGCR similarity index 100% rename from opm/parser/share/keywords/I/ISGCR rename to opm/parser/share/keywords/000_Eclipse100/I/ISGCR diff --git a/opm/parser/share/keywords/I/ISGL b/opm/parser/share/keywords/000_Eclipse100/I/ISGL similarity index 100% rename from opm/parser/share/keywords/I/ISGL rename to opm/parser/share/keywords/000_Eclipse100/I/ISGL diff --git a/opm/parser/share/keywords/I/ISGU b/opm/parser/share/keywords/000_Eclipse100/I/ISGU similarity index 100% rename from opm/parser/share/keywords/I/ISGU rename to opm/parser/share/keywords/000_Eclipse100/I/ISGU diff --git a/opm/parser/share/keywords/I/ISOGCR b/opm/parser/share/keywords/000_Eclipse100/I/ISOGCR similarity index 100% rename from opm/parser/share/keywords/I/ISOGCR rename to opm/parser/share/keywords/000_Eclipse100/I/ISOGCR diff --git a/opm/parser/share/keywords/I/ISOWCR b/opm/parser/share/keywords/000_Eclipse100/I/ISOWCR similarity index 100% rename from opm/parser/share/keywords/I/ISOWCR rename to opm/parser/share/keywords/000_Eclipse100/I/ISOWCR diff --git a/opm/parser/share/keywords/I/ISWCR b/opm/parser/share/keywords/000_Eclipse100/I/ISWCR similarity index 100% rename from opm/parser/share/keywords/I/ISWCR rename to opm/parser/share/keywords/000_Eclipse100/I/ISWCR diff --git a/opm/parser/share/keywords/I/ISWL b/opm/parser/share/keywords/000_Eclipse100/I/ISWL similarity index 100% rename from opm/parser/share/keywords/I/ISWL rename to opm/parser/share/keywords/000_Eclipse100/I/ISWL diff --git a/opm/parser/share/keywords/I/ISWU b/opm/parser/share/keywords/000_Eclipse100/I/ISWU similarity index 100% rename from opm/parser/share/keywords/I/ISWU rename to opm/parser/share/keywords/000_Eclipse100/I/ISWU diff --git a/opm/parser/share/keywords/M/MAPAXES b/opm/parser/share/keywords/000_Eclipse100/M/MAPAXES similarity index 100% rename from opm/parser/share/keywords/M/MAPAXES rename to opm/parser/share/keywords/000_Eclipse100/M/MAPAXES diff --git a/opm/parser/share/keywords/M/MAPUNITS b/opm/parser/share/keywords/000_Eclipse100/M/MAPUNITS similarity index 100% rename from opm/parser/share/keywords/M/MAPUNITS rename to opm/parser/share/keywords/000_Eclipse100/M/MAPUNITS diff --git a/opm/parser/share/keywords/M/MAXVALUE b/opm/parser/share/keywords/000_Eclipse100/M/MAXVALUE similarity index 100% rename from opm/parser/share/keywords/M/MAXVALUE rename to opm/parser/share/keywords/000_Eclipse100/M/MAXVALUE diff --git a/opm/parser/share/keywords/M/MESSAGES b/opm/parser/share/keywords/000_Eclipse100/M/MESSAGES similarity index 100% rename from opm/parser/share/keywords/M/MESSAGES rename to opm/parser/share/keywords/000_Eclipse100/M/MESSAGES diff --git a/opm/parser/share/keywords/M/METRIC b/opm/parser/share/keywords/000_Eclipse100/M/METRIC similarity index 100% rename from opm/parser/share/keywords/M/METRIC rename to opm/parser/share/keywords/000_Eclipse100/M/METRIC diff --git a/opm/parser/share/keywords/M/MINPV b/opm/parser/share/keywords/000_Eclipse100/M/MINPV similarity index 100% rename from opm/parser/share/keywords/M/MINPV rename to opm/parser/share/keywords/000_Eclipse100/M/MINPV diff --git a/opm/parser/share/keywords/M/MINVALUE b/opm/parser/share/keywords/000_Eclipse100/M/MINVALUE similarity index 100% rename from opm/parser/share/keywords/M/MINVALUE rename to opm/parser/share/keywords/000_Eclipse100/M/MINVALUE diff --git a/opm/parser/share/keywords/M/MISCIBLE b/opm/parser/share/keywords/000_Eclipse100/M/MISCIBLE similarity index 100% rename from opm/parser/share/keywords/M/MISCIBLE rename to opm/parser/share/keywords/000_Eclipse100/M/MISCIBLE diff --git a/opm/parser/share/keywords/M/MONITOR b/opm/parser/share/keywords/000_Eclipse100/M/MONITOR similarity index 100% rename from opm/parser/share/keywords/M/MONITOR rename to opm/parser/share/keywords/000_Eclipse100/M/MONITOR diff --git a/opm/parser/share/keywords/M/MSGFILE b/opm/parser/share/keywords/000_Eclipse100/M/MSGFILE similarity index 100% rename from opm/parser/share/keywords/M/MSGFILE rename to opm/parser/share/keywords/000_Eclipse100/M/MSGFILE diff --git a/opm/parser/share/keywords/M/MULTFLT b/opm/parser/share/keywords/000_Eclipse100/M/MULTFLT similarity index 100% rename from opm/parser/share/keywords/M/MULTFLT rename to opm/parser/share/keywords/000_Eclipse100/M/MULTFLT diff --git a/opm/parser/share/keywords/M/MULTIPLY b/opm/parser/share/keywords/000_Eclipse100/M/MULTIPLY similarity index 100% rename from opm/parser/share/keywords/M/MULTIPLY rename to opm/parser/share/keywords/000_Eclipse100/M/MULTIPLY diff --git a/opm/parser/share/keywords/M/MULTNUM b/opm/parser/share/keywords/000_Eclipse100/M/MULTNUM similarity index 100% rename from opm/parser/share/keywords/M/MULTNUM rename to opm/parser/share/keywords/000_Eclipse100/M/MULTNUM diff --git a/opm/parser/share/keywords/M/MULTPV b/opm/parser/share/keywords/000_Eclipse100/M/MULTPV similarity index 100% rename from opm/parser/share/keywords/M/MULTPV rename to opm/parser/share/keywords/000_Eclipse100/M/MULTPV diff --git a/opm/parser/share/keywords/M/MULTREGT b/opm/parser/share/keywords/000_Eclipse100/M/MULTREGT similarity index 100% rename from opm/parser/share/keywords/M/MULTREGT rename to opm/parser/share/keywords/000_Eclipse100/M/MULTREGT diff --git a/opm/parser/share/keywords/M/MULT_XYZ b/opm/parser/share/keywords/000_Eclipse100/M/MULT_XYZ similarity index 100% rename from opm/parser/share/keywords/M/MULT_XYZ rename to opm/parser/share/keywords/000_Eclipse100/M/MULT_XYZ diff --git a/opm/parser/share/keywords/N/NETBALAN b/opm/parser/share/keywords/000_Eclipse100/N/NETBALAN similarity index 100% rename from opm/parser/share/keywords/N/NETBALAN rename to opm/parser/share/keywords/000_Eclipse100/N/NETBALAN diff --git a/opm/parser/share/keywords/N/NEWTRAN b/opm/parser/share/keywords/000_Eclipse100/N/NEWTRAN similarity index 100% rename from opm/parser/share/keywords/N/NEWTRAN rename to opm/parser/share/keywords/000_Eclipse100/N/NEWTRAN diff --git a/opm/parser/share/keywords/N/NEXTSTEP b/opm/parser/share/keywords/000_Eclipse100/N/NEXTSTEP similarity index 100% rename from opm/parser/share/keywords/N/NEXTSTEP rename to opm/parser/share/keywords/000_Eclipse100/N/NEXTSTEP diff --git a/opm/parser/share/keywords/N/NOECHO b/opm/parser/share/keywords/000_Eclipse100/N/NOECHO similarity index 100% rename from opm/parser/share/keywords/N/NOECHO rename to opm/parser/share/keywords/000_Eclipse100/N/NOECHO diff --git a/opm/parser/share/keywords/N/NOINSPEC b/opm/parser/share/keywords/000_Eclipse100/N/NOINSPEC similarity index 100% rename from opm/parser/share/keywords/N/NOINSPEC rename to opm/parser/share/keywords/000_Eclipse100/N/NOINSPEC diff --git a/opm/parser/share/keywords/N/NOMONITO b/opm/parser/share/keywords/000_Eclipse100/N/NOMONITO similarity index 100% rename from opm/parser/share/keywords/N/NOMONITO rename to opm/parser/share/keywords/000_Eclipse100/N/NOMONITO diff --git a/opm/parser/share/keywords/N/NONNC b/opm/parser/share/keywords/000_Eclipse100/N/NONNC similarity index 100% rename from opm/parser/share/keywords/N/NONNC rename to opm/parser/share/keywords/000_Eclipse100/N/NONNC diff --git a/opm/parser/share/keywords/N/NORSSPEC b/opm/parser/share/keywords/000_Eclipse100/N/NORSSPEC similarity index 100% rename from opm/parser/share/keywords/N/NORSSPEC rename to opm/parser/share/keywords/000_Eclipse100/N/NORSSPEC diff --git a/opm/parser/share/keywords/N/NOSIM b/opm/parser/share/keywords/000_Eclipse100/N/NOSIM similarity index 100% rename from opm/parser/share/keywords/N/NOSIM rename to opm/parser/share/keywords/000_Eclipse100/N/NOSIM diff --git a/opm/parser/share/keywords/N/NSTACK b/opm/parser/share/keywords/000_Eclipse100/N/NSTACK similarity index 100% rename from opm/parser/share/keywords/N/NSTACK rename to opm/parser/share/keywords/000_Eclipse100/N/NSTACK diff --git a/opm/parser/share/keywords/N/NTG b/opm/parser/share/keywords/000_Eclipse100/N/NTG similarity index 100% rename from opm/parser/share/keywords/N/NTG rename to opm/parser/share/keywords/000_Eclipse100/N/NTG diff --git a/opm/parser/share/keywords/N/NUPCOL b/opm/parser/share/keywords/000_Eclipse100/N/NUPCOL similarity index 100% rename from opm/parser/share/keywords/N/NUPCOL rename to opm/parser/share/keywords/000_Eclipse100/N/NUPCOL diff --git a/opm/parser/share/keywords/O/OIL b/opm/parser/share/keywords/000_Eclipse100/O/OIL similarity index 100% rename from opm/parser/share/keywords/O/OIL rename to opm/parser/share/keywords/000_Eclipse100/O/OIL diff --git a/opm/parser/share/keywords/O/OPTIONS b/opm/parser/share/keywords/000_Eclipse100/O/OPTIONS similarity index 100% rename from opm/parser/share/keywords/O/OPTIONS rename to opm/parser/share/keywords/000_Eclipse100/O/OPTIONS diff --git a/opm/parser/share/keywords/P/PATHS b/opm/parser/share/keywords/000_Eclipse100/P/PATHS similarity index 100% rename from opm/parser/share/keywords/P/PATHS rename to opm/parser/share/keywords/000_Eclipse100/P/PATHS diff --git a/opm/parser/share/keywords/P/PBVD b/opm/parser/share/keywords/000_Eclipse100/P/PBVD similarity index 100% rename from opm/parser/share/keywords/P/PBVD rename to opm/parser/share/keywords/000_Eclipse100/P/PBVD diff --git a/opm/parser/share/keywords/P/PCG b/opm/parser/share/keywords/000_Eclipse100/P/PCG similarity index 100% rename from opm/parser/share/keywords/P/PCG rename to opm/parser/share/keywords/000_Eclipse100/P/PCG diff --git a/opm/parser/share/keywords/P/PERFORMANCE_PROBE b/opm/parser/share/keywords/000_Eclipse100/P/PERFORMANCE_PROBE similarity index 100% rename from opm/parser/share/keywords/P/PERFORMANCE_PROBE rename to opm/parser/share/keywords/000_Eclipse100/P/PERFORMANCE_PROBE diff --git a/opm/parser/share/keywords/P/PERMX b/opm/parser/share/keywords/000_Eclipse100/P/PERMX similarity index 100% rename from opm/parser/share/keywords/P/PERMX rename to opm/parser/share/keywords/000_Eclipse100/P/PERMX diff --git a/opm/parser/share/keywords/P/PERMXY b/opm/parser/share/keywords/000_Eclipse100/P/PERMXY similarity index 100% rename from opm/parser/share/keywords/P/PERMXY rename to opm/parser/share/keywords/000_Eclipse100/P/PERMXY diff --git a/opm/parser/share/keywords/P/PERMY b/opm/parser/share/keywords/000_Eclipse100/P/PERMY similarity index 100% rename from opm/parser/share/keywords/P/PERMY rename to opm/parser/share/keywords/000_Eclipse100/P/PERMY diff --git a/opm/parser/share/keywords/P/PERMYZ b/opm/parser/share/keywords/000_Eclipse100/P/PERMYZ similarity index 100% rename from opm/parser/share/keywords/P/PERMYZ rename to opm/parser/share/keywords/000_Eclipse100/P/PERMYZ diff --git a/opm/parser/share/keywords/P/PERMZ b/opm/parser/share/keywords/000_Eclipse100/P/PERMZ similarity index 100% rename from opm/parser/share/keywords/P/PERMZ rename to opm/parser/share/keywords/000_Eclipse100/P/PERMZ diff --git a/opm/parser/share/keywords/P/PERMZX b/opm/parser/share/keywords/000_Eclipse100/P/PERMZX similarity index 100% rename from opm/parser/share/keywords/P/PERMZX rename to opm/parser/share/keywords/000_Eclipse100/P/PERMZX diff --git a/opm/parser/share/keywords/P/PIMTDIMS b/opm/parser/share/keywords/000_Eclipse100/P/PIMTDIMS similarity index 100% rename from opm/parser/share/keywords/P/PIMTDIMS rename to opm/parser/share/keywords/000_Eclipse100/P/PIMTDIMS diff --git a/opm/parser/share/keywords/P/PIMULTAB b/opm/parser/share/keywords/000_Eclipse100/P/PIMULTAB similarity index 100% rename from opm/parser/share/keywords/P/PIMULTAB rename to opm/parser/share/keywords/000_Eclipse100/P/PIMULTAB diff --git a/opm/parser/share/keywords/P/PINCH b/opm/parser/share/keywords/000_Eclipse100/P/PINCH similarity index 100% rename from opm/parser/share/keywords/P/PINCH rename to opm/parser/share/keywords/000_Eclipse100/P/PINCH diff --git a/opm/parser/share/keywords/P/PLMIXPAR b/opm/parser/share/keywords/000_Eclipse100/P/PLMIXPAR similarity index 100% rename from opm/parser/share/keywords/P/PLMIXPAR rename to opm/parser/share/keywords/000_Eclipse100/P/PLMIXPAR diff --git a/opm/parser/share/keywords/P/PLYADS b/opm/parser/share/keywords/000_Eclipse100/P/PLYADS similarity index 100% rename from opm/parser/share/keywords/P/PLYADS rename to opm/parser/share/keywords/000_Eclipse100/P/PLYADS diff --git a/opm/parser/share/keywords/P/PLYMAX b/opm/parser/share/keywords/000_Eclipse100/P/PLYMAX similarity index 100% rename from opm/parser/share/keywords/P/PLYMAX rename to opm/parser/share/keywords/000_Eclipse100/P/PLYMAX diff --git a/opm/parser/share/keywords/P/PLYROCK b/opm/parser/share/keywords/000_Eclipse100/P/PLYROCK similarity index 100% rename from opm/parser/share/keywords/P/PLYROCK rename to opm/parser/share/keywords/000_Eclipse100/P/PLYROCK diff --git a/opm/parser/share/keywords/P/PLYSHEAR b/opm/parser/share/keywords/000_Eclipse100/P/PLYSHEAR similarity index 100% rename from opm/parser/share/keywords/P/PLYSHEAR rename to opm/parser/share/keywords/000_Eclipse100/P/PLYSHEAR diff --git a/opm/parser/share/keywords/P/PLYVISC b/opm/parser/share/keywords/000_Eclipse100/P/PLYVISC similarity index 100% rename from opm/parser/share/keywords/P/PLYVISC rename to opm/parser/share/keywords/000_Eclipse100/P/PLYVISC diff --git a/opm/parser/share/keywords/P/POLYMER b/opm/parser/share/keywords/000_Eclipse100/P/POLYMER similarity index 100% rename from opm/parser/share/keywords/P/POLYMER rename to opm/parser/share/keywords/000_Eclipse100/P/POLYMER diff --git a/opm/parser/share/keywords/P/PORO b/opm/parser/share/keywords/000_Eclipse100/P/PORO similarity index 100% rename from opm/parser/share/keywords/P/PORO rename to opm/parser/share/keywords/000_Eclipse100/P/PORO diff --git a/opm/parser/share/keywords/P/PORV b/opm/parser/share/keywords/000_Eclipse100/P/PORV similarity index 100% rename from opm/parser/share/keywords/P/PORV rename to opm/parser/share/keywords/000_Eclipse100/P/PORV diff --git a/opm/parser/share/keywords/P/PRESSURE b/opm/parser/share/keywords/000_Eclipse100/P/PRESSURE similarity index 100% rename from opm/parser/share/keywords/P/PRESSURE rename to opm/parser/share/keywords/000_Eclipse100/P/PRESSURE diff --git a/opm/parser/share/keywords/P/PROPS b/opm/parser/share/keywords/000_Eclipse100/P/PROPS similarity index 100% rename from opm/parser/share/keywords/P/PROPS rename to opm/parser/share/keywords/000_Eclipse100/P/PROPS diff --git a/opm/parser/share/keywords/P/PVCDO b/opm/parser/share/keywords/000_Eclipse100/P/PVCDO similarity index 100% rename from opm/parser/share/keywords/P/PVCDO rename to opm/parser/share/keywords/000_Eclipse100/P/PVCDO diff --git a/opm/parser/share/keywords/P/PVDG b/opm/parser/share/keywords/000_Eclipse100/P/PVDG similarity index 100% rename from opm/parser/share/keywords/P/PVDG rename to opm/parser/share/keywords/000_Eclipse100/P/PVDG diff --git a/opm/parser/share/keywords/P/PVDO b/opm/parser/share/keywords/000_Eclipse100/P/PVDO similarity index 100% rename from opm/parser/share/keywords/P/PVDO rename to opm/parser/share/keywords/000_Eclipse100/P/PVDO diff --git a/opm/parser/share/keywords/P/PVTG b/opm/parser/share/keywords/000_Eclipse100/P/PVTG similarity index 100% rename from opm/parser/share/keywords/P/PVTG rename to opm/parser/share/keywords/000_Eclipse100/P/PVTG diff --git a/opm/parser/share/keywords/P/PVTNUM b/opm/parser/share/keywords/000_Eclipse100/P/PVTNUM similarity index 100% rename from opm/parser/share/keywords/P/PVTNUM rename to opm/parser/share/keywords/000_Eclipse100/P/PVTNUM diff --git a/opm/parser/share/keywords/P/PVTO b/opm/parser/share/keywords/000_Eclipse100/P/PVTO similarity index 100% rename from opm/parser/share/keywords/P/PVTO rename to opm/parser/share/keywords/000_Eclipse100/P/PVTO diff --git a/opm/parser/share/keywords/P/PVTW b/opm/parser/share/keywords/000_Eclipse100/P/PVTW similarity index 100% rename from opm/parser/share/keywords/P/PVTW rename to opm/parser/share/keywords/000_Eclipse100/P/PVTW diff --git a/opm/parser/share/keywords/R/RADFIN4 b/opm/parser/share/keywords/000_Eclipse100/R/RADFIN4 similarity index 100% rename from opm/parser/share/keywords/R/RADFIN4 rename to opm/parser/share/keywords/000_Eclipse100/R/RADFIN4 diff --git a/opm/parser/share/keywords/R/REGDIMS b/opm/parser/share/keywords/000_Eclipse100/R/REGDIMS similarity index 100% rename from opm/parser/share/keywords/R/REGDIMS rename to opm/parser/share/keywords/000_Eclipse100/R/REGDIMS diff --git a/opm/parser/share/keywords/R/REGIONS b/opm/parser/share/keywords/000_Eclipse100/R/REGIONS similarity index 100% rename from opm/parser/share/keywords/R/REGIONS rename to opm/parser/share/keywords/000_Eclipse100/R/REGIONS diff --git a/opm/parser/share/keywords/R/REGION_PROBE b/opm/parser/share/keywords/000_Eclipse100/R/REGION_PROBE similarity index 100% rename from opm/parser/share/keywords/R/REGION_PROBE rename to opm/parser/share/keywords/000_Eclipse100/R/REGION_PROBE diff --git a/opm/parser/share/keywords/R/RKTRMDIR b/opm/parser/share/keywords/000_Eclipse100/R/RKTRMDIR similarity index 100% rename from opm/parser/share/keywords/R/RKTRMDIR rename to opm/parser/share/keywords/000_Eclipse100/R/RKTRMDIR diff --git a/opm/parser/share/keywords/R/ROCK b/opm/parser/share/keywords/000_Eclipse100/R/ROCK similarity index 100% rename from opm/parser/share/keywords/R/ROCK rename to opm/parser/share/keywords/000_Eclipse100/R/ROCK diff --git a/opm/parser/share/keywords/R/ROCKOPTS b/opm/parser/share/keywords/000_Eclipse100/R/ROCKOPTS similarity index 100% rename from opm/parser/share/keywords/R/ROCKOPTS rename to opm/parser/share/keywords/000_Eclipse100/R/ROCKOPTS diff --git a/opm/parser/share/keywords/R/ROCKTAB b/opm/parser/share/keywords/000_Eclipse100/R/ROCKTAB similarity index 100% rename from opm/parser/share/keywords/R/ROCKTAB rename to opm/parser/share/keywords/000_Eclipse100/R/ROCKTAB diff --git a/opm/parser/share/keywords/R/RPTONLY b/opm/parser/share/keywords/000_Eclipse100/R/RPTONLY similarity index 100% rename from opm/parser/share/keywords/R/RPTONLY rename to opm/parser/share/keywords/000_Eclipse100/R/RPTONLY diff --git a/opm/parser/share/keywords/R/RPTONLYO b/opm/parser/share/keywords/000_Eclipse100/R/RPTONLYO similarity index 100% rename from opm/parser/share/keywords/R/RPTONLYO rename to opm/parser/share/keywords/000_Eclipse100/R/RPTONLYO diff --git a/opm/parser/share/keywords/R/RPTPROPS b/opm/parser/share/keywords/000_Eclipse100/R/RPTPROPS similarity index 100% rename from opm/parser/share/keywords/R/RPTPROPS rename to opm/parser/share/keywords/000_Eclipse100/R/RPTPROPS diff --git a/opm/parser/share/keywords/R/RPTRST b/opm/parser/share/keywords/000_Eclipse100/R/RPTRST similarity index 100% rename from opm/parser/share/keywords/R/RPTRST rename to opm/parser/share/keywords/000_Eclipse100/R/RPTRST diff --git a/opm/parser/share/keywords/R/RPTSCHED b/opm/parser/share/keywords/000_Eclipse100/R/RPTSCHED similarity index 100% rename from opm/parser/share/keywords/R/RPTSCHED rename to opm/parser/share/keywords/000_Eclipse100/R/RPTSCHED diff --git a/opm/parser/share/keywords/R/RPTSOL b/opm/parser/share/keywords/000_Eclipse100/R/RPTSOL similarity index 100% rename from opm/parser/share/keywords/R/RPTSOL rename to opm/parser/share/keywords/000_Eclipse100/R/RPTSOL diff --git a/opm/parser/share/keywords/R/RS b/opm/parser/share/keywords/000_Eclipse100/R/RS similarity index 100% rename from opm/parser/share/keywords/R/RS rename to opm/parser/share/keywords/000_Eclipse100/R/RS diff --git a/opm/parser/share/keywords/R/RSVD b/opm/parser/share/keywords/000_Eclipse100/R/RSVD similarity index 100% rename from opm/parser/share/keywords/R/RSVD rename to opm/parser/share/keywords/000_Eclipse100/R/RSVD diff --git a/opm/parser/share/keywords/R/RUNSPEC b/opm/parser/share/keywords/000_Eclipse100/R/RUNSPEC similarity index 100% rename from opm/parser/share/keywords/R/RUNSPEC rename to opm/parser/share/keywords/000_Eclipse100/R/RUNSPEC diff --git a/opm/parser/share/keywords/R/RUNSUM b/opm/parser/share/keywords/000_Eclipse100/R/RUNSUM similarity index 100% rename from opm/parser/share/keywords/R/RUNSUM rename to opm/parser/share/keywords/000_Eclipse100/R/RUNSUM diff --git a/opm/parser/share/keywords/R/RV b/opm/parser/share/keywords/000_Eclipse100/R/RV similarity index 100% rename from opm/parser/share/keywords/R/RV rename to opm/parser/share/keywords/000_Eclipse100/R/RV diff --git a/opm/parser/share/keywords/R/RVVD b/opm/parser/share/keywords/000_Eclipse100/R/RVVD similarity index 100% rename from opm/parser/share/keywords/R/RVVD rename to opm/parser/share/keywords/000_Eclipse100/R/RVVD diff --git a/opm/parser/share/keywords/S/SATNUM b/opm/parser/share/keywords/000_Eclipse100/S/SATNUM similarity index 100% rename from opm/parser/share/keywords/S/SATNUM rename to opm/parser/share/keywords/000_Eclipse100/S/SATNUM diff --git a/opm/parser/share/keywords/S/SATOPTS b/opm/parser/share/keywords/000_Eclipse100/S/SATOPTS similarity index 100% rename from opm/parser/share/keywords/S/SATOPTS rename to opm/parser/share/keywords/000_Eclipse100/S/SATOPTS diff --git a/opm/parser/share/keywords/S/SCALECRS b/opm/parser/share/keywords/000_Eclipse100/S/SCALECRS similarity index 100% rename from opm/parser/share/keywords/S/SCALECRS rename to opm/parser/share/keywords/000_Eclipse100/S/SCALECRS diff --git a/opm/parser/share/keywords/S/SCHEDULE b/opm/parser/share/keywords/000_Eclipse100/S/SCHEDULE similarity index 100% rename from opm/parser/share/keywords/S/SCHEDULE rename to opm/parser/share/keywords/000_Eclipse100/S/SCHEDULE diff --git a/opm/parser/share/keywords/S/SEPARATE b/opm/parser/share/keywords/000_Eclipse100/S/SEPARATE similarity index 100% rename from opm/parser/share/keywords/S/SEPARATE rename to opm/parser/share/keywords/000_Eclipse100/S/SEPARATE diff --git a/opm/parser/share/keywords/S/SGAS b/opm/parser/share/keywords/000_Eclipse100/S/SGAS similarity index 100% rename from opm/parser/share/keywords/S/SGAS rename to opm/parser/share/keywords/000_Eclipse100/S/SGAS diff --git a/opm/parser/share/keywords/S/SGCR b/opm/parser/share/keywords/000_Eclipse100/S/SGCR similarity index 100% rename from opm/parser/share/keywords/S/SGCR rename to opm/parser/share/keywords/000_Eclipse100/S/SGCR diff --git a/opm/parser/share/keywords/S/SGL b/opm/parser/share/keywords/000_Eclipse100/S/SGL similarity index 100% rename from opm/parser/share/keywords/S/SGL rename to opm/parser/share/keywords/000_Eclipse100/S/SGL diff --git a/opm/parser/share/keywords/S/SGOF b/opm/parser/share/keywords/000_Eclipse100/S/SGOF similarity index 100% rename from opm/parser/share/keywords/S/SGOF rename to opm/parser/share/keywords/000_Eclipse100/S/SGOF diff --git a/opm/parser/share/keywords/S/SGU b/opm/parser/share/keywords/000_Eclipse100/S/SGU similarity index 100% rename from opm/parser/share/keywords/S/SGU rename to opm/parser/share/keywords/000_Eclipse100/S/SGU diff --git a/opm/parser/share/keywords/S/SKIPREST b/opm/parser/share/keywords/000_Eclipse100/S/SKIPREST similarity index 100% rename from opm/parser/share/keywords/S/SKIPREST rename to opm/parser/share/keywords/000_Eclipse100/S/SKIPREST diff --git a/opm/parser/share/keywords/S/SMRYDIMS b/opm/parser/share/keywords/000_Eclipse100/S/SMRYDIMS similarity index 100% rename from opm/parser/share/keywords/S/SMRYDIMS rename to opm/parser/share/keywords/000_Eclipse100/S/SMRYDIMS diff --git a/opm/parser/share/keywords/S/SOGCR b/opm/parser/share/keywords/000_Eclipse100/S/SOGCR similarity index 100% rename from opm/parser/share/keywords/S/SOGCR rename to opm/parser/share/keywords/000_Eclipse100/S/SOGCR diff --git a/opm/parser/share/keywords/S/SOIL b/opm/parser/share/keywords/000_Eclipse100/S/SOIL similarity index 100% rename from opm/parser/share/keywords/S/SOIL rename to opm/parser/share/keywords/000_Eclipse100/S/SOIL diff --git a/opm/parser/share/keywords/S/SOLUTION b/opm/parser/share/keywords/000_Eclipse100/S/SOLUTION similarity index 100% rename from opm/parser/share/keywords/S/SOLUTION rename to opm/parser/share/keywords/000_Eclipse100/S/SOLUTION diff --git a/opm/parser/share/keywords/S/SOWCR b/opm/parser/share/keywords/000_Eclipse100/S/SOWCR similarity index 100% rename from opm/parser/share/keywords/S/SOWCR rename to opm/parser/share/keywords/000_Eclipse100/S/SOWCR diff --git a/opm/parser/share/keywords/S/SPECGRID b/opm/parser/share/keywords/000_Eclipse100/S/SPECGRID similarity index 100% rename from opm/parser/share/keywords/S/SPECGRID rename to opm/parser/share/keywords/000_Eclipse100/S/SPECGRID diff --git a/opm/parser/share/keywords/S/START b/opm/parser/share/keywords/000_Eclipse100/S/START similarity index 100% rename from opm/parser/share/keywords/S/START rename to opm/parser/share/keywords/000_Eclipse100/S/START diff --git a/opm/parser/share/keywords/S/SUMMARY b/opm/parser/share/keywords/000_Eclipse100/S/SUMMARY similarity index 100% rename from opm/parser/share/keywords/S/SUMMARY rename to opm/parser/share/keywords/000_Eclipse100/S/SUMMARY diff --git a/opm/parser/share/keywords/S/SWAT b/opm/parser/share/keywords/000_Eclipse100/S/SWAT similarity index 100% rename from opm/parser/share/keywords/S/SWAT rename to opm/parser/share/keywords/000_Eclipse100/S/SWAT diff --git a/opm/parser/share/keywords/S/SWATINIT b/opm/parser/share/keywords/000_Eclipse100/S/SWATINIT similarity index 100% rename from opm/parser/share/keywords/S/SWATINIT rename to opm/parser/share/keywords/000_Eclipse100/S/SWATINIT diff --git a/opm/parser/share/keywords/S/SWCR b/opm/parser/share/keywords/000_Eclipse100/S/SWCR similarity index 100% rename from opm/parser/share/keywords/S/SWCR rename to opm/parser/share/keywords/000_Eclipse100/S/SWCR diff --git a/opm/parser/share/keywords/S/SWL b/opm/parser/share/keywords/000_Eclipse100/S/SWL similarity index 100% rename from opm/parser/share/keywords/S/SWL rename to opm/parser/share/keywords/000_Eclipse100/S/SWL diff --git a/opm/parser/share/keywords/S/SWOF b/opm/parser/share/keywords/000_Eclipse100/S/SWOF similarity index 100% rename from opm/parser/share/keywords/S/SWOF rename to opm/parser/share/keywords/000_Eclipse100/S/SWOF diff --git a/opm/parser/share/keywords/S/SWU b/opm/parser/share/keywords/000_Eclipse100/S/SWU similarity index 100% rename from opm/parser/share/keywords/S/SWU rename to opm/parser/share/keywords/000_Eclipse100/S/SWU diff --git a/opm/parser/share/keywords/T/TABDIMS b/opm/parser/share/keywords/000_Eclipse100/T/TABDIMS similarity index 100% rename from opm/parser/share/keywords/T/TABDIMS rename to opm/parser/share/keywords/000_Eclipse100/T/TABDIMS diff --git a/opm/parser/share/keywords/T/THPRES b/opm/parser/share/keywords/000_Eclipse100/T/THPRES similarity index 100% rename from opm/parser/share/keywords/T/THPRES rename to opm/parser/share/keywords/000_Eclipse100/T/THPRES diff --git a/opm/parser/share/keywords/T/TITLE b/opm/parser/share/keywords/000_Eclipse100/T/TITLE similarity index 100% rename from opm/parser/share/keywords/T/TITLE rename to opm/parser/share/keywords/000_Eclipse100/T/TITLE diff --git a/opm/parser/share/keywords/T/TLMIXPAR b/opm/parser/share/keywords/000_Eclipse100/T/TLMIXPAR similarity index 100% rename from opm/parser/share/keywords/T/TLMIXPAR rename to opm/parser/share/keywords/000_Eclipse100/T/TLMIXPAR diff --git a/opm/parser/share/keywords/T/TOPS b/opm/parser/share/keywords/000_Eclipse100/T/TOPS similarity index 100% rename from opm/parser/share/keywords/T/TOPS rename to opm/parser/share/keywords/000_Eclipse100/T/TOPS diff --git a/opm/parser/share/keywords/T/TRACER b/opm/parser/share/keywords/000_Eclipse100/T/TRACER similarity index 100% rename from opm/parser/share/keywords/T/TRACER rename to opm/parser/share/keywords/000_Eclipse100/T/TRACER diff --git a/opm/parser/share/keywords/T/TRACERS b/opm/parser/share/keywords/000_Eclipse100/T/TRACERS similarity index 100% rename from opm/parser/share/keywords/T/TRACERS rename to opm/parser/share/keywords/000_Eclipse100/T/TRACERS diff --git a/opm/parser/share/keywords/T/TSTEP b/opm/parser/share/keywords/000_Eclipse100/T/TSTEP similarity index 100% rename from opm/parser/share/keywords/T/TSTEP rename to opm/parser/share/keywords/000_Eclipse100/T/TSTEP diff --git a/opm/parser/share/keywords/T/TUNING b/opm/parser/share/keywords/000_Eclipse100/T/TUNING similarity index 100% rename from opm/parser/share/keywords/T/TUNING rename to opm/parser/share/keywords/000_Eclipse100/T/TUNING diff --git a/opm/parser/share/keywords/T/TVDP b/opm/parser/share/keywords/000_Eclipse100/T/TVDP similarity index 100% rename from opm/parser/share/keywords/T/TVDP rename to opm/parser/share/keywords/000_Eclipse100/T/TVDP diff --git a/opm/parser/share/keywords/U/UNIFIN b/opm/parser/share/keywords/000_Eclipse100/U/UNIFIN similarity index 100% rename from opm/parser/share/keywords/U/UNIFIN rename to opm/parser/share/keywords/000_Eclipse100/U/UNIFIN diff --git a/opm/parser/share/keywords/U/UNIFOUT b/opm/parser/share/keywords/000_Eclipse100/U/UNIFOUT similarity index 100% rename from opm/parser/share/keywords/U/UNIFOUT rename to opm/parser/share/keywords/000_Eclipse100/U/UNIFOUT diff --git a/opm/parser/share/keywords/V/VAPOIL b/opm/parser/share/keywords/000_Eclipse100/V/VAPOIL similarity index 100% rename from opm/parser/share/keywords/V/VAPOIL rename to opm/parser/share/keywords/000_Eclipse100/V/VAPOIL diff --git a/opm/parser/share/keywords/V/VAPPARS b/opm/parser/share/keywords/000_Eclipse100/V/VAPPARS similarity index 100% rename from opm/parser/share/keywords/V/VAPPARS rename to opm/parser/share/keywords/000_Eclipse100/V/VAPPARS diff --git a/opm/parser/share/keywords/V/VFPIDIMS b/opm/parser/share/keywords/000_Eclipse100/V/VFPIDIMS similarity index 100% rename from opm/parser/share/keywords/V/VFPIDIMS rename to opm/parser/share/keywords/000_Eclipse100/V/VFPIDIMS diff --git a/opm/parser/share/keywords/V/VFPINJ b/opm/parser/share/keywords/000_Eclipse100/V/VFPINJ similarity index 100% rename from opm/parser/share/keywords/V/VFPINJ rename to opm/parser/share/keywords/000_Eclipse100/V/VFPINJ diff --git a/opm/parser/share/keywords/V/VFPPDIMS b/opm/parser/share/keywords/000_Eclipse100/V/VFPPDIMS similarity index 100% rename from opm/parser/share/keywords/V/VFPPDIMS rename to opm/parser/share/keywords/000_Eclipse100/V/VFPPDIMS diff --git a/opm/parser/share/keywords/V/VFPPROD b/opm/parser/share/keywords/000_Eclipse100/V/VFPPROD similarity index 100% rename from opm/parser/share/keywords/V/VFPPROD rename to opm/parser/share/keywords/000_Eclipse100/V/VFPPROD diff --git a/opm/parser/share/keywords/W/WATER b/opm/parser/share/keywords/000_Eclipse100/W/WATER similarity index 100% rename from opm/parser/share/keywords/W/WATER rename to opm/parser/share/keywords/000_Eclipse100/W/WATER diff --git a/opm/parser/share/keywords/W/WCONHIST b/opm/parser/share/keywords/000_Eclipse100/W/WCONHIST similarity index 100% rename from opm/parser/share/keywords/W/WCONHIST rename to opm/parser/share/keywords/000_Eclipse100/W/WCONHIST diff --git a/opm/parser/share/keywords/W/WCONINJ b/opm/parser/share/keywords/000_Eclipse100/W/WCONINJ similarity index 100% rename from opm/parser/share/keywords/W/WCONINJ rename to opm/parser/share/keywords/000_Eclipse100/W/WCONINJ diff --git a/opm/parser/share/keywords/W/WCONINJE b/opm/parser/share/keywords/000_Eclipse100/W/WCONINJE similarity index 100% rename from opm/parser/share/keywords/W/WCONINJE rename to opm/parser/share/keywords/000_Eclipse100/W/WCONINJE diff --git a/opm/parser/share/keywords/W/WCONINJH b/opm/parser/share/keywords/000_Eclipse100/W/WCONINJH similarity index 100% rename from opm/parser/share/keywords/W/WCONINJH rename to opm/parser/share/keywords/000_Eclipse100/W/WCONINJH diff --git a/opm/parser/share/keywords/W/WCONPROD b/opm/parser/share/keywords/000_Eclipse100/W/WCONPROD similarity index 100% rename from opm/parser/share/keywords/W/WCONPROD rename to opm/parser/share/keywords/000_Eclipse100/W/WCONPROD diff --git a/opm/parser/share/keywords/W/WELLDIMS b/opm/parser/share/keywords/000_Eclipse100/W/WELLDIMS similarity index 100% rename from opm/parser/share/keywords/W/WELLDIMS rename to opm/parser/share/keywords/000_Eclipse100/W/WELLDIMS diff --git a/opm/parser/share/keywords/W/WELL_PROBE b/opm/parser/share/keywords/000_Eclipse100/W/WELL_PROBE similarity index 100% rename from opm/parser/share/keywords/W/WELL_PROBE rename to opm/parser/share/keywords/000_Eclipse100/W/WELL_PROBE diff --git a/opm/parser/share/keywords/W/WELOPEN b/opm/parser/share/keywords/000_Eclipse100/W/WELOPEN similarity index 100% rename from opm/parser/share/keywords/W/WELOPEN rename to opm/parser/share/keywords/000_Eclipse100/W/WELOPEN diff --git a/opm/parser/share/keywords/W/WELSPECS b/opm/parser/share/keywords/000_Eclipse100/W/WELSPECS similarity index 100% rename from opm/parser/share/keywords/W/WELSPECS rename to opm/parser/share/keywords/000_Eclipse100/W/WELSPECS diff --git a/opm/parser/share/keywords/W/WELTARG b/opm/parser/share/keywords/000_Eclipse100/W/WELTARG similarity index 100% rename from opm/parser/share/keywords/W/WELTARG rename to opm/parser/share/keywords/000_Eclipse100/W/WELTARG diff --git a/opm/parser/share/keywords/W/WGRUPCON b/opm/parser/share/keywords/000_Eclipse100/W/WGRUPCON similarity index 100% rename from opm/parser/share/keywords/W/WGRUPCON rename to opm/parser/share/keywords/000_Eclipse100/W/WGRUPCON diff --git a/opm/parser/share/keywords/W/WHISTCTL b/opm/parser/share/keywords/000_Eclipse100/W/WHISTCTL similarity index 100% rename from opm/parser/share/keywords/W/WHISTCTL rename to opm/parser/share/keywords/000_Eclipse100/W/WHISTCTL diff --git a/opm/parser/share/keywords/W/WPAVE b/opm/parser/share/keywords/000_Eclipse100/W/WPAVE similarity index 100% rename from opm/parser/share/keywords/W/WPAVE rename to opm/parser/share/keywords/000_Eclipse100/W/WPAVE diff --git a/opm/parser/share/keywords/W/WPITAB b/opm/parser/share/keywords/000_Eclipse100/W/WPITAB similarity index 100% rename from opm/parser/share/keywords/W/WPITAB rename to opm/parser/share/keywords/000_Eclipse100/W/WPITAB diff --git a/opm/parser/share/keywords/W/WPOLYMER b/opm/parser/share/keywords/000_Eclipse100/W/WPOLYMER similarity index 100% rename from opm/parser/share/keywords/W/WPOLYMER rename to opm/parser/share/keywords/000_Eclipse100/W/WPOLYMER diff --git a/opm/parser/share/keywords/W/WRFTPLT b/opm/parser/share/keywords/000_Eclipse100/W/WRFTPLT similarity index 100% rename from opm/parser/share/keywords/W/WRFTPLT rename to opm/parser/share/keywords/000_Eclipse100/W/WRFTPLT diff --git a/opm/parser/share/keywords/W/WTEST b/opm/parser/share/keywords/000_Eclipse100/W/WTEST similarity index 100% rename from opm/parser/share/keywords/W/WTEST rename to opm/parser/share/keywords/000_Eclipse100/W/WTEST diff --git a/opm/parser/share/keywords/W/WTRACER b/opm/parser/share/keywords/000_Eclipse100/W/WTRACER similarity index 100% rename from opm/parser/share/keywords/W/WTRACER rename to opm/parser/share/keywords/000_Eclipse100/W/WTRACER diff --git a/opm/parser/share/keywords/Z/ZCORN b/opm/parser/share/keywords/000_Eclipse100/Z/ZCORN similarity index 100% rename from opm/parser/share/keywords/Z/ZCORN rename to opm/parser/share/keywords/000_Eclipse100/Z/ZCORN diff --git a/opm/parser/share/keywords/Z/ZIPPY2 b/opm/parser/share/keywords/000_Eclipse100/Z/ZIPPY2 similarity index 100% rename from opm/parser/share/keywords/Z/ZIPPY2 rename to opm/parser/share/keywords/000_Eclipse100/Z/ZIPPY2