@@ -180,24 +180,24 @@ init_time_stamps (const util::TimeStamp& run_t0, const util::TimeStamp& case_t0,
180180}
181181
182182void AtmosphereDriver::
183- setup_iop ()
183+ setup_iop_data_manager ()
184184{
185185 // At this point, must have comm, params, initialized timestamps created.
186186 check_ad_status (s_comm_set | s_params_set | s_ts_inited);
187187
188188 // Check to make sure iop is not already initialized
189- EKAT_REQUIRE_MSG (not m_iop , " Error! setup_iop () is called, but IOP already set up.\n " );
189+ EKAT_REQUIRE_MSG (not m_iop_data_manager , " Error! setup_iop_data_manager () is called, but IOP already set up.\n " );
190190
191191 // This function should only be called if we are enabling IOP
192192 const bool enable_iop =
193193 m_atm_params.sublist (" driver_options" ).get (" enable_iop" , false );
194- EKAT_REQUIRE_MSG (enable_iop, " Error! setup_iop () is called, but enable_iop=false "
194+ EKAT_REQUIRE_MSG (enable_iop, " Error! setup_iop_data_manager () is called, but enable_iop=false "
195195 " in driver_options parameters.\n " );
196196
197197 // Params must include iop_options sublist.
198198 const auto iop_sublist_exists = m_atm_params.isSublist (" iop_options" );
199199 EKAT_REQUIRE_MSG (iop_sublist_exists,
200- " Error! setup_iop () is called, but no iop_options "
200+ " Error! setup_iop_data_manager () is called, but no iop_options "
201201 " defined in parameters.\n " );
202202
203203 const auto iop_params = m_atm_params.sublist (" iop_options" );
@@ -206,15 +206,15 @@ setup_iop ()
206206 const auto hyam = phys_grid->get_geometry_data (" hyam" );
207207 const auto hybm = phys_grid->get_geometry_data (" hybm" );
208208
209- m_iop = std::make_shared<IntensiveObservationPeriod >(m_atm_comm,
210- iop_params,
211- m_run_t0,
212- nlevs,
213- hyam,
214- hybm);
209+ m_iop_data_manager = std::make_shared<IOPDataManager >(m_atm_comm,
210+ iop_params,
211+ m_run_t0,
212+ nlevs,
213+ hyam,
214+ hybm);
215215
216216 // Set IOP object in atm processes
217- m_atm_process_group->set_iop (m_iop );
217+ m_atm_process_group->set_iop_data_manager (m_iop_data_manager );
218218}
219219
220220void AtmosphereDriver::create_atm_processes ()
@@ -295,7 +295,7 @@ void AtmosphereDriver::create_grids()
295295 const bool enable_iop =
296296 m_atm_params.sublist (" driver_options" ).get (" enable_iop" , false );
297297 if (enable_iop) {
298- setup_iop ();
298+ setup_iop_data_manager ();
299299 }
300300
301301 // Set the grids in the processes. Do this by passing the grids manager.
@@ -1244,7 +1244,7 @@ void AtmosphereDriver::set_initial_conditions ()
12441244 }
12451245 }
12461246
1247- if (m_iop ) {
1247+ if (m_iop_data_manager ) {
12481248 // For runs with IOP, call to setup io grids and lat
12491249 // lon information needed for reading from file
12501250 // We use a single topo file for both GLL and PG2 runs. All
@@ -1254,13 +1254,13 @@ void AtmosphereDriver::set_initial_conditions ()
12541254 for (const auto & it : m_field_mgrs) {
12551255 const auto & grid_name = it.first ;
12561256 if (ic_fields_names[grid_name].size () > 0 or
1257- topography_eamxx_fields_names[grid_name].size () > 0 ) {
1257+ topography_eamxx_fields_names[grid_name].size () > 0 ) {
12581258 const auto & file_name = grid_name == " Physics GLL"
12591259 ?
12601260 ic_pl.get <std::string>(" Filename" )
12611261 :
12621262 ic_pl.get <std::string>(" topography_filename" );
1263- m_iop ->setup_io_info (file_name, it.second ->get_grid ());
1263+ m_iop_data_manager ->setup_io_info (file_name, it.second ->get_grid ());
12641264 }
12651265 }
12661266 }
@@ -1272,12 +1272,12 @@ void AtmosphereDriver::set_initial_conditions ()
12721272 m_atm_logger->info (" [EAMxx] IC filename: " + file_name);
12731273 for (const auto & it : m_field_mgrs) {
12741274 const auto & grid_name = it.first ;
1275- if (not m_iop ) {
1275+ if (not m_iop_data_manager ) {
12761276 read_fields_from_file (ic_fields_names[grid_name],it.second ->get_grid (),file_name,m_current_ts);
12771277 } else {
12781278 // For IOP enabled, we load from file and copy data from the closest
12791279 // lat/lon column to every other column
1280- m_iop ->read_fields_from_file_for_iop (file_name,
1280+ m_iop_data_manager ->read_fields_from_file_for_iop (file_name,
12811281 ic_fields_names[grid_name],
12821282 m_current_ts,
12831283 it.second );
@@ -1347,7 +1347,7 @@ void AtmosphereDriver::set_initial_conditions ()
13471347 m_atm_logger->info (" filename: " + file_name);
13481348 for (const auto & it : m_field_mgrs) {
13491349 const auto & grid_name = it.first ;
1350- if (not m_iop ) {
1350+ if (not m_iop_data_manager ) {
13511351 // Topography files always use "ncol_d" for the GLL grid value of ncol.
13521352 // To ensure we read in the correct value, we must change the name for that dimension
13531353 auto io_grid = it.second ->get_grid ();
@@ -1363,7 +1363,7 @@ void AtmosphereDriver::set_initial_conditions ()
13631363 } else {
13641364 // For IOP enabled, we load from file and copy data from the closest
13651365 // lat/lon column to every other column
1366- m_iop ->read_fields_from_file_for_iop (file_name,
1366+ m_iop_data_manager ->read_fields_from_file_for_iop (file_name,
13671367 topography_file_fields_names[grid_name],
13681368 topography_eamxx_fields_names[grid_name],
13691369 m_current_ts,
@@ -1388,16 +1388,16 @@ void AtmosphereDriver::set_initial_conditions ()
13881388 m_atm_params.sublist (" provenance" ).set <std::string>(" topography_file" ," NONE" );
13891389 }
13901390
1391- if (m_iop ) {
1391+ if (m_iop_data_manager ) {
13921392 // Load IOP data file data for initial time stamp
1393- m_iop ->read_iop_file_data (m_current_ts);
1393+ m_iop_data_manager ->read_iop_file_data (m_current_ts);
13941394
13951395 // Now that ICs are processed, set appropriate fields using IOP file data.
13961396 // Since ICs are loaded on GLL grid, we set those fields only and dynamics
13971397 // will take care of the rest (for PG2 case).
13981398 if (m_field_mgrs.count (" Physics GLL" ) > 0 ) {
13991399 const auto & fm = m_field_mgrs.at (" Physics GLL" );
1400- m_iop ->set_fields_from_iop_data (fm);
1400+ m_iop_data_manager ->set_fields_from_iop_data (fm);
14011401 }
14021402 }
14031403
@@ -1795,7 +1795,7 @@ void AtmosphereDriver::finalize ( /* inputs? */ ) {
17951795 }
17961796
17971797 // Destroy iop
1798- m_iop = nullptr ;
1798+ m_iop_data_manager = nullptr ;
17991799
18001800 // Destroy the buffer manager
18011801 m_memory_buffer = nullptr ;
0 commit comments