code: def load_dependency(self, module_name, dependencies, recursive, greedy, ismapping = False):
          
          key = module_name.lower()
          if key not in self.modules:
              if key == "fortpy":
                  #Manually specify the correct path to the fortpy.f90 that shipped with
                  #the distribution
                  from fortpy.utility import get_fortpy_templates_dir
                  from os import path
                  fpy_path = path.join(get_fortpy_templates_dir(), "fortpy.f90")
                  self.parse(fpy_path, False, False)
                  return
              
              fkey = key + ".f90"
              if fkey in self._pathfiles:
                  self.parse(self._pathfiles[fkey], dependencies, recursive)
              elif greedy:
                  #The default naming doesn't match for this module
                  #we will load all modules until we find the right
                  #one
                  self._load_greedy(key, dependencies, recursive)
              elif key in self.mappings and self.mappings[key] in self._pathfiles:
                  #See if they have a mapping specified to a code file for this module name.
                  if self.verbose:
                      msg.info("MAPPING: using {} as the file".format(self.mappings[key]) + 
                               " name for module {}".format(key))
                  self.parse(self._pathfiles[self.mappings[key]], dependencies, recursive)
              elif key not in ["mkl_vsl_type", "mkl_vsl", "iso_c_binding"]:
                  #The parsing can't continue without the necessary dependency modules.
                  msg.err(("could not find module {}. Enable greedy search or"
                         " add a module filename mapping.".format(key)))
                  if self.austere:
                      exit(1)
docs: Loads the module with the specified name if it isn't already loaded.