source: trunk/LMDZ.MARS/libf/dynphy_lonlat/gr_dyn_fi.F @ 2322

Last change on this file since 2322 was 1403, checked in by emillour, 10 years ago

All models: Reorganizing the physics/dynamics interface.

  • makelmdz and makelmdz_fcm scripts adapted to handle the new directory settings
  • misc: (replaces what was the "bibio" directory)
  • Should only contain extremely generic (and non physics or dynamics-specific) routines
  • Therefore moved initdynav.F90, initfluxsto.F, inithist.F, writedynav.F90, write_field.F90, writehist.F to "dyn3d_common"
  • dynlonlat_phylonlat: (new interface directory)
  • This directory contains routines relevent to physics/dynamics grid interactions, e.g. routines gr_dyn_fi or gr_fi_dyn and calfis
  • Moreover the dynlonlat_phylonlat contains directories "phy*" corresponding to each physics package "phy*" to be used. These subdirectories should only contain specific interfaces (e.g. iniphysiq) or main programs (e.g. newstart)
  • phy*/dyn1d: this subdirectory contains the 1D model using physics from phy*

EM

File size: 1.0 KB
Line 
1      SUBROUTINE gr_dyn_fi(nfield,im,jm,ngrid,pdyn,pfi)
2
3      IMPLICIT NONE
4c=======================================================================
5c   passage d'un champ de la grille scalaire a la grille physique
6c=======================================================================
7
8c-----------------------------------------------------------------------
9c   declarations:
10c   -------------
11
12      INTEGER im,jm,ngrid,nfield
13      REAL pdyn(im,jm,nfield)
14      REAL pfi(ngrid,nfield)
15
16      INTEGER j,ifield,ig
17      EXTERNAL SCOPY
18
19c-----------------------------------------------------------------------
20c   calcul:
21c   -------
22
23      IF(ngrid.NE.2+(jm-2)*(im-1)) STOP 'probleme de dim'
24c   traitement des poles
25      CALL SCOPY(nfield,pdyn,im*jm,pfi,ngrid)
26      CALL SCOPY(nfield,pdyn(1,jm,1),im*jm,pfi(ngrid,1),ngrid)
27
28c   traitement des point normaux
29      DO ifield=1,nfield
30         DO j=2,jm-1
31            ig=2+(j-2)*(im-1)
32            CALL SCOPY(im-1,pdyn(1,j,ifield),1,pfi(ig,ifield),1)
33         ENDDO
34      ENDDO
35
36      RETURN
37      END
Note: See TracBrowser for help on using the repository browser.