diff --git a/ROMSX_8H_source.html b/ROMSX_8H_source.html index fd39894b..65d395d9 100644 --- a/ROMSX_8H_source.html +++ b/ROMSX_8H_source.html @@ -1134,7 +1134,7 @@
ROMSX::vec_Hvom
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_Hvom
Definition: ROMSX.H:201
ROMSX::solverChoice
static SolverChoice solverChoice
Definition: ROMSX.H:847
ROMSX::stop_time
amrex::Real stop_time
Definition: ROMSX.H:798
-
ROMSX::AverageDownTo
void AverageDownTo(int crse_lev)
Definition: ROMSX.cpp:542
+
ROMSX::AverageDownTo
void AverageDownTo(int crse_lev)
Definition: ROMSX.cpp:545
ROMSX::Evolve
void Evolve()
Definition: ROMSX.cpp:129
ROMSX::vec_Huon
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_Huon
Definition: ROMSX.H:199
ROMSX::last_plot_file_step_2
int last_plot_file_step_2
Definition: ROMSX.H:786
@@ -1164,7 +1164,7 @@
ROMSX::domain_bc_type
amrex::Array< std::string, 2 *AMREX_SPACEDIM > domain_bc_type
Definition: ROMSX.H:777
ROMSX::vec_svstr
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_svstr
Definition: ROMSX.H:238
ROMSX::init_stuff
void init_stuff(int lev, const amrex::BoxArray &ba, const amrex::DistributionMapping &dm)
Definition: ROMSX_make_new_level.cpp:188
-
ROMSX::set_vmix
void set_vmix(int lev)
Definition: ROMSX.cpp:369
+
ROMSX::set_vmix
void set_vmix(int lev)
Definition: ROMSX.cpp:370
ROMSX::ComputeGhostCells
AMREX_FORCE_INLINE int ComputeGhostCells(const int &spatial_order)
Definition: ROMSX.H:917
ROMSX::post_update
void post_update(amrex::MultiFab &state_mf, const amrex::Real time, const amrex::Geometry &geom)
ROMSX::vec_rvfrc
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_rvfrc
Definition: ROMSX.H:209
@@ -1174,11 +1174,11 @@
ROMSX::setPlotVariables
void setPlotVariables(const std::string &pp_plot_var_names, amrex::Vector< std::string > &plot_var_names)
Definition: Plotfile.cpp:9
ROMSX::ClearLevel
virtual void ClearLevel(int lev) override
Definition: ROMSX_make_new_level.cpp:304
ROMSX::set_massflux_3d
void set_massflux_3d(amrex::Array4< amrex::Real > u, amrex::Array4< amrex::Real > Hu, amrex::Array4< amrex::Real > on_u, amrex::Array4< amrex::Real > v, amrex::Array4< amrex::Real > Hv, amrex::Array4< amrex::Real > om_v, amrex::Array4< amrex::Real const > Hz)
Definition: ROMSX_set_massflux_3d.cpp:17
-
ROMSX::AverageDown
void AverageDown()
Definition: ROMSX.cpp:532
+
ROMSX::AverageDown
void AverageDown()
Definition: ROMSX.cpp:535
ROMSX::vec_bvstr
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_bvstr
Definition: ROMSX.H:244
ROMSX::timeStep
void timeStep(int lev, amrex::Real time, int iteration)
Definition: ROMSX_TimeStep.cpp:9
ROMSX::Advance
void Advance(int lev, amrex::Real time, amrex::Real dt_lev, int iteration, int ncycle)
Definition: ROMSX_Advance.cpp:7
-
ROMSX::set_hmixcoef
void set_hmixcoef(int lev)
Definition: ROMSX.cpp:377
+
ROMSX::set_hmixcoef
void set_hmixcoef(int lev)
Definition: ROMSX.cpp:379
ROMSX::mapfac_m
amrex::Vector< std::unique_ptr< amrex::MultiFab > > mapfac_m
Definition: ROMSX.H:761
ROMSX::vec_bustr
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_bustr
Definition: ROMSX.H:242
ROMSX::setup_step
void setup_step(int lev, amrex::Real time, amrex::Real dt_lev)
Definition: ROMSX_setup_step.cpp:7
@@ -1194,7 +1194,7 @@
ROMSX::fine_mask
amrex::MultiFab fine_mask
Definition: ROMSX.H:913
ROMSX::h_havg_density
amrex::Vector< amrex::Real > h_havg_density
Definition: ROMSX.H:895
ROMSX::plot_var_names_1
amrex::Vector< std::string > plot_var_names_1
Definition: ROMSX.H:833
-
ROMSX::set_smflux
void set_smflux(int lev, amrex::Real time)
Definition: ROMSX.cpp:387
+
ROMSX::set_smflux
void set_smflux(int lev, amrex::Real time)
Definition: ROMSX.cpp:390
ROMSX::check_type
std::string check_type
Definition: ROMSX.H:829
ROMSX::nc_init_file
static amrex::Vector< amrex::Vector< std::string > > nc_init_file
Definition: ROMSX.H:870
ROMSX::ReadCheckpointFile
void ReadCheckpointFile()
Definition: Checkpoint.cpp:177
@@ -1248,7 +1248,7 @@
ROMSX::t_new
amrex::Vector< amrex::Real > t_new
Definition: ROMSX.H:753
ROMSX::stretch_transform
void stretch_transform(int lev)
Definition: DepthStretchTransform.H:12
ROMSX::post_timestep
void post_timestep(int nstep, amrex::Real time, amrex::Real dt_lev)
Definition: ROMSX.cpp:212
-
ROMSX::init_only
void init_only(int lev, amrex::Real time)
Definition: ROMSX.cpp:396
+
ROMSX::init_only
void init_only(int lev, amrex::Real time)
Definition: ROMSX.cpp:399
ROMSX::estTimeStep
amrex::Real estTimeStep(int lev) const
Definition: ROMSX_ComputeTimestep.cpp:40
ROMSX::rhs_t_3d
void rhs_t_3d(const amrex::Box &bx, const amrex::Box &gbx, amrex::Array4< amrex::Real > t, amrex::Array4< amrex::Real > tempstore, amrex::Array4< amrex::Real > Huon, amrex::Array4< amrex::Real > Hvom, amrex::Array4< amrex::Real > Hz, amrex::Array4< amrex::Real > oHz, amrex::Array4< amrex::Real > pn, amrex::Array4< amrex::Real > pm, amrex::Array4< amrex::Real > W, amrex::Array4< amrex::Real > FC, int nrhs, int nnew, int N, const amrex::Real dt_lev)
Definition: ROMSX_rhs_t_3d.cpp:28
ROMSX::vec_zeta
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_zeta
Definition: ROMSX.H:265
@@ -1293,7 +1293,7 @@
ROMSX::sst
amrex::Vector< std::unique_ptr< amrex::MultiFab > > sst
Definition: ROMSX.H:765
ROMSX::restart_chkfile
std::string restart_chkfile
Definition: ROMSX.H:801
ROMSX::datalogname
amrex::Vector< std::string > datalogname
Definition: ROMSX.H:995
-
ROMSX::ReadParameters
void ReadParameters()
Definition: ROMSX.cpp:419
+
ROMSX::ReadParameters
void ReadParameters()
Definition: ROMSX.cpp:422
ROMSX::PlotFileVarNames
amrex::Vector< std::string > PlotFileVarNames(amrex::Vector< std::string > plot_var_names) const
Definition: Plotfile.cpp:78
ROMSX::input_bndry_planes
static int input_bndry_planes
Definition: ROMSX.H:893
ROMSX::bndry_output_planes_per
static amrex::Real bndry_output_planes_per
Definition: ROMSX.H:889
diff --git a/classROMSX.html b/classROMSX.html index 3b662f04..c08cd851 100644 --- a/classROMSX.html +++ b/classROMSX.html @@ -715,7 +715,7 @@

