<p><b>mpetersen@lanl.gov</b> 2012-05-10 12:59:24 -0600 (Thu, 10 May 2012)</p><p>BRANCH COMMIT: Add the flag config_write_initial_output to all cores. If true (default) an output file is written upon start-up. For testing, this was compiled with ocean, sw, hyd_atmos, nhyd_atmos cores, and test ran with 120km global ocean core run.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/first_output_optional/namelist.input.hyd_atmos
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.hyd_atmos        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.hyd_atmos        2012-05-10 18:59:24 UTC (rev 1892)
@@ -28,6 +28,7 @@
config_frames_per_outfile = 0
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
&decomposition
Modified: branches/ocean_projects/first_output_optional/namelist.input.init_nhyd_atmos
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.init_nhyd_atmos        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.init_nhyd_atmos        2012-05-10 18:59:24 UTC (rev 1892)
@@ -37,6 +37,7 @@
config_output_name = 'x1.40962.init.2010-10-23.nc'
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
&decomposition
Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos        2012-05-10 18:59:24 UTC (rev 1892)
@@ -47,6 +47,7 @@
config_frames_per_outfile = 1
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
config_sfc_update_name = 'sfc_update.nc'
Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_jw
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_jw        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_jw        2012-05-10 18:59:24 UTC (rev 1892)
@@ -44,6 +44,7 @@
config_restart_name = 'restart.nc'
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
&decomposition
Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_mtn_wave
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_mtn_wave        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_mtn_wave        2012-05-10 18:59:24 UTC (rev 1892)
@@ -40,6 +40,7 @@
config_frames_per_outfile = 0
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
&decomposition
Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_squall
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_squall        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_squall        2012-05-10 18:59:24 UTC (rev 1892)
@@ -40,6 +40,7 @@
config_frames_per_outfile = 0
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
&decomposition
Modified: branches/ocean_projects/first_output_optional/namelist.input.ocean
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.ocean        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.ocean        2012-05-10 18:59:24 UTC (rev 1892)
@@ -15,6 +15,7 @@
config_frames_per_outfile = 1000000
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
&decomposition
config_number_of_blocks = 0
Modified: branches/ocean_projects/first_output_optional/namelist.input.sw
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.sw        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.sw        2012-05-10 18:59:24 UTC (rev 1892)
@@ -27,6 +27,7 @@
config_frames_per_outfile = 0
config_pio_num_iotasks = 0
config_pio_stride = 1
+ config_write_initial_output = .true.
/
&decomposition
config_number_of_blocks = 0
Modified: branches/ocean_projects/first_output_optional/src/core_hyd_atmos/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_hyd_atmos/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_hyd_atmos/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -29,6 +29,7 @@
namelist integer io config_frames_per_outfile 0
namelist integer io config_pio_num_iotasks 0
namelist integer io config_pio_stride 1
+namelist logical io config_write_initial_output true
namelist character decomposition config_block_decomp_file_prefix graph.info.part.
namelist integer decomposition config_number_of_blocks 0
namelist logical decomposition config_explicit_proc_decomp .false.
Modified: branches/ocean_projects/first_output_optional/src/core_hyd_atmos/mpas_atmh_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_hyd_atmos/mpas_atmh_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_hyd_atmos/mpas_atmh_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -80,7 +80,9 @@
call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
write(0,*) 'Initial time ', trim(timeStamp)
- call atmh_write_output_frame(output_obj, output_frame, domain)
+ if (config_write_initial_output) then
+ call atmh_write_output_frame(output_obj, output_frame, domain)
+ end if
! During integration, time level 1 stores the model state at the beginning of the
! time step, and time level 2 stores the state advanced dt in time by timestep(...)
@@ -103,7 +105,9 @@
call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
! output_frame will always be > 1 here unless it was reset after the maximum number of frames per outfile was reached
if(output_frame == 1) then
- call mpas_output_state_finalize(output_obj, domain % dminfo)
+ if (config_write_initial_output) then
+ call mpas_output_state_finalize(output_obj, domain % dminfo)
+ end if
call mpas_output_state_init(output_obj, domain, "OUTPUT", trim(timeStamp))
end if
call atmh_write_output_frame(output_obj, output_frame, domain)
Modified: branches/ocean_projects/first_output_optional/src/core_init_nhyd_atmos/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_init_nhyd_atmos/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_init_nhyd_atmos/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -31,6 +31,7 @@
namelist integer io config_frames_per_outfile 0
namelist integer io config_pio_num_iotasks 0
namelist integer io config_pio_stride 1
+namelist logical io config_write_initial_output true
namelist character decomposition config_block_decomp_file_prefix graph.info.part.
namelist integer decomposition config_number_of_blocks 0
namelist logical decomposition config_explicit_proc_decomp .false.
Modified: branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -46,6 +46,7 @@
namelist integer io config_frames_per_outfile 0
namelist integer io config_pio_num_iotasks 0
namelist integer io config_pio_stride 1
+namelist logical io config_write_initial_output true
namelist character decomposition config_block_decomp_file_prefix graph.info.part.
namelist integer decomposition config_number_of_blocks 0
namelist logical decomposition config_explicit_proc_decomp .false.
Modified: branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/mpas_atm_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -249,7 +249,9 @@
! Eventually, dt should be domain specific
dt = config_dt
- call atm_write_output_frame(output_obj, output_frame, domain)
+ if (config_write_initial_output) then
+ call atm_write_output_frame(output_obj, output_frame, domain)
+ end if
! During integration, time level 1 stores the model state at the beginning of the
! time step, and time level 2 stores the state advanced dt in time by timestep(...)
@@ -287,7 +289,9 @@
call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
! output_frame will always be > 1 here unless it was reset after the maximum number of frames per outfile was reached
if(output_frame == 1) then
- call mpas_output_state_finalize(output_obj, domain % dminfo)
+ if (config_write_initial_output) then
+ call mpas_output_state_finalize(output_obj, domain % dminfo)
+ end if
call mpas_output_state_init(output_obj, domain, "OUTPUT", trim(timeStamp))
end if
call atm_write_output_frame(output_obj, output_frame, domain)
Modified: branches/ocean_projects/first_output_optional/src/core_ocean/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_ocean/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_ocean/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -20,6 +20,7 @@
namelist integer io config_frames_per_outfile 0
namelist integer io config_pio_num_iotasks 0
namelist integer io config_pio_stride 1
+namelist logical io config_write_initial_output true
namelist character decomposition config_block_decomp_file_prefix graph.info.part.
namelist integer decomposition config_number_of_blocks 0
namelist logical decomposition config_explicit_proc_decomp .false.
@@ -208,9 +209,9 @@
var persistent real salinityRestore ( nCells ) 0 iro salinityRestore mesh - -
% mrp trying to figure out why these do not appear
-var persistent real windStressMonthly ( nMonths nEdges ) 0 iro windStressMonthly mesh - -
-var persistent real temperatureRestoreMonthly ( nMonths nCells ) 0 iro temperatureRestoreMonthly mesh - -
-var persistent real salinityRestoreMonthly ( nMonths nCells ) 0 iro salinityRestoreMonthly mesh - -
+var persistent real windStressMonthly ( nMonths nEdges ) 0 - windStressMonthly mesh - -
+var persistent real temperatureRestoreMonthly ( nMonths nCells ) 0 - temperatureRestoreMonthly mesh - -
+var persistent real salinityRestoreMonthly ( nMonths nCells ) 0 - salinityRestoreMonthly mesh - -
% Prognostic variables: read from input, saved in restart, and written to output
var persistent real u ( nVertLevels nEdges Time ) 2 ir u state - -
Modified: branches/ocean_projects/first_output_optional/src/core_ocean/mpas_ocn_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_ocean/mpas_ocn_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_ocean/mpas_ocn_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -351,7 +351,10 @@
call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
write(0,*) 'Initial time ', trim(timeStamp)
- call ocn_write_output_frame(output_obj, output_frame, domain)
+ if (config_write_initial_output) then
+ call ocn_write_output_frame(output_obj, output_frame, domain)
+ end if
+
block_ptr => domain % blocklist
do while(associated(block_ptr))
@@ -388,7 +391,9 @@
call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
! output_frame will always be > 1 here unless it was reset after the maximum number of frames per outfile was reached
if(output_frame == 1) then
- call mpas_output_state_finalize(output_obj, domain % dminfo)
+ if (config_write_initial_output) then
+ call mpas_output_state_finalize(output_obj, domain % dminfo)
+ end if
call mpas_output_state_init(output_obj, domain, "OUTPUT", trim(timeStamp))
end if
Modified: branches/ocean_projects/first_output_optional/src/core_sw/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_sw/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_sw/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -28,6 +28,7 @@
namelist integer io config_frames_per_outfile 0
namelist integer io config_pio_num_iotasks 0
namelist integer io config_pio_stride 1
+namelist logical io config_write_initial_output true
namelist character decomposition config_block_decomp_file_prefix graph.info.part.
namelist integer decomposition config_number_of_blocks 0
namelist logical decomposition config_explicit_proc_decomp .false.
Modified: branches/ocean_projects/first_output_optional/src/core_sw/mpas_sw_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_sw/mpas_sw_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_sw/mpas_sw_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -168,7 +168,9 @@
call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
write(0,*) 'Initial timestep ', trim(timeStamp)
- call write_output_frame(output_obj, output_frame, domain)
+ if (config_write_initial_output) then
+ call write_output_frame(output_obj, output_frame, domain)
+ end if
! During integration, time level 1 stores the model state at the beginning of the
! time step, and time level 2 stores the state advanced dt in time by timestep(...)
@@ -195,7 +197,9 @@
call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
! output_frame will always be > 1 here unless it was reset after the maximum number of frames per outfile was reached
if(output_frame == 1) then
- call mpas_output_state_finalize(output_obj, domain % dminfo)
+ if (config_write_initial_output) then
+ call mpas_output_state_finalize(output_obj, domain % dminfo)
+ end if
call mpas_output_state_init(output_obj, domain, "OUTPUT", trim(timeStamp))
end if
call write_output_frame(output_obj, output_frame, domain)
Modified: branches/ocean_projects/first_output_optional/src/driver/mpas_subdriver.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/driver/mpas_subdriver.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/driver/mpas_subdriver.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -44,10 +44,12 @@
!
output_frame = 1
- if(config_frames_per_outfile > 0) then
- call mpas_output_state_init(output_obj, domain, "OUTPUT", trim(timeStamp))
- else
- call mpas_output_state_init(output_obj, domain, "OUTPUT")
+ if (config_write_initial_output) then
+ if(config_frames_per_outfile > 0) then
+ call mpas_output_state_init(output_obj, domain, "OUTPUT", trim(timeStamp))
+ else
+ call mpas_output_state_init(output_obj, domain, "OUTPUT")
+ end if
end if
</font>
</pre>