22 #ifndef _ISMIP6OCEANFORCING_H_ 23 #define _ISMIP6OCEANFORCING_H_ 26 #include "ParmParse.H" 28 #include "NamespaceHeader.H" 51 int a_level, Real a_dt);
86 LevelData<FArrayBox>& a_TFb,
87 LevelData<FArrayBox>& a_TFb_basin_mean,
88 LevelData<FArrayBox>& a_deltaT,
93 const LevelData<FArrayBox>& a_TF,
99 LevelData<FArrayBox>&a_TFb,
100 LevelData<FArrayBox>&a_basin_mask,
116 #include "NamespaceFooter.H" Definition: ISMIP6OceanForcing.H:30
std::string m_deltaT_var_name
Definition: ISMIP6OceanForcing.H:60
RefCountedPtr< LevelData< FArrayBox > > m_uniform_source
Definition: ISMIP6OceanForcing.H:67
std::string m_basin_file
Definition: ISMIP6OceanForcing.H:59
virtual void surfaceThicknessFlux(LevelData< FArrayBox > &a_flux, const AmrIceBase &a_amrIce, int a_level, Real a_dt)
define source term for thickness evolution and place it in flux
Definition: ISMIP6OceanForcing.cpp:392
void computeBasinMeans(LevelData< FArrayBox > &a_TFb_basin_mean, LevelData< FArrayBox > &a_TFb, LevelData< FArrayBox > &a_basin_mask, const AmrIceBase &a_amrIce)
compute the basin means of TFb, store in TFb_mean
Definition: ISMIP6OceanForcing.cpp:286
int m_n_layer
Definition: ISMIP6OceanForcing.H:75
virtual SurfaceFlux * new_surfaceFlux()
factory method
Definition: ISMIP6OceanForcing.cpp:23
bool m_anomaly
Definition: ISMIP6OceanForcing.H:61
std::string m_deltaT_file
Definition: ISMIP6OceanForcing.H:60
RefCountedPtr< LevelData< FArrayBox > > m_basin_mask
Definition: ISMIP6OceanForcing.H:78
int m_end_year
Definition: ISMIP6OceanForcing.H:57
RealVect m_dx
Definition: ISMIP6OceanForcing.H:69
virtual ~ISMIP6OceanForcing()
destructor
Definition: ISMIP6OceanForcing.H:38
void computeTFb(LevelData< FArrayBox > &a_TFb, const LevelData< FArrayBox > &a_TF, const AmrIceBase &a_amrIce)
compute thermal forcing TFb at the ice shelf base from the 3D 'layered' field TF
Definition: ISMIP6OceanForcing.cpp:135
std::string m_name
Definition: ISMIP6OceanForcing.H:58
std::map< int, std::string > m_year_file
Definition: ISMIP6OceanForcing.H:56
std::string m_basin_var_name
Definition: ISMIP6OceanForcing.H:59
abstract class defining the surface flux interface
Definition: SurfaceFlux.H:39
bool m_tf_is_source
Definition: ISMIP6OceanForcing.H:63
Real m_basin_mean_min_thickness
Definition: ISMIP6OceanForcing.H:62
Real m_factor
Definition: ISMIP6OceanForcing.H:62
void readUniformSource(RefCountedPtr< LevelData< FArrayBox > > &a_source, RealVect &a_dx, int a_year, const AmrIceBase &a_amrIce)
Read a field TF(x,y,z) and compute source(x,y)
Definition: ISMIP6OceanForcing.cpp:218
RefCountedPtr< LevelData< FArrayBox > > m_deltaT
Definition: ISMIP6OceanForcing.H:82
abstract base class for amr ice sheet models (AmrIce, AMRIceControl)
Definition: AmrIceBase.H:21
void computeSource(LevelData< FArrayBox > &a_source, LevelData< FArrayBox > &a_TFb, LevelData< FArrayBox > &a_TFb_basin_mean, LevelData< FArrayBox > &a_deltaT, Real a_gamma0)
compute source from thermal forcing
Definition: ISMIP6OceanForcing.cpp:112
ISMIP6OceanForcing(ParmParse &a_pp)
Definition: ISMIP6OceanForcing.cpp:31
void updateUniformSource(Real a_time, const AmrIceBase &a_amrIce)
update the uniform source
Definition: ISMIP6OceanForcing.cpp:361
int m_uniform_source_year
Definition: ISMIP6OceanForcing.H:71
bool m_local
Definition: ISMIP6OceanForcing.H:61
Real m_dz
Definition: ISMIP6OceanForcing.H:74
int m_n_basin
Definition: ISMIP6OceanForcing.H:79
int m_start_year
Definition: ISMIP6OceanForcing.H:57