amrex::Vector< int > nsubsteps
Definition: ROMSX.H:750
amrex::Vector< amrex::Real > t_old
Definition: ROMSX.H:754
amrex::Vector< amrex::MultiFab * > zvel_old
Definition: ROMSX.H:183
-
void ReadParameters()
Definition: ROMSX.cpp:419
+
void ReadParameters()
Definition: ROMSX.cpp:422
amrex::Vector< amrex::MultiFab * > xvel_old
Definition: ROMSX.H:181
amrex::Vector< amrex::MultiFab * > zvel_new
Definition: ROMSX.H:188
amrex::Vector< amrex::YAFluxRegister * > advflux_reg
Definition: ROMSX.H:768
@@ -2617,13 +2617,13 @@

set covered coarse cells to be the average of overlying fine cells

-
533 {
-
534  for (int lev = finest_level-1; lev >= 0; --lev)
-
535  {
-
536  AverageDownTo(lev);
-
537  }
-
538 }
-
void AverageDownTo(int crse_lev)
Definition: ROMSX.cpp:542
+
536 {
+
537  for (int lev = finest_level-1; lev >= 0; --lev)
+
538  {
+
539  AverageDownTo(lev);
+
540  }
+
541 }
+
void AverageDownTo(int crse_lev)
Definition: ROMSX.cpp:545
@@ -2651,23 +2651,23 @@

