Fortran Code for the generation of the Pulse Response Functions
High Resolution Biosphere Model
function resp(t)
c ----------------------------------------------
c - Response function for HRBM -
c - -
c - input: -
c - t [dp] : time [yr] -
c - output: -
c - resp [dp] : Response at t [-] -
c - -
c - call frequency : once per year -
c - --------------------------------------------
implicit none
c
double precision t,resp0,resp
c
parameter (resp0 = 0.511347539722d-01)
if (t.le.1.0d0) then
resp = resp0*t
elseif (t.le.2.0d0) then
resp = resp0+(0.174410864710D+00-resp0)*(t-1.0d0)
elseif (t.le.14.0d0) then
resp = 0.630523002180D-02+
$ 0.345424437642D+01*dexp(-t/0.904203703960D+00)+
$ 0.141623998399D+00*dexp(-t/0.261649036650D+01)-
$ 0.501158016716D+01*dexp(-t/0.689914606958D+00)
elseif (t.le.450.0d0) then
resp = 0.472191941646D-04-
$ 0.244428637820D+01*dexp(-t/0.862709227476D+02)+
$ 0.244973858123D+01*dexp(-t/0.862692922059D+02)+
$ 0.548083830794D-02*dexp(-t/0.139898764513D+02)
else
resp = 0.20304167D+02*dexp(-t/0.45166515D+02)-
$ 0.23764954D+02*dexp(-t/0.44364017D+02)+
$ 0.15264106D-03*dexp(-t/0.43832634D+03)
endif
return
end
Frankfurt Biosphere Model
function resp(t)
c ----------------------------------------------
c - Response function for FBM -
c - -
c - input: -
c - t [dp] : time [yr] -
c - output: -
c - resp [dp] : Response at t [-] -
c - -
c - call frequency : once per year -
c - --------------------------------------------
implicit none
c
double precision t,resp0,resp
c
parameter (resp0 = 0.39100056D+00)
if (t.le.1.0d0) then
anbio = resp0*t
else
anbio = 0.16288184D-01 * dexp(-t/0.72055005D+01) +
$ 0.33925361D-01 * dexp(-t/0.14732705D+02) +
$ 0.97439329D-04 * dexp(-t/0.29538920D+02) +
$ 0.51309690D-03 * dexp(-t/0.11750538D+03)
endif
return
end
4Box Biosphere
function resp(t)
c ----------------------------------------------
c - Response function for 4Box Biosphere -
c - -
c - input: -
c - t [dp] : time [yr] -
c - output: -
c - resp [dp] : Response at t [-] -
c - -
c - call frequency : every time step -
c - --------------------------------------------
implicit none
c
double precision t,resp0,resp
resp = 0.7021d0*exp(-0.35d0*t)+
$ 0.01341d0*exp(-0.05d0*t)-
$ 0.7185d0*exp(-0.458333d0*t)+
$ 0.002932d0*exp(-0.01d0*t)
return
end
Box Substitute of HRBM/CTBM
function resp(t)
c ----------------------------------------------
c - Response function for 4Box Biosphere -
c - -
c - input: -
c - t [dp] : time [yr] -
c - output: -
c - resp [dp] : Response at t [-] -
c - -
c - call frequency : every time step -
c - --------------------------------------------
implicit none
c
double precision t,resp0,resp
resp = 0.3807325933D+00*exp(-0.6777865291D+00*t)-
$ 0.7674658037D+00*exp(-0.4973317623D+01*t)+
$ 0.8421987407D-02*exp(-0.1124884784D+00*t)+
$ 0.5582601879D-02*exp(-0.1349562965D-01*t)+
$ 0.4099895526D-03*exp(-0.3940026741D-02*t)
return
end