|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
Interface between ERF and land-surface and urban models. More...
#include <ERF_SurfaceModel.H>

Classes | |
| struct | Field |
| Describes a registered land/urban field mapping. More... | |
| struct | RadiationField |
Public Member Functions | |
| SurfaceModel (int nlevs, const amrex::Vector< amrex::BoxArray > &ba, const amrex::Vector< amrex::Geometry > &geom, const amrex::Vector< amrex::DistributionMapping > &dm, const SolverChoice &, amrex::Vector< amrex::Vector< std::unique_ptr< amrex::iMultiFab >>> &) | |
| Constructs a surface-model interface for the supplied AMR levels. More... | |
| void | initialize_for_level (int lev, const amrex::BoxArray &ba, const amrex::Geometry &geom, const amrex::DistributionMapping &dm, const amrex::Vector< std::unique_ptr< amrex::iMultiFab >> &lmask_lev, const amrex::Vector< amrex::BCRec > &domain_bcs_type, const amrex::Vector< amrex::IntVect > &refRatio) |
| Initializes storage and boundary data for an AMR level. More... | |
| void | set_model_data (const int lev, const amrex::Vector< amrex::MultiFab * > model_data, const amrex::Vector< std::string > &data_names, SurfaceModelType type) |
| Registers model variables used in weighted averaging. More... | |
| void | set_model_fluxes (const int lev, const amrex::Vector< amrex::MultiFab * > model_fluxes, const amrex::Vector< std::string > &flux_names, SurfaceModelType type) |
| Registers model fluxes as additional weighted-average inputs. More... | |
| void | set_model_fields (SurfaceModelType type, const amrex::Vector< int > &field_indices, const bool use_fluxes=true) |
| Selects the model fields that participate in weighted averaging. More... | |
| void | apply_weight_average (int lev, const amrex::MultiFab *lsm_data, amrex::MultiFab *lsm_weighted, const amrex::MultiFab *urban_data, amrex::MultiFab *urban_weighted) |
| Applies land and urban weights into separate output fields. More... | |
| void | calculate_weight_average (int lev, amrex::MultiFab *const urban_frac, bool update_derived=true) |
| Computes land and urban weights and applies them to registered fields. More... | |
| bool | are_fluxes () |
| Returns whether the interface exports fluxes rather than MOST variables. More... | |
| void | request_surface_outputs (const bool persistent=true) |
| Enables and materializes the surface outputs consumed by ERF. More... | |
| void | request_surface_layer_outputs () |
| Enables blended surface outputs needed by the SurfaceLayer. More... | |
| void | mark_fields_valid () |
| Marks the registered surface fields as filled by an actual model advance. More... | |
| bool | fields_are_valid () const |
| Returns whether the surface models have advanced at least once. More... | |
| amrex::MultiFab * | get_ustar (const int &lev) |
| Returns the weighted horizontal momentum output for a level. More... | |
| amrex::MultiFab * | get_tstar (const int &lev) |
| Returns the weighted thermal output for a level. More... | |
| amrex::MultiFab * | get_qstar (const int &lev) |
| Returns the weighted moisture output for a level. More... | |
| amrex::MultiFab * | get_tsurf (const int &lev) |
| Returns the weighted surface-temperature output for a level. More... | |
| SurfaceFluxView | get_surface_flux_view (const int lev, const amrex::MFIter &mfi) const |
| Returns provider or blended surface-flux views for one tile. More... | |
| const amrex::MultiFab * | get_weighted_model_data (const int lev, SurfaceModelType type, const int field_idx) const |
| Returns weighted data for a selected model field. More... | |
| amrex::MultiFab * | get_wavg_factors (const int &lev) |
| Returns the land and urban weighting factors for a level. More... | |
| void | activate_all_field_maps (const bool persistent=true) |
| Activates all registered mapped fields for an output consumer. More... | |
| void | write_output (const int &finest_lev, const amrex::Real &time, const std::string &plot_prefix, const amrex::Vector< int > &level_steps, const amrex::Vector< amrex::IntVect > &ref_ratio) |
| Writes registered surface-model fields to plotfile output. More... | |
| void | register_field_map (std::string name, const std::pair< int, int > &lsm_urb_map, bool fill_boundary=false) |
| Registers a field map using land and urban field indices. More... | |
| void | register_field_map (std::string name, amrex::Vector< amrex::MultiFab * > &lsm_lev_mf, amrex::Vector< amrex::MultiFab * > &urb_lev_mf, bool fill_boundary=false) |
| Registers a field map using per-level land and urban pointers. More... | |
| void | set_field_map_pointers (const std::string &name, int lev, amrex::MultiFab *lsm_mf, amrex::MultiFab *urban_mf) |
| Updates a pointer-based field mapping for one level. More... | |
| void | register_radiation_input (const std::string &name, const std::pair< int, int > &lsm_urb_map) |
| Registers a canonical radiation input mapping. More... | |
| void | register_radiation_inputs (const std::unordered_map< std::string, std::pair< int, int >> &input_map) |
| Registers canonical radiation input mappings. More... | |
| void | register_radiation_output (const std::string &name, const std::pair< int, int > &lsm_urb_map) |
| Registers a canonical radiation output mapping. More... | |
| void | register_radiation_outputs (const std::unordered_map< std::string, std::pair< int, int >> &output_map) |
| Registers canonical radiation output mappings. More... | |
| amrex::MultiFab * | get_field (const std::string &name, int lev=0) |
| Retrieves a registered field by its common name. More... | |
| const amrex::Vector< const amrex::MultiFab * > | get_radiation_fields (int lev=0) |
| Returns fields registered under the RRTMGP radiation names. More... | |
| const amrex::Vector< amrex::MultiFab * > | get_radiation_output_fields (int lev=0) |
| Returns canonical radiation output destinations for one level. More... | |
| amrex::MultiFab * | get_radiation_output_field (int lev, const std::string &name) |
| Returns the destination of one canonical radiation output by name. More... | |
| void | distribute_radiation_outputs (int lev) |
| Distributes updated canonical radiation outputs to other providers. More... | |
| void | distribute_radiation_output (int lev, int output_index) |
| Distributes one updated canonical radiation output to other providers. More... | |
| void | WriteCheckpoint (const std::string &checkpointname) |
| Writes surface-model state to a checkpoint file. More... | |
| void | ReadCheckpoint (const std::string &checkpointname) |
| Restores surface-model state from a checkpoint file. More... | |
| void | validate_radiation_output_layout (int lev, const amrex::MultiFab *mf) const |
| Validates the layout contract for a canonical radiation output. More... | |
| void | calculate_simple_average (int lev, amrex::MultiFab *const urban_frac) |
| Computes simple land and urban weights from the urban fraction. More... | |
| void | build_radiation_fieldlist (int lev) |
| Builds the ordered radiation-field list for one AMR level. More... | |
| void | weight_average_fields (int lev, amrex::MultiFab *const) |
| Applies the current land and urban weights to selected model fields. More... | |
| void | activate_field_map (const std::string &name, const bool persistent=true) |
| Activates a mapped field and allocates its storage on all levels. More... | |
| void | deactivate_transient_field_maps () |
| Disables and releases mapped fields used only by the last output. More... | |
| bool | is_field_mapped (int lev, SurfaceModelType type, int field_idx, const amrex::MultiFab *mf) const |
| Checks whether a model field participates in a registered mapping. More... | |
| void | weight_model_field (int lev, const amrex::MultiFab *source, amrex::MultiFab *weighted, SurfaceModelType type) |
| Writes a weighted copy of a model field. More... | |
Static Public Member Functions | |
| static void | GotoNextLine (std::istream &is) |
| Advances an input stream to the next line. More... | |
Private Member Functions | |
| void | update_provider_mode (const int lev) |
| Updates the provider mode after model data are registered. More... | |
| void | ensure_weight_factors (const int lev) |
| Creates weighting factors when an external caller requests them. More... | |
| void | ensure_surface_outputs (const int lev) |
| Allocates surface-output fields for one level. More... | |
| void | release_transient_surface_outputs () |
| Releases surface outputs that have no persistent consumer. More... | |
Private Attributes | |
| int | m_nlevs |
| bool | m_use_urban = false |
| bool | m_use_land = false |
| bool | m_export_fluxes = true |
| bool | m_export_fluxes_set = false |
| amrex::GpuArray< bool, 2 > | m_output_fields_registered {{false, false}} |
| bool | m_fields_are_valid = false |
| bool | m_weights_updated = false |
| amrex::Vector< SurfaceProviderMode > | m_provider_mode |
| amrex::Vector< amrex::BoxArray > | m_ba |
| amrex::Vector< amrex::BoxArray > | m_ba2d |
| amrex::Vector< amrex::Geometry > | m_geom |
| amrex::Vector< amrex::DistributionMapping > | m_dmap |
| amrex::Vector< amrex::Geometry > | m_geom2d |
| amrex::Vector< amrex::iMultiFab * > | m_lmask |
| amrex::Vector< amrex::MultiFab * > | urban_frac_lev |
| amrex::Vector< amrex::Vector< amrex::MultiFab * > > | lsm_data_lev |
| amrex::Vector< amrex::Vector< amrex::MultiFab * > > | urban_data_lev |
| amrex::Vector< amrex::Vector< std::unique_ptr< amrex::MultiFab > > > | weighted_lsm_data_lev |
| amrex::Vector< amrex::Vector< std::unique_ptr< amrex::MultiFab > > > | weighted_urban_data_lev |
| amrex::Vector< std::unique_ptr< amrex::MultiFab > > | u_star |
| amrex::Vector< std::unique_ptr< amrex::MultiFab > > | t_star |
| amrex::Vector< std::unique_ptr< amrex::MultiFab > > | q_star |
| amrex::Vector< std::unique_ptr< amrex::MultiFab > > | t_surf |
| amrex::Vector< int > | m_surface_outputs_requested |
| bool | m_surface_outputs_enabled = false |
| bool | m_surface_layer_outputs_enabled = false |
| amrex::Vector< amrex::MultiFab * > | m_last_urban_frac |
| amrex::Vector< std::unique_ptr< amrex::MultiFab > > | wavg |
| amrex::Vector< int > | lsm_fields |
| amrex::Vector< int > | urban_fields |
| amrex::Vector< amrex::Vector< std::unique_ptr< amrex::MultiFab > > > | fields |
| std::unordered_map< std::string, Field > | fieldmap |
| amrex::Vector< std::string > | m_lsm_names |
| amrex::Vector< std::string > | m_urban_names |
| amrex::Vector< amrex::Vector< const amrex::MultiFab * > > | rad_fields |
| amrex::Vector< amrex::Vector< amrex::MultiFab * > > | rad_output_fields |
| std::unordered_map< std::string, RadiationField > | radiation_input_map |
| std::unordered_map< std::string, RadiationField > | radiation_output_map |
Static Private Attributes | |
| static const std::vector< std::string > | radnames = {"tskin", "emiss", "albedo_vis", "albedo_nir", "albedo_vis_diff", "albedo_nir_diff"} |
| static const std::vector< std::string > | rad_output_names |
| static const std::vector< std::string > | field_names |
Interface between ERF and land-surface and urban models.
SurfaceModel collects data and fluxes from the LSM and urban models, performs the land-urban weight averaging and exposes the resulting fields for use by ERF boundary-condition and physics components.
Models may register data and mappings independently, without requiring a fixed ordering or one-to-one correspondence between their fields.
Model-specific field names can also be registered under a common name for consumers such as RRTMGP and MOST.
This class supports its own checkpoint state, ensuring the mappings are restored correctly on restart. This class also provides a surface plotfile for weight-averaged model data for the fields registered.
|
inlineexplicit |
Constructs a surface-model interface for the supplied AMR levels.
| nlevs | Number of AMR levels initially available. |
| ba | Cell-centered box arrays for each level. |
| geom | Geometry for each level. |
| dm | Distribution mappings for each level. |
| solverChoice | ERF solver configuration. |
| lmask_lev | Land-mask data for each level. |
| void SurfaceModel::activate_all_field_maps | ( | const bool | persistent = true | ) |
Activates all registered mapped fields for an output consumer.
| void SurfaceModel::activate_field_map | ( | const std::string & | name, |
| const bool | persistent = true |
||
| ) |
Activates a mapped field and allocates its storage on all levels.
| name | Common mapped field name. |
Referenced by get_field(), and initialize_for_level().

