129 const mio::DEMObject& dem_in,
130 const mio::Grid2DObject& landuse_in,
const std::vector<mio::Coords>& vec_pts,
131 const mio::Date& startTime,
const std::string& grids_requirements,
const bool is_restart_in);
149 void assimilate(
const mio::Grid2DObject& daData,
const mio::Date& timestamp);
150 void setSnowMassChange(
const mio::Grid2DObject& new_mns,
const mio::Date& timestamp);
151 void setMeteo(
const mio::Grid2DObject& new_psum,
152 const mio::Grid2DObject& new_psum_ph,
153 const mio::Grid2DObject& new_vw,
154 const mio::Grid2DObject& new_dw,
155 const mio::Grid2DObject& new_rh,
156 const mio::Grid2DObject& new_ta,
157 const mio::Date& timestamp);
159 const mio::Array2D<double>& longwave,
160 const mio::Array2D<double>& diff,
161 const mio::Array2D<double>& terrain_shortwave_in,
162 const mio::Array2D<double>& terrain_longwave_in,
163 const double& solarElevation,
164 const mio::Date& timestamp);
170 static const std::vector<std::string> grids_not_computed_in_worker;
171 std::string getGridsRequirements()
const;
172 mio::Config readAndTweakConfig(
const mio::Config& io_cfg,
const bool have_pts);
173 bool do_grid_output(
const mio::Date &date)
const;
174 void setInitGlacierThickness();
175 SN_SNOWSOIL_DATA getIcePixel(
const double glacier_thickness,
const std::stringstream& GRID_sno,
const bool seaIce);
176 void readInitalSnowCover(std::vector<SnowStation*>& snow_stations,
177 std::vector<std::pair<size_t,size_t> >& snow_stations_coord);
178 void readSnowCover(
const std::string& GRID_sno,
const std::string& LUS_sno,
const bool& is_special_point,
179 SN_SNOWSOIL_DATA &sno, ZwischenData &zwischenData,
const bool& read_seaice);
180 void writeSnowCover(
const mio::Date& date,
const std::vector<SnowStation*>& snow_station);
182 void write_SMET_header(
const mio::StationData& meta,
const double& landuse_code)
const;
183 void write_SMET(
const CurrentMeteo& met,
const mio::StationData& meta,
const SurfaceFluxes& surf)
const;
184 void writeOutputSpecialPoints(
const mio::Date& date,
const std::vector<SnowStation*>& snow_pixel,
const std::vector<CurrentMeteo*>& meteo_pixel,
185 const std::vector<SurfaceFluxes*>& surface_flux);
186 void write_special_points();
187 void calcLateralFlow();
188 void redistributeLateralWaterFlux(
int ixd,
int iyd,
const std::vector<std::pair<size_t, size_t>>& coords,
const std::vector<SnowStation*>& snow_pixel, SnowStation* sp,
double tmp_dist,
double f);
195 std::vector< std::pair<size_t,size_t> > pts;
197 const mio::DEMObject dem;
198 mio::DEMObject omp_dem;
201 bool is_restart, useCanopy, enable_lateral_flow, a3d_view;
203 std::string station_name;
204 bool glacier_katabatic_flow, snow_production, snow_grooming;
206 std::vector<std::string> Tsoil_idx;
207 std::vector<std::string> soil_runoff_idx;
208 double grids_start, grids_days_between;
209 double ts_start, ts_days_between;
210 double prof_start, prof_days_between;
211 bool grids_write, ts_write, prof_write, snow_write, write_poi_meteo, snow_poi_written, glacier_from_grid;
212 std::string meteo_outpath;
216 mio::Grid2DObject maskGlacier;
219 SnowpackConfig sn_cfg;
221 SnowpackIO snowpackIO;
224 size_t mpi_offset, mpi_nx;
225 mio::Grid2DObject landuse, omp_landuse;
227 mio::Grid2DObject mns, shortwave, longwave, diffuse, terrain_shortwave, terrain_longwave;
228 mio::Grid2DObject psum, psum_ph, psum_tech, grooming, vw, dw, rh, ta, init_glaciers_thickness;
229 double solarElevation;
231 std::vector<std::string> output_grids;
232 std::vector<SnowpackInterfaceWorker*> workers;
233 std::vector<size_t> worker_startx;
234 std::vector<size_t> worker_deltax;
235 std::vector<std::vector<std::pair<size_t,size_t> > > worker_stations_coord;
238 mio::Date nextStepTimestamp;
241 bool dataMeteo2D, dataDa, dataSnowDrift, dataRadiation;
void setRadiationComponents(const mio::Array2D< double > &shortw, const mio::Array2D< double > &longwave, const mio::Array2D< double > &diff, const mio::Array2D< double > &terrain_shortwave_in, const mio::Array2D< double > &terrain_longwave_in, const double &solarElevation, const mio::Date ×tamp)
get values from Energy Balance
Definition SnowpackInterface.cc:726
void setMeteo(const mio::Grid2DObject &new_psum, const mio::Grid2DObject &new_psum_ph, const mio::Grid2DObject &new_vw, const mio::Grid2DObject &new_dw, const mio::Grid2DObject &new_rh, const mio::Grid2DObject &new_ta, const mio::Date ×tamp)
get Meteo changes from AlpineControl or SnowDrift module
Definition SnowpackInterface.cc:680