ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
NullSurf Class Reference

#include <ERF_NullSurf.H>

Inheritance diagram for NullSurf:
Collaboration diagram for NullSurf:

Public Member Functions

 NullSurf ()
 
virtual ~NullSurf ()=default
 
virtual void Define (SolverChoice &)
 
virtual void Init (const int &, const amrex::MultiFab &, const amrex::Geometry &, const amrex::Geometry &, amrex::Vector< amrex::BCRec > &, amrex::IntVect &, const amrex::Real &, amrex::Vector< amrex::Vector< std::string >> &)
 
virtual void Init (const int &lev, const amrex::MultiFab &cons_in, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::Geometry &geom, const amrex::Geometry &geom0, amrex::Vector< amrex::BCRec > &domain_bcs_type, amrex::IntVect &refRatio, const amrex::Real &dt_advance, std::unique_ptr< amrex::MultiFab > &, amrex::Vector< amrex::Vector< std::string >> &nc_init_file)
 
virtual void Advance (const double &)
 
virtual void Advance (const amrex::Real &, const amrex::Real &, const amrex::Real &)
 
virtual void Advance_With_State (const int &, amrex::MultiFab &, amrex::MultiFab &, amrex::MultiFab &, amrex::MultiFab *, amrex::MultiFab *, const SurfacePrecipAccumulationSources &, const amrex::Real &, const amrex::Real &, const int &, const bool, amrex::MultiFab *)
 
virtual void Plot_Landfile (const int &)
 
virtual void Update_Micro_Vars (amrex::MultiFab &)
 
virtual void Update_Lsm_Vars (amrex::MultiFab &, amrex::MultiFab &, amrex::MultiFab &)
 
virtual void Copy_State_to_Lsm (const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &)
 
virtual void Copy_Lsm_to_State (amrex::MultiFab &)
 
virtual void Update_State_Vars (amrex::MultiFab &)
 
virtual void set_precip_input (const amrex::MultiFab *)
 
virtual void set_terrain_inputs (const amrex::Vector< std::unique_ptr< amrex::MultiFab >> &, const amrex::Vector< std::unique_ptr< amrex::iMultiFab >> &)
 
virtual int Lsm_Type ()
 
virtual void WriteCheckpoint (const int &, const std::string &) const
 
virtual void ReadCheckpoint (const int &, const std::string &)
 
virtual void Copy_State_to_Micro (const amrex::MultiFab &)
 
virtual void Copy_Micro_to_State (amrex::MultiFab &)
 
virtual amrex::MultiFab * Lsm_Data_Ptr (const int &)
 
virtual amrex::MultiFab * Lsm_Flux_Ptr (const int &)
 
virtual amrex::Geometry Lsm_Geom ()
 
virtual int Lsm_Data_Size ()
 
virtual int Lsm_Flux_Size ()
 
virtual std::string Lsm_DataName (const int &)
 
virtual std::string Lsm_FluxName (const int &)
 
virtual int Lsm_DataIndex (const std::string &)
 
virtual int Lsm_FluxIndex (const std::string &)
 
virtual std::unordered_map< std::string, std::string > & Lsm_WRFInputNames ()
 
virtual void Lsm_Set_Lev0_Data_Ptr (const int &, amrex::MultiFab *)
 
virtual void Lsm_Set_Lev0_Flux_Ptr (const int &, amrex::MultiFab *)
 
virtual void Lsm_Set_Source_Data_Ptr (const int &, amrex::MultiFab *)
 
virtual void Lsm_Set_Source_Flux_Ptr (const int &, amrex::MultiFab *)
 
virtual int Lsm_Unmapped_Size ()
 
virtual amrex::MultiFab * Lsm_Unmapped_Ptr (const int &)
 
virtual void Lsm_Set_Source_Unmapped_Ptr (const int &, amrex::MultiFab *)
 
virtual amrex::Geometry Lsm_Atmos_Geom ()
 
virtual void Lsm_Interpolate_From_Source (const amrex::Geometry &, const amrex::Geometry &, const amrex::IntVect &, LSMTransferMode)
 
virtual void Lsm_Regrid_Level (const int &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::Geometry &, const amrex::Geometry &, amrex::Vector< amrex::BCRec > &, amrex::IntVect &, const amrex::Real &, std::unique_ptr< amrex::MultiFab > &, amrex::Vector< amrex::Vector< std::string >> &, const amrex::Geometry &, const amrex::Geometry &, const amrex::IntVect &, const bool)
 
