source: trunk/SOURCES/Eurasie40_files/lakes-prescribed_mod-0.1.f90 @ 111

Last change on this file since 111 was 4, checked in by dumas, 10 years ago

initial import GRISLI trunk

File size: 2.1 KB
Line 
1!> \file lakes-prescribed_mod-0.1.f90
2!! Module pour determiner les lacs proglaciaires
3!<
4
5!> \namespace  lakes_prescribed_mod
6!! Calcule le beta a partir de vitesses de bilan
7!! @note Les lacs sont imposes au cours du temps
8!! \author ...
9!! \date ...
10!! @note Used module
11!! @note   - use module3D_phy
12!<
13
14module lakes_prescribed_mod
15
16
17! les lacs proglaciaires sont imposes au cours du temps
18
19USE module3D_phy
20implicit none
21
22integer,parameter         :: nb_lakes=5                 !< nombre de lacs maxi
23integer                   :: i_lake                     !< index des lacs
24integer, dimension(nx,ny) :: lake                       !< les lacs sont tagges
25real,dimension(5)         :: level_lakes                !< les niveaux des lacs
26character (len=20)        :: fil_lakes                  !< nom du fichier lacs
27
28contains                       
29
30subroutine input_lakes
31
32namelist/lakes/fil_lakes,level_lakes
33
34! lecture par namelist
35!---------------------
36
37! formats pour les ecritures dans 42
38428 format(A)
39
40rewind(num_param)        ! pour revenir au debut du fichier param_list.dat
41read(num_param,lakes)
42
43write(num_rep_42,428)'!___________________________________________________________' 
44write(num_rep_42,428) '&lakes                            ! module  lakes_prescribed_mod'
45write(num_rep_42,'(A,A)')             'fil_lakes   =', fil_lakes
46write(num_rep_42,'(A,5(f0.1,","))')  'level_lakes =', level_lakes
47write(num_rep_42,*)'/'                     
48write(num_rep_42,428) '! lac 2 -> Komi, lac 3-> Siberian, on ignore qui est le lac 1'
49write(num_rep_42,428) '! 0 pas de lac . Faire attention au nombre de lacs et nb_lakes'
50write(num_rep_42,*)
51
52end subroutine input_lakes
53
54subroutine lake_to_slv
55
56! inclut les lacs dans le tableau slv des niveaux de flottaison
57
58slv(:,:)=sealevel
59
60! VOIR COMMENT ACTIVER-DESACTIVER LES LACS EN FONCTION DU TEMPS
61
62do j=1,ny
63   do i=1,nx     
64      do i_lake=1,nb_lakes
65         if (lake(i,j).eq.i_lake) then
66            slv(i,j)=max(level_lakes(i_lake),Bsoc(i,j))
67         end if
68      end do
69   end do
70end do
71
72end subroutine lake_to_slv
73
74end module lakes_prescribed_mod
Note: See TracBrowser for help on using the repository browser.