| void SurfaceModel::apply_weight_average | ( | int | lev, |
| const amrex::MultiFab * | lsm_data, | ||
| amrex::MultiFab * | lsm_weighted, | ||
| const amrex::MultiFab * | urban_data, | ||
| amrex::MultiFab * | urban_weighted | ||
| ) |
Applies land and urban weights into separate output fields.
A null land or urban source is skipped, but both sources cannot be null. The source fields are not modified and the fields may use different underlying grids.
| lev | AMR level whose weights are used. |
| lsm_data | Land-model source data to weight. |
| lsm_weighted | Destination for weighted land data. |
| urban_data | Urban-model source data to weight. |
| urban_weighted | Destination for weighted urban data. |

|
inline |
Returns whether the interface exports fluxes rather than MOST variables.
|
inline |
Builds the ordered radiation-field list for one AMR level.
| lev | AMR level to update. |
Referenced by get_radiation_fields().


| void SurfaceModel::calculate_simple_average | ( | int | lev, |
| amrex::MultiFab *const | urban_frac | ||
| ) |
Computes simple land and urban weights from the urban fraction.
| lev | AMR level to update. |
| urban_frac | Urban fraction used to compute the weights. |

| void SurfaceModel::calculate_weight_average | ( | int | lev, |
| amrex::MultiFab *const | urban_frac, | ||
| bool | update_derived = true |
||
| ) |
Computes land and urban weights and applies them to registered fields.
| lev | AMR level to update. |
| urban_frac | Urban fraction used to compute the weights. |

