source: trunk/SOURCES/Ant40_files/massb-ant_perturb-0.4.f

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

initial import GRISLI trunk

File size: 2.9 KB
Line 
1!> \file mass-ant_perturb-0.4.f
2!! Calcule du bilan de masse avec une evolution perturbative
3!<
4
5!> SUBROUTINE:  MASSB_ANTEIS_PERTURB ()
6!! \author Vincent
7!! \date  juin2004
8!! @note Cette routine calcul le bilan de masse avec une evolution perturbative
9!! @note copie de massbal-anteis-0.2.f (sans changements)
10!! @note Used modules:
11!! @note    - use module3D_phy
12!! @note    - use CLIMAT_PERTURB_MOD
13!<
14      subroutine MASSB_ANTEIS_PERTURB ()
15c     subroutine Mass Balance eismint pour l'Antarctique
16
17       USE module3D_phy
18      USE CLIMAT_PERTURB_MOD
19
20      implicit none
21! Vincent juin2004 : copie de massbal-anteis-0.2.f (sans changements)
22! Cette routine calcul le bilan de masse avec une evolution perturbative
23! on utilise TAFOR     
24
25
26         if (itracebug.eq.1)  call tracebug(
27     &         ' Antar: entree dans MASSB_ANTEIS_PERTURB ')
28
29c     surface temperature et accumulation
30      do J=1,NY
31        do I=1,NX
32
33c       les quatres lignes suivantes sont pour la temperature parametree
34
35c             TANN(I,J)=34.46-0.00914*S(I,J)-0.68775*abs(YLAT(i,j))
36c             TANN(I,J)=TANN(I,J)+TAFOR
37c            TJULY(I,J)=16.81-0.00692*S(I,J)-0.27973*abs(YLAT(I,J))
38c             TJULY(I,J)=TJULY(I,J)+TAFOR
39
40c       Pour utiliser la carte de temperature, on utilise les
41c       gradients de la parametrisation et on garde la meme
42c       amplitude saisonniere
43c            TJULY=TANN+(16.81-34.46)-(0.00692-0.00914)S(I,J)
44c                      -(0.27973-0.68775)YLAT(I,J)
45c            TJULY=TANN-17.65+0.00222*S(I,J)+0.40802*Ylat(i,j)
46
47c       les lignes suivantes sont pour la temperature "carte"
48
49             if(RETROAC.eq.1) then
50                Tann(i,j)=TA0(I,J)-0.00914*(S(i,j)-S0(I,J))+TAFOR
51                 TJULY(I,J)=TANN(I,J)-17.65+0.00222*S(I,J)
52     &                                 +0.40802*abs(YLAT(I,J))
53
54
55                  if (icouple.eq.2) then
56!                   ACC(I,J)=1.5*2.**(Tann(I,J)/10.)
57                   else if (icouple.eq.4) then
58
59!                   ACC(I,J)=PRECIP(I,J)*exp(0.070*(TANN(I,J)-TA0(I,J)))
60
61                ACC(I,J)=PRECIP(I,J)*exp(rappact*(TANN(I,J)-TA0(I,J)))
62
63c                  ACC(I,J)=1.5*2.**(Tann(I,J)/10.)  ! test pour pref8
64                  endif
65
66           else if(RETROAC.eq.0) then
67                 Tann(i,j)=TA0(I,J)
68                 TJULY(I,J)=TANN(I,J)
69
70                  if (icouple.eq.2) then
71!                ACC(I,J)=1.5*2.**(Tann(I,J)/10.)
72c                  ACC(I,J)=(Tann(I,J)/10.)
73                  else if (icouple.eq.4) then
74C                 ACC(I,J)=PRECIP(I,J)
75c                 ACC(I,J)=1.5*2.**(Tann(I,J)/10.)  ! test pour pref8
76                ACC(I,J)=PRECIP(I,J)*exp(rappact*(TANN(I,J)-TA0(I,J)))
77                  endif
78
79           endif
80
81        end do
82      end do
83
84c     ablation et bilan de masse
85c       call ablation()
86     
87      debug_3D(:,:,29)=Tann(:,:)-Ta0(:,:)
88      debug_3D(:,:,30)=Acc(:,:)-precip(:,:)
89      debug_3D(:,:,31)=Acc(:,:)-bmelt(:,:)
90
91     
92
93      return
94      end
Note: See TracBrowser for help on using the repository browser.