[ncl-talk] sub: Wrapit error...
dale zuri
dalezuri at gmail.com
Sun Mar 12 21:00:30 MDT 2017
Hi,
Please find here a program and other informations as well.
Thanks in advance.
C NCLFORTSTART
subroutine ES (t,h,w,r,buio,ffmo,
1 xisio,fwio,dmco,dco)
C integer tlen
dimension t(183),h(183)
dimension w(183),r(183)
dimension ffmo(183),xisio(183)
dimension fwio(183),dmco(183)
dimension buio(183),dco(183)
C integer indate,yr,mon,day,hr
C character*10 timez
C NCLEND
C write(timez,'(i10)') indate
C read(timez,'(i4,3i2)') yr,mon,day,hr
call canada(t,h,w,r,buio,ffmo,xisio,
1 fwio,dmco,dco)
return
end
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
subroutine canada(t,h,w,r,buio,ffmo,xisio,
1 fwio,dmco,dco)
dimension lmon(12), el(12), fl(12)
dimension t(183),h(183),w(183),r(183)
dimension tin(183),hin(183),win(183),rin(183)
dimension ffmc(183),dmc(183),dc(183)
1 ,xisi(183),bui(183),fwi(183),dsr(183)
dimension ffmo(183),dmco(183),dco(183),buio(183)
dimension fwio(183),xisio(183)
c data statement
data lmon / 31,28,21,30,31,30,31,31,30,31,30,31/
data el /6.5,7.5,9.0,12.8,13.9,13.9,12.4,10.9,9.4,8.0,7.0,
1 6.0/
data fl /-1.6,-1.6,-1.6,.9,3.8,5.8,6.4,5.0,2.4,.4,-1.6,
1 -1.6/
c
c&& enter in the inital values here
c 3 fuel moisture codes, initialize
ffmo(1) =85.5
dmco(1)=6.0
dco(1)=15.0
c keep track of julian day
iday=90
c start on april 1 and go to september 30
do im=4,9
do jday=1,lmon(im)
iday = iday +1
c move the data from the array to the variable for the calculation on a
given day
t = tin(iday)
h = hin(iday)
w = win(iday)
r = rin(iday)
c
c convert m/s to km/hr
c w(i,j) = w(i,j)*3.6
c
c FINE FUEL MOISTURE CODE
c
wmo = 147.2*(101-ffmo(iday))/(59.5+ffmo(iday))
if(r(iday)>0.5) then
ra=r(iday)-0.5
if (ra.lt.0.1) ra = 0.1
if(wmo.gt.150) then
wmo= wmo+ 42.5*ra*exp(-100.0/(251-wmo))*(1.0-exp(-6.93/ra))
1 +0.0015*(wmo-150)*(wmo-150)*sqrt(ra)
else
wmo=wmo+42.5*ra*exp(-100.0/(251-wmo))*(1.0-exp(-6.93/ra))
endif
endif
if (wmo.gt.250.) wmo = 250.
ed=0.942 * h(iday)**0.679 +
1 (11.0*exp((h(iday)-100.0)/10.0)) +
1 0.18 * (21.1-t(iday)) * (1.0-1.0/exp(h(iday)*0.115))
ew=0.618 * h(iday)**0.753 +
1 (10.0*exp((h(iday)-100.0)/10.0)) +
1 0.18 * (21.1-t(iday)) * (1.0-1.0/exp(h(iday)*0.115))
if(wmo.lt.ed.and.wmo.lt.ew) then
z = 0.424 * ( 1.0 - ((100.0-h(iday))/100.0)**1.7 ) +
1 0.0694 * sqrt(w(iday)) * (1.0 -
1 ((100.0-h(iday))/100.0)**8.0 )
x = z * 0.581 * exp(0.0365*t(iday))
wm = ew-(ew-wmo) / (10.0**x)
elseif (wmo.gt.ed) then
z = 0.424 * ( 1.0 - (h(iday)/100.)**1.7 ) + 0.0694 *
1 sqrt(w(iday)) * ( 1 - (h(iday)/100)**8.0 )
x = z * 0.581 * exp(0.0365*t(iday))
wm = ed + ( wmo - ed) / (10.0**x)
else
wm = wmo
endif
if (wm.lt.0.) wm = 0.0
ffmc(iday) = 59.5 * (250.0 - wm) / (147.2 + wm)
if (ffmc(iday).gt.101.0) ffmc(iday) = 101.0
if (ffmc(iday).lt.0.) ffmc(iday) = 0.
c
c DUFF MOISTURE CODE
c
t1=t(iday)
if (t(iday).lt.-1.1) t1 = -1.1
rk = 1.894 * (t1 + 1.1) * (100.0 - h(iday)) * el(im) * 0.0001
if(r(iday).le.1.5) then
pr = dmco(iday)
else
ra = r(iday)
rw = 0.92 * ra - 1.27
wmi = 20.0 + 280.0 / exp(0.023 * dmco(iday))
if(dmco(iday).le.33) then
b = 100.0 / (0.5 + 0.3 * dmco(iday))
elseif (dmco(iday).le.65) then
b = 14.0 - 1.3 * log(dmco(iday))
else
b = 6.2 * log(dmco(iday)) - 17.2
endif
wmr = wmi + 1000.0 * rw / (48.77 + b * rw)
pr = 43.43 * (5.6348 - log(wmr-20))
endif
if (pr.lt.0.) pr = 0.
dmc(iday) = pr + rk
if (dmc(iday).lt.0.) dmc(iday) = 0.
c
c DROUGHT CODE
t2 = t(iday)
if (t(iday).lt.-2.8) t2 = -2.81
pe = (.36 * (t2 + 2.8) + fl(mon)) / 2.0
if (pe.lt.0.) pe = 0.0
c the fix for winter negative DC change
if(r(iday).le.2.801) then
dr = dco(iday)
else
ra = r(iday)
rw = 0.83 * ra - 1.27
smi = 800 * exp(-dco(iday) / 400)
qr = smi + 3.937 * rw
dr = 400 * log(800 / qr)
if (dr.lt.0.) dr = 0.
endif
v = 0.36 * (t2 + 2.8) + fl(im)
if (v.lt.0.) v = 0.
dc(iday) = dr + v * 0.5
if (dc(iday).lt.0.) dc(iday)=0.
c
c INITIAL SPREAD INDEX
c
fm = 147.2 * (101.0 - ffmc(iday)) / (59.5 + ffmc(iday))
sf = 19.115 * exp(-0.1386 * fm) * (1.0 + fm**5.31 / 4.93e07)
xisi(iday) = sf * exp(0.05039 * w(iday))
c
c BUILD UP INDEX
c
if(dmc(iday).eq.0.and.dc(iday).eq.0.) then
bui(iday)=0
elseif (dmc(iday).le.0.4*dc(iday)) then
bui(iday) = 0.8 * dc(iday) * dmc(iday)
1 / (dmc(iday) + 0.4 * dc(iday))
else
bui(iday) = dmc(iday) - (1 - 0.8 * dc(iday)
1 / (dmc(iday) + 0.4 *
1 dc(iday))) * (0.92 + (0.0114 * dmc(iday))** 1.7)
endif
if (bui(iday).lt.0.) bui(iday) = 0.0
c
c FIRE WEATHER INDEX AND DSR
c
if(bui(iday).gt.80.) then
bb = 0.1 * xisi(iday) *
1 (1000.0 / (25.0 + 108.64 / exp(0.023*bui(iday))))
else
bb = 0.1 * xisi(iday) * (0.626 * bui(iday)**0.809 + 2.0)
endif
if (bb.le.1.) then
fwi(iday) = bb
else
fwi(iday) = exp(2.72 * (0.434 * log(bb))**0.647 )
endif
dsr(iday) = 0.0272 * fwi(iday)**1.77
c
ffmo(iday)=ffmc(iday)
dmco(iday)=dmc(iday)
dco(iday)=dc(iday)
buio(iday)=bui(iday)
fwio(iday)=fwi(iday)
xisio(iday)=xisi(iday)
c
enddo
uname -av
Darwin Dale.local 16.3.0 Darwin Kernel Version 16.3.0: Thu Nov 17 20:23:58
PST 2016; root:xnu-3789.31.2~1/RELEASE_X86_64 x86_64
ncl -V
6.3.0
gxx --version
gxx: Command not found.
On Sun, Mar 12, 2017 at 6:02 AM, Dennis Shea <shea at ucar.edu> wrote:
> Well, I think you would have to send the fortran code: newcffi_singlegrid.f
>
> Also, the output from the following.
>
> %> ncl -V
> %> gxx--version
> %> uname -a
>
> =====
> Further, based on a previous email, where you wrote "new to NCL", I
> suggest that you invest looking at NCL tutorial at:
> http://www.ncl.ucar.edu/Document/Manuals/NCL_User_Guide/
>
> Yes, it will take some time BUT you will learn NCL.
>
> Good luck
>
> On Sat, Mar 11, 2017 at 7:21 PM, dale zuri <dalezuri at gmail.com> wrote:
>
>> Hi,
>> WRAPIT didn't give any error. But, when I run ncl code, I get below
>> printed warning. And also printed the WRAPIT -d output.
>>
>> Please, help me to fix this bug?
>> Thank you,
>> Dale
>>
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>
>> warning:An error occurred loading the external file
>> ./newcffi_singlegrid.so, file not loaded
>> dlopen(./newcffi_singlegrid.so, 2): Symbol not found: _hin_
>> Referenced from: ./newcffi_singlegrid.so
>> Expected in: flat namespace
>> in ./newcffi_singlegrid.so
>> warning:error at line 9 in file canadafire_FWItestZeikcomp.ncl
>>
>> fatal:syntax error: line 43 in file canadafire_FWItestZeikcomp.ncl before
>> or near :
>> EX:
>> --^
>>
>> fatal:error in statement
>> fatal:Syntax Error in block, block not executed
>>
>> Output of WRAPIT -d
>> COMPILING newcffi_singlegrid.f
>> gfortran -m64 -fPIC -v -c -fno-second-underscore newcffi_singlegrid.f
>> Using built-in specs.
>> COLLECT_GCC=gfortran
>> Target: x86_64-apple-darwin15.6.0
>> Configured with: ../gcc-6.2.0/configure --enable-languages=c++,fortran
>> --with-gmp=/usr/local
>> Thread model: posix
>> gcc version 6.2.0 (GCC)
>> COLLECT_GCC_OPTIONS='-m64' '-fPIC' '-v' '-c' '-fno-second-underscore'
>> '-mmacosx-version-min=10.12.3' '-mtune=core2'
>> /usr/local/libexec/gcc/x86_64-apple-darwin15.6.0/6.2.0/f951
>> newcffi_singlegrid.f -ffixed-form -fPIC -quiet -dumpbase
>> newcffi_singlegrid.f -m64 -mmacosx-version-min=10.12.3 -mtune=core2
>> -auxbase newcffi_singlegrid -version -fPIC -fno-second-underscore
>> -fintrinsic-modules-path /usr/local/lib/gcc/x86_64-apple-darwin15.6.0/6.2.0/finclude
>> -o /var/folders/60/qx8g2gvj169741yy29b3h0hm0000gn/T//ccLtfHN9.s
>> GNU Fortran (GCC) version 6.2.0 (x86_64-apple-darwin15.6.0)
>> compiled by GNU C version 6.2.0, GMP version 6.0.0, MPFR version
>> 3.1.2-p10, MPC version 1.0.2, isl version none
>> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
>> GNU Fortran2008 (GCC) version 6.2.0 (x86_64-apple-darwin15.6.0)
>> compiled by GNU C version 6.2.0, GMP version 6.0.0, MPFR version
>> 3.1.2-p10, MPC version 1.0.2, isl version none
>> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
>> COLLECT_GCC_OPTIONS='-m64' '-fPIC' '-v' '-c' '-fno-second-underscore'
>> '-mmacosx-version-min=10.12.3' '-mtune=core2'
>> as -arch x86_64 -force_cpusubtype_ALL -o newcffi_singlegrid.o
>> /var/folders/60/qx8g2gvj169741yy29b3h0hm0000gn/T//ccLtfHN9.s
>> COMPILER_PATH=/usr/local/libexec/gcc/x86_64-apple-darwin15.
>> 6.0/6.2.0/:/usr/local/libexec/gcc/x86_64-apple-darwin15.6.0/
>> 6.2.0/:/usr/local/libexec/gcc/x86_64-apple-darwin15.6.0/:/
>> usr/local/lib/gcc/x86_64-apple-darwin15.6.0/6.2.0/:/
>> usr/local/lib/gcc/x86_64-apple-darwin15.6.0/
>> LIBRARY_PATH=/usr/local/lib/gcc/x86_64-apple-darwin15.6.0/6.
>> 2.0/:/usr/local/lib/gcc/x86_64-apple-darwin15.6.0/6.2.0/../../../
>> COLLECT_GCC_OPTIONS='-m64' '-fPIC' '-v' '-c' '-fno-second-underscore'
>> '-mmacosx-version-min=10.12.3' '-mtune=core2'
>> SHARED OBJECT NAME (SharedObj): newcffi_singlegrid.so
>> LINKER SUFFIX (ld_suffix): WRAPIT.o newcffi_singlegrid.o -o
>> newcffi_singlegrid.so
>>
>> LINKING
>> gcc -m64 -bundle -flat_namespace -undefined suppress WRAPIT.o
>> newcffi_singlegrid.o -o newcffi_singlegrid.so -lgfortran
>> END WRAPIT
>>
>>
>> Thank you
>>
>>
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170312/032da7c3/attachment.html
More information about the ncl-talk
mailing list