Commit 02390bea authored by Jérémy Baudry's avatar Jérémy Baudry

obsolete

parent cf00e5c6
!________________________________________________________________________________
!DESCRIPTION: In this routine the average floe size
!Dave is computed using the value of Dmax calculated in
!the subroutine 'floe_breaking'.
!________________________________________________________________________________
!INTERFACE:
subroutine fsd_build
!MODULE USES:
use parameters
!LOCAL PARAMETERS:
implicit none
double precision :: coeff
double precision, allocatable :: ND(:)
double precision, allocatable :: NN(:)
integer :: M
integer :: mm
!_________________________________________________________________________________
if(C_ice(i).eq.0)then
Dave(i)=0
elseif (Dmax(i).eq.D0) then
Dave(i)=Dmax(i)
elseif (Dmax(i).eq.Dmin) then
Dave(i)=Dmin
elseif (FSD_scheme.eq.1) then !use a power law to compute <D>
coeff=1/((1/(1-gam))*(Dmax(i)**(1-gam)-Dmin**(1-gam)))
Dave(i)=coeff*(1/(2-gam))*(Dmax(i)**(2-gam)-Dmin**(2-gam))
else !use the method from Dumont et al.(2011) to compute <D>
M=floor(log(Dmax(i)/Dmin)/log(psi))
allocate(ND(M+1))
allocate(NN(M+1))
jj=1
do mm=0,M-1
NN(jj)=((1-ff)*(psi**2*ff)**mm)*(Dmax(i)/psi**mm)
ND(jj)=(1-ff)*(psi**2*ff)**mm
jj=jj+1
end do
Dave(i)=(sum(NN)+((psi**2*ff)**M)*(Dmax(i)/psi**M))/(sum(ND)+(psi**2*ff)**M)
deallocate(ND)
deallocate(NN)
end if
!_________________________________________________________________________________
end subroutine fsd_build
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment