/** * \file Params.C * \brief Params class definition. */ #include "Params.h" using namespace std; /********************************************************************//** * \author Slava Merkin (vgm at bu.edu) * \since 06-2007 * * \param[in] Parameter file name * * The constructor reads and parses the parameter file, e.g. ionosphere.param ************************************************************************/ Params::Params(const char* paramFileName) { /********************************************************************//** * These are the default parameters * \code */ strcpy(localName,"mix"); strcpy(xjdName,"lfm-ion.xjd"); strcpy(ionGridFileName,"ion_grid.hdf"); strcpy(outputFilePrefix,"MIX"); flushFrequency = 5; use_intercomm = true; // Default grid is 2x2 spacing down to colatitude of 44 degrees. mixGrid.setGrid("2x2_44"); forceSymmetricPotential = mixGrid.requiresSymmetricPotential(); strcpy(mhdGridFileName,"/roguehomes/vgm/LFM-para/DUMPMHD.hdf"); mhdGridFileType = 0; // HDFFILE (1 = GRIDOUT) strcpy(itmGridFileName,"apex.dat"); // Not used for TING, reserved for TIEGCM itmGridFileType = 0; // Not used for TING either strcpy(itmModelType,"TING"); itmCouplingStart = DateTime(99999,1,1, 0,0,0); itmCouplingDelta = 120.0; euvModelType = 0; // AMIE (1 = MOEN_BREKKE) // Alpha, Beta, R (1.03,2.5,5.56e-2) values from VGM testing 12/09 alpha = 1.03; beta = 2.5; r = 5.56e-2; f107 = 200.; pedmin = 2.; hallmin = 1.; ped0 = 5.; sigma_ratio = 3.; const_sigma = 0; /* * \endcode ************************************************************************/ // Read in parameters from file ifstream paramFile(paramFileName,ios::in); if (!paramFile) { cerr << "Could not open parameter file." << endl; exit(1); } char line[STRLEN],value[STRLEN],varid[STRLEN],mhdGrid[STRLEN],itmGrid[STRLEN],euvModel[STRLEN]; cout << "\n********** Parameters read from ionosphere.param **********"<