virtual bool Get_Update_Status ()
 
virtual bool Runs_Own_Land_Driver () const
 
virtual int Get_LSM_Step () const
 
virtual void Set_LSM_Step (int)
 
virtual void Write_Lsm_Restart (const std::string &) const
 
virtual void Read_Lsm_Restart (const std::string &)
 

Private Attributes

int m_lsm_size = 0
 
amrex::Geometry m_lsm_geom
 
std::string dataname = " "
 
std::string fluxname = " "
 
std::unordered_map< std::string, std::string > wrfinput_map
 

Constructor & Destructor Documentation

◆ NullSurf()

NullSurf::NullSurf ( )
inline
18 {}

◆ ~NullSurf()

virtual NullSurf::~NullSurf ( )
virtualdefault

Member Function Documentation

◆ Advance() [1/2]

virtual void NullSurf::Advance ( const amrex::Real &  ,
const amrex::Real &  ,
const amrex::Real &   
)
inlinevirtual

Reimplemented in SLM.

56 { }

◆ Advance() [2/2]

virtual void NullSurf::Advance ( const double &  )
inlinevirtual

Reimplemented in SLM.

54 { }

◆ Advance_With_State()

virtual void NullSurf::Advance_With_State ( const int &  ,
amrex::MultiFab &  ,
amrex::MultiFab &  ,
amrex::MultiFab &  ,
amrex::MultiFab *  ,
amrex::MultiFab *  ,
const SurfacePrecipAccumulationSources &  ,
const amrex::Real &  ,
const amrex::Real &  ,
const int &  ,
const bool  ,
amrex::MultiFab *   
)
inlinevirtual

Reimplemented in NOAHMP.

71  { }

◆ Copy_Lsm_to_State()

virtual void NullSurf::Copy_Lsm_to_State ( amrex::MultiFab &  )
inlinevirtual

Reimplemented in SLM.

82 { }

◆ Copy_Micro_to_State()

virtual void NullSurf::Copy_Micro_to_State ( amrex::MultiFab &  )
inlinevirtual
100 { }

◆ Copy_State_to_Lsm()

virtual void NullSurf::Copy_State_to_Lsm ( const amrex::MultiFab &  ,
const amrex::MultiFab &  ,
const amrex::MultiFab &   
)
inlinevirtual

Reimplemented in SLM.

81 { }

◆ Copy_State_to_Micro()

virtual void NullSurf::Copy_State_to_Micro ( const amrex::MultiFab &  )
inlinevirtual
96 { }

◆ Define()

virtual void NullSurf::Define ( SolverChoice &  )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

24 { }

◆ Get_LSM_Step()

virtual int NullSurf::Get_LSM_Step ( ) const
inlinevirtual

Reimplemented in NOAHMP.

249 { return 0; }

◆ Get_Update_Status()

virtual bool NullSurf::Get_Update_Status ( )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

237 { return false; }

◆ Init() [1/2]

virtual void NullSurf::Init ( const int &  ,
const amrex::MultiFab &  ,
const amrex::Geometry &  ,
const amrex::Geometry &  ,
amrex::Vector< amrex::BCRec > &  ,
amrex::IntVect &  ,
const amrex::Real &  ,
amrex::Vector< amrex::Vector< std::string >> &   
)
inlinevirtual

Reimplemented in NOAHMP.

34  { }

Referenced by Init().

Here is the caller graph for this function:

◆ Init() [2/2]

virtual void NullSurf::Init ( const int &  lev,
const amrex::MultiFab &  cons_in,
const amrex::MultiFab &  ,
const amrex::MultiFab &  ,
const amrex::Geometry &  geom,
const amrex::Geometry &  geom0,
amrex::Vector< amrex::BCRec > &  domain_bcs_type,
amrex::IntVect &  refRatio,
const amrex::Real &  dt_advance,
std::unique_ptr< amrex::MultiFab > &  ,
amrex::Vector< amrex::Vector< std::string >> &  nc_init_file 
)
inlinevirtual

Reimplemented in SLM.

46  {
47  Init(lev, cons_in, geom, geom0,
48  domain_bcs_type, refRatio, dt_advance,
49  nc_init_file);
50  }
virtual void Init(const int &, const amrex::MultiFab &, const amrex::Geometry &, const amrex::Geometry &, amrex::Vector< amrex::BCRec > &, amrex::IntVect &, const amrex::Real &, amrex::Vector< amrex::Vector< std::string >> &)
Definition: ERF_NullSurf.H:27
Here is the call graph for this function:

