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,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