- Timestamp:
- Sep 5, 2001, 3:28:02 PM (23 years ago)
- Location:
- LMDZ.3.3/trunk/libf/dyn3d
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/trunk/libf/dyn3d/conf_dat2d.F
r259 r269 45 45 ALLOCATE( xtemp(lons) ) 46 46 ALLOCATE( ytemp(lats) ) 47 ALLOCATE( champf(lons,lats) ) 47 48 48 49 DO i = 1, lons … … 108 109 IF ( invlon ) THEN 109 110 110 ALLOCATE(champf(lons,lats)) 111 alloc = .TRUE. 111 DO j = 1, lats 112 DO i = 1,lons 113 champf(i,j) = champd(i,j) 114 ENDDO 115 ENDDO 112 116 113 117 DO i = 1 ,lons … … 164 168 IF ( invlat ) THEN 165 169 166 IF(.NOT.alloc) THEN167 ALLOCATE(champf(lons,lats))168 alloc = .TRUE.169 ENDIF170 171 170 DO j = 1,lats 172 171 yf(j) = ytemp(j) … … 205 204 ENDIF 206 205 c 207 IF(alloc)DEALLOCATE(champf)206 DEALLOCATE(champf) 208 207 209 208 DO i = 1, lons -
LMDZ.3.3/trunk/libf/dyn3d/create_etat0_limit.F
r259 r269 1 C2 C $Header$3 C4 1 PROGRAM create_etat0_limit 5 2 c … … 23 20 CALL etat0_netcdf ( interbar ) 24 21 c 22 WRITE(6,1) 23 WRITE(6,*) ' ********************* ' 24 WRITE(6,*) ' *** Limit_netcdf *** ' 25 WRITE(6,*) ' ********************* ' 26 WRITE(6,1) 27 c 25 28 CALL limit_netcdf ( interbar, extrap , oldice ) 29 30 1 FORMAT(//) 26 31 27 32 STOP -
LMDZ.3.3/trunk/libf/dyn3d/inter_barx.F
r259 r269 1 C2 C $Header$3 C4 1 SUBROUTINE inter_barx ( idatmax,xidat,fdat,imodmax,ximod,fmod ) 5 2 … … 24 21 INTEGER idatmax, imodmax 25 22 REAL xidat(idatmax),fdat(idatmax),ximod(imodmax),fmod(imodmax) 26 INTEGER imod,idat,i,ichang,id0,id1,nid,idatmax1 23 24 c ... Variables locales ... 25 26 REAL xxid(idatmax+1), xxd(idatmax+1), fdd(idatmax+1) 27 REAL fxd(idatmax+1), xchan(idatmax+1), fdchan(idatmax+1) 28 REAL xxim(imodmax) 29 27 30 REAL x0,xim0,dx,dxm 28 31 REAL chmin,chmax,pi 29 32 30 31 REAL,ALLOCATABLE :: xxid(:) 32 REAL,ALLOCATABLE :: xxd(:) 33 REAL,ALLOCATABLE :: fdd(:) 34 REAL,ALLOCATABLE :: fxd(:) 35 REAL,ALLOCATABLE :: xchan(:) 36 REAL,ALLOCATABLE :: fdchan(:) 37 REAL,ALLOCATABLE :: xxim(:) 38 39 ALLOCATE( xxid(idatmax+1)) 40 ALLOCATE( xxd(idatmax+1)) 41 ALLOCATE( fdd(idatmax+1)) 42 ALLOCATE( fxd(idatmax+1)) 43 ALLOCATE( xchan(idatmax+1)) 44 ALLOCATE( fdchan(idatmax+1)) 45 ALLOCATE( xxim(imodmax)) 46 33 INTEGER imod,idat,i,ichang,id0,id1,nid,idatmax1 47 34 48 35 pi = 2. * ASIN(1.) -
LMDZ.3.3/trunk/libf/dyn3d/inter_barxy.F
r259 r269 1 C2 C $Header$3 C4 1 SUBROUTINE inter_barxy ( interfd,jnterfd,dlonid,dlatid , 5 2 , champ,imod,jmod,rlonimod,rlatimod, jsort,champint ) … … 16 13 #include "comgeom2.h" 17 14 18 REAL champx(i ip1),chpn(iip1),chps(iip1)15 REAL champx(imod),champy(jnterfd +1,imod),chpn(imod),chps(imod) 19 16 REAL chhpn,chhps 20 17 REAL fmody(jjp1) 21 INTEGER jmp122 23 REAL,ALLOCATABLE :: champy(:,:)24 ALLOCATE(champy(jnterfd+1,iip1))25 18 c 26 19 20 print *,' NEEEEE BY ** ' 27 21 DO j = 1, jnterfd + 1 28 22 CALL inter_barx( interfd, dlonid, champ( 1,j ), 29 23 , imod, rlonimod , champx ) 30 31 24 DO i = 1,imod 32 25 champy(j,i) = champx(i) … … 36 29 DO i = 1, imod 37 30 CALL inter_bary( jjm,jnterfd,dlatid,champy(1,i), 38 , 31 , jmod ,rlatimod, fmody ) 39 32 DO j = 1, jsort 40 33 champint(i,j) = fmody(j) … … 60 53 ENDIF 61 54 62 DEALLOCATE(champy)63 64 55 RETURN 65 56 END -
LMDZ.3.3/trunk/libf/dyn3d/inter_bary.F
r259 r269 1 C2 C $Header$3 C4 1 SUBROUTINE inter_bary( jjm, jdatmax, yjdatt, fdatt , 5 2 , jmodmax, yjmodd, fmod ) … … 34 31 35 32 c .... Arguments en entree ....... 36 c 33 37 34 INTEGER jjm , jdatmax, jmodmax 38 REAL yjdatt( 1 ) , fdatt(1 )39 REAL yjmodd( 1)35 REAL yjdatt( jdatmax ) , fdatt( jdatmax +1 ) 36 REAL yjmodd( jmodmax ) 40 37 41 38 c .... Arguments en sortie ....... … … 44 41 c 45 42 c ...... Variables locales ...... 43 44 INTEGER jmods 45 46 REAL yjdat ( jdatmax +1 ), fdat( jdatmax +1) 47 REAL fscrat( jdatmax +1 ) 48 REAL yjmod ( jmodmax +1 ) 46 49 LOGICAL decrois 47 50 SAVE decrois 48 51 c 49 52 REAL y0,dy,dym 50 53 INTEGER jdat, jmod,i 51 52 INTEGER jmods53 REAL , ALLOCATABLE :: fdat(:)54 REAL , ALLOCATABLE :: yjdat(:)55 REAL , ALLOCATABLE :: yjmod(:)56 REAL , ALLOCATABLE :: fscrat(:)57 ALLOCATE (fdat(jdatmax+1))58 ALLOCATE (yjdat(jdatmax+1))59 ALLOCATE (yjmod(jmodmax))60 ALLOCATE (fscrat(jdatmax+1))61 54 c 62 55 … … 136 129 ENDIF 137 130 138 DEALLOCATE(fdat)139 DEALLOCATE(yjdat)140 DEALLOCATE(yjmod)141 DEALLOCATE(fscrat)142 143 131 RETURN 144 132 END -
LMDZ.3.3/trunk/libf/dyn3d/ord_coord.F
r259 r269 1 C2 C $Header$3 C4 1 SUBROUTINE ord_coord ( nmax, xi, xo, decrois ) 5 2 … … 13 10 14 11 INTEGER nmax 15 REAL xi(1) 16 INTEGER nscr 17 PARAMETER ( nscr = 4000 ) 18 REAL xscr(nscr) 12 REAL xi(nmax) 19 13 20 14 c ..... Arguments en sortie ..... 21 15 c 22 REAL xo( 1)16 REAL xo(nmax+1) 23 17 LOGICAL decrois 24 18 25 19 c .... Variables locales .... 26 20 21 REAL xscr(nmax) 27 22 INTEGER i,ii 28 23 REAL pi, degres, chmin, chmax, mult 29 24 c 30 31 IF( nmax.GT.nscr ) THEN32 PRINT *,' Dans ord_coord , nmax = ',nmax, 'est plus grand que'33 ,, ' nscr ! Mettre nscr a la valeur de nmax et repasser ! '34 CALL ABORT35 ENDIF36 25 37 26 pi = 2.*ASIN(1.) -
LMDZ.3.3/trunk/libf/dyn3d/ord_coordm.F
r259 r269 1 C2 C $Header$3 C4 1 SUBROUTINE ord_coordm ( nmax, xi, xo, jjm, jmods, decrois ) 5 2 … … 12 9 c ..... Arguments en entree ..... 13 10 14 INTEGER nmax 15 REAL xi(1) 16 INTEGER nscr 17 PARAMETER ( nscr = 4000 ) 18 REAL xscr(nscr) 11 INTEGER nmax,jjm 12 REAL xi(nmax) 19 13 20 14 c ..... Arguments en sortie ..... 21 15 c 22 REAL xo( 1)16 REAL xo(nmax+1) 23 17 LOGICAL decrois 24 18 INTEGER jmods … … 26 20 c .... Variables locales .... 27 21 28 INTEGER i,jjm 22 REAL xscr(nmax) 23 INTEGER i 29 24 REAL pi, degres, chmin, chmax,mult 30 25 c … … 38 33 IF( nmax.EQ.jjm +1 ) jmods = nmax -1 39 34 40 IF( nmax.GT.nscr ) THEN41 PRINT *,' Dans ord_coord , nmax = ',nmax, 'est plus grand que'42 ,, ' nscr ! Mettre nscr a la valeur de nmax et repasser ! '43 CALL ABORT44 ENDIF45 46 35 pi = 2.*ASIN(1.) 47 36 degres = 180./pi
Note: See TracChangeset
for help on using the changeset viewer.