source: branches/GRISLIv3/SOURCES/initial2-0.4.f90 @ 483

Last change on this file since 483 was 470, checked in by aquiquet, 5 months ago

Cleaning branch: some cleaning in flottab - ilemx,ilemy removed

File size: 2.5 KB
Line 
1!> \file initial2-0.4.f90
2!!Initialisation du modele
3!<
4
5!> SUBROUTINE INITIAL2
6!! Cette routine permet d'initialiser le modele.
7!! \author ...
8!! \date 19 Novembre 1999
9!! @note Elle appelle toutes les routines d'initialisation des differents packages.
10!! @note  C'est cette routine qui est appellee dans le main
11!! @note  Used modules:
12!! @note    - use module3D_phy
13!! @note    - use param_phy_mod
14!<
15
16
17subroutine INITIAL2()
18
19  USE module3D_phy, only: cde,abl,bdot,bmelt,epsxx,epsyy,epsxy,hwater,calv,hdot,hdotwater, &
20                    slope,taub,ubx,uby,uzk,uxbar,uybar,ibase,tpmp,mk,mk0,h,front, &
21                    bsoc,flot,sealevel_2D,flotmx,flotmy,gzmx, &
22                    gzmy,flgzmx,flgzmy,sdx,sdy,ux,uy,uzr,t,s
23  use geography, only: nx,ny,nz,nzm,dx
24  USE param_phy_mod,only: ro,row
25  implicit none
26  real,dimension(NZ) ::cord_vert 
27
28  integer :: i,j,k
29
30  !     INITIALISATION DES TABLEAUX
31
32  cord_vert(1)=0.
33  cord_vert(NZ)=1.
34  do K=1,NZ
35     if ((K.ne.1).and.(K.ne.NZ)) cord_vert(K)=(K-1.)/(NZ-1.)
36     CDE(K)=1.-cord_vert(K)
37  end do
38
39  ABL(:,:)=0. 
40  BDOT(:,:)=0. 
41  BMELT(:,:)=0.
42  EPSXX(:,:)=0.
43  EPSYY(:,:)=0.
44  EPSXY(:,:)=0.
45  HWATER(:,:)=0.
46  CALV(:,:)=0.   
47  HDOT(:,:)=0. 
48  HDOTWATER(:,:)=0.
49  SLOPE(:,:)=0. 
50  TAUB(:,:)=0. 
51  UBX(:,:)=0.
52  UBY(:,:)=0.
53  UZK(:,:)=0.
54  UXBAR(:,:)=0.
55  UYBAR(:,:)=0.
56  IBASE(:,:)=1
57  TPMP(:,:,1)=0
58  TPMP(:,:,NZ)=-0.00087*H(:,:)
59
60  MK(:,:)=MK0(:,:)
61
62
63  !-------Initialisation des fronts.
64  FRONT(:,:)  =0 
65
66  !-------Initialisation des flot... devrait etre mise dans input_topo.
67  ! en tout cas on le fait pour mismip
68
69  do J=1,NY
70     do I=1,NX
71        if ((BSOC(I,J)+H(I,J)*RO/ROW -SEALEVEL_2D(I,J)).LT.0.) then
72           FLOT(I,J)=.TRUE.
73        else
74           FLOT(I,J)=.FALSE.
75        endif
76     enddo
77  enddo
78
79
80  FLOTMX(:,:)=FLOT(:,:)
81  FLOTMY(:,:)=FLOT(:,:)
82  GZMX(:,:)=.FALSE.
83  GZMY(:,:)=.FALSE.
84  FLGZMX(:,:)=.FALSE.
85  FLGZMY(:,:)=.FALSE.
86
87
88  do J=2,NY
89     do I=2,NX
90        SDX(I,J)=(S(I,J)-S(I-1,J))/DX
91        SDY(I,J)=(S(I,J)-S(I,J-1))/DX
92     end do
93  end do
94
95
96
97  do K=1,NZ
98     do I=1,NX 
99        do J=1,NY
100           UX(I,J,K)=0.
101           UY(I,J,K)=0.
102           UZR(I,J,K)=0.
103           T(I,J,K)=0.
104           !CT(I,J,K)=6.62E7
105           !CP(I,J,K)=2009.
106        end do
107     end do
108  end do
109
110  do K=2,NZ-1
111     do I=1,NX 
112        do J=1,NY
113           TPMP(I,J,K)=-0.00087*(K-1)/(NZ-1)*H(I,J)
114        end do
115     end do
116  end do
117
118  do K=NZ+1,NZ+NZM
119     do I=1,NX 
120        do J=1,NY
121           T(I,J,K)=0. 
122        end do
123     end do
124  end do
125end subroutine INITIAL2
Note: See TracBrowser for help on using the repository browser.