Commit 2f0dcd3a authored by Delaigue Olivier's avatar Delaigue Olivier
Browse files

v1.3.2.67 SPEED: hyperbolic tangent function definition modified in frun_GR* Fortran codes #21

Showing with 27 additions and 17 deletions
+27 -17
Package: airGR
Type: Package
Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
Version: 1.3.2.66
Version: 1.3.2.67
Date: 2019-12-02
Authors@R: c(
person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")),
......
......@@ -2,7 +2,7 @@
### 1.3.2.66 Release Notes (2019-12-02)
### 7 Release Notes (2019-12-02)
#### New features
......
......@@ -147,7 +147,7 @@
integer, parameter :: NParam=2,NMISC=30
doubleprecision :: WS,tanHyp,S1,S2
doubleprecision :: P1,P2,P3,R1,R2,AE,EXCH
doubleprecision :: TWS, Sr ! speed-up
doubleprecision :: expWS, TWS, Sr ! speed-up
!! dummies
! in
......@@ -164,7 +164,8 @@
IF(WS.GT.13.) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
S1=(St(1)+Param(1)*TWS)/(1.+St(1)/Param(1)*TWS)
! S1=(X(1)+Param(1)*tanHyp(WS))/(1.+X(1)/Param(1)*tanHyp(WS))
! end speed-up
......@@ -174,7 +175,8 @@
IF(WS.GT.13.) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
S2=S1*(1.-TWS)/(1.+(1.-S1/Param(1))*TWS)
! S2=S1*(1.-tanHyp(WS))/(1.+(1.-S1/Param(1))*tanHyp(WS))
! end speed-up
......
......@@ -180,7 +180,7 @@
integer :: K
doubleprecision, parameter :: B=0.9
doubleprecision, parameter :: stored_val=759.69140625
doubleprecision :: TWS, Sr, Rr ! speed-up
doubleprecision :: expWS, TWS, Sr, Rr ! speed-up
!! dummies
! in
......@@ -207,7 +207,8 @@
IF(WS.GT.13.) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
ER=St(1)*(2.-Sr)*TWS/(1.+(1.-Sr)*TWS)
! ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
......@@ -224,7 +225,8 @@
IF(WS.GT.13.)WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
PS=A*(1.-Sr*Sr)*TWS/(1.+Sr*TWS)
! PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
......
......@@ -180,7 +180,7 @@
integer :: K
doubleprecision, parameter :: B=0.9
doubleprecision, parameter :: stored_val=25.62890625
doubleprecision :: TWS, Sr, Rr ! speed-up
doubleprecision :: expWS, TWS, Sr, Rr ! speed-up
!! dummies
! in
......@@ -206,7 +206,8 @@
WS=EN/A
IF(WS.GT.13.) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
ER=St(1)*(2.-Sr)*TWS/(1.+(1.-Sr)*TWS)
! ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
......@@ -222,7 +223,8 @@
WS=PN/A
IF(WS.GT.13.) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
PS=A*(1.-Sr*Sr)*TWS/(1.+Sr*TWS)
! PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
......
......@@ -174,7 +174,7 @@
integer :: K
doubleprecision, parameter :: B=0.9
doubleprecision, parameter :: stored_val=25.62890625
doubleprecision :: TWS, Sr, Rr ! speed-up
doubleprecision :: expWS, TWS, Sr, Rr ! speed-up
!! dummies
! in
......@@ -198,7 +198,8 @@
WS=EN/A
IF(WS.GT.13.) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
ER=St(1)*(2.-Sr)*TWS/(1.+(1.-Sr)*TWS)
! ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
......@@ -214,7 +215,8 @@
WS=PN/A
IF(WS.GT.13.) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
PS=A*(1.-Sr*Sr)*TWS/(1.+Sr*TWS)
! PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
......
......@@ -185,7 +185,7 @@
integer :: K
doubleprecision, parameter :: B=0.9, C=0.4
doubleprecision, parameter :: stored_val=25.62890625
doubleprecision :: TWS, Sr, Rr ! speed-up
doubleprecision :: expWS, TWS, Sr, Rr ! speed-up
!! dummies
! in
......@@ -212,7 +212,8 @@
IF(WS.GT.13) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
ER=St(1)*(2.-Sr)*TWS/(1.+(1.-Sr)*TWS)
! ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
......@@ -230,7 +231,8 @@
IF(WS.GT.13) WS=13.
! speed-up
TWS = tanHyp(WS)
expWS = exp(2.*WS)
TWS = (expWS - 1.)/(expWS + 1.)
Sr = St(1)/A
PS=A*(1.-Sr*Sr)*TWS/(1.+Sr*TWS)
! PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment