1 | !> \file lect-Heino_mod.f90 |
---|
2 | !! Module pour la lecture de topography pour les experiences Heino |
---|
3 | !< |
---|
4 | |
---|
5 | !> \namespace lect_topo_heino |
---|
6 | !! Module pour la lecture de la topography pour les experiences Heino |
---|
7 | !! \author ... |
---|
8 | !! \date ... |
---|
9 | !! @note Used module |
---|
10 | !! @note - use module3D_phy |
---|
11 | !< |
---|
12 | |
---|
13 | |
---|
14 | module lect_topo_heino |
---|
15 | |
---|
16 | use module3D_phy |
---|
17 | !use sliding_heino |
---|
18 | |
---|
19 | character(len=80) :: filin |
---|
20 | |
---|
21 | contains |
---|
22 | |
---|
23 | subroutine input_topo |
---|
24 | |
---|
25 | write(6,*)' Heino: entree dans routine input_topo' |
---|
26 | !====================================== La reponse est 42 =========== |
---|
27 | write(num_rep_42,*) |
---|
28 | write(num_rep_42,*)' Fichiers en entree' |
---|
29 | write(num_rep_42,*)'----------------------' |
---|
30 | !==================================================================== |
---|
31 | |
---|
32 | nxx=nx |
---|
33 | nyy=ny |
---|
34 | |
---|
35 | ! fichier mask fourni par l'intercomparaison Heino |
---|
36 | |
---|
37 | filin='mask.dat' |
---|
38 | filin = TRIM(DIRNAMEINP)//TRIM(filin) |
---|
39 | |
---|
40 | write(num_rep_42,*) 'surface et socle à 0.' |
---|
41 | write(num_rep_42,*) 'mk0 donne par ',filin |
---|
42 | |
---|
43 | open(num_coupe,file=filin) |
---|
44 | do i=1,6 |
---|
45 | read(num_coupe,*) ! 6 lignes de commentaires |
---|
46 | end do |
---|
47 | ! lecture proprement dite |
---|
48 | do j=ny, 1, -1 |
---|
49 | read(num_coupe,'(81i1)') (mk0(i,j), i=1,nx) |
---|
50 | end do |
---|
51 | |
---|
52 | where (mk0>1) mk0=1 ! le masque mk0 est glace-non glace |
---|
53 | |
---|
54 | close(num_coupe) |
---|
55 | |
---|
56 | S(:,:)=0. |
---|
57 | S0(:,:)=0. |
---|
58 | BSOC(:,:)=0. |
---|
59 | B(:,:)=0. |
---|
60 | |
---|
61 | !call init_sliding |
---|
62 | |
---|
63 | |
---|
64 | |
---|
65 | xlong(:,:)=0. |
---|
66 | ylat(:,:)=0. |
---|
67 | |
---|
68 | xmin=0. |
---|
69 | ymin=0. |
---|
70 | xmax=(nx-1)*dx/1000. |
---|
71 | ymax=(ny-1)*dx/1000. |
---|
72 | |
---|
73 | |
---|
74 | !write(num_rep_42,*) 'domaine geographique en km, 0 en bas gauche',int(xmax),'x',int(ymax) |
---|
75 | write(num_rep_42,*) 'domaine geographique en km : xmin : ',int(xmin),' ymin : ',int(ymin), & |
---|
76 | ' xmax : ',int(xmax),' ymax : ',int(ymax) |
---|
77 | |
---|
78 | ! flux geothermique 42 mW/m2 |
---|
79 | ghf(:,:)=42. |
---|
80 | |
---|
81 | write(num_rep_42,*) 'flux geothermique uniforme (mW/m2) :',ghf(1,1) |
---|
82 | ghf(:,:)=-SECYEAR/1000.*ghf(:,:) |
---|
83 | |
---|
84 | end subroutine input_topo |
---|
85 | |
---|
86 | |
---|
87 | end module lect_topo_heino |
---|