102 class(VirtualGwtModelType) :: this
103 integer(I4B) :: stage
105 integer(I4B) :: nr_nodes, nr_conns
108 call this%VirtualModelType%prepare_stage(stage)
113 if (stage == stg_aft_mdl_df)
then
115 call this%map(this%dsp_idiffc%base(), (/stg_aft_mdl_df/))
116 call this%map(this%dsp_idisp%base(), (/stg_aft_mdl_df/))
117 call this%map(this%indsp%base(), (/stg_aft_mdl_df/))
118 call this%map(this%inmst%base(), (/stg_aft_mdl_df/))
120 else if (stage == stg_bfr_con_ar)
then
122 nr_nodes = this%element_maps(map_node_type)%nr_virt_elems
123 nr_conns = this%element_maps(map_conn_type)%nr_virt_elems
125 call this%map(this%fmi_igwfspdis%base(), (/stg_bfr_con_ar/))
126 call this%map(this%x%base(), nr_nodes, &
127 (/stg_bfr_con_ar, stg_bfr_exg_ad, stg_bfr_exg_cf/))
128 call this%map(this%ibound%base(), nr_nodes, (/stg_bfr_con_ar/))
130 if (this%dsp_idiffc%get() > 0)
then
131 call this%map(this%dsp_diffc%base(), nr_nodes, (/stg_bfr_con_ar/))
134 if (this%dsp_idisp%get() > 0)
then
135 call this%map(this%dsp_alh%base(), nr_nodes, (/stg_bfr_con_ar/))
136 call this%map(this%dsp_alv%base(), nr_nodes, (/stg_bfr_con_ar/))
137 call this%map(this%dsp_ath1%base(), nr_nodes, (/stg_bfr_con_ar/))
138 call this%map(this%dsp_ath2%base(), nr_nodes, (/stg_bfr_con_ar/))
139 call this%map(this%dsp_atv%base(), nr_nodes, (/stg_bfr_con_ar/))
142 if (this%indsp%get() > 0 .and. this%inmst%get() > 0)
then
143 call this%map(this%mst_thetam%base(), nr_nodes, (/stg_aft_con_ar/))
146 else if (stage == stg_aft_con_ar)
then
148 nr_nodes = this%element_maps(map_node_type)%nr_virt_elems
149 nr_conns = this%element_maps(map_conn_type)%nr_virt_elems
151 call this%map(this%fmi_gwfhead%base(), nr_nodes, (/stg_bfr_exg_ad/))
152 call this%map(this%fmi_gwfsat%base(), nr_nodes, (/stg_bfr_exg_ad/))
153 if (this%fmi_igwfspdis%get() > 0)
then
154 call this%map(this%fmi_gwfspdis%base(), 3, nr_nodes, (/stg_bfr_exg_ad/))
156 call this%map(this%fmi_gwfspdis%base(), 3, 0, (/stg_never/))
158 call this%map(this%fmi_gwfflowja%base(), nr_conns, (/stg_bfr_exg_ad/))