[ncl-talk] daylight_fao56 function error

Beáta Szabó-Takács szabo.b at czechglobe.cz
Fri Oct 6 04:48:06 MDT 2017


Dear Adam,
Thank you for your suggestion. I fixed the bug in crop.ncl and it works correctly.
Best regards,
Beata

From: Adam Phillips [mailto:asphilli at ucar.edu]
Sent: Thursday, October 05, 2017 6:04 PM
To: Beáta Szabó-Takács <szabo.b at czechglobe.cz>
Cc: ncl-talk (ncl-talk at ucar.edu) <ncl-talk at ucar.edu>
Subject: Re: [ncl-talk] daylight_fao56 function error

Hi Beata,
I think you have found a bug in crop.ncl. I would suggest copying crop.ncl to your local directory, modifying line 779 from this:
daylightmax(:,nl) = con*ws        ; eq 34
to this:
daylightmax(:,nl,ml) = con*ws        ; eq 34

and then loading your version of crop.ncl at the top of your script. If that does not work let ncl-talk know. I will file a JIRA ticket for this.
Adam


On Wed, Oct 4, 2017 at 4:28 AM, Beáta Szabó-Takács <szabo.b at czechglobe.cz<mailto:szabo.b at czechglobe.cz>> wrote:
Dear NCL Users,
I have a matter with daylight_fao56 function. I have a lat(nlat,mlon) and doy(ntime) variables what I used in daylight_fao56 function but I got an error message:
fatal:Number of subscripts (2) and number of dimensions (3) do not match for variable (daylightmax)
fatal:["Execute.c":8640]:Execute: Error occurred at or near line 779 in file $NCARG_ROOT/lib/ncarg/nclscripts/csm/crop.ncl

fatal:["Execute.c":8640]:Execute: Error occurred at or near line 48 in file ex_regrid_ETo_turc.ncl

My script:


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 "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/calendar_decode2.ncl"

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/crop.ncl"



begin

;-- open file

a = addfile("CNRM-CM5-CLM4.8.171971.nc<http://CNRM-CM5-CLM4.8.171971.nc>","r")             ;read the nc file

b = addfile("sund_CNRM-CM5-CLM1971.nc","r")



  tas = a->tas                                   ; read daily tasmax values

  sund = b->sund                                   ; read daily sund values



  time = a->time                                       ; read time values

  time_bnds = a->time_bnds

  lat = a->lat

  lon = a->lon

  lon_bnds = a->lon_bnds

  lat_bnds = a->lat_bnds

  rlon = a->rlon

  rlat = a->rlat

  rotated = a->rotated_latitude_longitude



  print(lat)

  tmean = tas + 273.15                                              ; convert K to Celsius degree

  nsun  = sund/3600                                                    ; convert second to hour

  time2 = calendar_decode2(time,-5)                    ; convert the time codes (days since 1949,12,1) to yyyy,mm,dd in integer



  doy = day_of_year(time2(:,0),time2(:,1),time2(:,2))                            ; calculate day of year

  print (doy)



  ra_0 = radext_fao56(doy, lat, 0)             ; Compute extraterrestrial radiation for daily periods

  ra_0 = where(ismissing(ra_0), 0, ra_0)   ; convert the missing value due to limited validity at high latitudes to 0

  print(ra_0)



  sunhrx = daylight_fao56(doy, lat)        ; max daylight/sun; hr per day

  print(sunhrx)



  rs_0   = radsol_fao56(ra_0, sunhrx, nsun, (/0,0/), False)          ; 'radsol' (total solar radiation)

  evturc_0  = refevt_turc( tmean, rs_0, (/0,0,0/) )                  ; Turc ETo formulation in mm/day



    out1 = addfile("CNRM-CM5_CLM_evturc_01.nc<http://01.nc>","c")                               ; write ETo to netCDF file

    out1->evturc = evturc_0

    out1->evturc!0 = "time"

    out1->evturc!1 = "rlat"

    out1->evturc!2 = "rlon"

    out1->lat = lat

    out1->lat_bnds = lat_bnds

    out1->lon = lon

    out1->lon_bnds = lon_bnds

    out1->rlon = rlon

    out1->rlat = rlat

    out1->rotated_pole = rotated

    out1->time = time

    out1->time_bnds = time_bnds
end

According to my best knowledge radext_fao56 and daylight_fao56 functions use same variables (jday and lat). The radext function works correctly but daylight function does not. Could someone write me what I did wrong and how I can fix this error? Thank you very much for your help in advance!
Beata

_______________________________________________
ncl-talk mailing list
ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk



--
Adam Phillips
Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
www.cgd.ucar.edu/staff/asphilli/<http://www.cgd.ucar.edu/staff/asphilli/>   303-497-1726

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171006/efb78b80/attachment.html>


More information about the ncl-talk mailing list