Commit cf00e5c6c4cefdfcadc54cc3258742089f703e58

Authored by Jérémy Baudry
1 parent f9b16653
Exists in master

obsolete

Showing 1 changed file with 0 additions and 99 deletions   Show diff stats
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