source: LMDZ.3.3/trunk/libf/dyn3d/linear.F @ 538

Last change on this file since 538 was 2, checked in by lmdz, 25 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1      subroutine linear(imdep, jmdep, imar, jmar,
2     .                  champ, retour,
3     .                  icount, iix, jjx, ix, jx, sx, airnx)
4c      interpolation bidimensionnelle       
5c         avec conservation forcee du flux 
6c=======================================================================
7c    A. HARZALLAH (16/08/90).
8c    Modifie le 15/12/93 par L. Fairhead (LMD/CNRS)
9c                        pour en faire une subroutine
10c=======================================================================
11C=======================================================================
12C  a partir de donnees sur une grille initiale on passe a une
13C  nouvelle grille en conservant le flux des donnees a travers
14c  la nouvelle grille par interpolation linaire.
15C=======================================================================
16c input: imdep, nbre de long de la grille de depart
17c        jmdep,  "   "  lat   "     "   "    "    "
18c        imar,  nbre de long de la grille d'arrivee
19c        jmar,  nbre de lat  de la grille d'arrivee
20c        champ, champ a interpoler
21c        iix, jjx, ix, jx indices pour les connections
22c        sx et airnx  poids et aires
23c output: retour, champ interpole
24c
25      implicit none
26      integer imdep, jmdep, imar, jmar, icount
27      real champ(imdep,jmdep),retour(imar,jmar)
28      real sx(icount)
29      real airnx(icount)
30      integer ix(icount),jx(icount),iix(icount),jjx(icount)
31      integer i, j, k
32         
33      do i=1,imar
34        do j=1,jmar   
35          retour(i,j)=0. 
36        enddo
37      enddo
38             
39      do k=1,icount
40        retour(iix(k),jjx(k))=retour(iix(k),jjx(k))+
41     &                     champ(ix(k),jx(k))*sx(k)/airnx(k)
42      enddo
43      return
44      end
45
Note: See TracBrowser for help on using the repository browser.