◆ Lsm_Atmos_Geom()

virtual amrex::Geometry NullSurf::Lsm_Atmos_Geom ( )
inlinevirtual

Returns the atmospheric geometry used by coupling fields.

Reimplemented in SLM.

200 { return m_lsm_geom; }
amrex::Geometry m_lsm_geom
Definition: ERF_NullSurf.H:267

◆ Lsm_Data_Ptr()

virtual amrex::MultiFab* NullSurf::Lsm_Data_Ptr ( const int &  )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

104 { return nullptr; }

◆ Lsm_Data_Size()

virtual int NullSurf::Lsm_Data_Size ( )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

116 { return NullSurf::m_lsm_size; }
int m_lsm_size
Definition: ERF_NullSurf.H:266

◆ Lsm_DataIndex()

virtual int NullSurf::Lsm_DataIndex ( const std::string &  )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

132 { return (-1); }

◆ Lsm_DataName()

virtual std::string NullSurf::Lsm_DataName ( const int &  )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

124 { return dataname; }
std::string dataname
Definition: ERF_NullSurf.H:268

◆ Lsm_Flux_Ptr()

virtual amrex::MultiFab* NullSurf::Lsm_Flux_Ptr ( const int &  )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

108 { return nullptr; }

◆ Lsm_Flux_Size()

virtual int NullSurf::Lsm_Flux_Size ( )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

120 { return NullSurf::m_lsm_size; }

◆ Lsm_FluxIndex()

virtual int NullSurf::Lsm_FluxIndex ( const std::string &  )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

136 { return (-1); }

◆ Lsm_FluxName()

virtual std::string NullSurf::Lsm_FluxName ( const int &  )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

128 { return fluxname; }
std::string fluxname
Definition: ERF_NullSurf.H:269

◆ Lsm_Geom()

virtual amrex::Geometry NullSurf::Lsm_Geom ( )
inlinevirtual

Reimplemented in SLM, and NOAHMP.

112 { return m_lsm_geom; }

◆ Lsm_Interpolate_From_Source()

virtual void NullSurf::Lsm_Interpolate_From_Source ( const amrex::Geometry &  ,
const amrex::Geometry &  ,
const amrex::IntVect &  ,
LSMTransferMode   
)
inlinevirtual

Transfers exposed state from a source AMR level.

Reimplemented in SLM.

211  {}

◆ Lsm_Regrid_Level()

virtual void NullSurf::Lsm_Regrid_Level ( const int &  ,
const amrex::MultiFab &  ,
const amrex::MultiFab &  ,
const amrex::MultiFab &  ,
const amrex::Geometry &  ,
const amrex::Geometry &  ,
amrex::Vector< amrex::BCRec > &  ,
amrex::IntVect &  ,
const amrex::Real &  ,
std::unique_ptr< amrex::MultiFab > &  ,
amrex::Vector< amrex::Vector< std::string >> &  ,
const amrex::Geometry &  ,
const amrex::Geometry &  ,
const amrex::IntVect &  ,
const bool   
)
inlinevirtual

Rebuilds a land-surface level after its atmospheric grid changes.

Reimplemented in SLM.

233  {}

◆ Lsm_Set_Lev0_Data_Ptr()

virtual void NullSurf::Lsm_Set_Lev0_Data_Ptr ( const int &  ,
amrex::MultiFab *   
)
inlinevirtual

Reimplemented in NOAHMP.

146  {}

◆ Lsm_Set_Lev0_Flux_Ptr()

virtual void NullSurf::Lsm_Set_Lev0_Flux_Ptr ( const int &  ,
amrex::MultiFab *   
)
inlinevirtual

Reimplemented in NOAHMP.

152  {}

◆ Lsm_Set_Source_Data_Ptr()

virtual void NullSurf::Lsm_Set_Source_Data_Ptr ( const int &  ,
amrex::MultiFab *   
)
inlinevirtual

Registers an exposed source data field.

Reimplemented in SLM.

161  {}

◆ Lsm_Set_Source_Flux_Ptr()

virtual void NullSurf::Lsm_Set_Source_Flux_Ptr ( const int &  ,
amrex::MultiFab *   
)
inlinevirtual

Registers an exposed source flux field.

Reimplemented in SLM.

170  {}