more flexible version of AverageDown() that lets you average down across multiple levels

-
543 {
-
544  average_down(*cons_new[crse_lev+1], *cons_new[crse_lev],
-
545  0, cons_new[crse_lev]->nComp(), refRatio(crse_lev));
-
546 
-
547  Array<MultiFab*,AMREX_SPACEDIM> faces_crse;
-
548  Array<MultiFab*,AMREX_SPACEDIM> faces_fine;
-
549  faces_crse[0] = xvel_new[crse_lev];
-
550  faces_crse[1] = yvel_new[crse_lev];
-
551  faces_crse[2] = zvel_new[crse_lev];
-
552 
-
553  faces_fine[0] = xvel_new[crse_lev+1];
-
554  faces_fine[1] = yvel_new[crse_lev+1];
-
555  faces_fine[2] = zvel_new[crse_lev+1];
-
556 
-
557  average_down_faces(GetArrOfConstPtrs(faces_fine), faces_crse,
-
558  refRatio(crse_lev),geom[crse_lev]);
-
559 }
+
546 {
+
547  average_down(*cons_new[crse_lev+1], *cons_new[crse_lev],
+
548  0, cons_new[crse_lev]->nComp(), refRatio(crse_lev));
+
549 
+
550  Array<MultiFab*,AMREX_SPACEDIM> faces_crse;
+
551  Array<MultiFab*,AMREX_SPACEDIM> faces_fine;
+
552  faces_crse[0] = xvel_new[crse_lev];
+
553  faces_crse[1] = yvel_new[crse_lev];
+
554  faces_crse[2] = zvel_new[crse_lev];
+
555 
+
556  faces_fine[0] = xvel_new[crse_lev+1];
+
557  faces_fine[1] = yvel_new[crse_lev+1];
+
558  faces_fine[2] = zvel_new[crse_lev+1];
+
559 
+
560  average_down_faces(GetArrOfConstPtrs(faces_fine), faces_crse,
+
561  refRatio(crse_lev),geom[crse_lev]);
+
562 }
@@ -4371,25 +4371,25 @@

Init (NOT restart or regrid)