| void SurfaceModel::deactivate_transient_field_maps | ( | ) |
Disables and releases mapped fields used only by the last output.
| void SurfaceModel::distribute_radiation_output | ( | int | lev, |
| int | output_index | ||
| ) |
Distributes one updated canonical radiation output to other providers.
| lev | AMR level to update. |
| output_index | Index in the canonical radiation output list. |

| void SurfaceModel::distribute_radiation_outputs | ( | int | lev | ) |
Distributes updated canonical radiation outputs to other providers.
| lev | AMR level to update. |
|
inlineprivate |
Allocates surface-output fields for one level.
| lev | AMR level whose outputs should be materialized. |
Referenced by initialize_for_level(), request_surface_layer_outputs(), request_surface_outputs(), and update_provider_mode().

|
inlineprivate |
Creates weighting factors when an external caller requests them.
| lev | AMR level whose weighting factors should be materialized. |
Referenced by get_wavg_factors(), and update_provider_mode().

|
inline |
Returns whether the surface models have advanced at least once.
|
inline |
Retrieves a registered field by its common name.
| name | Registered field name. |
| lev | AMR level to query. |

|
inline |
Returns the weighted moisture output for a level.
| lev | AMR level to query. |
|
inline |
Returns fields registered under the RRTMGP radiation names.
The resulting map is cached after the first call for reuse on subsequent timesteps. When an expected field is missing, it is marked nullptr for the RRTMGP implementation to apply its fallback values.
| lev | AMR level to query. |

