error message "WRAPIT.c:151: error: redefinition of â"

From: Yi-Chih Huang <dscpln_at_nyahnyahspammersnyahnyah>
Date: Sun Nov 17 2013 - 18:37:28 MST

Hello,

    I am trying to access a Fortran program (ann_cycle.f) from a NCL script
(MAC.ncl). Following the NCL web page, I executed "WRAPIT MAC.stub
ann_cycle.f"; but got the error message "WRAPIT.c:151: error: redefinition
of â". The execution of commands and the related scripts are as follows.
 Please indicate what the error "WRAPIT.c:151: error: redefinition of â"
about?

    Thanks much much,

                Yi-Chih

#####
yhuang@arc-env:/fs3/yhuang/scripts$ WRAPIT MAC.stub ann_cycle.f

WRAPIT Version: 120209
WRAPIT.c:151: error: redefinition of â
WRAPIT.c:21: note: previous definition of â was here
COMPILING ann_cycle.f
LINKING
gcc: WRAPIT.o: No such file or directory
rm: cannot remove `WRAPIT.o': No such file or directory
END WRAPIT

yhuang@arc-env:/fs3/yhuang/scripts$ WRAPIT ann_cycle.f

WRAPIT Version: 120209
COMPILING ann_cycle.f
LINKING
END WRAPIT

yhuang@arc-env:/fs3/yhuang/scripts$ ls *so
ann_cycle.so
yhuang@arc-env:/fs3/yhuang/scripts$ ncl MAC.ncl
 Copyright (C) 1995-2013 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.1.2
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
fatal:syntax error: procedure ann_cycle is not defined in package MAC

fatal:error at line 52 in file MAC.ncl

fatal:Syntax Error in block, block not executed
fatal:error at line 77 in file MAC.ncl

##### MAC.stub
C NCLFORTSTART
      subroutine ann_harm(nhar,var,nmd,out,low,nmon,ndims,ilen)
      real var(nmd)
      real out(ndims,ilen), low(ndims,ilen)
      real a(nhar), b(nhar), rcas(nhar,ilen), rsyn(nhar,ilen)
C NCLEND

##### ann_cycle.f
C NCLFORTSTART
        subroutine ann_harm(nhar,var,nmd,sst,low,nmon,ndims,ilen)
        real var(nmd)
        real sst(ndims,ilen), low(ndims,ilen)
        real a(nhar), b(nhar), rcas(nhar,ilen), rsyn(nhar,ilen)
C NCLEND
c program harfil
c constructs the annual cycle of the data
c based on the required number of harmonics
c
c Function Parameter reference
c nhar = integer; number of harmonics to remove
c var = float ; reduced one dimensional input data array
c ; we estimate the seasonal cycle from
c ; this data
c ; the input data contains ilen months of
c ; data; each of the ilen units could contain
c ; a multi-dimensional array representing
c ; n-dimensional data
c ; to make this routine more general, the n-dimensional
c ; data is flattened out into a 1-D array
c ; and written out sequentially
c ; for an example see
c sst = float ; two dimensional output array, time is the first
dimension
c ; a collapsed version of the spatial dimensions form the
c ; second dimension
c!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
c Read the data into array SST

        do mon=1,ilen
        do i = 1,ndims
        sst(i,mon)=0.0
        low(i,mon)=0.0
        end do
        end do

        k=0
        pi=3.1415
        print *, pi

        do mon=1,nmon
        do i=1,ndims
        k=k+1
        sst(i,mon)=var(k)
        enddo
        end do
c!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

c Calculate the shapes of sine and cos waves at the different
c harmonic frequencies

        do mon = 1, ilen
         do L = 1,nhar
         rcas(L,mon) = cos((2*pi*L/ilen)*mon)
         rsyn(L,mon) = sin((2*pi*L/ilen)*mon)
         enddo
        enddo

        do i = 1,ndims
          do L = 1,nhar
          a(L) = 0.0
          b(L) = 0.0
c Calculate the Lth harmonic component
            do mon = 1,ilen
            a(L) = a(L) + sst(i,mon)*rcas(L,mon)
            b(L) = b(L) + sst(i,mon)*rsyn(L,mon)
            enddo
          a(L) = a(L) * 2 / float(ilen)
          b(L) = b(L) * 2 / float(ilen)
          enddo

c Now reconstruct the time-series with a specified no of harmonics
c This reconstructs the seasonal cycle

        do mon = 1,ilen
           do L = 1,nhar
           low(i,mon) = low(i,mon)
     & + a(L) * rcas(L,mon)
     & + b(L) * rsyn(L,mon)

            end do
         end do

        end do

        k=0
        do mon=1,nmon
        do i = 1,ndims
        k=k+1
c ann_cycle(k)=low(i,mon)
c var(k)=sst(i,mon)
        var(k)=low(i,mon)
        end do
        end do

1000 continue
        return
        end

##### MAC.ncl
load "$SysE/lib/ncl/helper_libs.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
external MAC "./ann_cycle.so"

begin
  latS = -30.0
  latN = 30.0
  lonE = 30.0
  lonW = 180.0

  yrStrt = 1979
  yrLast = 2009
  nyr= yrLast -yrStrt +1
  nmo= 12

  in = addfile("/fs3/yhuang/precip.mon.mean.nc","r") ; 197901-201306
  YMDHMS = cd_calendar(in->time, 0) ; all times index for desired time
  iYear = ind(YMDHMS(:,0).ge.yrStrt .and. YMDHMS(:,0).le.yrLast)

  precip = in->precip(iYear,{latS:latN},{lonE:lonW})
  ds= dimsizes(precip)
  precy = new((/nyr,nmo,ds(1),ds(2)/),float)
  pcp = new((/nyr*nmo,ds(1),ds(2)/),float)

  do ny= 0,nyr-1
    iYr = ind(YMDHMS(:,0).eq.yrStng(ny))
    preci = in->precip(iYr,{latS:latN},{lonE:lonW})
    precy(ny,:,:,:) = preci
  end do

  pcpClm= dim_avg_n_Wrap( precy, (/0,1/) )

  i= 0
  do iz= 0,ds(2)-1
  do im= 0,ds(1)-1
  do nm= 0,nmo-1
  do ny= 0,nyr-1
    pcp(i)= precy(ny,nm,im,iz)
    i= i+1
  end do
  end do
  end do
  end do

  nhar= 3
  var= pcp
  nmd= nyr*nmo*ds(1)*ds(2)
  nmon= 12
  ndims= ds(1)
  ilen= ds(2)
  MAC::ann_cycle(nhar,var,nmd,pcpSlow,low,nmon,ndims,ilen)

  pcpFast = pcpClm - pcpSlow
  copy_VarCoords(pcpClm,pcpFast)

  wks= gsn_open_wks("X11","MAC")
  gsn_define_colormap(wks,"BlueRed")

  res = True
  res@gsnAddCyclic = False
  res@mpMinLatF = -30
  res@mpMaxLatF = 30
  res@mpMinLonF = 30
  res@mpMaxLonF = 160

  res@cnFillOn = True
  res@cnLinesOn = False ; turn off the contour
lines
  res@cnLineLabelsOn = False
  res@cnSpanFillPalette = True

  res@gsnSpreadColors = True ; use full colormap
  res@gsnSpreadColorStart = 10 ; for BlueRed
  res@gsnSpreadColorEnd = 250 ; for BlueRed

  plot = gsn_csm_contour_map(wks,iav,res)
end

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Sun Nov 17 18:37:41 2013

This archive was generated by hypermail 2.1.8 : Fri Nov 22 2013 - 09:36:32 MST