-
397 {
-
398  t_new[lev] = time;
-
399  t_old[lev] = time - 1.e200;
-
400 
-
401  cons_new[lev]->setVal(0.0);
-
402  xvel_new[lev]->setVal(0.0);
-
403  yvel_new[lev]->setVal(0.0);
-
404  zvel_new[lev]->setVal(0.0);
-
405 
-
406  if (init_type == "custom") {
-
407  init_custom(lev);
-
408  }
-
409 
-
410  // Ensure that the face-based data are the same on both sides of a periodic domain.
-
411  // The data associated with the lower grid ID is considered the correct value.
-
412  xvel_new[lev]->OverrideSync(geom[lev].periodicity());
-
413  yvel_new[lev]->OverrideSync(geom[lev].periodicity());
-
414  zvel_new[lev]->OverrideSync(geom[lev].periodicity());
-
415 }
+
400 {
+
401  t_new[lev] = time;
+
402  t_old[lev] = time - 1.e200;
+
403 
+
404  cons_new[lev]->setVal(0.0);
+
405  xvel_new[lev]->setVal(0.0);
+
406  yvel_new[lev]->setVal(0.0);
+
407  zvel_new[lev]->setVal(0.0);
+
408 
+
409  if (init_type == "custom") {
+
410  init_custom(lev);
+
411  }
+
412 
+
413  // Ensure that the face-based data are the same on both sides of a periodic domain.
+
414  // The data associated with the lower grid ID is considered the correct value.
+
415  xvel_new[lev]->OverrideSync(geom[lev].periodicity());
+
416  yvel_new[lev]->OverrideSync(geom[lev].periodicity());
+
417  zvel_new[lev]->OverrideSync(geom[lev].periodicity());
+
418 }
void init_custom(int lev)
Definition: ROMSX_init.cpp:13
@@ -4549,9 +4549,9 @@

amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_diff2
Definition: ROMSX.H:219
void set_weights(int lev)
Definition: ROMSX_set_weights.cpp:10
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_svstr
Definition: ROMSX.H:238
-
void set_vmix(int lev)
Definition: ROMSX.cpp:369
+
void set_vmix(int lev)
Definition: ROMSX.cpp:370
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_bvstr
Definition: ROMSX.H:244
-
void set_hmixcoef(int lev)
Definition: ROMSX.cpp:377
+
void set_hmixcoef(int lev)
Definition: ROMSX.cpp:379
amrex::Vector< std::unique_ptr< amrex::MultiFab > > mapfac_m
Definition: ROMSX.H:761
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_bustr
Definition: ROMSX.H:242
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_visc3d_r
Definition: ROMSX.H:272
@@ -4683,10 +4683,10 @@

@ TwoWay
bool is_it_time_for_action(int nstep, amrex::Real time, amrex::Real dt, int action_interval, amrex::Real action_per)
Definition: ROMSX_SumIQ.cpp:143
void sum_integrated_quantities(amrex::Real time)
Definition: ROMSX_SumIQ.cpp:9
-
void AverageDown()
Definition: ROMSX.cpp:532
+
void AverageDown()
Definition: ROMSX.cpp:535
int plot_file_on_restart
Definition: ROMSX.H:791
void restart()
Definition: ROMSX.cpp:344
-
void init_only(int lev, amrex::Real time)
Definition: ROMSX.cpp:396
+
void init_only(int lev, amrex::Real time)
Definition: ROMSX.cpp:399
void init_bcs()
Definition: ROMSX_init_bcs.cpp:9
std::string restart_chkfile
Definition: ROMSX.H:801
static amrex::Real sum_per
Definition: ROMSX.H:861
@@ -6815,115 +6815,115 @@

read in some parameters from inputs file

