tTemperatureModel_Verification.hh - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch) (HTM) git clone git://src.adamsgaard.dk/pism (DIR) Log (DIR) Files (DIR) Refs (DIR) LICENSE --- tTemperatureModel_Verification.hh (1826B) --- 1 /* Copyright (C) 2016, 2017 PISM Authors 2 * 3 * This file is part of PISM. 4 * 5 * PISM is free software; you can redistribute it and/or modify it under the 6 * terms of the GNU General Public License as published by the Free Software 7 * Foundation; either version 3 of the License, or (at your option) any later 8 * version. 9 * 10 * PISM is distributed in the hope that it will be useful, but WITHOUT ANY 11 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 * details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with PISM; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 */ 19 20 #ifndef TEMPERATUREMODEL_VERIFICATION_H 21 #define TEMPERATUREMODEL_VERIFICATION_H 22 23 #include "pism/energy/TemperatureModel.hh" 24 25 namespace pism { 26 namespace energy { 27 28 /*! @brief Temperature-based energy balance model with verification-specific initialization code. */ 29 class TemperatureModel_Verification : public TemperatureModel { 30 public: 31 TemperatureModel_Verification(IceGrid::ConstPtr grid, 32 stressbalance::StressBalance *stress_balance, 33 int testname, bool bedrock_is_ice); 34 35 void initialize_impl(const IceModelVec2S &basal_melt_rate, 36 const IceModelVec2S &ice_thickness, 37 const IceModelVec2S &surface_temperature, 38 const IceModelVec2S &climatic_mass_balance, 39 const IceModelVec2S &basal_heat_flux); 40 private: 41 void initTestFG(); 42 void initTestsKO(); 43 44 int m_testname; 45 bool m_bedrock_is_ice; 46 }; 47 48 } // end of namespace energy 49 } // end of namespace pism 50 51 #endif /* TEMPERATUREMODEL_VERIFICATION_H */