| MultiFab * SurfaceModel::get_radiation_output_field | ( | int | lev, |
| const std::string & | name | ||
| ) |
Returns the destination of one canonical radiation output by name.
| lev | AMR level to query. |
| name | Canonical radiation output name (aborts on an unknown name). |

| const Vector< MultiFab * > SurfaceModel::get_radiation_output_fields | ( | int | lev = 0 | ) |
Returns canonical radiation output destinations for one level.
| lev | AMR level to query. |
|
inline |
Returns provider or blended surface-flux views for one tile.
| lev | AMR level to query. |
| mfi | Tile whose flux arrays are requested. |

|
inline |
Returns the weighted thermal output for a level.
| lev | AMR level to query. |
|
inline |
Returns the weighted surface-temperature output for a level.
| lev | AMR level to query. |
|
inline |
Returns the weighted horizontal momentum output for a level.
| lev | AMR level to query. |
|
inline |
Returns the land and urban weighting factors for a level.
| lev | AMR level to query. |

|
inline |
Returns weighted data for a selected model field.
| lev | AMR level to query. |
| type | Provider type owning the field. |
| field_idx | Provider field index. |
|
static |
|
inline |
Initializes storage and boundary data for an AMR level.
Existing coarser-level data are interpolated when a finer level is initialized.
| lev | AMR level to initialize. |
| ba | Cell-centered box array for the level. |
| geom | Geometry for the level. |
| dm | Distribution mapping for the level. |
| lmask_lev | Land-mask data used by the level. |
| domain_bcs_type | Boundary conditions for interpolation. |
| refRatio | Refinement ratios between adjacent levels. |

| bool SurfaceModel::is_field_mapped | ( | int | lev, |
| SurfaceModelType | type, | ||
| int | field_idx, | ||
| const amrex::MultiFab * | mf | ||
| ) | const |
Checks whether a model field participates in a registered mapping.
| lev | AMR level to query. |
| type | Land or urban model owning the field. |
| field_idx | Index of the model field. |
| mf | Field pointer to test. |

