71     std::string fieldIOName;
 
   72     std::string fieldName;
 
   74     std::string levels_str;
 
   77     std::string staggerLoc;
 
   83     std::vector<eckit::LocalConfiguration> confFieldSets;
 
   84     confFull.get(
"fieldsets", confFieldSets);
 
   85     int confFieldSetsSize = confFieldSets.size();
 
   88     const int nlev = confFull.getInt(
"npz");
 
   91     for (
int km = 0; km < confFieldSetsSize; ++km) {
 
   93       eckit::PathName pathNameFieldSet(confFieldSets[km].getString(
"fieldset"));
 
   94       const eckit::YAMLConfiguration confFieldSet(pathNameFieldSet);
 
   97       std::vector<eckit::LocalConfiguration> confFields;
 
   98       confFieldSet.get(
"Fields", confFields);
 
   99       int confFieldsSize = confFields.size();
 
  102       for (
int jm = 0; jm < confFieldsSize; ++jm) {
 
  104         fieldName = confFields[jm].getString(
"FieldName");
 
  106         std::vector<std::string> fieldIONames;
 
  107         fieldIONames.push_back(fieldName);
 
  108         fieldIONames = confFields[jm].getStringVector(
"FieldIONames", fieldIONames);
 
  110         int confFieldIONamesSize = fieldIONames.size();
 
  113         for (
int im = 0; im < confFieldIONamesSize; ++im) {
 
  115           fieldIOName = fieldIONames[im];
 
  119             ABORT(
"FieldMetadata::FieldMetadata Field "+fieldIOName+
" already in the map");
 
  122           fields_.insert(std::pair<std::string, FieldMetadata>(fieldIOName,
 
  131           kind = confFields[jm].getString(
"Kind", 
"double");
 
  132           levels_str = confFields[jm].getString(
"Levels", 
"full");
 
  133           longName = confFields[jm].getString(
"LongName", fieldName);
 
  134           space = confFields[jm].getString(
"Space", 
"magnitude");
 
  135           staggerLoc = confFields[jm].getString(
"StaggerLoc", 
"center");
 
  136           tracer = confFields[jm].getBool(
"Tracer", 
false);
 
  137           units = confFields[jm].getString(
"Units");
 
  138           io_file = confFields[jm].getString(
"IOFile", 
"default");
 
  149           if (levels_str == 
"full") {
 
  151           } 
else if (levels_str == 
"half") {
 
  154             levels = std::stoi(levels_str);
 
  173     std::map<std::string, FieldMetadata>::iterator itr;
 
  176       oops::Log::debug() << 
"Key: " << itr->first << 
"\nData: \n" << itr->second << std::endl;
 
  184       ABORT(
"FieldMetadata::getField: Field "+fieldIOName+
" not found in FieldsMetadata");
 
  186     return fields_.find(fieldIOName)->second;