File indexing completed on 2018-03-28 05:09:43 UTC
view on githubraw file Latest commit e7af59f6 on 2018-03-24 21:24:35 UTC
86b84a92fc Patr*0001 #include "SEAICE_OPTIONS.h"
0002
e7af59f6fd Jean*0003
86b84a92fc Patr*0004
0005
0006
0007 SUBROUTINE SEAICE_ITD_PICKUP(
0008 I myIter, myThid )
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
b8f04b8c26 Jean*0024
86b84a92fc Patr*0025
0026
0027
0028
0029
0030
0031
0032
0033 IMPLICIT NONE
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045 #include "SIZE.h"
0046 #include "EEPARAMS.h"
e7af59f6fd Jean*0047
86b84a92fc Patr*0048 #include "SEAICE_SIZE.h"
0049 #include "SEAICE_PARAMS.h"
0050 #include "SEAICE.h"
0051
0052
0053
0054
0055
0056 INTEGER myIter
0057 INTEGER myThid
e7af59f6fd Jean*0058
86b84a92fc Patr*0059
0060 #ifdef SEAICE_ITD
0061
0062
0063
0064
0065
0066
0067 INTEGER i, j, bi, bj, k
0068 _RL dummyTime
0069
b8f04b8c26 Jean*0070
86b84a92fc Patr*0071 INTEGER LND_i, LND_iend
0072
0073 _RL LND_sigma, LND_mu
0074 PARAMETER(LND_sigma=0.25)
0075 _RL LND_dx
0076 _RL LND_tmp
0077
961986e585 Jean*0078 PARAMETER( LND_iend = 1000 )
0079 PARAMETER( LND_dx = 100.D0 / LND_iend )
0080
0081
0082 _RL LND_x (LND_iend)
0083 _RL LND_pdf(LND_iend)
86b84a92fc Patr*0084
0085 LOGICAL simpleSchemeFlag
0086
0087 simpleSchemeFlag = .TRUE.
0088 dummyTime = 1.0
0089
0090
0001f47137 Mart*0091
0092 DO k = 1, nITD
0093 DO bj=myByLo(myThid),myByHi(myThid)
0094 DO bi=myBxLo(myThid),myBxHi(myThid)
0095 DO j=1-OLy,sNy+OLy
0096 DO i=1-OLx,sNx+OLx
0097 AREAITD(i,j,k,bi,bj) = 0. _d 0
0098 HEFFITD(i,j,k,bi,bj) = 0. _d 0
0099 HSNOWITD(i,j,k,bi,bj) = 0. _d 0
0100 ENDDO
0101 ENDDO
0102 ENDDO
0103 ENDDO
0104 ENDDO
86b84a92fc Patr*0105 IF (simpleSchemeFlag) THEN
0106
0107
0001f47137 Mart*0108 DO bj=myByLo(myThid),myByHi(myThid)
0109 DO bi=myBxLo(myThid),myBxHi(myThid)
0110 DO j=1-OLy,sNy+OLy
0111 DO i=1-OLx,sNx+OLx
0112 AREAITD(i,j,1,bi,bj) = AREA(i,j,bi,bj)
0113 HEFFITD(i,j,1,bi,bj) = HEFF(i,j,bi,bj)
0114 HSNOWITD(i,j,1,bi,bj) = HSNOW(i,j,bi,bj)
86b84a92fc Patr*0115 ENDDO
0116 ENDDO
0001f47137 Mart*0117 ENDDO
0118 ENDDO
86b84a92fc Patr*0119
0120
0121 ELSE
0122
0123
0124 DO bj=myByLo(myThid),myByHi(myThid)
0125 DO bi=myBxLo(myThid),myBxHi(myThid)
0126 DO j=1-OLy,sNy+OLy
0127 DO i=1-OLx,sNx+OLx
0128
0129
b8f04b8c26 Jean*0130 LND_mu = log(HEFF(i,j,bi,bj)/AREA(i,j,bi,bj))
86b84a92fc Patr*0131 & - 0.5*LND_sigma*LND_sigma
b8f04b8c26 Jean*0132 LND_x(1) = 0.+LND_dx/2.
86b84a92fc Patr*0133
b8f04b8c26 Jean*0134 DO LND_i=2,LND_iend
0135 LND_x(LND_i)=LND_x(LND_i-1)+LND_dx
0136 ENDDO
86b84a92fc Patr*0137
b8f04b8c26 Jean*0138 DO LND_i=2,LND_iend
0139 LND_tmp = log(LND_x(LND_i))-LND_mu
0140 LND_pdf(LND_i)= 1.
0141 & / (LND_x(LND_i)*LND_sigma*sqrt(2*3.1416))
86b84a92fc Patr*0142 & * exp( -(LND_tmp*LND_tmp)
0143 & / (2*LND_sigma*LND_sigma) )
0144 & * AREA(i,j,bi,bj)
b8f04b8c26 Jean*0145 ENDDO
86b84a92fc Patr*0146
0147 k=1
b8f04b8c26 Jean*0148 DO LND_i=1,LND_iend
0149 IF ( LND_x(LND_i).GT.Hlimit(k) ) k=k+1
86b84a92fc Patr*0150 AREAITD(i,j,k,bi,bj) = AREAITD(i,j,k,bi,bj)
0151 & + LND_pdf(LND_i)*LND_dx
0152 HEFFITD(i,j,k,bi,bj) = HEFFITD(i,j,k,bi,bj)
0153 & + LND_pdf(LND_i)*LND_x(LND_i)*LND_dx
b8f04b8c26 Jean*0154 ENDDO
86b84a92fc Patr*0155
0156 ENDDO
b8f04b8c26 Jean*0157 ENDDO
86b84a92fc Patr*0158 ENDDO
b8f04b8c26 Jean*0159 ENDDO
86b84a92fc Patr*0160
0161 ENDIF
0162
0163
b8f04b8c26 Jean*0164
0165
86b84a92fc Patr*0166
0167 DO bj=myByLo(myThid),myByHi(myThid)
0168 DO bi=myBxLo(myThid),myBxHi(myThid)
0169 CALL SEAICE_ITD_REDIST( bi, bj, dummyTime, myIter, myThid)
0170 CALL SEAICE_ITD_SUM( bi, bj, dummyTime, myIter, myThid)
0171 ENDDO
0172 ENDDO
0173
0174
0175 #endif /* SEAICE_ITD */
0176 RETURN
b8f04b8c26 Jean*0177 END