[cdftools] 30/228: JMM cdfnorth_unfold fixes
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Jun 12 08:21:25 UTC 2015
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch master
in repository cdftools.
commit 6588985f4aa5bfeae74348466e607f01662f2649
Author: molines <molines at 1055176f-818a-41d9-83e1-73fbe5b947c5>
Date: Mon Apr 26 23:22:26 2010 +0000
JMM cdfnorth_unfold fixes
git-svn-id: http://servforge.legi.grenoble-inp.fr/svn/CDFTOOLS/trunk@306 1055176f-818a-41d9-83e1-73fbe5b947c5
---
cdfnorth_unfold.f90 | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/cdfnorth_unfold.f90 b/cdfnorth_unfold.f90
index 7393f2c..9baeacc 100644
--- a/cdfnorth_unfold.f90
+++ b/cdfnorth_unfold.f90
@@ -30,11 +30,11 @@ PROGRAM cdfnorth_unfold
INTEGER , DIMENSION(:), ALLOCATABLE :: id_var , & !: arrays of var id's
& ipk , & !: arrays of vertical level for each var
& id_varout
- REAL(KIND=4) , DIMENSION (:,:), ALLOCATABLE :: tab !: Arrays for cumulated values
+ REAL(KIND=4) , DIMENSION (:,:), ALLOCATABLE :: tab
+ REAL(KIND=4) , DIMENSION (:,:), ALLOCATABLE :: tablon,tablat
REAL(KIND=4) :: zrat
REAL(KIND=4) , DIMENSION (:,:), ALLOCATABLE :: v2d !: Array to read a layer of data
- REAL(KIND=4),DIMENSION(1) :: timean
- REAL(KIND=4),DIMENSION(365) :: tim
+ REAL(KIND=4),DIMENSION(:), ALLOCATABLE :: tim, gdep
CHARACTER(LEN=256) :: cfile ,cfileout !: file name
CHARACTER(LEN=256) :: cdep, cdum, cpivot, ctype
@@ -96,8 +96,10 @@ PROGRAM cdfnorth_unfold
PRINT *, 'npiglo=', npiglo
PRINT *, 'npjglo=', npjglo
PRINT *, 'npk =', npk
+ PRINT *, 'nt =', nt
- ALLOCATE( tab(npiarctic, npjarctic), v2d(npiglo,npjglo) )
+ ALLOCATE( tab(npiarctic, npjarctic), v2d(npiglo,npjglo), tim(nt), gdep(npk) )
+ ALLOCATE( tablon(npiarctic, npjarctic), tablat(npiarctic, npjarctic) )
nvars = getnvar(cfile)
PRINT *,' nvars =', nvars
@@ -115,15 +117,23 @@ PROGRAM cdfnorth_unfold
WHERE( ipk == 0 ) cvarname='none'
typvar(:)%name=cvarname
+ v2d=getvar(cfile, 'nav_lon',1, npiglo,npjglo)
+ CALL unfold(v2d ,tablon, ijatl, ijpacif, cpivot, ctype, 1)
+ v2d=getvar(cfile, 'nav_lat',1, npiglo,npjglo)
+ CALL unfold(v2d ,tablat, ijatl, ijpacif, cpivot, ctype, 1)
+
! create output fileset
cfileout='unfold.nc'
! create output file taking the sizes in cfile
ncout =create(cfileout, cfile,npiarctic,npjarctic,npk,cdep=cdep)
ierr= createvar(ncout , typvar, nvars, ipk, id_varout )
+ tim=getvar1d(cfile,'time_counter',nt)
+! gdep=getvar1d(cfile,cdep,npk)
-! ierr= putheadervar(ncout , cfile, npiarctic,npjarctic, npk,cdep=cdep)
- ierr=putvar1d(ncout,timean,1,'T')
+ ierr= putheadervar(ncout , cfile, npiarctic,npjarctic, npk,pnavlon=tablon, pnavlat=tablat, cdep=cdep)
+ ierr=putvar1d(ncout,tim,nt,'T')
+! ierr=putvar1d(ncout,gdep,npk,'D')
DO jvar = 1,nvars
PRINT *,' Working with ', TRIM(cvarname(jvar)), ipk(jvar)
@@ -216,6 +226,8 @@ CONTAINS
ptabout(:,ij) = ptabin (ipivot:npiglo,jj)
ENDDO
ijn=ij
+ SELECT CASE ( cdpivot )
+ CASE ('T','t') ! pivot
SELECT CASE ( cdtype)
CASE ('T','t')
DO jj=npjglo-3,kjpacif, -1
@@ -245,6 +257,9 @@ CONTAINS
ENDDO
ENDDO
END SELECT
+ CASE ('F','f') ! pivot
+ PRINT * , ' Not yet done for F pivot ' ; stop
+ END SELECT
END SUBROUTINE unfold
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cdftools.git
More information about the debian-science-commits
mailing list