Last change
on this file since 23 was
4,
checked in by dumas, 10 years ago
|
initial import GRISLI trunk
|
File size:
2.4 KB
|
Rev | Line | |
---|
[4] | 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 | |
---|
| 17 | subroutine INITIAL2() |
---|
| 18 | |
---|
| 19 | USE module3D_phy |
---|
| 20 | USE param_phy_mod |
---|
| 21 | implicit none |
---|
| 22 | real,dimension(NZ) ::cord_vert |
---|
| 23 | |
---|
| 24 | ! INITIALISATION DES TABLEAUX |
---|
| 25 | |
---|
| 26 | cord_vert(1)=0. |
---|
| 27 | cord_vert(NZ)=1. |
---|
| 28 | do K=1,NZ |
---|
| 29 | if ((K.ne.1).and.(K.ne.NZ)) cord_vert(K)=(K-1.)/(NZ-1.) |
---|
| 30 | CDE(K)=1.-cord_vert(K) |
---|
| 31 | end do |
---|
| 32 | |
---|
| 33 | ABL(:,:)=0. |
---|
| 34 | BDOT(:,:)=0. |
---|
| 35 | BMELT(:,:)=0. |
---|
| 36 | EPSXX(:,:)=0. |
---|
| 37 | EPSYY(:,:)=0. |
---|
| 38 | EPSXY(:,:)=0. |
---|
| 39 | HWATER(:,:)=0. |
---|
| 40 | CALV(:,:)=0. |
---|
| 41 | HDOT(:,:)=0. |
---|
| 42 | HDOTWATER(:,:)=0. |
---|
| 43 | PDD(:,:)=0. |
---|
| 44 | SLOPE(:,:)=0. |
---|
| 45 | TBDOT(:,:)=0. |
---|
| 46 | TAUB(:,:)=0. |
---|
| 47 | TG(:,:)=0. |
---|
| 48 | UBX(:,:)=0. |
---|
| 49 | UBY(:,:)=0. |
---|
| 50 | UZK(:,:)=0. |
---|
| 51 | UXBAR(:,:)=0. |
---|
| 52 | UYBAR(:,:)=0. |
---|
| 53 | VBAR(:,:)=0. |
---|
| 54 | XX(:,:)=0. |
---|
| 55 | IBASE(:,:)=1 |
---|
| 56 | TPMP(:,:,1)=0 |
---|
| 57 | TPMP(:,:,NZ)=-0.00087*H(:,:) |
---|
| 58 | |
---|
| 59 | MK(:,:)=MK0(:,:) |
---|
| 60 | grzone(:,:)=.false. |
---|
| 61 | |
---|
| 62 | |
---|
| 63 | !-------Initialisation des fronts. |
---|
| 64 | FRONT(:,:) =0 |
---|
| 65 | FRONTFACEX(:,:)=0 |
---|
| 66 | FRONTFACEY(:,:)=0 |
---|
| 67 | |
---|
| 68 | !-------Initialisation des flot... devrait etre mise dans input_topo. |
---|
| 69 | ! en tout cas on le fait pour mismip |
---|
| 70 | |
---|
| 71 | do J=1,NY |
---|
| 72 | do I=1,NX |
---|
| 73 | if ((BSOC(I,J)+H(I,J)*RO/ROW -SEALEVEL).LT.0.) then |
---|
| 74 | FLOT(I,J)=.TRUE. |
---|
| 75 | else |
---|
| 76 | FLOT(I,J)=.FALSE. |
---|
| 77 | endif |
---|
| 78 | enddo |
---|
| 79 | enddo |
---|
| 80 | |
---|
| 81 | |
---|
| 82 | FLOTMX(:,:)=FLOT(:,:) |
---|
| 83 | FLOTMY(:,:)=FLOT(:,:) |
---|
| 84 | OKUMAT(:,:)=.FALSE. |
---|
| 85 | OKVMAT(:,:)=.FALSE. |
---|
| 86 | GZMX(:,:)=.FALSE. |
---|
| 87 | GZMY(:,:)=.FALSE. |
---|
| 88 | FLGZMX(:,:)=.FALSE. |
---|
| 89 | FLGZMY(:,:)=.FALSE. |
---|
| 90 | ILEMX(:,:)=.FALSE. |
---|
| 91 | ILEMY(:,:)=.FALSE. |
---|
| 92 | |
---|
| 93 | |
---|
| 94 | do J=2,NY |
---|
| 95 | do I=2,NX |
---|
| 96 | SDX(I,J)=(S(I,J)-S(I-1,J))/DX |
---|
| 97 | SDY(I,J)=(S(I,J)-S(I,J-1))/DX |
---|
| 98 | end do |
---|
| 99 | end do |
---|
| 100 | |
---|
| 101 | |
---|
| 102 | |
---|
| 103 | do K=1,NZ |
---|
| 104 | do I=1,NX |
---|
| 105 | do J=1,NY |
---|
| 106 | UX(I,J,K)=0. |
---|
| 107 | UY(I,J,K)=0. |
---|
| 108 | UZR(I,J,K)=0. |
---|
| 109 | T(I,J,K)=0. |
---|
| 110 | !CT(I,J,K)=6.62E7 |
---|
| 111 | !CP(I,J,K)=2009. |
---|
| 112 | end do |
---|
| 113 | end do |
---|
| 114 | end do |
---|
| 115 | |
---|
| 116 | do K=2,NZ-1 |
---|
| 117 | do I=1,NX |
---|
| 118 | do J=1,NY |
---|
| 119 | TPMP(I,J,K)=-0.00087*(K-1)/(NZ-1)*H(I,J) |
---|
| 120 | end do |
---|
| 121 | end do |
---|
| 122 | end do |
---|
| 123 | |
---|
| 124 | do K=NZ+1,NZ+NZM |
---|
| 125 | do I=1,NX |
---|
| 126 | do J=1,NY |
---|
| 127 | T(I,J,K)=0. |
---|
| 128 | end do |
---|
| 129 | end do |
---|
| 130 | end do |
---|
| 131 | end subroutine INITIAL2 |
---|
Note: See
TracBrowser
for help on using the repository browser.