|
virtual void | accumulateFluxes_massContExplicitStep (int i, int j, double surface_mass_balance, double basal_melt_rate, double divQ_SIA, double divQ_SSA, double Href_to_H_flux, double nonneg_rule_flux) |
|
virtual void | massContExplicitStep () |
|
void | set_rate (double dt) |
|
void | reset_rate () |
|
| IBIceModel (std::shared_ptr< pism::Grid > grid, const std::shared_ptr< Context > &context, IBIceModel::Params const &_params) |
|
virtual | ~IBIceModel () |
|
virtual void | allocate_subglacial_hydrology () |
| Decide which subglacial hydrology model to use. More...
|
|
virtual void | allocate_couplers () |
|
virtual void | time_setup () |
| Initialize time from an input file or command-line options. More...
|
|
virtual void | misc_setup () |
| Miscellaneous initialization tasks plus tasks that need the fields that can come from regridding. More...
|
|
void | compute_enth2 (pism::array::Scalar &enth2, pism::array::Scalar &mass2) |
|
pism::icebin::IBSurfaceModel * | ib_surface_model () |
|
pism::icebin::NullTransportHydrology * | null_hydrology () |
|
double | mass_t () const |
|
double | enthalpy_t () const |
|
void | massContPreHook () |
|
void | massContPostHook () |
|
void | energy_step () |
| Manage the solution of the energy equation, and related parallel communication. More...
|
|
void | prepare_outputs (double time_s) |
|
void | dumpToFile (const std::string &filename) const |
|
void | prepare_initial_outputs () |
|
void | construct_surface_temp (pism::array::Scalar &deltah, double default_val, double timestep_s, pism::array::Scalar &surface_temp) |
|
| IceModel (std::shared_ptr< Grid > grid, const std::shared_ptr< Context > &context) |
|
virtual | ~IceModel () |
|
std::shared_ptr< Grid > | grid () const |
| Return the grid used by this model. More...
|
|
std::shared_ptr< Context > | ctx () const |
| Return the context this model is running in. More...
|
|
void | init () |
| Manage the initialization of the IceModel object. More...
|
|
IceModelTerminationReason | run () |
|
IceModelTerminationReason | run_to (double run_end) |
|
virtual void | save_results () |
| Save model state in NetCDF format. More...
|
|
void | list_diagnostics (const std::string &list_type) const |
|
const array::Scalar & | calving () const |
|
const array::Scalar & | frontal_melt () const |
|
const array::Scalar & | forced_retreat () const |
|
double | ice_volume_temperate (double thickness_threshold) const |
| Computes the temperate ice volume, in m^3. More...
|
|
double | ice_volume_cold (double thickness_threshold) const |
| Computes the cold ice volume, in m^3. More...
|
|
double | temperate_base_area (double thickness_threshold) const |
| Computes area of basal ice which is temperate, in m^2. More...
|
|
double | cold_base_area (double thickness_threshold) const |
| Computes area of basal ice which is cold, in m^2. More...
|
|
const stressbalance::StressBalance * | stress_balance () const |
|
const ocean::OceanModel * | ocean_model () const |
|
const energy::BedThermalUnit * | bedrock_thermal_model () const |
|
const energy::EnergyModel * | energy_balance_model () const |
|
const YieldStress * | basal_yield_stress_model () const |
|
const bed::BedDef * | bed_deformation_model () const |
|
void | set_python_ocean_model (std::shared_ptr< ocean::PyOceanModel > model) |
|
const Geometry & | geometry () const |
|
const GeometryEvolution & | geometry_evolution () const |
|
double | dt () const |
|
|
enum | OutputKind { INCLUDE_MODEL_STATE = 0
, JUST_DIAGNOSTICS
} |
|
enum | HistoryTreatment { OVERWRITE_HISTORY = 0
, PREPEND_HISTORY
} |
|
enum | MappingTreatment { WRITE_MAPPING = 0
, SKIP_MAPPING
} |
|
enum | ConsistencyFlag { REMOVE_ICEBERGS
, DONT_REMOVE_ICEBERGS
} |
|
virtual void | allocate_submodels () |
| Allocate PISM's sub-models implementing some physical processes. More...
|
|
virtual void | allocate_stressbalance () |
| Decide which stress balance model to use. More...
|
|
virtual void | allocate_age_model () |
|
virtual void | allocate_isochrones () |
|
virtual void | allocate_bed_deformation () |
|
virtual void | allocate_bedrock_thermal_unit () |
| Decide which bedrock thermal unit to use. More...
|
|
virtual void | allocate_energy_model () |
|
virtual void | allocate_basal_yield_stress () |
| Decide which basal yield stress model to use. More...
|
|
virtual void | allocate_geometry_evolution () |
|
virtual void | allocate_iceberg_remover () |
|
virtual stressbalance::Inputs | stress_balance_inputs () |
|
virtual energy::Inputs | energy_model_inputs () |
|
virtual YieldStressInputs | yield_stress_inputs () |
|
virtual void | model_state_setup () |
| Sets the starting values of model state variables. More...
|
|
virtual void | init_diagnostics () |
|
virtual void | init_calving () |
| Initialize calving mechanisms. More...
|
|
virtual void | init_frontal_melt () |
|
virtual void | init_front_retreat () |
|
virtual void | prune_diagnostics () |
|
virtual void | update_diagnostics (double dt) |
|
virtual void | reset_diagnostics () |
|
virtual void | step (bool do_mass_continuity, bool do_skip) |
| The contents of the main PISM time-step. More...
|
|
virtual void | pre_step_hook () |
| Virtual. Does nothing in IceModel . Derived classes can do more computation in each time step. More...
|
|
virtual void | post_step_hook () |
| Virtual. Does nothing in IceModel . Derived classes can do more computation in each time step. More...
|
|
void | reset_counters () |
|
virtual void | bootstrap_2d (const File &input_file) |
|
virtual void | process_options () |
|
virtual std::set< std::string > | output_variables (const std::string &keyword) |
| Assembles a list of diagnostics corresponding to an output file size. More...
|
|
virtual void | compute_lat_lon () |
|
virtual void | restart_2d (const File &input_file, unsigned int record) |
| Initialize 2D model state fields managed by IceModel from a file (for re-starting). More...
|
|
virtual void | initialize_2d () |
|
virtual void | save_variables (const File &file, OutputKind kind, const std::set< std::string > &variables, double time, io::Type default_diagnostics_type=io::PISM_FLOAT) const |
|
virtual void | define_model_state (const File &file) const |
|
virtual void | write_model_state (const File &file) const |
|
virtual void | write_metadata (const File &file, MappingTreatment mapping_flag, HistoryTreatment history_flag) const |
| Write time-independent metadata to a file. More...
|
|
virtual void | define_diagnostics (const File &file, const std::set< std::string > &variables, io::Type default_type) const |
|
virtual void | write_diagnostics (const File &file, const std::set< std::string > &variables) const |
| Writes variables listed in vars to filename, using nctype to write fields stored in dedicated Arrays. More...
|
|
std::string | save_state_on_error (const std::string &suffix, const std::set< std::string > &additional_variables) |
|
virtual void | allocate_storage () |
| Allocate all Arrays defined in IceModel. More...
|
|
virtual TimesteppingInfo | max_timestep (unsigned int counter) |
| Use various stability criteria to determine the time step for an evolution run. More...
|
|
virtual MaxTimestep | max_timestep_diffusivity () |
| Compute the maximum time step allowed by the diffusive SIA. More...
|
|
virtual unsigned int | skip_counter (double input_dt, double input_dt_diffusivity) |
| Compute the skip counter using "long" (usually determined using the CFL stability criterion) and "short" (typically determined using the diffusivity-based stability criterion) time step lengths. More...
|
|
virtual void | bedrock_thermal_model_step () |
|
virtual void | hydrology_step () |
|
virtual void | combine_basal_melt_rate (const Geometry &geometry, const array::Scalar &shelf_base_mass_flux, const array::Scalar &grounded_basal_melt_rate, array::Scalar &result) |
| Combine basal melt rate in grounded and floating areas. More...
|
|
void | enforce_consistency_of_geometry (ConsistencyFlag flag) |
| Update the surface elevation and the flow-type mask when the geometry has changed. More...
|
|
void | identify_open_ocean (const array::CellType &cell_type, array::Scalar &result) |
|
virtual void | front_retreat_step () |
|
void | compute_geometry_change (const array::Scalar &thickness, const array::Scalar &Href, const array::Scalar &thickness_old, const array::Scalar &Href_old, bool add_values, array::Scalar &output) |
|
virtual void | regrid () |
| Manage regridding based on user options. More...
|
|
virtual void | update_fracture_density () |
|
virtual double | compute_temperate_base_fraction (double ice_area) |
|
virtual double | compute_original_ice_fraction (double ice_volume) |
|
virtual void | print_summary (bool tempAndAge) |
|
virtual void | print_summary_line (bool printPrototype, bool tempAndAge, double delta_t, double volume, double area, double meltfrac, double max_diffusivity) |
| Print a line to stdout which summarizes the state of the modeled ice sheet at the end of the time step. More...
|
|
virtual int | process_signals () |
| Catch signals -USR1, -USR2 and -TERM. More...
|
|
virtual void | prepend_history (const std::string &string) |
| Get time and user/host name and add it to the given string. More...
|
|
VariableMetadata | run_stats () const |
|
void | init_snapshots () |
| Initializes the snapshot-saving mechanism. More...
|
|
void | write_snapshot () |
| Writes a snapshot of the model state (if necessary) More...
|
|
MaxTimestep | save_max_timestep (double my_t) |
| Computes the maximum time-step we can take and still hit all -save_times . More...
|
|
void | init_timeseries () |
| Initializes the code writing scalar time-series. More...
|
|
void | flush_timeseries () |
| Flush scalar time-series. More...
|
|
MaxTimestep | ts_max_timestep (double my_t) |
| Computes the maximum time-step we can take and still hit all -ts_times . More...
|
|
void | init_extras () |
| Initialize the code saving spatially-variable diagnostic quantities. More...
|
|
void | write_extras () |
| Write spatially-variable diagnostic quantities. More...
|
|
MaxTimestep | extras_max_timestep (double my_t) |
| Computes the maximum time-step we can take and still hit all -extra_times . More...
|
|
void | init_checkpoints () |
| Initialize checkpointing (snapshot-on-wallclock-time) mechanism. More...
|
|
bool | write_checkpoint () |
| Write a checkpoint (i.e. an intermediate result of a run). More...
|
|
virtual void | update_viewers () |
| Update the runtime graphical viewers. More...
|
|
virtual void | view_field (const array::Array *field) |
|
static const int | m_n_work2d = 4 |
|
This is the IceBin customized version of PISM's pism::IceModel class.
See https://github.com/pism/pism/issues/219
Here's a short term solution, though: create a new class IBIceModel derived from IceModel and re-implement IceModel::allocate_couplers(). In it, set IceModel::external_surface_model and IceModel::external_ocean_model as you see fit (IceModel will not de-allocate a surface (ocean) model if it is set to true) and allocate PSConstantICEBIN. You might also want to add IBIceModel::get_surface_model() which returns IceModel::surface to get access to PSConstantICEBIN from outside of IBIceModel.
Definition at line 35 of file IBIceModel.hh.