-
420 {
-
421  {
-
422  ParmParse pp; // Traditionally, max_step and stop_time do not have prefix.
-
423  pp.query("max_step", max_step);
-
424  pp.query("stop_time", stop_time);
-
425  }
-
426 
-
427  ParmParse pp(pp_prefix);
-
428  {
-
429  // The type of the file we restart from
-
430  pp.query("restart_type", restart_type);
-
431 
-
432  pp.query("regrid_int", regrid_int);
-
433  pp.query("check_file", check_file);
-
434  pp.query("check_type", check_type);
-
435  pp.query("check_int", check_int);
-
436 
-
437  pp.query("restart", restart_chkfile);
-
438 
-
439  if (pp.contains("data_log"))
-
440  {
-
441  int num_datalogs = pp.countval("data_log");
-
442  datalog.resize(num_datalogs);
-
443  datalogname.resize(num_datalogs);
-
444  pp.queryarr("data_log",datalogname,0,num_datalogs);
-
445  for (int i = 0; i < num_datalogs; i++)
- -
447  }
-
448 
-
449  // Verbosity
-
450  pp.query("v", verbose);
+
423 {
+
424  {
+
425  ParmParse pp; // Traditionally, max_step and stop_time do not have prefix.
+
426  pp.query("max_step", max_step);
+
427  pp.query("stop_time", stop_time);
+
428  }
+
429 
+
430  ParmParse pp(pp_prefix);
+
431  {
+
432  // The type of the file we restart from
+
433  pp.query("restart_type", restart_type);
+
434 
+
435  pp.query("regrid_int", regrid_int);
+
436  pp.query("check_file", check_file);
+
437  pp.query("check_type", check_type);
+
438  pp.query("check_int", check_int);
+
439 
+
440  pp.query("restart", restart_chkfile);
+
441 
+
442  if (pp.contains("data_log"))
+
443  {
+
444  int num_datalogs = pp.countval("data_log");
+
445  datalog.resize(num_datalogs);
+
446  datalogname.resize(num_datalogs);
+
447  pp.queryarr("data_log",datalogname,0,num_datalogs);
+
448  for (int i = 0; i < num_datalogs; i++)
+ +
450  }
451 
-
452  // Frequency of diagnostic output
-
453  pp.query("sum_interval", sum_interval);
-
454  pp.query("sum_period" , sum_per);
-
455 
-
456  // Time step controls
-
457  pp.query("cfl", cfl);
-
458  pp.query("init_shrink", init_shrink);
-
459  pp.query("change_max", change_max);
-
460 
-
461  pp.query("fixed_dt", fixed_dt);
-
462  pp.query("fixed_fast_dt", fixed_fast_dt);
+
452  // Verbosity
+
453  pp.query("v", verbose);
+
454 
+
455  // Frequency of diagnostic output
+
456  pp.query("sum_interval", sum_interval);
+
457  pp.query("sum_period" , sum_per);
+
458 
+
459  // Time step controls
+
460  pp.query("cfl", cfl);
+
461  pp.query("init_shrink", init_shrink);
+
462  pp.query("change_max", change_max);
463 
-
464  pp.query("fixed_ndtfast_ratio", fixed_ndtfast_ratio);
-
465 
-
466  // If all three are specified, they must be consistent
-
467  if (fixed_dt > 0. && fixed_fast_dt > 0. && fixed_ndtfast_ratio > 0)
-
468  {
- -
470  {
-
471  amrex::Abort("Dt is over-specfied");
-
472  }
-
473  }
-
474  // If two are specified, initialize fixed_ndtfast_ratio
-
475  else if (fixed_dt > 0. && fixed_fast_dt > 0. && fixed_ndtfast_ratio <= 0)
-
476  {
-
477  fixed_ndtfast_ratio = static_cast<int>(fixed_dt / fixed_fast_dt);
-
478  }
-
479 
-
480  pp.query("do_substep", do_substep);
-
481 
-
482  AMREX_ASSERT(cfl > 0. || fixed_dt > 0.);
-
483 
-
484  // How to initialize
-
485  pp.query("init_type",init_type);
-
486  if (init_type != "custom" &&
-
487  init_type != "ideal" &&
-
488  init_type != "real")
-
489  {
-
490  amrex::Error("init_type must be custom, ideal, or real ");
-
491  }
-
492 
-
493  // We use this to keep track of how many boxes we read in from WRF initialization
-
494  num_files_at_level.resize(max_level+1,0);
+
464  pp.query("fixed_dt", fixed_dt);
+
465  pp.query("fixed_fast_dt", fixed_fast_dt);
+
466 
+
467  pp.query("fixed_ndtfast_ratio", fixed_ndtfast_ratio);
+
468 
+
469  // If all three are specified, they must be consistent
+
470  if (fixed_dt > 0. && fixed_fast_dt > 0. && fixed_ndtfast_ratio > 0)
+
471  {
+ +
473  {
+
474  amrex::Abort("Dt is over-specfied");
+
475  }
+
476  }
+
477  // If two are specified, initialize fixed_ndtfast_ratio
+
478  else if (fixed_dt > 0. && fixed_fast_dt > 0. && fixed_ndtfast_ratio <= 0)
+
479  {
+
480  fixed_ndtfast_ratio = static_cast<int>(fixed_dt / fixed_fast_dt);
+
481  }
+
482 
+
483  pp.query("do_substep", do_substep);
+
484 
+
485  AMREX_ASSERT(cfl > 0. || fixed_dt > 0.);
+
486 
+
487  // How to initialize
+
488  pp.query("init_type",init_type);
+
489  if (init_type != "custom" &&
+
490  init_type != "ideal" &&
+
491  init_type != "real")
+
492  {
+
493  amrex::Error("init_type must be custom, ideal, or real ");
+
494  }
495 
-
496  // We use this to keep track of how many boxes are specified thru the refinement indicators
-
497  num_boxes_at_level.resize(max_level+1,0);
-
498  boxes_at_level.resize(max_level+1);
-
499 
-
500  // We always have exactly one file at level 0
-
501  num_boxes_at_level[0] = 1;
+
496  // We use this to keep track of how many boxes we read in from WRF initialization
+
497  num_files_at_level.resize(max_level+1,0);
+
498 
+
499  // We use this to keep track of how many boxes are specified thru the refinement indicators
+
500  num_boxes_at_level.resize(max_level+1,0);
+
501  boxes_at_level.resize(max_level+1);
502 
-
503  // Output format
-
504  pp.query("plotfile_type", plotfile_type);
-
505  if (plotfile_type != "amrex" &&
-
506  plotfile_type != "netcdf" && plotfile_type != "NetCDF")
-
507  {
-
508  amrex::Print() << "User selected plotfile_type = " << plotfile_type << std::endl;
-
509  amrex::Abort("Dont know this plotfile_type");
-
510  }
-
511 #ifndef ROMSX_USE_NETCDF
-
512  if (plotfile_type == "netcdf" || plotfile_type == "NetCDF")
-
513  {
-
514  amrex::Abort("Please compile with NetCDF in order to enable NetCDF plotfiles");
-
515  }
-
516 #endif
-
517  pp.query("plot_file_1", plot_file_1);
-
518  pp.query("plot_file_2", plot_file_2);
-
519  pp.query("plot_int_1", plot_int_1);
-
520  pp.query("plot_int_2", plot_int_2);
-
521 
-
522 #ifdef ROMSX_USE_PARTICLES
-
523  particleData.init_particle_params();
-
524 #endif
-
525  }
-
526 
- -
528 }
+
503  // We always have exactly one file at level 0
+
504  num_boxes_at_level[0] = 1;
+
505 
+
506  // Output format
+
507  pp.query("plotfile_type", plotfile_type);
+
508  if (plotfile_type != "amrex" &&
+
509  plotfile_type != "netcdf" && plotfile_type != "NetCDF")
+
510  {
+
511  amrex::Print() << "User selected plotfile_type = " << plotfile_type << std::endl;
+
512  amrex::Abort("Dont know this plotfile_type");
+
513  }
+
514 #ifndef ROMSX_USE_NETCDF
+
515  if (plotfile_type == "netcdf" || plotfile_type == "NetCDF")
+
516  {
+
517  amrex::Abort("Please compile with NetCDF in order to enable NetCDF plotfiles");
+
518  }
+
519 #endif
+
520  pp.query("plot_file_1", plot_file_1);
+
521  pp.query("plot_file_2", plot_file_2);
+
522  pp.query("plot_int_1", plot_int_1);
+
523  pp.query("plot_int_2", plot_int_2);
+
524 
+
525 #ifdef ROMSX_USE_PARTICLES
+
526  particleData.init_particle_params();
+
527 #endif
+
528  }
+
529 
+ +
531 }
std::string plot_file_1
Definition: ROMSX.H:822
amrex::Vector< int > num_boxes_at_level
Definition: ROMSX.H:745
std::string check_file
Definition: ROMSX.H:828
@@ -8649,9 +8649,11 @@

