tAnomaly.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 --- tAnomaly.hh (1568B) --- 1 // Copyright (C) 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 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 #ifndef _POANOMALY_H_ 20 #define _POANOMALY_H_ 21 22 #include "pism/coupler/OceanModel.hh" 23 #include "pism/util/iceModelVec2T.hh" 24 25 namespace pism { 26 namespace ocean { 27 28 //! @brief Reads and uses shelf_basal_mass_flux *anomalies* from a file 29 class Anomaly : public OceanModel 30 { 31 public: 32 Anomaly(IceGrid::ConstPtr g, std::shared_ptr<OceanModel> in); 33 virtual ~Anomaly(); 34 protected: 35 virtual void init_impl(const Geometry &geometry); 36 virtual void update_impl(const Geometry &geometry, double t, double dt); 37 38 virtual const IceModelVec2S& shelf_base_mass_flux_impl() const; 39 40 protected: 41 IceModelVec2S::Ptr m_shelf_base_mass_flux; 42 43 IceModelVec2T::Ptr m_shelf_base_mass_flux_anomaly; 44 45 }; 46 47 } // end of namespace ocean 48 } // end of namespace pism 49 50 #endif /* _POANOMALY_H_ */