#include <iceROSSModel.hh>

Public Member Functions | |
| IceROSSModel (IceGrid &g, NCConfigVariable &config, NCConfigVariable &overrides) | |
| PetscErrorCode | finishROSS () |
| PetscErrorCode | readRIGGSandCompare () |
| virtual PetscErrorCode | init_physics () |
| Initialize some physical parameters. | |
| virtual PetscErrorCode | set_vars_from_options () |
| Sets starting values of model state variables using command-line options. | |
| virtual PetscErrorCode | model_state_setup () |
| Sets the starting values of model state variables. | |
Private Member Functions | |
| virtual PetscErrorCode | createVecs () |
| Allocate all IceModelVecs defined in IceModel. | |
| PetscErrorCode | fillinTemps () |
| PetscErrorCode | readObservedVels (const char *fname) |
| PetscErrorCode | computeErrorsInAccurateRegion () |
Private Attributes | |
| IceModelVec2S | obsAzimuth |
| IceModelVec2S | obsMagnitude |
| IceModelVec2S | obsAccurate |
Definition at line 27 of file iceROSSModel.hh.
| IceROSSModel | ( | IceGrid & | g, | |
| NCConfigVariable & | config, | |||
| NCConfigVariable & | overrides | |||
| ) |
Definition at line 27 of file iceROSSModel.cc.
References IceModel.computeSIAVelocities, ICE_CUSTOM, IceModel.iceFactory, SSAStrengthExtension.min_thickness_for_extension(), secpera, SSAStrengthExtension.set_min_thickness(), SSAStrengthExtension.set_notional_strength(), IceFlowLawFactory.setType(), IceModel.shelvesDragToo, and IceModel.ssaStrengthExtend.
| PetscErrorCode computeErrorsInAccurateRegion | ( | ) | [private] |
Definition at line 238 of file iceROSSModel.cc.
References IceModelVec.begin_access(), IceGrid.com, IceGrid.dx, IceGrid.dy, IceModelVec.end_access(), IceModelVec2S.get_array(), IceModel.grid, IceModelVec2Mask.is_floating(), obsAccurate, obsAzimuth, obsMagnitude, pi, secpera, IceModel.vel_bar, verbPrintf(), IceModel.vH, IceModel.vMask, IceGrid.xm, IceGrid.xs, IceGrid.ym, and IceGrid.ys.
Referenced by finishROSS().
| PetscErrorCode createVecs | ( | ) | [private, virtual] |
Allocate all IceModelVecs defined in IceModel.
This procedure allocates the memory used to store model state, diagnostic and work vectors and sets metadata.
Default values should not be set here; please use set_vars_from_options().
All the memory allocated here is freed by IceModelVecs' destructors.
Reimplemented from IceModel.
Definition at line 51 of file iceROSSModel.cc.
References IceModelVec2S.create(), IceModel.grid, obsAccurate, obsAzimuth, obsMagnitude, IceModelVec.set_attrs(), and IceModelVec.set_glaciological_units().
| PetscErrorCode fillinTemps | ( | ) | [private] |
Definition at line 188 of file iceROSSModel.cc.
References IceModel.artm, IceModelVec.begin_access(), IceModelVec.end_access(), IceModel.grid, PISMSurfaceModel.ice_surface_temperature(), IceModelVec3Bedrock.setColumn(), IceModelVec3.setColumn(), IceModel.surface, IceModel.T3, IceModel.Tb3, IceGrid.xm, IceGrid.xs, IceGrid.year, IceGrid.ym, and IceGrid.ys.
Referenced by set_vars_from_options().
| PetscErrorCode finishROSS | ( | ) |
Definition at line 158 of file iceROSSModel.cc.
References IceGrid.com, IceModel.computeEffectiveViscosity(), computeErrorsInAccurateRegion(), IceModel.config, IceModelVec2S.create(), NCConfigVariable.get(), NCConfigVariable.get_flag(), NCConfigVariable.get_string(), IceModel.grid, readObservedVels(), readRIGGSandCompare(), IceModel.update_nu_viewers(), and verbPrintf().
Referenced by main().
| PetscErrorCode init_physics | ( | ) | [virtual] |
Initialize some physical parameters.
This is the place for all non-trivial initialization of physical parameters. ("Non-trivial" means that the initialization requires more than just setting a value of a parameter. Such trivial changes can go here too, or earlier.) Also, this is the good place to set those parameters that a user should not be able to override using a command-line option.
This method is called after memory allocation but before filling any of IceModelVecs because all the physical parameters should be initialized before setting up the coupling or filling model-state variables.
In the base class IceModel we just initialize the IceFlowLaw and the EnthalpyConverter.
Reimplemented from IceModel.
Definition at line 133 of file iceROSSModel.cc.
References IceGrid.com, IceModel.grid, IceModel.ice, IceFlowLaw.printInfo(), IceFlowLaw.setFromOptions(), CustomGlenIce.setHardness(), and verbPrintf().
| PetscErrorCode model_state_setup | ( | ) | [virtual] |
Sets the starting values of model state variables.
There are two cases:
1) Initializing from a PISM output file.
2) Setting the values using command-line options only (verification and simplified geometry runs, for example) or from a bootstrapping file, using heuristics to fill in missing and 3D fields.
Calls IceModel.regrid().
This function is called after all the memory allocation is done and all the physical parameters are set.
Calling this method should be all one needs to set model state variables. Please avoid modifying them in other parts of the initialization sequence.
Also, please avoid operations that would make it unsafe to call this more than once (memory allocation is one example).
Reimplemented from IceModel.
Definition at line 71 of file iceROSSModel.cc.
References IceGrid.com, IceModel.config, IceModelVec.copy_to(), NCConfigVariable.get(), IceModel.grid, IceModel.ice, PISMOptionsString(), IceModel.readShelfStreamBCFromFile(), IceFlowLaw.rho, IceModelVec.scale(), IceModelVec.set(), NCConfigVariable.set_flag(), NCVariable.set_string(), IceModel.uvbar, verbPrintf(), IceModel.vh, and IceModel.vH.
| PetscErrorCode readObservedVels | ( | const char * | fname | ) | [private] |
Definition at line 215 of file iceROSSModel.cc.
References NCTool.close(), g, PISMIO.get_grid_info_2d(), IceModel.grid, vnreport.nc, obsAccurate, obsAzimuth, obsMagnitude, NCTool.open_for_reading(), and IceModelVec.regrid().
Referenced by finishROSS().
| PetscErrorCode readRIGGSandCompare | ( | ) |
Definition at line 326 of file iceROSSModel.cc.
References IceModelVec.begin_access(), IceGrid.com, IceModelVec.end_access(), IceModelVec2S.get_array(), IceModel.grid, MASK_FLOATING, IceGrid.Mx, IceGrid.My, IceGrid.rank, Timeseries.read(), secpera, Timeseries.set_units(), IceModelVec.v, IceModelVec2Mask.value(), IceModel.vel_bar, verbPrintf(), IceModel.vLatitude, IceModel.vLongitude, IceModel.vMask, IceGrid.xm, IceGrid.xs, IceGrid.ym, and IceGrid.ys.
Referenced by finishROSS().
| PetscErrorCode set_vars_from_options | ( | ) | [virtual] |
Sets starting values of model state variables using command-line options.
Sets starting values of model state variables using command-line options and (possibly) a bootstrapping file.
In the base class there is only one case: bootstrapping.
Reimplemented from IceModel.
Definition at line 115 of file iceROSSModel.cc.
References IceGrid.com, fillinTemps(), IceModel.grid, and verbPrintf().
IceModelVec2S obsAccurate [private] |
Definition at line 37 of file iceROSSModel.hh.
Referenced by computeErrorsInAccurateRegion(), createVecs(), and readObservedVels().
IceModelVec2S obsAzimuth [private] |
Definition at line 37 of file iceROSSModel.hh.
Referenced by computeErrorsInAccurateRegion(), createVecs(), and readObservedVels().
IceModelVec2S obsMagnitude [private] |
Definition at line 37 of file iceROSSModel.hh.
Referenced by computeErrorsInAccurateRegion(), createVecs(), and readObservedVels().
1.6.2-20100124