125  });

126  }
127 
-
128  vec_ubar[lev]->FillBoundary(geom[lev].periodicity());
-
129  vec_vbar[lev]->FillBoundary(geom[lev].periodicity());
-
130 }
+
128  // DEBUGGING NOTE -- Upwelling fails if these are commented out
+
129  const Real time = 0.0;
+
130  FillPatch(lev,time, *vec_ubar[lev], GetVecOfPtrs(vec_ubar));
+
131  FillPatch(lev,time, *vec_vbar[lev], GetVecOfPtrs(vec_vbar));
+
132 }
@@ -8673,9 +8675,10 @@

361 {
363 
-
364  vec_hOfTheConfusingName[lev]->FillBoundary(geom[lev].periodicity());
-
365  vec_Zt_avg1[lev]->FillBoundary(geom[lev].periodicity());
-
366 }
+
364  Real time = 0.0;
+
365  FillPatch(lev, time, *vec_Zt_avg1[lev], GetVecOfPtrs(vec_Zt_avg1));
+
366  FillPatch(lev, time, *vec_hOfTheConfusingName[lev], GetVecOfPtrs(vec_hOfTheConfusingName));
+
367 }
void init_custom_bathymetry(const amrex::Geometry &geom, amrex::MultiFab &mf_h, amrex::MultiFab &mf_Zt_avg1, SolverChoice const &m_solverChoice)
Here is the call graph for this function:
@@ -8722,13 +8725,14 @@

