[cdftools] 60/228: RD : cdfmean : add as a comment a bugfix for gfortran cdfhdy : bugfix in ssh contribution cdfhdy3d : new tool :same as cdfhdy but with 3D output file Makefile : add rule for cdfhdy3d
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Jun 12 08:21:29 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 d6a1f0d673b9006e2c16278accd273063c50619a
Author: dussin <dussin at 1055176f-818a-41d9-83e1-73fbe5b947c5>
Date: Fri Jul 23 16:12:11 2010 +0000
RD : cdfmean : add as a comment a bugfix for gfortran
cdfhdy : bugfix in ssh contribution
cdfhdy3d : new tool :same as cdfhdy but with 3D output file
Makefile : add rule for cdfhdy3d
git-svn-id: http://servforge.legi.grenoble-inp.fr/svn/CDFTOOLS/trunk@336 1055176f-818a-41d9-83e1-73fbe5b947c5
---
Makefile | 5 ++++-
cdfhdy.f90 | 3 ++-
cdfhdy.f90 => cdfhdy3d.f90 | 42 ++++++++++++++++++++----------------------
cdfmean.f90 | 3 ++-
4 files changed, 28 insertions(+), 25 deletions(-)
diff --git a/Makefile b/Makefile
index aecd01b..c37dae2 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ EXEC = cdfmoy cdfmoyt cdfmoy_sp cdfstd cdfmoy_sal2_temp2 cdfmoy_annual cdfmoy_
bimgmoy4 bimgcaltrans cdf16bit cdfvita cdfconvert cdfflxconv cdfclip cdfsstconv cdfstrconv cdfbathy cdfvar cdfmkmask-zone\
cdfcsp cdfcoloc cdfmltmask cdfstatcoord cdfpolymask cdfsmooth cdfmkmask cdfdifmask\
cdfkempemekeepe cdfbci cdfbti cdfnrjcomp cdfcofdis cdfsections cdfnorth_unfold cdfovide cdfmppini\
- cdfpsi_level cdfhdy
+ cdfpsi_level cdfhdy cdfhdy3d
all: $(EXEC)
@@ -206,6 +206,9 @@ cdfnrjcomp: cdfio.o cdfnrjcomp.f90
cdfhdy: cdfio.o eos.o cdfhdy.f90
$(F90) cdfhdy.f90 -o cdfhdy cdfio.o eos.o $(FFLAGS)
+cdfhdy3d: cdfio.o eos.o cdfhdy3d.f90
+ $(F90) cdfhdy3d.f90 -o cdfhdy3d cdfio.o eos.o $(FFLAGS)
+
## Transport programs
cdfmhst: cdfio.o cdfmhst.f90
$(F90) cdfmhst.f90 -o cdfmhst cdfio.o $(FFLAGS)
diff --git a/cdfhdy.f90 b/cdfhdy.f90
index 15c06dc..ec7b2e3 100644
--- a/cdfhdy.f90
+++ b/cdfhdy.f90
@@ -115,7 +115,8 @@ PROGRAM cdfhdy
! we degrade the computation to smooth the results
zdep(:,:) = ze3t_1d(jk)
- IF ( zlev1 == 1) THEN
+ IF ( jk == 1 ) THEN
+! IF ( zlev1 == 1) THEN oh le vilain bug
zdep(:,:) = zdep(:,:) + zssh(:,:)
ENDIF
diff --git a/cdfhdy.f90 b/cdfhdy3d.f90
old mode 100644
new mode 100755
similarity index 92%
copy from cdfhdy.f90
copy to cdfhdy3d.f90
index 15c06dc..2094311
--- a/cdfhdy.f90
+++ b/cdfhdy3d.f90
@@ -1,9 +1,9 @@
-PROGRAM cdfhdy
+PROGRAM cdfhdy3d
!!-------------------------------------------------------------------
- !! *** PROGRAM cdfhdy ***
+ !! *** PROGRAM cdfhdy3d ***
!!
!! ** Purpose: Compute dynamical height anomaly field from gridT file
- !! Store the results on a 2D cdf file.
+ !! Store the results on a 3D cdf file.
!!
!!
!! history:
@@ -34,7 +34,7 @@ PROGRAM cdfhdy
& zhdy, zterm, zdep, zdepth, zssh
REAL(KIND=4),DIMENSION(:),ALLOCATABLE :: tim, ze3t_1d
- CHARACTER(LEN=256) :: cfilet , cdum, cfileout='cdfhdy.nc', cmask='mask.nc' !:
+ CHARACTER(LEN=256) :: cfilet , cdum, cfileout='cdfhdy3d.nc', cmask='mask.nc' !:
CHARACTER(LEN=256) :: coordzgr='mesh_zgr.nc'
TYPE(variable) , DIMENSION(1) :: typvar !: structure for attributes
@@ -48,30 +48,27 @@ PROGRAM cdfhdy
!! Read command line
narg= iargc()
- IF ( narg .LT. 3 ) THEN
- PRINT *,' Usage : cdfhdy gridT level1 level2 '
- PRINT *,' integrates from level1 (usually surface) to level2, level2 greater than level1 '
+ IF ( narg .NE. 1 ) THEN
+ PRINT *,' Usage : cdfhdy3d gridT '
PRINT *,' reference is the sea surface, mask.nc and mesh_zgr.nc must be in your directory'
- PRINT *,' Output on cdfhdy.nc, variable sohdy'
+ PRINT *,' Output on cdfhdy3d.nc, variable vohdy'
STOP
ENDIF
CALL getarg (1, cfilet)
- CALL getarg (2, cdum) ; READ(cdum,*) zlev1
- CALL getarg (3, cdum) ; READ(cdum,*) zlev2
npiglo= getdim (cfilet,'x')
npjglo= getdim (cfilet,'y')
npk = getdim (cfilet,'depth')
npt = getdim (cfilet,'time')
- ipk(:)= 1
- typvar(1)%name= 'sohdy'
+ ipk(:)= npk
+ typvar(1)%name= 'vohdy'
typvar(1)%units='m'
typvar(1)%missing_value=0.
typvar(1)%valid_min= -100.
typvar(1)%valid_max= 100.
typvar(1)%long_name='Dynamical height anomaly'
- typvar(1)%short_name='sohdy'
+ typvar(1)%short_name='vohdy'
typvar(1)%online_operation='N/A'
typvar(1)%axis='TZYX'
@@ -99,7 +96,6 @@ PROGRAM cdfhdy
ztemp0(:,:)=0.
zsal0(:,:)=35.
- zmask(:,:) = getvar(cmask, 'tmask', zlev2, npiglo, npjglo)
zssh(:,:) = getvar(cfilet, 'sossheig', 1, npiglo, npjglo)
ze3t_1d(:) = getvare3(coordzgr, 'e3t',npk)
@@ -109,13 +105,15 @@ PROGRAM cdfhdy
zhdy(:,:) = 0.
zdepth(:,:) = 0.
- DO jk = zlev1, zlev2
+ DO jk = 1, npk
!zdep(:,:) = getvar(coordzgr, 'e3t_ps', jk,npiglo,npjglo,ldiom=.true.)
! we degrade the computation to smooth the results
zdep(:,:) = ze3t_1d(jk)
- IF ( zlev1 == 1) THEN
+ zmask(:,:) = getvar(cmask, 'tmask', jk, npiglo, npjglo)
+
+ IF ( jk == 1) THEN
zdep(:,:) = zdep(:,:) + zssh(:,:)
ENDIF
@@ -137,14 +135,14 @@ PROGRAM cdfhdy
WHERE(zsal == 0 ) zterm = 0
zhdy(:,:) = zhdy(:,:) + zterm(:,:)
-
- END DO ! loop to next level
-
- ! we mask with the last level of the integral
+ ! we mask with the mask of the level
zhdy(:,:) = zhdy(:,:) * zmask(:,:)
- ierr = putvar(ncout, id_varout(1) ,zhdy, 1,npiglo, npjglo,ktime=jt)
+ ierr = putvar(ncout, id_varout(1) ,zhdy, jk,npiglo, npjglo,ktime=jt)
+
+ END DO ! loop to next level
+
END DO ! next time frame
istatus = closeout(ncout)
@@ -249,4 +247,4 @@ SUBROUTINE eos_insitu( ptem, psal, pdepth, jpiglo, jpjglo, prd )
END DO
END SUBROUTINE eos_insitu
-END PROGRAM cdfhdy
+END PROGRAM cdfhdy3d
diff --git a/cdfmean.f90 b/cdfmean.f90
index 8c2dd50..b81f40a 100644
--- a/cdfmean.f90
+++ b/cdfmean.f90
@@ -77,7 +77,8 @@ PROGRAM cdfmean
STOP
ENDIF
! Open standard output with recl=256 to avoid wrapping of long lines (ifort)
- OPEN(6,FORM='FORMATTED',RECL=256)
+ OPEN(6,FORM='FORMATTED',RECL=256) ! ifort
+! OPEN(6,FORM='FORMATTED') ! gfortran
CALL getarg (1, cfilev)
CALL getarg (2, cvar)
--
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