20 #include "pism/coupler/surface/Factory.hh"
23 #include "pism/coupler/surface/Anomaly.hh"
24 #include "pism/coupler/surface/Cache.hh"
25 #include "pism/coupler/surface/ConstantPIK.hh"
26 #include "pism/coupler/surface/Delta_T.hh"
27 #include "pism/coupler/surface/Elevation.hh"
28 #include "pism/coupler/surface/ElevationChange.hh"
29 #include "pism/coupler/surface/ForceThickness.hh"
30 #include "pism/coupler/surface/GivenClimate.hh"
31 #include "pism/coupler/surface/ISMIP6Climate.hh"
32 #include "pism/coupler/surface/NoGLRetreat.hh"
33 #include "pism/coupler/surface/DEBMSimple.hh"
34 #include "pism/coupler/surface/Simple.hh"
35 #include "pism/coupler/surface/TemperatureIndex.hh"
40 Factory::Factory(std::shared_ptr<const Grid>
g, std::shared_ptr<atmosphere::AtmosphereModel> input)
41 : PCFactory<SurfaceModel>(
g,
"surface.models"),
44 add_surface_model<Elevation>(
"elevation");
45 add_surface_model<Given>(
"given");
46 add_surface_model<ISMIP6>(
"ismip6");
47 add_surface_model<TemperatureIndex>(
"pdd");
48 add_surface_model<PIK>(
"pik");
49 add_surface_model<Simple>(
"simple");
50 add_surface_model<DEBMSimple>(
"debm_simple");
52 add_modifier<Anomaly>(
"anomaly");
53 add_modifier<Cache>(
"cache");
54 add_modifier<Delta_T>(
"delta_T");
55 add_modifier<ForceThickness>(
"forcing");
56 add_modifier<ElevationChange>(
"elevation_change");
57 add_modifier<NoGLRetreat>(
"no_gl_retreat");
Factory(std::shared_ptr< const Grid > g, AtmospherePtr input)