void XmlMapHandler::Load(std::istream& file, Map& map) { wxXmlDocument doc; wxFInputStream fis(file); if (!doc.Load(dynamic_cast<wxInputStream&>(fis))) throw "Could not open XML file"; wxXmlNode* child = doc.GetRoot()->GetChildren(); if (child != NULL && child->GetName() != "Properties") throw "Properties must be the first node in the XML file"; ReadProperties(child, map); while ((child = child->GetNext())) { std::string name = child->GetName().ToStdString(); VerboseLog("%s Got node %s", __func__, name.c_str()); if (name == "Layer") ReadLayer(child, map); else if (name == "Background") ReadBackground(child, map); else if (name == "Collision") ReadCollision(child, map); else if (name == "Animation") ReadAnimation(child, map); else throw "Unknown element found in file " + name; } }
void wrfparflowinit_(char *input_file) { Grid *grid; char *seperators = " \n"; /* Fortran char array is not NULL terminated */ char *filename = strtok(input_file, seperators); /*----------------------------------------------------------------------- * Initialize AMPS from existing MPI state *-----------------------------------------------------------------------*/ if (amps_EmbeddedInit()) { amps_Printf("Error: amps_EmbeddedInit initalization failed\n"); exit(1); } /*----------------------------------------------------------------------- * Set up globals structure *-----------------------------------------------------------------------*/ NewGlobals(filename); /*----------------------------------------------------------------------- * Read the Users Input Deck *-----------------------------------------------------------------------*/ amps_ThreadLocal(input_database) = IDB_NewDB(GlobalsInFileName); /*----------------------------------------------------------------------- * Setup log printing *-----------------------------------------------------------------------*/ NewLogging(); /*----------------------------------------------------------------------- * Setup timing table *-----------------------------------------------------------------------*/ NewTiming(); /* End of main includes */ /* Begin of Solver includes */ GlobalsNumProcsX = GetIntDefault("Process.Topology.P", 1); GlobalsNumProcsY = GetIntDefault("Process.Topology.Q", 1); GlobalsNumProcsZ = GetIntDefault("Process.Topology.R", 1); GlobalsNumProcs = amps_Size(amps_CommWorld); GlobalsBackground = ReadBackground(); GlobalsUserGrid = ReadUserGrid(); SetBackgroundBounds(GlobalsBackground, GlobalsUserGrid); GlobalsMaxRefLevel = 0; amps_ThreadLocal(Solver_module) = PFModuleNewModuleType(SolverImpesNewPublicXtraInvoke, SolverRichards, ("Solver")); amps_ThreadLocal(solver) = PFModuleNewInstance(amps_ThreadLocal(Solver_module), ()); /* End of solver includes */ SetupRichards(amps_ThreadLocal(solver)); /* Create the flow grid */ grid = CreateGrid(GlobalsUserGrid); /* Create the PF vector holding flux */ amps_ThreadLocal(evap_trans) = NewVectorType(grid, 1, 1, vector_cell_centered); InitVectorAll(amps_ThreadLocal(evap_trans), 0.0); }
void Background::Initial() { ReadBackground(); ReadFile(); }