pad=1)

m_elev[np.where(m_elev > 10)] = 10.0
### 3.) make a resistivity model that incoorporates topography
mod_elev, elev_nodes_z = modem.make_elevation_model(m_elev,
                                                    m_obj.nodes_z,
                                                    elevation_cell=elev_cell)

### 4.) write new model file
m_obj.nodes_z = elev_nodes_z
m_obj.res_model = mod_elev
m_obj.write_model_file(save_path=sv_path,
                       model_fn_basename='sm_hydro_topography.rho')

#write new data file
n_dfn = modem.change_data_elevation(d_obj.data_fn, m_obj.model_fn)

# write covariance file
cov = modem.Covariance()
#cov.grid_dimensions = m_obj.res_model.shape
#cov.mask_arr = np.ones_like(m_obj.res_model)
#cov.mask_arr[np.where(m_obj.res_model > 1e10)] = 0
cov.smoothing_east = 0.4
cov.smoothing_north = 0.4
cov.smoothing_z = 0.4
cov.save_path = sv_path
cov.write_covariance_file(model_fn=m_obj.model_fn)

#m_obj.write_vtk_file()
#d_obj.write_vtk_station_file()
mod_obj.n_layers = 40
mod_obj.z_target_depth = 40000.0

mod_obj.make_mesh()
mod_obj.plot_mesh()

mod_obj.write_model_file(
    model_fn=os.path.join(save_path, r"mshs_modem_sm.rho"))

inv_period_list = np.logspace(-np.log10(625.0), 3, num=23)
data_obj = modem.Data(
    edi_list=s_edi_list,
    station_locations=mod_obj.station_locations,
    period_list=inv_period_list,
)
data_obj.error_type = "egbert"
data_obj.error_egbert = 10.0
data_obj.error_tipper = 0.05
data_obj.get_mt_dict()
data_obj._fill_data_array()
data_obj.data_array["elev"][:] = 0.0
data_obj.write_data_file(save_path=save_path,
                         fn_basename="mshs_modem_data_err10_old.dat")

cov = modem.Covariance(grid_dimensions=mod_obj.res_model.shape)
cov.smoothing_east = 0.4
cov.smoothing_north = 0.4
cov.smoothing_z = 0.4

cov.write_covariance_file(os.path.join(save_path, "covariance_old.cov"))