@@ -180,24 +180,24 @@ init_time_stamps (const util::TimeStamp& run_t0, const util::TimeStamp& case_t0,
180
180
}
181
181
182
182
void AtmosphereDriver::
183
- setup_iop ()
183
+ setup_iop_data_manager ()
184
184
{
185
185
// At this point, must have comm, params, initialized timestamps created.
186
186
check_ad_status (s_comm_set | s_params_set | s_ts_inited);
187
187
188
188
// 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 " );
190
190
191
191
// This function should only be called if we are enabling IOP
192
192
const bool enable_iop =
193
193
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 "
195
195
" in driver_options parameters.\n " );
196
196
197
197
// Params must include iop_options sublist.
198
198
const auto iop_sublist_exists = m_atm_params.isSublist (" iop_options" );
199
199
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 "
201
201
" defined in parameters.\n " );
202
202
203
203
const auto iop_params = m_atm_params.sublist (" iop_options" );
@@ -206,15 +206,15 @@ setup_iop ()
206
206
const auto hyam = phys_grid->get_geometry_data (" hyam" );
207
207
const auto hybm = phys_grid->get_geometry_data (" hybm" );
208
208
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);
215
215
216
216
// 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 );
218
218
}
219
219
220
220
void AtmosphereDriver::create_atm_processes ()
@@ -295,7 +295,7 @@ void AtmosphereDriver::create_grids()
295
295
const bool enable_iop =
296
296
m_atm_params.sublist (" driver_options" ).get (" enable_iop" , false );
297
297
if (enable_iop) {
298
- setup_iop ();
298
+ setup_iop_data_manager ();
299
299
}
300
300
301
301
// Set the grids in the processes. Do this by passing the grids manager.
@@ -1244,7 +1244,7 @@ void AtmosphereDriver::set_initial_conditions ()
1244
1244
}
1245
1245
}
1246
1246
1247
- if (m_iop ) {
1247
+ if (m_iop_data_manager ) {
1248
1248
// For runs with IOP, call to setup io grids and lat
1249
1249
// lon information needed for reading from file
1250
1250
// We use a single topo file for both GLL and PG2 runs. All
@@ -1254,13 +1254,13 @@ void AtmosphereDriver::set_initial_conditions ()
1254
1254
for (const auto & it : m_field_mgrs) {
1255
1255
const auto & grid_name = it.first ;
1256
1256
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 ) {
1258
1258
const auto & file_name = grid_name == " Physics GLL"
1259
1259
?
1260
1260
ic_pl.get <std::string>(" Filename" )
1261
1261
:
1262
1262
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 ());
1264
1264
}
1265
1265
}
1266
1266
}
@@ -1272,12 +1272,12 @@ void AtmosphereDriver::set_initial_conditions ()
1272
1272
m_atm_logger->info (" [EAMxx] IC filename: " + file_name);
1273
1273
for (const auto & it : m_field_mgrs) {
1274
1274
const auto & grid_name = it.first ;
1275
- if (not m_iop ) {
1275
+ if (not m_iop_data_manager ) {
1276
1276
read_fields_from_file (ic_fields_names[grid_name],it.second ->get_grid (),file_name,m_current_ts);
1277
1277
} else {
1278
1278
// For IOP enabled, we load from file and copy data from the closest
1279
1279
// 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,
1281
1281
ic_fields_names[grid_name],
1282
1282
m_current_ts,
1283
1283
it.second );
@@ -1347,7 +1347,7 @@ void AtmosphereDriver::set_initial_conditions ()
1347
1347
m_atm_logger->info (" filename: " + file_name);
1348
1348
for (const auto & it : m_field_mgrs) {
1349
1349
const auto & grid_name = it.first ;
1350
- if (not m_iop ) {
1350
+ if (not m_iop_data_manager ) {
1351
1351
// Topography files always use "ncol_d" for the GLL grid value of ncol.
1352
1352
// To ensure we read in the correct value, we must change the name for that dimension
1353
1353
auto io_grid = it.second ->get_grid ();
@@ -1363,7 +1363,7 @@ void AtmosphereDriver::set_initial_conditions ()
1363
1363
} else {
1364
1364
// For IOP enabled, we load from file and copy data from the closest
1365
1365
// 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,
1367
1367
topography_file_fields_names[grid_name],
1368
1368
topography_eamxx_fields_names[grid_name],
1369
1369
m_current_ts,
@@ -1388,16 +1388,16 @@ void AtmosphereDriver::set_initial_conditions ()
1388
1388
m_atm_params.sublist (" provenance" ).set <std::string>(" topography_file" ," NONE" );
1389
1389
}
1390
1390
1391
- if (m_iop ) {
1391
+ if (m_iop_data_manager ) {
1392
1392
// 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);
1394
1394
1395
1395
// Now that ICs are processed, set appropriate fields using IOP file data.
1396
1396
// Since ICs are loaded on GLL grid, we set those fields only and dynamics
1397
1397
// will take care of the rest (for PG2 case).
1398
1398
if (m_field_mgrs.count (" Physics GLL" ) > 0 ) {
1399
1399
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);
1401
1401
}
1402
1402
}
1403
1403
@@ -1795,7 +1795,7 @@ void AtmosphereDriver::finalize ( /* inputs? */ ) {
1795
1795
}
1796
1796
1797
1797
// Destroy iop
1798
- m_iop = nullptr ;
1798
+ m_iop_data_manager = nullptr ;
1799
1799
1800
1800
// Destroy the buffer manager
1801
1801
m_memory_buffer = nullptr ;
0 commit comments