source: trunk/mars/libf/phymars/dustlift.F @ 38

Last change on this file since 38 was 38, checked in by emillour, 14 years ago

Ajout du modè Martien (mon LMDZ.MARS.BETA, du 28/01/2011) dans le rértoire mars, pour pouvoir suivre plus facilement les modifs.
EM

File size: 3.5 KB
Line 
1      SUBROUTINE dustlift(ngrid,nlay,nq,rho,pcdh_true,pcdh,co2ice,
2     $                  dqslift)
3      IMPLICIT NONE
4
5c=======================================================================
6c
7c  Dust lifting by surface winds
8c  Computing flux to the middle of the first layer
9c  (Called by vdifc)
10c
11c=======================================================================
12
13c-----------------------------------------------------------------------
14c   declarations:
15c   -------------
16
17#include "dimensions.h"
18#include "dimphys.h"
19#include "comcstfi.h"
20#include "tracer.h"
21
22c
23c   arguments:
24c   ----------
25
26c   INPUT
27      integer ngrid, nlay, nq 
28      real rho(ngrid)  ! density (kg.m-3) at surface
29      real pcdh_true(ngrid) ! Cd
30      real pcdh(ngrid) ! Cd * |V|
31      real co2ice(ngrid)
32
33c   OUTPUT
34      real dqslift(ngrid,nq) !surface dust flux to mid-layer (<0 when lifing)
35c     real pb(ngrid,nlay) ! diffusion to surface coeff.
36
37c   local:
38c   ------
39      INTEGER ig,iq
40      REAL fhoriz(ngridmx)  ! Horizontal dust flux
41      REAL ust,us
42      REAL stress_seuil
43      SAVE stress_seuil
44      DATA stress_seuil/0.0225/   ! stress seuil soulevement (N.m2)
45
46
47c     ---------------------------------
48c     Computing horizontal flux: fhoriz
49c     ---------------------------------
50
51      do ig=1,ngrid
52          fhoriz(ig) = 0.      ! initialisation
53
54c         Selection of points where surface dust is available
55c         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56c         if (latid(ig).ge.80.) goto 99  ! N permanent  polar caps
57c         if (latid(ig).le.-80.) goto 99 ! S polar deposits
58c         if  ((longd(ig).ge.-141. .and. longd(ig).le.-127.)
59c    &   .and.(latid(ig).ge.12.   .and. latid(ig).le.23.))goto 99 ! olympus
60c         if  ((longd(ig).ge.-125. .and. longd(ig).le.-118.)
61c    &   .and.(latid(ig).ge.-12.   .and. latid(ig).le.-6.))goto 99 ! Arsia
62c         if  ((longd(ig).ge.-116. .and. longd(ig).le.-109.)
63c    &   .and.(latid(ig).ge.-5.   .and. latid(ig).le. 5.))goto 99 ! pavonis
64c         if  ((longd(ig).ge.-109. .and. longd(ig).le.-100.)
65c    &   .and.(latid(ig).ge. 7.   .and. latid(ig).le. 16.))goto 99 ! ascraeus
66c         if  ((longd(ig).ge.  61. .and. longd(ig).le.  63.)
67c    &   .and.(latid(ig).ge. 63. .and. latid(ig).le. 64.))goto 99 !weird point
68          if (co2ice(ig).gt.0.) goto 99
69
70
71c         Is the wind strong enough ?
72c         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
73          ust = sqrt(stress_seuil/rho(ig))
74          us = pcdh(ig) /  sqrt(pcdh_true(ig)) ! ustar=cd*v /sqrt(cd)
75          if (us.gt.ust) then
76c            If lifting ?
77c            Calcul du flux suivant Marticorena ( en fait white (1979))
78
79             fhoriz(ig) = 2.61*(rho(ig)/g) *
80     &      (us -ust) * (us + ust)**2
81          end if
82 99      continue
83      end do
84
85c     -------------------------------------
86c     Computing vertical flux and diffusion
87c     -------------------------------------
88 
89       do iq=1,nq
90         do ig=1,ngrid
91             dqslift(ig,iq)= -alpha_lift(iq)* fhoriz(ig)
92
93
94cc  le  flux vertical remplace le terme de diffusion turb. qui est mis a zero
95c            zb(ig,1) = 0.
96cc           If surface deposition by turbulence diffusion (impaction...)
97cc           if(fhoriz(ig).ne.0) then
98cc           zb(ig,1) = zcdh(ig)*zb0(ig,1)
99cc           AMount of Surface deposition !
100cc           pdqs_dif(ig,iq)=pdqs_dif(ig,iq) +
101cc    &      zb(ig,1)*zq(ig,1,iq)/ptimestep
102cc          write(*,*) 'zb(1)  = ' ,  zb(ig,1),zcdh(ig),zb0(ig,1)
103cc
104
105         enddo
106       enddo
107
108      RETURN
109      END
110
Note: See TracBrowser for help on using the repository browser.