Go to the source code of this file.
|
void | ReadCustomBinaryIC (const std::string filename, amrex::Vector< amrex::Real > &xvec_h, amrex::Vector< amrex::Real > &yvec_h, amrex::Vector< amrex::Real > &zvec_h, amrex::Vector< amrex::Real > &rho_h, amrex::Vector< amrex::Real > &uvel_h, amrex::Vector< amrex::Real > &vvel_h, amrex::Vector< amrex::Real > &wvel_h, amrex::Vector< amrex::Real > &theta_h, amrex::Vector< amrex::Real > &qv_h, amrex::Vector< amrex::Real > &qc_h, amrex::Vector< amrex::Real > &qr_h) |
|
◆ ReadCustomBinaryIC()
void ReadCustomBinaryIC |
( |
const std::string |
filename, |
|
|
amrex::Vector< amrex::Real > & |
xvec_h, |
|
|
amrex::Vector< amrex::Real > & |
yvec_h, |
|
|
amrex::Vector< amrex::Real > & |
zvec_h, |
|
|
amrex::Vector< amrex::Real > & |
rho_h, |
|
|
amrex::Vector< amrex::Real > & |
uvel_h, |
|
|
amrex::Vector< amrex::Real > & |
vvel_h, |
|
|
amrex::Vector< amrex::Real > & |
wvel_h, |
|
|
amrex::Vector< amrex::Real > & |
theta_h, |
|
|
amrex::Vector< amrex::Real > & |
qv_h, |
|
|
amrex::Vector< amrex::Real > & |
qc_h, |
|
|
amrex::Vector< amrex::Real > & |
qr_h |
|
) |
| |
|
inline |
25 int nx, ny, nz, ndata;
29 std::ifstream infile(filename, std::ios::binary);
31 std::cerr <<
"Error: Could not open file " << filename << std::endl;
35 infile.read(
reinterpret_cast<char*
>(&nx),
sizeof(
int));
36 infile.read(
reinterpret_cast<char*
>(&ny),
sizeof(
int));
37 infile.read(
reinterpret_cast<char*
>(&nz),
sizeof(
int));
38 infile.read(
reinterpret_cast<char*
>(&ndata),
sizeof(
int));
40 for(
int i=0; i<nx; i++) {
41 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
42 xvec_h.emplace_back(value);
45 for(
int j=0; j<ny; j++) {
46 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
47 yvec_h.emplace_back(value);
50 for(
int k=0; k<nz; k++) {
51 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
52 zvec_h.emplace_back(value);
55 amrex::Vector<amrex::Real>* data_h =
nullptr;
58 for(
int idx=0; idx<ndata; idx++){
76 for(
int k=0; k<nz; k++) {
77 for(
int j=0; j<ny; j++) {
78 for(
int i=0; i<nx; i++) {
79 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
80 data_h->emplace_back(value);
Referenced by ERF::init_coarse_weather_data().