|
inline |
Marks the registered surface fields as filled by an actual model advance.
| void SurfaceModel::ReadCheckpoint | ( | const std::string & | checkpointname | ) |
Restores surface-model state from a checkpoint file.
| checkpointname | Checkpoint file name. |
| void SurfaceModel::register_field_map | ( | std::string | name, |
| amrex::Vector< amrex::MultiFab * > & | lsm_lev_mf, | ||
| amrex::Vector< amrex::MultiFab * > & | urb_lev_mf, | ||
| bool | fill_boundary = false |
||
| ) |
Registers a field map using per-level land and urban pointers.
| name | Common name used to retrieve the mapped field. |
| lsm_lev_mf | Land-model fields, indexed by AMR level. |
| urb_lev_mf | Urban-model fields, indexed by AMR level. |
| fill_boundary | Whether to fill mapped-field boundaries. |

| void SurfaceModel::register_field_map | ( | std::string | name, |
| const std::pair< int, int > & | lsm_urb_map, | ||
| bool | fill_boundary = false |
||
| ) |
Registers a field map using land and urban field indices.
| name | Common name used to retrieve the mapped field. |
| lsm_urb_map | Pair of land and urban field indices. |
| fill_boundary | Whether to fill mapped-field boundaries. |

| void SurfaceModel::register_radiation_input | ( | const std::string & | name, |
| const std::pair< int, int > & | lsm_urb_map | ||
| ) |
Registers a canonical radiation input mapping.
| name | Canonical radiation input name. |
| lsm_urb_map | Pair of land and urban model field indices. |

| void SurfaceModel::register_radiation_inputs | ( | const std::unordered_map< std::string, std::pair< int, int >> & | input_map | ) |
Registers canonical radiation input mappings.
| input_map | Canonical names mapped to land and urban indices. |
| void SurfaceModel::register_radiation_output | ( | const std::string & | name, |
| const std::pair< int, int > & | lsm_urb_map | ||
| ) |
Registers a canonical radiation output mapping.
| name | Canonical radiation output name. |
| lsm_urb_map | Pair of land and urban model field indices. |

| void SurfaceModel::register_radiation_outputs | ( | const std::unordered_map< std::string, std::pair< int, int >> & | output_map | ) |
Registers canonical radiation output mappings.
| output_map | Canonical names mapped to land and urban indices. |
|
inlineprivate |
Releases surface outputs that have no persistent consumer.
|
inline |
Enables blended surface outputs needed by the SurfaceLayer.

|
inline |
Enables and materializes the surface outputs consumed by ERF.

| void SurfaceModel::set_field_map_pointers | ( | const std::string & | name, |
| int | lev, | ||
| amrex::MultiFab * | lsm_mf, | ||
| amrex::MultiFab * | urban_mf | ||
| ) |
Updates a pointer-based field mapping for one level.
| name | Common name of the mapped field. |
| lev | AMR level to update. |
| lsm_mf | Land-model field pointer, or nullptr. |
| urban_mf | Urban-model field pointer, or nullptr. |

|
inline |
Registers model variables used in weighted averaging.
| lev | AMR level associated with the data. |
| model_data | Pointers to the model variables. |
| data_names | Names corresponding to model_data. |
| type | Whether the data belong to the land or urban model. |

|
inline |
Selects the model fields that participate in weighted averaging.
When using fluxes, the first five elements map to u-stress, v-stress, heat flux, vapor flux, and surface temperature. Otherwise, the first four elements map to ustar, tstar, qstar, and surface temperature. A field index of -1 skips that field.
| type | Whether the fields belong to the land or urban model. |
| field_indices | Indices of the fields to average. |
| use_fluxes | Whether the selected fields are fluxes. |

|
inline |
Registers model fluxes as additional weighted-average inputs.
| lev | AMR level associated with the fluxes. |
| model_fluxes | Pointers to the model flux fields. |
| flux_names | Names corresponding to model_fluxes. |
| type | Whether the fluxes belong to the land or urban model. |

|
inlineprivate |
Updates the provider mode after model data are registered.
| lev | AMR level whose provider mode should be updated. |
Referenced by set_model_data().


| void SurfaceModel::validate_radiation_output_layout | ( | int | lev, |
| const amrex::MultiFab * | mf | ||
| ) | const |
Validates the layout contract for a canonical radiation output.
| lev | AMR level associated with the destination. |
| mf | Radiation output destination to validate. |

