ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_NOAHMP_LevelDriver.H
Go to the documentation of this file.
1 #ifndef ERF_NOAHMP_LEVEL_DRIVER_H_
2 #define ERF_NOAHMP_LEVEL_DRIVER_H_
3 
4 /**
5  * @brief Whether Noah-MP at AMR level lev runs the land model on a setup file of its own.
6  *
7  * Level 0 always does. A finer level does if it has a land setup file of its own; it
8  * otherwise takes its land state from level 0 (NOAHMP::interp_from_lev0). Which file counts:
9  *
10  * - a run initialized from WRF or metgrid files: erf.nc_init_file_<lev>, which also
11  * supplies the level's atmosphere. ERF_SETUP_FILE_0<lev+1> in namelist.erf alone does
12  * not, so such runs behave as they always have;
13  * - any other run (input_sounding, a custom problem), which has no such file:
14  * ERF_SETUP_FILE_0<lev+1> in namelist.erf.
15  *
16  * @param lev AMR level
17  * @param has_init_file erf.nc_init_file_<lev> is given
18  * @param idealized_init the run is not initialized from WRF or metgrid files
19  * @param namelist_names_setup namelist.erf names ERF_SETUP_FILE_0<lev+1>
20  */
21 [[nodiscard]] inline bool
22 noahmp_level_runs_driver (int lev, bool has_init_file, bool idealized_init,
23  bool namelist_names_setup) noexcept
24 {
25  if (lev == 0 || has_init_file) { return true; }
26  return idealized_init && namelist_names_setup;
27 }
28 
29 #endif
bool noahmp_level_runs_driver(int lev, bool has_init_file, bool idealized_init, bool namelist_names_setup) noexcept
Whether Noah-MP at AMR level lev runs the land model on a setup file of its own.
Definition: ERF_NOAHMP_LevelDriver.H:22