◆ Lsm_Set_Source_Unmapped_Ptr()

virtual void NullSurf::Lsm_Set_Source_Unmapped_Ptr ( const int &  ,
amrex::MultiFab *   
)
inlinevirtual

Registers a private source state field.

Reimplemented in SLM.

193  {}

◆ Lsm_Type()

virtual int NullSurf::Lsm_Type ( )
inlinevirtual

Reimplemented in SLM.

90 { return 0; }

◆ Lsm_Unmapped_Ptr()

virtual amrex::MultiFab* NullSurf::Lsm_Unmapped_Ptr ( const int &  )
inlinevirtual

Returns a private state field required for transfer.

Reimplemented in SLM.

184 { return nullptr; }

◆ Lsm_Unmapped_Size()

virtual int NullSurf::Lsm_Unmapped_Size ( )
inlinevirtual

Returns the number of private state fields required for transfer.

Reimplemented in SLM.

177 { return 0; }

◆ Lsm_WRFInputNames()

virtual std::unordered_map<std::string, std::string>& NullSurf::Lsm_WRFInputNames ( )
inlinevirtual

Reimplemented in SLM.

140 { return wrfinput_map; }
std::unordered_map< std::string, std::string > wrfinput_map
Definition: ERF_NullSurf.H:271

◆ Plot_Landfile()

virtual void NullSurf::Plot_Landfile ( const int &  )
inlinevirtual

Reimplemented in NOAHMP.

75 { }

◆ Read_Lsm_Restart()

virtual void NullSurf::Read_Lsm_Restart ( const std::string &  )
inlinevirtual

Reimplemented in NOAHMP.

263 { }

◆ ReadCheckpoint()

virtual void NullSurf::ReadCheckpoint ( const int &  ,
const std::string &   
)
inlinevirtual

Reimplemented in SLM.

92 { }

◆ Runs_Own_Land_Driver()

virtual bool NullSurf::Runs_Own_Land_Driver ( ) const
inlinevirtual

Reimplemented in NOAHMP.

243 { return false; }

◆ Set_LSM_Step()

virtual void NullSurf::Set_LSM_Step ( int  )
inlinevirtual

Reimplemented in NOAHMP.

253 { }

◆ set_precip_input()

virtual void NullSurf::set_precip_input ( const amrex::MultiFab *  )
inlinevirtual

Reimplemented in SLM.

87 { }

◆ set_terrain_inputs()

virtual void NullSurf::set_terrain_inputs ( const amrex::Vector< std::unique_ptr< amrex::MultiFab >> &  ,
const amrex::Vector< std::unique_ptr< amrex::iMultiFab >> &   
)
inlinevirtual

Reimplemented in SLM.

89  { }

◆ Update_Lsm_Vars()

virtual void NullSurf::Update_Lsm_Vars ( amrex::MultiFab &  ,
amrex::MultiFab &  ,
amrex::MultiFab &   
)
inlinevirtual

Reimplemented in SLM.

80 { }

◆ Update_Micro_Vars()

virtual void NullSurf::Update_Micro_Vars ( amrex::MultiFab &  )
inlinevirtual
79 { }

◆ Update_State_Vars()

virtual void NullSurf::Update_State_Vars ( amrex::MultiFab &  )
inlinevirtual

Reimplemented in SLM.

86 { }

◆ Write_Lsm_Restart()

virtual void NullSurf::Write_Lsm_Restart ( const std::string &  ) const
inlinevirtual

Reimplemented in NOAHMP.

259 { }

◆ WriteCheckpoint()

virtual void NullSurf::WriteCheckpoint ( const int &  ,
const std::string &   
) const
inlinevirtual

Reimplemented in SLM.

91 { }

Member Data Documentation

◆ dataname

std::string NullSurf::dataname = " "
private

Referenced by Lsm_DataName().

◆ fluxname

std::string NullSurf::fluxname = " "
private

Referenced by Lsm_FluxName().

◆ m_lsm_geom

amrex::Geometry NullSurf::m_lsm_geom
private

Referenced by Lsm_Atmos_Geom(), and Lsm_Geom().

◆ m_lsm_size

int NullSurf::m_lsm_size = 0
private

Referenced by Lsm_Data_Size(), and Lsm_Flux_Size().

◆ wrfinput_map

std::unordered_map<std::string,std::string> NullSurf::wrfinput_map
private

Referenced by Lsm_WRFInputNames().


The documentation for this class was generated from the following file: