@@ -115,7 +115,7 @@ module gotm_fabm
115115 REALTYPE,allocatable ,dimension (:),target :: par,pres,swr,k_par,z,nuh_ct
116116
117117 ! External variables
118- REALTYPE :: dt,dt_eff ! External and internal time steps
118+ REALTYPE, target :: dt,dt_eff ! External and internal time steps
119119 integer :: w_adv_ctr ! Scheme for vertical advection (0 if not used)
120120 REALTYPE,pointer ,dimension (:) :: nuh,h,bioshade,w,rho
121121 REALTYPE,pointer ,dimension (:) :: SRelaxTau,sProf,salt
@@ -124,6 +124,7 @@ module gotm_fabm
124124 REALTYPE,pointer :: I_0,A,g1,g2
125125 integer ,pointer :: yearday,secondsofday
126126 REALTYPE, target :: decimal_yearday
127+ REALTYPE, target :: decimal_year
127128 logical :: fabm_ready
128129
129130 REALTYPE,pointer :: fabm_airp
@@ -836,6 +837,13 @@ subroutine init_gotm_fabm_state(nlev)
836837
837838!- ----------------------------------------------------------------------
838839! BOC
840+
841+ if ( model% variable_needs_values( standard_variables% calendar_year ) ) then
842+ if ( associated (fabm_calendar_date) .and. associated (fabm_julianday) ) then
843+ call model% link_scalar( standard_variables% calendar_year, decimal_year )
844+ end if
845+ end if
846+
839847 call fabm_check_ready(model)
840848 fabm_ready = .true.
841849
@@ -1032,6 +1040,7 @@ subroutine set_env_gotm_fabm(latitude,longitude,dt_,w_adv_method_,w_adv_ctr_,tem
10321040
10331041 ! Calculate and save internal time step.
10341042 dt_eff = dt/ split_factor
1043+ call model% link_scalar( standard_variables% maximum_time_step, dt_eff )
10351044
10361045 I_0 = > I_0_
10371046 A = > A_
@@ -1229,6 +1238,7 @@ subroutine do_gotm_fabm(nlev,itime)
12291238 do split= 1 ,split_factor
12301239 if (has_date) then
12311240 call fabm_update_time(model, itime, yyyy, mm, dd, real (secondsofday, gotmrk))
1241+ decimal_year = real ( yyyy, gotmrk )
12321242 else
12331243 call fabm_update_time(model, itime)
12341244 end if
0 commit comments