| void SurfaceModel::weight_average_fields | ( | int | lev, |
| amrex::MultiFab * const | |||
| ) |
Applies the current land and urban weights to selected model fields.
| lev | AMR level to update. |
| urban_frac | Urban fraction used to compute the weights. |

| void SurfaceModel::weight_model_field | ( | int | lev, |
| const amrex::MultiFab * | source, | ||
| amrex::MultiFab * | weighted, | ||
| SurfaceModelType | type | ||
| ) |
Writes a weighted copy of a model field.
| lev | AMR level whose weights are used. |
| source | Model-owned source field. |
| weighted | SurfaceModel-owned destination field. |
| type | Provider type owning the source field. |

| void SurfaceModel::write_output | ( | const int & | finest_lev, |
| const amrex::Real & | time, | ||
| const std::string & | plot_prefix, | ||
| const amrex::Vector< int > & | level_steps, | ||
| const amrex::Vector< amrex::IntVect > & | ref_ratio | ||
| ) |
Writes registered surface-model fields to plotfile output.
| finest_lev | Finest AMR level to write. |
| time | Simulation time associated with the output. |
| plot_prefix | Output plotfile prefix. |
| level_steps | Number of steps represented at each level. |
| ref_ratio | Refinement ratios between adjacent levels. |

| void SurfaceModel::WriteCheckpoint | ( | const std::string & | checkpointname | ) |
Writes surface-model state to a checkpoint file.
| checkpointname | Checkpoint file name. |
|
inlinestaticprivate |
|
private |
Referenced by get_field(), and initialize_for_level().
|
private |
Referenced by get_field(), and initialize_for_level().
|
private |
|
private |
Referenced by get_surface_flux_view(), get_weighted_model_data(), set_model_fields(), and SurfaceModel().
|
private |
Referenced by initialize_for_level().
|
private |
|
private |
Referenced by build_radiation_fieldlist(), ensure_surface_outputs(), ensure_weight_factors(), and initialize_for_level().
|
private |
Referenced by are_fluxes(), get_surface_flux_view(), get_weighted_model_data(), and set_model_fields().
|
private |
Referenced by set_model_fields().
|
private |
Referenced by fields_are_valid(), and mark_fields_valid().
|
private |
Referenced by build_radiation_fieldlist(), and initialize_for_level().
|
private |
Referenced by initialize_for_level(), and SurfaceModel().
|
private |
Referenced by initialize_for_level(), and SurfaceModel().
|
private |
Referenced by initialize_for_level(), and SurfaceModel().
|
private |
Referenced by set_model_data(), set_model_fields(), and set_model_fluxes().
|
private |
|
private |
Referenced by set_model_fields(), and SurfaceModel().
|
private |
|
private |
Referenced by release_transient_surface_outputs(), request_surface_layer_outputs(), and update_provider_mode().
|
private |
Referenced by initialize_for_level(), release_transient_surface_outputs(), and request_surface_outputs().
|
private |
|
private |
Referenced by set_model_data(), set_model_fields(), and set_model_fluxes().
|
private |
Referenced by set_model_data().
|
private |
Referenced by set_model_data().
|
private |
|
private |
|
private |
Referenced by build_radiation_fieldlist(), get_radiation_fields(), initialize_for_level(), set_model_data(), and SurfaceModel().
|
private |
Referenced by initialize_for_level(), set_model_data(), and SurfaceModel().
|
inlinestaticprivate |
|
private |
Referenced by build_radiation_fieldlist(), initialize_for_level(), and set_model_data().
|
private |
|
inlinestaticprivate |
Referenced by build_radiation_fieldlist().
|
private |
|
private |
Referenced by ensure_surface_outputs(), get_tsurf(), initialize_for_level(), release_transient_surface_outputs(), and SurfaceModel().
|
private |
|
private |
|
private |
Referenced by get_surface_flux_view(), get_weighted_model_data(), set_model_fields(), and SurfaceModel().
|
private |
Referenced by initialize_for_level(), and SurfaceModel().
|
private |
|
private |
Referenced by get_weighted_model_data(), initialize_for_level(), set_model_data(), set_model_fields(), and SurfaceModel().
|
private |
Referenced by get_weighted_model_data(), initialize_for_level(), set_model_data(), set_model_fields(), and SurfaceModel().