-
378 {
-
379  init_custom_hmix(geom[lev], *vec_visc2_p[lev], *vec_visc2_r[lev], *vec_diff2[lev], solverChoice);
-
380 
-
381  vec_visc2_p[lev]->FillBoundary(geom[lev].periodicity());
-
382  vec_visc2_r[lev]->FillBoundary(geom[lev].periodicity());
-
383  vec_diff2[lev]->FillBoundary(geom[lev].periodicity());
-
384 }
+
380 {
+
381  init_custom_hmix(geom[lev], *vec_visc2_p[lev], *vec_visc2_r[lev], *vec_diff2[lev], solverChoice);
+
382 
+
383  Real time = 0.0;
+
384  FillPatch(lev, time, *vec_visc2_p[lev], GetVecOfPtrs(vec_visc2_p));
+
385  FillPatch(lev, time, *vec_visc2_r[lev], GetVecOfPtrs(vec_visc2_r));
+
386  FillPatch(lev, time, *vec_diff2[lev] , GetVecOfPtrs(vec_diff2));
+
387 }
void init_custom_hmix(const amrex::Geometry &geom, amrex::MultiFab &mf_visc2_p, amrex::MultiFab &mf_visc2_r, amrex::MultiFab &mf_diff2, SolverChoice const &m_solverChoice)
Here is the call graph for this function:
@@ -8853,12 +8857,12 @@

-
388 {
-
389  init_custom_smflux(geom[lev], time, *vec_sustr[lev], *vec_svstr[lev], solverChoice);
-
390 
-
391  vec_sustr[lev]->FillBoundary(geom[lev].periodicity());
-
392  vec_svstr[lev]->FillBoundary(geom[lev].periodicity());
-
393 }
+
391 {
+
392  init_custom_smflux(geom[lev], time, *vec_sustr[lev], *vec_svstr[lev], solverChoice);
+
393 
+
394  // FillPatch(lev, time, *vec_sustr[lev], GetVecOfPtrs(vec_sustr));
+
395  // FillPatch(lev, time, *vec_svstr[lev], GetVecOfPtrs(vec_svstr));
+
396 }
void init_custom_smflux(const amrex::Geometry &geom, amrex::Real time, amrex::MultiFab &mf_sustr, amrex::MultiFab &mf_svstr, SolverChoice const &m_solverChoice)
Here is the call graph for this function:
@@ -8887,12 +8891,13 @@

-
369  {
-
370  init_custom_vmix(geom[lev], *vec_Akv[lev], *vec_Akt[lev], *vec_z_w[lev], solverChoice);
-
371 
-
372  vec_Akv[lev]->FillBoundary(geom[lev].periodicity());
-
373  vec_Akt[lev]->FillBoundary(geom[lev].periodicity());
-
374 }
+
370  {
+
371  init_custom_vmix(geom[lev], *vec_Akv[lev], *vec_Akt[lev], *vec_z_w[lev], solverChoice);
+
372 
+
373  Real time = 0.0;
+
374  FillPatch(lev, time, *vec_Akv[lev], GetVecOfPtrs(vec_Akv));
+
375  FillPatch(lev, time, *vec_Akt[lev], GetVecOfPtrs(vec_Akt));
+
376 }
void init_custom_vmix(const amrex::Geometry &geom, amrex::MultiFab &mf_Akv, amrex::MultiFab &mf_Akt, amrex::MultiFab &mf_z_w, SolverChoice const &m_solverChoice)
Here is the call graph for this function:
@@ -9742,7 +9747,7 @@

