[cdftools] 29/228: JMM fixes in cdfnorth_unfold
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 37210d493d52aab535a4e2ca8a2dbd002f5eb2ff
Author: molines <molines at 1055176f-818a-41d9-83e1-73fbe5b947c5>
Date: Mon Apr 26 22:36:13 2010 +0000
JMM fixes in cdfnorth_unfold
git-svn-id: http://servforge.legi.grenoble-inp.fr/svn/CDFTOOLS/trunk@305 1055176f-818a-41d9-83e1-73fbe5b947c5
---
cdfnorth_unfold.f90 | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/cdfnorth_unfold.f90 b/cdfnorth_unfold.f90
index b94e43c..7393f2c 100644
--- a/cdfnorth_unfold.f90
+++ b/cdfnorth_unfold.f90
@@ -67,6 +67,7 @@ PROGRAM cdfnorth_unfold
npiglo= getdim (cfile,'x')
npjglo= getdim (cfile,'y')
npk = getdim (cfile,'depth',cdtrue=cdep, kstatus=istatus)
+ nt = getdim (cfile,'time', kstatus=istatus)
IF (istatus /= 0 ) THEN
npk = getdim (cfile,'z',cdtrue=cdep,kstatus=istatus)
@@ -129,6 +130,7 @@ PROGRAM cdfnorth_unfold
DO jk = 1, ipk(jvar)
PRINT *,'level ',jk
tab(:,:) = 0.
+ isig = 1
DO jtt=1,nt
jkk=jk
! If forcing fields is without depth dimension
@@ -140,9 +142,10 @@ PROGRAM cdfnorth_unfold
SELECT CASE (ctype )
CASE ( 'T','t')
ji=1
- DO WHILE ( v2d(ji,npjglo-1) == 0 )
+ DO WHILE ( v2d(ji,npjglo-1) == 0 .AND. ji < npiglo )
ji=ji+1
ENDDO
+ IF ( ji /= npiglo ) THEN
ij=2*ipivot - ji +2
zrat= v2d(ij,npjglo-1) / v2d(ji,npjglo-1)
IF ( ABS(zrat) /= 1. ) THEN
@@ -150,9 +153,10 @@ PROGRAM cdfnorth_unfold
ELSE
isig=zrat
ENDIF
+ ENDIF
CASE ( 'U','u')
ji=1
- DO WHILE ( v2d(ji,npjglo-1) == 0 )
+ DO WHILE ( v2d(ji,npjglo-1) == 0 .AND. ji < npiglo )
ji=ji+1
ENDDO
ij=2*ipivot - ji + 1
@@ -164,7 +168,7 @@ PROGRAM cdfnorth_unfold
ENDIF
CASE ( 'V','v')
ji=1
- DO WHILE ( v2d(ji,npjglo-1) == 0 )
+ DO WHILE ( v2d(ji,npjglo-1) == 0 .AND. ji < npiglo )
ji=ji+1
ENDDO
ij=2*ipivot - ji + 2
@@ -177,9 +181,11 @@ PROGRAM cdfnorth_unfold
END SELECT
CASE ( 'F','f')
END SELECT
+ PRINT *,'ISIG=', isig
ENDIF
+
CALL unfold(v2d, tab, ijatl, ijpacif, cpivot, ctype, isig)
- ierr = putvar(ncout, id_varout(jvar) ,tab, jkk, npiarctic, npjarctic, ktime=jtt)
+ ierr = putvar(ncout, id_varout(jvar) ,tab, jkk, npiarctic, npjarctic)
ENDDO
END DO ! loop to next level
END DO ! loop to next var in file
@@ -215,15 +221,17 @@ CONTAINS
DO jj=npjglo-3,kjpacif, -1
ij= ijn + ( npjglo - 3 - jj ) +1 ! 2 *npjglo - kjatl -1 -jj
DO ji = 2, npiarctic
- ii = 2*ipivot -ji +2
+! ii = 2*ipivot -ji +2 -ipivot +1
+ ii = ipivot - ji + 3
ptabout(ji,ij)= ksig * ptabin(ii, jj)
ENDDO
ENDDO
CASE ('V','v')
DO jj=npjglo-4,kjpacif-1, -1
- ij= ijn + ( npjglo - 3 - jj ) +1 ! 2 *npjglo - kjatl -1 -jj
+ ij= ijn + ( npjglo - 4 - jj ) +1 ! 2 *npjglo - kjatl -1 -jj
DO ji = 2, npiarctic
- ii = 2*ipivot -ji +2
+! ii = 2*ipivot -ji +2 -ipivot +1
+ ii = ipivot - ji + 3
ptabout(ji,ij)= ksig * ptabin(ii, jj)
ENDDO
ENDDO
@@ -231,7 +239,8 @@ CONTAINS
DO jj=npjglo-3,kjpacif, -1
ij= ijn + ( npjglo - 3 - jj ) +1 ! 2 *npjglo - kjatl -1 -jj
DO ji = 1, npiarctic
- ii = 2*ipivot -ji + 1
+! ii = 2*ipivot -ji + 1 -ipivot + 1
+ ii = ipivot -ji + 2
ptabout(ji,ij)= ksig * ptabin(ii, jj)
ENDDO
ENDDO
--
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