Go to the source code of this file.
|
void | ReadCustomBinaryIC (const std::string filename, amrex::Vector< amrex::Real > &latvec_h, amrex::Vector< amrex::Real > &lonvec_h, 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 > & |
latvec_h, |
|
|
amrex::Vector< amrex::Real > & |
lonvec_h, |
|
|
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 |
27 int nx, ny, nz, ndata;
31 std::ifstream infile(filename, std::ios::binary);
33 std::cerr <<
"Error: Could not open file " << filename << std::endl;
37 infile.read(
reinterpret_cast<char*
>(&nx),
sizeof(
int));
38 infile.read(
reinterpret_cast<char*
>(&ny),
sizeof(
int));
39 infile.read(
reinterpret_cast<char*
>(&nz),
sizeof(
int));
40 infile.read(
reinterpret_cast<char*
>(&ndata),
sizeof(
int));
42 for(
int i=0; i<nx*ny; i++) {
43 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
44 latvec_h.emplace_back(value);
47 for(
int i=0; i<nx*ny; i++) {
48 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
49 lonvec_h.emplace_back(value);
52 for(
int i=0; i<nx; i++) {
53 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
54 xvec_h.emplace_back(value);
57 for(
int j=0; j<ny; j++) {
58 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
59 yvec_h.emplace_back(value);
62 for(
int k=0; k<nz; k++) {
63 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
64 zvec_h.emplace_back(value);
67 amrex::Vector<amrex::Real>* data_h =
nullptr;
70 for(
int idx=0; idx<ndata; idx++){
88 for(
int k=0; k<nz; k++) {
89 for(
int j=0; j<ny; j++) {
90 for(
int i=0; i<nx; i++) {
91 infile.read(
reinterpret_cast<char*
>(&value),
sizeof(
float));
92 data_h->emplace_back(value);
Referenced by ERF::CreateWeatherDataGeomBoxArrayDistMap(), and ERF::FillWeatherDataMultiFab().