447 }

void set_massflux_3d(amrex::Array4< amrex::Real > u, amrex::Array4< amrex::Real > Hu, amrex::Array4< amrex::Real > on_u, amrex::Array4< amrex::Real > v, amrex::Array4< amrex::Real > Hv, amrex::Array4< amrex::Real > om_v, amrex::Array4< amrex::Real const > Hz)
Definition: ROMSX_set_massflux_3d.cpp:17
void prestep(int lev, amrex::MultiFab &mf_uold, amrex::MultiFab &mf_vold, amrex::MultiFab &mf_u, amrex::MultiFab &mf_v, std::unique_ptr< amrex::MultiFab > &mf_ru, std::unique_ptr< amrex::MultiFab > &mf_rv, amrex::MultiFab &S_old, amrex::MultiFab &S_new, amrex::MultiFab &mf_W, amrex::MultiFab &mf_DC, std::unique_ptr< amrex::MultiFab > &mf_z_r, std::unique_ptr< amrex::MultiFab > &mf_z_w, std::unique_ptr< amrex::MultiFab > &mf_h, std::unique_ptr< amrex::MultiFab > &mf_sustr, std::unique_ptr< amrex::MultiFab > &mf_svstr, std::unique_ptr< amrex::MultiFab > &mf_bustr, std::unique_ptr< amrex::MultiFab > &mf_bvstr, const int iic, const int nfirst, const int nnew, int nstp, int nrhs, int N, const amrex::Real dt_lev)
Definition: ROMSX_prestep.cpp:36
-
void set_smflux(int lev, amrex::Real time)
Definition: ROMSX.cpp:387
+
void set_smflux(int lev, amrex::Real time)
Definition: ROMSX.cpp:390
void rho_eos(const amrex::Box &bx, amrex::Array4< amrex::Real const > state, amrex::Array4< amrex::Real > rho, amrex::Array4< amrex::Real > rhoA, amrex::Array4< amrex::Real > rhoS, amrex::Array4< amrex::Real const > Hz, amrex::Array4< amrex::Real const > z_w, amrex::Array4< amrex::Real const > h, const int N)
Definition: ROMSX_rho_eos.cpp:20
void rhs_uv_3d(const amrex::Box &xbx, const amrex::Box &ybx, amrex::Array4< amrex::Real > uold, amrex::Array4< amrex::Real > vold, amrex::Array4< amrex::Real > ru, amrex::Array4< amrex::Real > rv, amrex::Array4< amrex::Real > rufrc, amrex::Array4< amrex::Real > rvfrc, amrex::Array4< amrex::Real > sustr, amrex::Array4< amrex::Real > svstr, amrex::Array4< amrex::Real > bustr, amrex::Array4< amrex::Real > bvstr, amrex::Array4< amrex::Real > Huon, amrex::Array4< amrex::Real > Hvom, amrex::Array4< amrex::Real > on_u, amrex::Array4< amrex::Real > om_v, amrex::Array4< amrex::Real > om_u, amrex::Array4< amrex::Real > on_v, amrex::Array4< amrex::Real > W, amrex::Array4< amrex::Real > FC, int nrhs, int N)
Definition: ROMSX_rhs_uv_3d.cpp:31
void t3dmix(const amrex::Box &bx, amrex::Array4< amrex::Real > state, amrex::Array4< amrex::Real > diff2, amrex::Array4< amrex::Real > Hz, amrex::Array4< amrex::Real > pm, amrex::Array4< amrex::Real > pn, amrex::Array4< amrex::Real > pmon_u, amrex::Array4< amrex::Real > pnom_v, const amrex::Real dt_lev, const int ncomp)
Definition: ROMSX_t3dmix.cpp:6