Commit 5fb59e8087734fcbce6f5cffa780636b45e5f5bb

Authored by Jérémy Baudry
2 parents c5b6a1a5 02390bea
Exists in master

Merge branch 'master' of gitlasso.uqar.ca:bauj0001/WIM2

batch/.RUN_BATCH_Ec.sh.swp deleted
No preview for this file type
src/floe_breaking.f90 deleted
... ... @@ -1,99 +0,0 @@
1   -
2   -!_______________________________________________________________________________
3   -
4   - !DESCRIPTION: Here is the parametrization proposed by
5   - !Williams et al. (2013) for wave induced
6   - !floe breaking. In this routine, the maximum floe size
7   - !is computed using the significant strain imposed by
8   - !passing waves in ice.
9   -
10   -
11   -!_______________________________________________________________________________
12   -
13   -
14   -
15   - !INTERFACE:
16   - subroutine floe_breaking
17   -
18   - !USES:
19   - use parameters
20   -
21   - !LOCAL PARAMETERS:
22   -
23   - implicit none
24   -
25   - double precision, allocatable :: WN_ice(:)
26   - double precision, allocatable :: fnt(:)
27   - double precision, allocatable :: k(:)
28   - double precision :: rho=1025
29   - double precision :: d
30   - double precision :: F
31   - double precision :: Y=5.5
32   - double precision :: v=0.3
33   - integer :: acc=10000
34   - double precision, allocatable :: W(:)
35   - double precision, allocatable :: fnt_d(:)
36   -
37   - double precision, allocatable :: S(:)
38   - double precision :: SS
39   - double precision :: WN_ice_d
40   - double precision :: RS=7.05e-05
41   - double precision :: m0_s
42   - double precision :: m0_a
43   - double precision :: m2_a
44   - double precision :: Tw
45   - double precision :: om_d
46   - double precision :: wl_w
47   -
48   - allocate(fnt(acc+1))
49   - allocate(k(acc+1))
50   - allocate(WN_ice(nfreq))
51   - allocate(W(nfreq))
52   - allocate(fnt_d(acc+1))
53   - allocate(S(nfreq))
54   -
55   -!_______________________________________________________________________________
56   -
57   - F=Y*h(i)**3/12d0*(1-v**2)
58   - d=0.9*h(i)
59   -
60   - jj=1 !create a wavelength vector (this is used to
61   - !find the root of the polynom fnt
62   - do ii=0,acc
63   - k(jj)=real(ii)*10d0/real(acc)
64   - jj=jj+1
65   - end do
66   -
67   -
68   - do j=1,nfreq
69   - fnt=F*k**5+rho*(g-d*omega(j)**2)*k-rho*omega(j)**2
70   - WN_ice(j)=k(minloc(abs(fnt),DIM=1))!calculate wavelength in ice
71   -
72   - end do
73   -
74   -
75   - W=g*WN_ice/omega**2
76   - S=(0.5*h(i))*WN_ice**2*W
77   - m0_s=sum(E(n,i,1:nfreq)*S**2)*domega !0th moment of the strain spectrum
78   - SS=2*sqrt(m0_s) !significant strain
79   - if (SS.gt.RS) then
80   -
81   -
82   - m0_a=sum(E(n,i,1:nfreq)*W**2)*domega
83   - m2_a=sum(omega**2*E(n,i,1:nfreq)*W**2)*domega
84   - Tw=2*pi*sqrt(m0_a/m2_a)
85   - om_d=2*pi/Tw
86   -
87   - fnt_d=F*k**5+rho*(g-d*om_d**2)*k-rho*om_d**2
88   - WN_ice_d=k(minloc(abs(fnt_d),DIM=1))
89   -
90   - wl_w=2*pi/WN_ice_d
91   - Dmax(i)=max(Dmin,min(0.5*wl_w,Dmax(i)))
92   -
93   -
94   - end if
95   -
96   -
97   -
98   -!_________________________________________________________________________________
99   -end subroutine floe_breaking
src/fsd_build.f90 deleted
... ... @@ -1,66 +0,0 @@
1   -
2   -!________________________________________________________________________________
3   -
4   - !DESCRIPTION: In this routine the average floe size
5   - !Dave is computed using the value of Dmax calculated in
6   - !the subroutine 'floe_breaking'.
7   -
8   -!________________________________________________________________________________
9   -
10   -
11   -
12   - !INTERFACE:
13   - subroutine fsd_build
14   -
15   - !MODULE USES:
16   - use parameters
17   -
18   - !LOCAL PARAMETERS:
19   - implicit none
20   -
21   - double precision :: coeff
22   - double precision, allocatable :: ND(:)
23   - double precision, allocatable :: NN(:)
24   - integer :: M
25   - integer :: mm
26   -
27   -!_________________________________________________________________________________
28   -
29   - if(C_ice(i).eq.0)then
30   - Dave(i)=0
31   - elseif (Dmax(i).eq.D0) then
32   - Dave(i)=Dmax(i)
33   - elseif (Dmax(i).eq.Dmin) then
34   - Dave(i)=Dmin
35   -
36   - elseif (FSD_scheme.eq.1) then !use a power law to compute <D>
37   - coeff=1/((1/(1-gam))*(Dmax(i)**(1-gam)-Dmin**(1-gam)))
38   - Dave(i)=coeff*(1/(2-gam))*(Dmax(i)**(2-gam)-Dmin**(2-gam))
39   -
40   - else !use the method from Dumont et al.(2011) to compute <D>
41   -
42   - M=floor(log(Dmax(i)/Dmin)/log(psi))
43   -
44   - allocate(ND(M+1))
45   - allocate(NN(M+1))
46   - jj=1
47   - do mm=0,M-1
48   -
49   - NN(jj)=((1-ff)*(psi**2*ff)**mm)*(Dmax(i)/psi**mm)
50   - ND(jj)=(1-ff)*(psi**2*ff)**mm
51   - jj=jj+1
52   -
53   - end do
54   -
55   - Dave(i)=(sum(NN)+((psi**2*ff)**M)*(Dmax(i)/psi**M))/(sum(ND)+(psi**2*ff)**M)
56   -
57   - deallocate(ND)
58   - deallocate(NN)
59   -
60   - end if
61   -
62   -
63   -
64   -!_________________________________________________________________________________
65   -
66   -end subroutine fsd_build