[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