<p><b>duda</b> 2011-11-28 16:03:27 -0700 (Mon, 28 Nov 2011)</p><p>BRANCH COMMIT<br>
<br>
Add namelist options to control the number of IO tasks and the stride between them.<br>
<br>
<br>
M src/core_hyd_atmos/Registry<br>
M src/core_sw/Registry<br>
M src/core_nhyd_atmos/Registry<br>
M src/core_ocean/Registry<br>
M src/framework/mpas_io_output.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/pio/src/core_hyd_atmos/Registry
===================================================================
--- branches/pio/src/core_hyd_atmos/Registry        2011-11-28 21:46:55 UTC (rev 1216)
+++ branches/pio/src/core_hyd_atmos/Registry        2011-11-28 23:03:27 UTC (rev 1217)
@@ -28,6 +28,8 @@
namelist character io config_output_interval 06:00:00
namelist integer io config_frames_per_outfile 0
namelist character io config_decomp_file_prefix graph.info.part.
+namelist integer io config_pio_num_iotasks 0
+namelist integer io config_pio_stride 1
namelist logical restart config_do_restart false
namelist character restart config_restart_interval none
Modified: branches/pio/src/core_nhyd_atmos/Registry
===================================================================
--- branches/pio/src/core_nhyd_atmos/Registry        2011-11-28 21:46:55 UTC (rev 1216)
+++ branches/pio/src/core_nhyd_atmos/Registry        2011-11-28 23:03:27 UTC (rev 1217)
@@ -46,6 +46,8 @@
namelist character io config_output_interval 06:00:00
namelist integer io config_frames_per_outfile 0
namelist character io config_decomp_file_prefix graph.info.part.
+namelist integer io config_pio_num_iotasks 0
+namelist integer io config_pio_stride 1
namelist logical restart config_do_restart false
namelist logical restart config_do_DAcycling false
namelist character restart config_restart_interval none
Modified: branches/pio/src/core_ocean/Registry
===================================================================
--- branches/pio/src/core_ocean/Registry        2011-11-28 21:46:55 UTC (rev 1216)
+++ branches/pio/src/core_ocean/Registry        2011-11-28 23:03:27 UTC (rev 1217)
@@ -16,6 +16,8 @@
namelist character io config_output_interval 24:00:00
namelist integer io config_frames_per_outfile 0
namelist character io config_decomp_file_prefix graph.info.part.
+namelist integer io config_pio_num_iotasks 0
+namelist integer io config_pio_stride 1
namelist logical restart config_do_restart false
namelist character restart config_restart_interval none
namelist character grid config_vert_grid_type isopycnal
Modified: branches/pio/src/core_sw/Registry
===================================================================
--- branches/pio/src/core_sw/Registry        2011-11-28 21:46:55 UTC (rev 1216)
+++ branches/pio/src/core_sw/Registry        2011-11-28 23:03:27 UTC (rev 1217)
@@ -27,6 +27,8 @@
namelist character io config_output_interval 06:00:00
namelist integer io config_frames_per_outfile 0
namelist character io config_decomp_file_prefix graph.info.part.
+namelist integer io config_pio_num_iotasks 0
+namelist integer io config_pio_stride 1
namelist logical restart config_do_restart false
namelist character restart config_restart_interval none
Modified: branches/pio/src/framework/mpas_io_output.F
===================================================================
--- branches/pio/src/framework/mpas_io_output.F        2011-11-28 21:46:55 UTC (rev 1216)
+++ branches/pio/src/framework/mpas_io_output.F        2011-11-28 23:03:27 UTC (rev 1217)
@@ -78,21 +78,30 @@
character (len=*), optional :: outputSuffix
character (len=128) :: tempfilename
+ integer :: pio_num_iotasks, pio_stride
type (block_type), pointer :: block_ptr
#include "output_dim_actual_decls.inc"
write(0,*) 'MGD *** calling mpas_output_state_init ***'
+ pio_num_iotasks = config_pio_num_iotasks
+ pio_stride = config_pio_stride
+ if (pio_num_iotasks == 0) then
+ pio_num_iotasks = domain % dminfo % nprocs
+ end if
+
+write(0,*) 'Using ', pio_num_iotasks, ' IO tasks'
+write(0,*) 'Using stride ', pio_stride, ' between IO tasks'
+
write(0,*) 'MGD PIO_init'
call PIO_init(domain % dminfo % my_proc_id, & ! comp_rank
domain % dminfo % comm, & ! comp_comm
- 4, & ! num_iotasks
+ pio_num_iotasks, & ! num_iotasks
0, & ! num_aggregator
- 32, & ! stride
+ pio_stride, & ! stride
PIO_rearr_box, & ! rearr
output_obj % pio_iosystem) ! iosystem
-! domain % dminfo % nprocs, & ! num_iotasks
block_ptr => domain % blocklist
nullify(output_obj % sendCellsList)
</font>
</pre>