1 | !> \file lect-Ant_clim_CISM_15_dat.f90 |
---|
2 | !!Module pour la lecture du climat |
---|
3 | !< |
---|
4 | |
---|
5 | !> \namespace lect_clim_act_ant_15 |
---|
6 | !! Module pour la lecture du climat |
---|
7 | !! \author ... |
---|
8 | !! \date ... |
---|
9 | !! @note Used module |
---|
10 | !! @note - use module3D_phy |
---|
11 | !! @note - use ablation_ann |
---|
12 | !< |
---|
13 | module lect_clim_act_ant_15 |
---|
14 | |
---|
15 | use module3D_phy |
---|
16 | use ablation_ann ! le module pdd base sur Tann et Tjuly |
---|
17 | use interface_input |
---|
18 | character(len=100) :: precip_file !< precipitations |
---|
19 | |
---|
20 | contains |
---|
21 | |
---|
22 | subroutine input_climat_ref() |
---|
23 | |
---|
24 | namelist/climat_CISM_15/precip_file |
---|
25 | |
---|
26 | 428 format(A) |
---|
27 | rewind(num_param) ! pour revenir au debut du fichier param_list.dat |
---|
28 | read(num_param,climat_CISM_15) |
---|
29 | |
---|
30 | write(num_rep_42,428)'!___________________________________________________________' |
---|
31 | write(num_rep_42,428)'! module lect_topo_ant_CISM ' |
---|
32 | write(num_rep_42,climat_CISM_15) |
---|
33 | write(num_rep_42,428)'!___________________________________________________________' |
---|
34 | |
---|
35 | |
---|
36 | precip_file = trim(dirnameinp)//trim(precip_file) |
---|
37 | |
---|
38 | |
---|
39 | call lect_input(3,'precip',1,precip,precip_file,trim(dirnameinp)//trim(runname)//'.nc') |
---|
40 | !call lect_datfile(nx,ny,precip,1,precip_file) ! precipitation |
---|
41 | |
---|
42 | precip(:,:)=precip(:,:)/0.91 |
---|
43 | acc(:,:)=precip(:,:) |
---|
44 | |
---|
45 | |
---|
46 | ! temperature en surface : |
---|
47 | ! parametrisation de Fortuin pour la temperature annuelle. |
---|
48 | do j=1,ny |
---|
49 | do i=1,nx |
---|
50 | |
---|
51 | if (s0(i,j).le.200.) then ! shelfs |
---|
52 | tann(i,j)=49.642-0.943*abs(ylat(i,j)) |
---|
53 | else if ((s0(i,j).gt.200.).and.(s0(i,j).lt.1500.)) then ! pente |
---|
54 | tann(i,j)=36.689-0.005102*s0(i,j)-0.725*abs(ylat(i,j)) |
---|
55 | else if (s0(i,j).ge.1500.) then ! plateau |
---|
56 | tann(i,j)=7.405-0.014285*s0(i,j)-0.180*abs(ylat(i,j)) |
---|
57 | endif |
---|
58 | |
---|
59 | ta0(i,j)=tann(i,j) |
---|
60 | |
---|
61 | ! pour la temperature d'ete, idem parametrisation huybrechts |
---|
62 | tjuly(i,j)=tann(i,j)-17.65+0.00222*s0(i,j)& |
---|
63 | +0.40802*abs(ylat(i,j)) |
---|
64 | end do |
---|
65 | end do |
---|
66 | |
---|
67 | end subroutine input_climat_ref |
---|
68 | |
---|
69 | end module lect_clim_act_ant_15 |
---|