changeset 64:bc184e70ed53

Now, nyear_global starts at zero; indentation/order accumulation in sediment_step.
author Marco van Hulten <marco@hulten.org>
date Tue, 19 Mar 2019 12:39:10 +0100
parents 992fe5b8be2f
children f58619fb89ef
files hamocc_step.F ini_hamocc.F90 mo_sedmnt_offline.F90 sediment_step.F90
diffstat 4 files changed, 33 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/hamocc_step.F	Tue Mar 12 14:10:57 2019 +0100
+++ b/hamocc_step.F	Tue Mar 19 12:39:10 2019 +0100
@@ -39,6 +39,14 @@
       call sedmnt_offline(idm, jdm, kdm, maxyear_sediment, nstep,
      .                    bgc_dp, bgc_dx, bgc_dy, omask)
 #endif
+
+      if (mnproc.eq.1) write(io_stdo_bgc,'(a,i3)')
+     .         'hamocc_step(): nday_of_year = ', nday_of_year
+      if ( nday_of_year==1 .and. is_start_of_day ) then
+         nyear_global = nyear_global + 1
+         if (mnproc.eq.1) write(io_stdo_bgc,'(a,i6)')
+     .            'hamocc_step(): nyear_global = ', nyear_global
+      endif
 c
       call hamocc4bcm(idm,jdm,kdm,pglat,bgc_swr,bgc_fice,
      .            bgc_t,bgc_s,bgc_slp,bgc_rho,bgc_dp,bgc_dx,bgc_dy,
@@ -54,12 +62,6 @@
          call prepare_clim(nstep)
       endif
 #endif
-
-      if ( nday_of_year==nday_in_year .and. is_end_of_day ) then
-         nyear_global = nyear_global + 1
-         IF (mnproc.eq.1) WRITE(io_stdo_bgc,*)
-     .            'hamocc_step(): nyear_global = ', nyear_global
-      endif
 c
       call hamocc2micom(m,n,mm,nn)
 c
--- a/ini_hamocc.F90	Tue Mar 12 14:10:57 2019 +0100
+++ b/ini_hamocc.F90	Tue Mar 19 12:39:10 2019 +0100
@@ -148,7 +148,7 @@
       nstep_in_month = 0
 #endif
       nburst = 0
-      nyear_global = 1
+      nyear_global = 0
 
       CALL ALLOC_MEM_BGCMEAN(kpie,kpje,kpke)
 
--- a/mo_sedmnt_offline.F90	Tue Mar 12 14:10:57 2019 +0100
+++ b/mo_sedmnt_offline.F90	Tue Mar 19 12:39:10 2019 +0100
@@ -425,6 +425,7 @@
       enddo
 
       do nyear = 1, maxyear
+         nyear_global = nyear_global + 1
          if (mnproc == 1) write(io_stdo_bgc,'(a,i6)')                      &
                &         'sedmnt_offline(): nyear_global = ', nyear_global
          do nmonth = 1, 12
@@ -475,8 +476,6 @@
                nacc_sed(n) = 0
             endif
          enddo
-
-         nyear_global = nyear_global + 1
       enddo
 
       lspinning_up_sed = .false.
--- a/sediment_step.F90	Tue Mar 12 14:10:57 2019 +0100
+++ b/sediment_step.F90	Tue Mar 19 12:39:10 2019 +0100
@@ -112,12 +112,6 @@
 call sedshi(kpie,kpje,omask)
 
 if (lspinning_up_sed) then
-   ! accumulate sediment burial
-   call accbur_offl(jburssso12_,burial(1,1,issso12))
-   call accbur_offl(jburssssil_,burial(1,1,issssil))
-   call accbur_offl(jbursssc12_,burial(1,1,isssc12))
-   call accbur_offl(jburssster_,burial(1,1,issster))
-
    ! accumulate sediments
    call accsdm_offl(jpowaic_,powtra(1,1,1,ipowaic))
    call accsdm_offl(jpowaal_,powtra(1,1,1,ipowaal))
@@ -130,25 +124,31 @@
    call accsdm_offl(jssssil_,sedlay(1,1,1,issssil))
    call accsdm_offl(jsssc12_,sedlay(1,1,1,isssc12))
    call accsdm_offl(jssster_,sedlay(1,1,1,issster))
+
+   ! accumulate sediment burial
+   call accbur_offl(jburssso12_,burial(1,1,issso12))
+   call accbur_offl(jburssssil_,burial(1,1,issssil))
+   call accbur_offl(jbursssc12_,burial(1,1,isssc12))
+   call accbur_offl(jburssster_,burial(1,1,issster))
 else
-! accumulate sediments
-call accsdm(jpowaic,powtra(1,1,1,ipowaic))
-call accsdm(jpowaal,powtra(1,1,1,ipowaal))
-call accsdm(jpowaph,powtra(1,1,1,ipowaph))
-call accsdm(jpowaox,powtra(1,1,1,ipowaox))
-call accsdm(jpown2 ,powtra(1,1,1,ipown2) )
-call accsdm(jpowno3,powtra(1,1,1,ipowno3))
-call accsdm(jpowasi,powtra(1,1,1,ipowasi))
-call accsdm(jssso12,sedlay(1,1,1,issso12))
-call accsdm(jssssil,sedlay(1,1,1,issssil))
-call accsdm(jsssc12,sedlay(1,1,1,isssc12))
-call accsdm(jssster,sedlay(1,1,1,issster))
+   ! accumulate sediments
+   call accsdm(jpowaic,powtra(1,1,1,ipowaic))
+   call accsdm(jpowaal,powtra(1,1,1,ipowaal))
+   call accsdm(jpowaph,powtra(1,1,1,ipowaph))
+   call accsdm(jpowaox,powtra(1,1,1,ipowaox))
+   call accsdm(jpown2 ,powtra(1,1,1,ipown2) )
+   call accsdm(jpowno3,powtra(1,1,1,ipowno3))
+   call accsdm(jpowasi,powtra(1,1,1,ipowasi))
+   call accsdm(jssso12,sedlay(1,1,1,issso12))
+   call accsdm(jssssil,sedlay(1,1,1,issssil))
+   call accsdm(jsssc12,sedlay(1,1,1,isssc12))
+   call accsdm(jssster,sedlay(1,1,1,issster))
 
-! accumulate sediment burial
-call accbur(jburssso12,burial(1,1,issso12))
-call accbur(jburssssil,burial(1,1,issssil))
-call accbur(jbursssc12,burial(1,1,isssc12))
-call accbur(jburssster,burial(1,1,issster))
+   ! accumulate sediment burial
+   call accbur(jburssso12,burial(1,1,issso12))
+   call accbur(jburssssil,burial(1,1,issssil))
+   call accbur(jbursssc12,burial(1,1,isssc12))
+   call accbur(jburssster,burial(1,1,issster))
 endif
 
 !-----------------------------------------------------------------------