source: trunk/MESOSCALE/LMDZ.MARS/libf_gcm/aeronomars/interpfast.F @ 1242

Last change on this file since 1242 was 57, checked in by aslmd, 14 years ago

mineur LMD_MM_MARS: ajout du GCM ancienne physique, systeme maintenant complet sur SVN (ne manque que la base de donnees d'etats initiaux)

File size: 915 bytes
Line 
1      subroutine interpfast(escout,p,nlayer,escin,pin,nl,limdown,limup)
2C
3C subroutine to perform linear interpolation in pressure from 1D profile
4C escin(nl) sampled on pressure grid pin(nl) to profile
5C escout(nlayer) on pressure grid p(nlayer).
6C
7      real escout(nlayer),p(nlayer)
8      real escin(nl),pin(nl),wm,wp
9      real limup,limdown
10      integer nl,nlayer,n1,n,nm,np
11      nm=1
12      do 5 n1=1,nlayer
13         if(p(n1) .gt. limup .or. p(n1) .lt. limdown) then
14            escout(n1) = 0.0
15         else
16            do n = nm,nl-1
17               if (p(n1).ge.pin(n).and.p(n1).le.pin(n+1)) then
18                  nm=n
19                  np=n+1
20                  wm=abs(pin(nm)-p(n1))/(pin(np)-pin(nm))
21                  wp=1.0 - wm
22                  goto 33
23               endif
24            enddo
25 33         escout(n1) = escin(np)*wm + escin(nm)*wp
26         endif
27    5 continue
28      return
29      end
Note: See TracBrowser for help on using the repository browser.