1 |
|
C $Header$ |
2 |
|
C $Name$ |
3 |
|
|
4 |
#include "SEAICE_OPTIONS.h" |
#include "SEAICE_OPTIONS.h" |
5 |
|
|
23 |
C | -> simpleSchemeFlag = .TRUE. |
C | -> simpleSchemeFlag = .TRUE. |
24 |
C | |
C | |
25 |
C | b) a scheme that assumes a log-normal distribution based |
C | b) a scheme that assumes a log-normal distribution based |
26 |
C | on the mean ice thickness and a standard decviation |
C | on the mean ice thickness and a standard decviation |
27 |
C | of LND_sigma=0.25 |
C | of LND_sigma=0.25 |
28 |
C | -> simpleSchemeFlag = .FALSE. |
C | -> simpleSchemeFlag = .FALSE. |
29 |
C | |
C | |
77 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
78 |
_RL dummyTime |
_RL dummyTime |
79 |
|
|
80 |
C local variables for picking up ITD from single category pickup file |
C local variables for picking up ITD from single category pickup file |
81 |
INTEGER LND_i, LND_iend |
INTEGER LND_i, LND_iend |
82 |
C parameters for log-normal distribution (LND) |
C parameters for log-normal distribution (LND) |
83 |
_RL LND_sigma, LND_mu |
_RL LND_sigma, LND_mu |
121 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
122 |
C |
C |
123 |
C initialize log-normal distribution |
C initialize log-normal distribution |
124 |
LND_mu = log(HEFF(i,j,bi,bj)/AREA(i,j,bi,bj)) |
LND_mu = log(HEFF(i,j,bi,bj)/AREA(i,j,bi,bj)) |
125 |
& - 0.5*LND_sigma*LND_sigma |
& - 0.5*LND_sigma*LND_sigma |
126 |
LND_x(1) = 0.+LND_dx/2. |
LND_x(1) = 0.+LND_dx/2. |
127 |
C make thickness bins |
C make thickness bins |
128 |
DO LND_i=2,LND_iend |
DO LND_i=2,LND_iend |
129 |
LND_x(LND_i)=LND_x(LND_i-1)+LND_dx |
LND_x(LND_i)=LND_x(LND_i-1)+LND_dx |
130 |
ENDDO |
ENDDO |
131 |
C log-normal distribution: |
C log-normal distribution: |
132 |
DO LND_i=2,LND_iend |
DO LND_i=2,LND_iend |
133 |
LND_tmp = log(LND_x(LND_i))-LND_mu |
LND_tmp = log(LND_x(LND_i))-LND_mu |
134 |
LND_pdf(LND_i)= 1. |
LND_pdf(LND_i)= 1. |
135 |
& / (LND_x(LND_i)*LND_sigma*sqrt(2*3.1416)) |
& / (LND_x(LND_i)*LND_sigma*sqrt(2*3.1416)) |
136 |
& * exp( -(LND_tmp*LND_tmp) |
& * exp( -(LND_tmp*LND_tmp) |
137 |
& / (2*LND_sigma*LND_sigma) ) |
& / (2*LND_sigma*LND_sigma) ) |
138 |
& * AREA(i,j,bi,bj) |
& * AREA(i,j,bi,bj) |
139 |
ENDDO |
ENDDO |
140 |
C assign bins to ice thickness categories |
C assign bins to ice thickness categories |
141 |
k=1 |
k=1 |
142 |
DO LND_i=1,LND_iend |
DO LND_i=1,LND_iend |
143 |
IF ( LND_x(LND_i).GT.Hlimit(k) ) k=k+1 |
IF ( LND_x(LND_i).GT.Hlimit(k) ) k=k+1 |
144 |
AREAITD(i,j,k,bi,bj) = AREAITD(i,j,k,bi,bj) |
AREAITD(i,j,k,bi,bj) = AREAITD(i,j,k,bi,bj) |
145 |
& + LND_pdf(LND_i)*LND_dx |
& + LND_pdf(LND_i)*LND_dx |
146 |
HEFFITD(i,j,k,bi,bj) = HEFFITD(i,j,k,bi,bj) |
HEFFITD(i,j,k,bi,bj) = HEFFITD(i,j,k,bi,bj) |
147 |
& + LND_pdf(LND_i)*LND_x(LND_i)*LND_dx |
& + LND_pdf(LND_i)*LND_x(LND_i)*LND_dx |
148 |
ENDDO |
ENDDO |
149 |
C |
C |
150 |
ENDDO |
ENDDO |
151 |
ENDDO |
ENDDO |
152 |
ENDDO |
ENDDO |
153 |
ENDDO |
ENDDO |
154 |
|
|
155 |
ENDIF |
ENDIF |
156 |
|
|
157 |
C---+-|--1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+-|--1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
158 |
C finally sort into correct ice thickness category |
C finally sort into correct ice thickness category |
159 |
C and compute bulk variables |
C and compute bulk variables |
160 |
C (needed for dynamic solver at beginning of seaice_model.F) |
C (needed for dynamic solver at beginning of seaice_model.F) |
161 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
162 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
168 |
C---+-|--1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+-|--1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
169 |
#endif /* SEAICE_ITD */ |
#endif /* SEAICE_ITD */ |
170 |
RETURN |
RETURN |
171 |
END SUBROUTINE SEAICE_ITD_PICKUP |
END |
|
|
|