<p><b>dwj07@fsu.edu</b> 2012-01-05 15:33:51 -0700 (Thu, 05 Jan 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Fixing up an issue with time averaging.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_average.F
===================================================================
--- branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_average.F        2012-01-05 22:26:48 UTC (rev 1301)
+++ branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_average.F        2012-01-05 22:33:51 UTC (rev 1302)
@@ -41,10 +41,11 @@
end subroutine ocn_time_average_init!}}}
- subroutine ocn_time_average_accumulate(state)!{{{
+ subroutine ocn_time_average_accumulate(state, old_state)!{{{
type (state_type), intent(inout) :: state
+ type (state_type), intent(in) :: old_state
- real, pointer :: nAccumulate
+ real, pointer :: nAccumulate, old_nAccumulate
real (kind=RKIND), dimension(:), pointer :: ssh
real (kind=RKIND), dimension(:,:), pointer :: uReconstructZonal, uReconstructMeridional, u
@@ -53,6 +54,11 @@
real (kind=RKIND), dimension(:,:), pointer :: acc_uReconstructZonal, acc_uReconstructMeridional, acc_uReconstructZonalVar, acc_uReconstructMeridionalVar
real (kind=RKIND), dimension(:), pointer :: acc_ssh, acc_sshVar
+ real (kind=RKIND), dimension(:,:), pointer :: old_acc_u, old_acc_uVar
+ real (kind=RKIND), dimension(:,:), pointer :: old_acc_uReconstructZonal, old_acc_uReconstructMeridional, old_acc_uReconstructZonalVar, old_acc_uReconstructMeridionalVar
+ real (kind=RKIND), dimension(:), pointer :: old_acc_ssh, old_acc_sshVar
+
+ old_nAccumulate => old_state % nAccumulate % scalar
nAccumulate => state % nAccumulate % scalar
ssh => state % ssh % array
@@ -69,16 +75,25 @@
acc_u => state % acc_u % array
acc_uVar => state % acc_uVar % array
- acc_ssh = acc_ssh + ssh
- acc_sshVar = acc_sshVar + ssh**2
- acc_uReconstructZonal = acc_uReconstructZonal + uReconstructZonal
- acc_uReconstructMeridional = acc_uReconstructMeridional + uReconstructMeridional
- acc_uReconstructZonalVar = acc_uReconstructZonalVar + uReconstructZonal**2
- acc_uReconstructMeridionalVar = acc_uReconstructMeridionalVar + uReconstructMeridional**2
- acc_u = acc_u + u
- acc_uVar = acc_uVar + u**2
+ old_acc_ssh => old_state % acc_ssh % array
+ old_acc_sshVar => old_state % acc_sshVar % array
+ old_acc_uReconstructZonal => old_state % acc_uReconstructZonal % array
+ old_acc_uReconstructMeridional => old_state % acc_uReconstructMeridional % array
+ old_acc_uReconstructZonalVar => old_state % acc_uReconstructZonalVar % array
+ old_acc_uReconstructMeridionalVar => old_state % acc_uReconstructMeridionalVar % array
+ old_acc_u => old_state % acc_u % array
+ old_acc_uVar => old_state % acc_uVar % array
- nAccumulate = nAccumulate + 1
+ acc_ssh = old_acc_ssh + ssh
+ acc_sshVar = old_acc_sshVar + ssh**2
+ acc_uReconstructZonal = old_acc_uReconstructZonal + uReconstructZonal
+ acc_uReconstructMeridional = old_acc_uReconstructMeridional + uReconstructMeridional
+ acc_uReconstructZonalVar = old_acc_uReconstructZonalVar + uReconstructZonal**2
+ acc_uReconstructMeridionalVar = old_acc_uReconstructMeridionalVar + uReconstructMeridional**2
+ acc_u = old_acc_u + u
+ acc_uVar = old_acc_uVar + u**2
+
+ nAccumulate = old_nAccumulate + 1
end subroutine ocn_time_average_accumulate!}}}
subroutine ocn_time_average_normalize(state)!{{{
Modified: branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_integration_rk4.F
===================================================================
--- branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-01-05 22:26:48 UTC (rev 1301)
+++ branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-01-05 22:33:51 UTC (rev 1302)
@@ -356,7 +356,7 @@
block % state % time_levs(2) % state % uReconstructMeridional % array &
)
- call ocn_time_average_accumulate(block % state % time_levs(2) % state)
+ call ocn_time_average_accumulate(block % state % time_levs(2) % state, block % state % time_levs(1) % state)
block => block % next
end do
Modified: branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_integration_split.F        2012-01-05 22:26:48 UTC (rev 1301)
+++ branches/ocean_projects/time_averaging/src/core_ocean/mpas_ocn_time_integration_split.F        2012-01-05 22:33:51 UTC (rev 1302)
@@ -1251,7 +1251,7 @@
block % state % time_levs(2) % state % uReconstructMeridional % array &
)
- call ocn_time_average_accumulate(block % state % time_levs(2) % state)
+ call ocn_time_average_accumulate(block % state % time_levs(2) % state, block % state % time_levs(1) % state)
block => block % next
end do
</font>
</pre>