爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5673|回复: 1

[作图] ncl运行到一半被杀死

[复制链接]
发表于 2017-4-12 13:29:13 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 zxholystar 于 2017-4-12 13:30 编辑

请问运行别的模式数据没问题,运行gfs的每次运行到一半被杀死是什么原因?
显示:
Copyright (C) 1995-2017 - All Rights Reserved
University Corporation for Atmospheric Research
NCAR Command Language Version 6.4.0
The use of this software is governed by a License Agreement.
See http://www.ncl.ucar.edu/ for more details.
./run0.sh: line 26: 30616 已杀死               ncl 'params="src='${INPUTBASE}'/gfs.t00z.pgrb2.0p50.f,OUTPUTDIR='${OUTPUTDIR}'/'${sys_HH}'/wave/'${sys_HH}'"' $WORKDIR/wave.ncl

shell:
#!/bin/bash
source ~/.bashrc
export WORKDIR=/home/gfs/nclwork/scripts0
export OUTPUTDIR=/home/gfs/outputs
export INPUTBASE=/home/gfs/JFService
export markfile=/root/JFService/EC_weather
export sys_HH=`date -u +%Y%m%d`
ncl 'params="src='${INPUTBASE}'/gfs.t00z.pgrb2.0p50.f,OUTPUTDIR='${OUTPUTDIR}'/'${sys_HH}'/wave/'${sys_HH}'"' $WORKDIR/wave.ncl

ncl:
;*****************************************************
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$WORKDIR/include/library.ncl"
;***************************************
begin
; read data from grib file
do j=0,240,3
    if j.lt.10 then
        worktime="00"+tostring(j)
    else if j .ge.10 .and. j .lt.100 then
        worktime="0"+tostring(j)
    else
        worktime=tostring(j)
    end if
    end if
do i=0,1,1
    station_num=(/"7#","M8002"/)
    station_lat=(/"33.30544","32.9800"/)
    station_lon=(/"121.0979","121.1600"/)
    point_lat=station_lat(i)
    point_lon=station_lon(i)
    inputpath = getArgsPara(params,"src")+worktime+".grib2"
    outputpath=getArgsPara(params,"OUTPUTDIR")
    filePart=str_split(outputpath,"/")
    fileName=filePart(dimsizes(filePart)-1)
    checkOrCreateDir(outputpath)
    header = (/"经度:"+point_lon+","+"纬度:"+point_lat,"起报时间:"+fileName+"08", \
             "时效            rh"/)
    hlist=[/header/]
    if(toint(worktime).eq.0)then
        write_table(outputpath+"/rh_"+station_num(i)+".txt","w",hlist,"%s")
    end if
    if( .not. fileexists(inputpath).and.toint(worktime).le.84)then
        alist=[/worktime,"9999"/]
        write_table(outputpath+"/rh_"+station_num(i)+".txt","a",alist,"%3.3s%15.4s")
            continue
    else if (.not. fileexists(inputpath).and.toint(worktime).gt.84.and.mod(toint(worktime), 6).eq.0) then
        alist=[/worktime,"9999"/]
        write_table(outputpath+"/rh_"+station_num(i)+".txt","a",alist,"%3.3s%15.4s")
            continue
    else if (.not. fileexists(inputpath).and.toint(worktime).gt.84) then      
        continue     
    end if   
    end if   
    end if
    vars1 = addfile(inputpath,"r")  
    if.not.isfilevar(vars1,"DPT_P0_L103_GLL0").or..not.isfilevar(vars1,"lat_0").or..not.isfilevar(vars1,"TMP_P0_L1_GLL0") then  
    alist=[/worktime,"9999"/]
        write_table(outputpath+"/rh_"+station_num(i)+".txt","a",alist,"%3.3s%15.4s")
            continue
    end if
    td = vars1->DPT_P0_L103_GLL0
    T_g=vars1->TMP_P0_L1_GLL0
    lon = vars1->lon_0
    lat = vars1->lat_0
    longrid=(max(lon)-min(lon))/(dimsizes(lon)-1)
    latgrid=(max(lat)-min(lat))/(dimsizes(lat)-1)
   delete(vars)
;==============================for station==========================================
    frac_lat0=str_split(point_lat,".")
    frac_lat=stringtofloat(str_get_cols(frac_lat0(1),0,2))
    frac_lon0=str_split(point_lon,".")
    frac_lon=stringtofloat(str_get_cols(frac_lon0(1),0,2))  
    if frac_lat .ge.0 .and.frac_lat .lt.250 then
        frac_lat=0
        else if frac_lat .ge.250 .and.frac_lat .lt.750 then
            frac_lat=500
            else if frac_lat .ge.750 .and.frac_lat .lt.1000 then
                frac_lat=1000
            end if
        end if
    end if
      if frac_lon .ge.0 .and.frac_lon .lt.250 then
        frac_lon=0
        else if frac_lon .ge.250 .and.frac_lon .lt.750 then
            frac_lon=500
            else if frac_lon .ge.750 .and.frac_lon .lt.1000 then
                frac_lon=1000
            end if
        end if
    end if
    x_num=toint((toint(frac_lon0(0))+frac_lon/10000-min(lon))/longrid)
    y_num=toint((max(lat)-(toint(frac_lat0(0))+frac_lat/10000))/latgrid)
;==============================for vis=============================================
    rh=T_g
    rh(y_num,x_num)=relhum_ttd(T_g(y_num,x_num), td(y_num,x_num), 0)
    alist=[/worktime,rh(y_num,x_num)/]
    write_table(outputpath+"/rh_"+station_num(i)+".txt","a",alist,"%3.3s%15.4f")
end do
end do
end



密码修改失败请联系微信:mofangbao
发表于 2017-4-12 15:59:31 | 显示全部楼层
帮顶帮顶帮顶。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表