Re: Multi-model ensemble

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Tue Jul 22 2014 - 11:15:27 MDT

It is not clear what you want. ?Ensemble mean difference map?

You may be familiar with the assorted model information but ncl-talk users
are not.
Are all the models (nominally) -180 to 180; 90S-90N? Are they all the same
size/type?

I'vm attaching a cleaner script to give you an idea of what to do;
If orientation is different, you must reorder; if grids are different
sizes, you must interpolate to a common size (eg, linint2_Wrap).





On Mon, Jul 21, 2014 at 8:32 AM, Melissa Lazenby <M.Lazenby@sussex.ac.uk>
wrote:

> Hi NCL Users
>
> I am wanting to create a multi-model ensemble for 36 models of their
> difference in precipitation maps.
> I have tried a few thing but not sure how to include the ensemble.
> Below is the code for the 36 difference maps, but I am wanting just one
> plot of the ensemble.
>
> Many thanks for your help in advance.
>
> Kindest Regards
> Melissa
>
> ;*************************************************
> ; regline_panel_ensemble.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"
>
> begin
> ;************************************************
> ; Read in Precip Data.
> ;************************************************
>
> ;Models
>
> model =
> (/"ACCESS1-0","ACCESS1-3","bcc-csm1-1","bcc-csm1-1-m","BNU-ESM","CanESM2"=
,"CCSM4","CESM1-BGC","CESM1-CAM5","CMCC-CMS","CNRM-CM5","CSIRO-Mk3-6-0","EC=
-EARTH","FGOALS-g2","FGOALS-s2","FIO-ESM","GFDL-CM3","GFDL-ESM2G","GFDL-ESM=
2M","GISS-E2-R_p1","GISS-E2-H-CC","GISS-E2-R-CC","HadGEM2-AO","HadGEM2-CC",=
"HadGEM2-ES","inmcm4","IPSL-CM5A-LR","IPSL-CM5A-MR","MIROC5","MIROC-ESM","M=
IROC-ESM-CHEM","MPI-ESM-LR","MPI-ESM-MR","MRI-CGCM3","NorESM1-M","NorESM1-M=
E"/)
>
>
> ;"CESM1-FASTCHEM","CESM1-WACCM","CMCC-CESM","CMCC-CM","GISS-E2-H_p1","IPS=
L-CM5B-LR","MIROC4h","MPI-ESM-P",
>
> wks = gsn_open_wks("X11","MME") ; specifies a plot
> gsn_define_colormap(wks,"MPL_YlGnBu") ; choose color map
> plot = new (dimsizes(model),"graphic")
>
> do gg = 0,dimsizes(model)-1
> f=addfile("/mnt/geog/ml382/melphd/regressionline/futureregline2070_2100=
_large/pr_Amon_"+model(gg)+"_rcp85_safrica_climDJF1.nc","r")
>
>
> s=addfile("/mnt/geog/ml382/melphd/regressionline/siczoutputprregline2/p=
r_Amon_"+model(gg)+"_historical_safrica_climDJF1.nc","r")
>
>
> lat1 = f->lat ; get lat
> lon1 = f->lon ; get lon
> time1 = f->time
>
> lat2 = s->lat ; get lat
> lon2 = s->lon ; get lon
> time2 = s ->time
>
> if ((gg.eq.3) .or.(gg.eq.13) .or. (gg.eq.17) .or. (gg.eq.18) .or.
> (gg.eq.20) .or. (gg.eq.21)) then
> pr6 = f->pr(:,:,:)
> else
> pr6 = f->pr(:,0,:,:)
> end if
>
> pr4 = pr6(time|0,{lat|-40:10}, {lon|-10:70})
>
> if ((gg.eq.13) .or.(gg.eq.17) .or. (gg.eq.18)) then
> pr7 = s->pr(:,:,:)
> else
> pr7 = s->pr(:,0,:,:)
> end if
>
>
>
> pr5 = pr7(time|0,{lat|-40:10}, {lon|-10:70})
>
> difmap= pr4- pr5
> copy_VarCoords (pr4, difmap)
> difmap@long_name = ""+model(gg)+""
> difmap@units = "mm/month"
>
>
> ens = difmap
> ens = (/ dim_sum(gg)/36.0 /) ; average across the models
> ; to get an
> ensemble average
>
>
>
> res = True ; plot mods desired
> res@gsnAddCyclic = False
> res@cnFillOn = True ; color on
> res@lbLabelStride = 2 ; every other label
> res@gsnSpreadColors = True ; use full range of color
> map
> res@cnLineLabelsOn = False ; no contour line labels
> res@lbLabelBarOn = False
> res@gsnDraw = False ; do not draw the plot
> res@gsnFrame = False
>
>
> dimpr4 = dimsizes(pr4)
> latn = dimpr4(0)
> lonm = dimpr4(1)
>
>
> res@mpLimitMode = "Corners" ;
> res@mpLeftCornerLonF = lon1(0)
> res@mpRightCornerLonF = lon1(lonm-1)
> res@mpLeftCornerLatF = lat1(0)
> res@mpRightCornerLatF = lat1(latn-1)
>
>
> res@tmXBMode = "Explicit" ; Define own tick mark labels.
> res@tmXBValues = (/ -9.,0.,10.,20.,30.,40.,50.,60.,69 /)
> res@tmXBLabels = (/
> "10W","0","10E","20E","30E","40E","50E","60E","70E" /)
>
> res@tmYLMode = "Explicit" ; Define own tick mark labels.
> res@tmYLValues = (/ -39.,-30.,-20.,-10.,-0.,9 /)
> res@tmYLLabels = (/"40S","30S","20S","10S","0","10N" /)
>
> res@vpXF = 0.12 ; default is 0.2 change aspe=
ct
> res@vpYF = 0.8 ; default is 0.8 ration
> res@vpHeightF = 0.4 ; default is 0.6
> res@vpWidthF = 0.8 ; default is 0.6
>
> res@cnLevelSelectionMode = "ManualLevels" ; manual levels
> res@cnMinLevelValF = -100 ; min level
> res@cnMaxLevelValF = 100 ; max level
> res@cnLevelSpacingF = 30 ; contour spacing
>
> res@tmXBLabelFontHeightF = 0.021 ; resize tick labels
> res@tmYLLabelFontHeightF = 0.021
> res@pmLabelBarOrthogonalPosF = .20 ; move whole thing down
>
>
>
> ; reverse the first two colors
> setvalues wks
> "wkColorMap" : "MPL_YlGnBu"
> "wkForegroundColor" : (/0.,0.,0./)
> "wkBackgroundColor" : (/1.,1.,1./)
> end setvalues
>
>
> res@tmXBLabelsOn = False ; do not draw bottom
> labels
> res@tmXBOn = False ; no bottom tickmarks
> res@tmYLLabelsOn = False ; no right labels
> res@tmYLOn = False ; no right tickmarks
>
>
> plot = gsn_csm_contour_map_ce(wks,difmap({-40:10},{-10:70}),res)
> ; create plot
>
>
> delete(pr4)
> end do
> end
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>

Received on Tue Jul 22 05:15:33 2014

This archive was generated by hypermail 2.1.8 : Wed Jul 23 2014 - 15:33:47 MDT