Skip to content

Commit 551c72a

Browse files
authored
Merge pull request #196 from olyson/master
Set 7 changes to account for new double-precision mosart history files
2 parents ba8f12b + e7fcddc commit 551c72a

File tree

2 files changed

+72
-48
lines changed

2 files changed

+72
-48
lines changed

lnd_diag/model-obs/set_7.ncl

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,14 @@ begin
141141
stn_name = chartostring(dChr(:,33:59))
142142

143143
nriv = dimsizes(no) ; number of rivers
144-
rtm_vol_at_stn = new(nriv,float)
145-
rtm_vol_at_stn_A = new(nriv,float)
146-
rtm_vol_at_stn_B = new(nriv,float)
147-
rtm_vol_at_stn_m = new((/months,nriv/),float)
148-
rtm_vol_at_stn_mA = new((/months,nriv/),float)
149-
rtm_vol_at_stn_mB = new((/months,nriv/),float)
150-
rtm_stn_lat_B = new(nriv,float)
151-
rtm_stn_lon_B = new(nriv,float)
144+
rtm_vol_at_stn = new(nriv,double)
145+
rtm_vol_at_stn_A = new(nriv,double)
146+
rtm_vol_at_stn_B = new(nriv,double)
147+
rtm_vol_at_stn_m = new((/months,nriv/),double)
148+
rtm_vol_at_stn_mA = new((/months,nriv/),double)
149+
rtm_vol_at_stn_mB = new((/months,nriv/),double)
150+
rtm_stn_lat_B = new(nriv,double)
151+
rtm_stn_lon_B = new(nriv,double)
152152

153153
if (rmodel1 .eq. "False") then
154154
if (isfilevar(inptr1a,"QCHANR")) then
@@ -236,7 +236,7 @@ begin
236236
; Prepare data for table of river flow
237237
;----------------------------------------------
238238

239-
riv_data = new((/11,nriv/),"float")
239+
riv_data = new((/11,nriv/),"double")
240240
riv_data(0,:) = ispan(1,nriv,1)
241241
riv_data(1,:) = obs_vol_at_stn
242242
riv_data(2,:) = fekete_rtm_vol_at_stn
@@ -427,7 +427,7 @@ begin
427427
res@gsnFrame = False ; Do not advance frame
428428
res@vpKeepAspect = False
429429
res@vpWidthF = 1.2
430-
ydata = new((/3,months+1/),"float")
430+
ydata = new((/3,months+1/),"double")
431431
top10riv_index = (/0,5,1,6,2,7,3,8,4,9/)
432432
;----------------------------------------------
433433
; Open file for plots
@@ -601,8 +601,8 @@ begin
601601
; Derive zonal average of ocean discharge at 1 degree resolution
602602
;----------------------------------------------
603603

604-
qchocnr_lat_A = new(nlat/2,"float")
605-
qchocnr_lat_B = new(nlat/2,"float")
604+
qchocnr_lat_A = new(nlat/2,"double")
605+
qchocnr_lat_B = new(nlat/2,"double")
606606
st_lat = 0
607607
fn_lat = 1
608608
do j = 0,nlat/2-1
@@ -624,15 +624,15 @@ begin
624624
; Reorder north to south
625625
tmp = qchocnr_lat_A(::-1)
626626

627-
qchocnr_acc_A = new(nlat/2,"float")
627+
qchocnr_acc_A = new(nlat/2,"double")
628628
qchocnr_acc_A(0) = tmp(0)
629629
do j = 1,nlat/2-1
630630
qchocnr_acc_A(j) = tmp(j)+qchocnr_acc_A(j-1)
631631
end do
632632
delete(tmp)
633633
qchocnr_acc_A = qchocnr_acc_A(::-1)
634634

635-
qchocnr_acc_B = new(nlat/2,"float")
635+
qchocnr_acc_B = new(nlat/2,"double")
636636
qchocnr_acc_B = -999.
637637

638638
;----------------------------------------------
@@ -662,11 +662,11 @@ begin
662662
resR@trXMinF = xminl(k)
663663
resR@trXMaxF = xmaxl(k)
664664

665-
ydataR = new((/3,180/),"float")
665+
ydataR = new((/3,180/),"double")
666666
ydataR(0,:) = qchocnr_lat_A
667667
ydataR(1,:) = qchocnr_lat_B
668668
ydataR(2,:) = ann_disch_921riv(:,disch_id(k))
669-
ydataL = new((/3,180/),"float")
669+
ydataL = new((/3,180/),"double")
670670
ydataL(0,:) = qchocnr_acc_A
671671
ydataL(1,:) = qchocnr_acc_B
672672
ydataL(2,:) = acc_ann_disch_921riv(:,acc_disch_id(k))
@@ -759,7 +759,7 @@ begin
759759
res@gsnFrame = False ; Do not advance frame
760760
res@vpKeepAspect = False
761761
res@vpWidthF = 1.2
762-
ydata = new((/3,months+1/),"float")
762+
ydata = new((/3,months+1/),"double")
763763
;----------------------------------------------
764764
; Open file for plots
765765
;----------------------------------------------
@@ -779,10 +779,10 @@ begin
779779
; indian, arctic, med. and black seas, global)
780780
;----------------------------------------------
781781
do k = 0,5
782-
tmp_A = new((/months,nlat,nlon/),"float")
783-
tmp_B = new((/months,nlat,nlon/),"float")
784-
qchocnr_mon_A = new(months,"float")
785-
qchocnr_mon_B = new(months,"float")
782+
tmp_A = new((/months,nlat,nlon/),"double")
783+
tmp_B = new((/months,nlat,nlon/),"double")
784+
qchocnr_mon_A = new(months,"double")
785+
qchocnr_mon_B = new(months,"double")
786786

787787
do m = 0,months-1
788788
if (k .eq. 5) then

lnd_diag/model1-model2/set_7.ncl

Lines changed: 51 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,12 @@ begin
212212
stn_name = chartostring(dChr(:,33:59))
213213

214214
nriv = dimsizes(no) ; number of rivers
215-
rtm_vol_at_stn = new(nriv,float)
216-
rtm_vol_at_stn_A = new(nriv,float)
217-
rtm_vol_at_stn_B = new(nriv,float)
218-
rtm_vol_at_stn_m = new((/months,nriv/),float)
219-
rtm_vol_at_stn_mA = new((/months,nriv/),float)
220-
rtm_vol_at_stn_mB = new((/months,nriv/),float)
215+
rtm_vol_at_stn = new(nriv,double)
216+
rtm_vol_at_stn_A = new(nriv,double)
217+
rtm_vol_at_stn_B = new(nriv,double)
218+
rtm_vol_at_stn_m = new((/months,nriv/),double)
219+
rtm_vol_at_stn_mA = new((/months,nriv/),double)
220+
rtm_vol_at_stn_mB = new((/months,nriv/),double)
221221

222222

223223
if (rmodel1 .eq. "False") then
@@ -354,7 +354,7 @@ begin
354354
; Prepare data for table of river flow
355355
;----------------------------------------------
356356

357-
riv_data = new((/11,nriv/),"float")
357+
riv_data = new((/11,nriv/),"double")
358358
riv_data(0,:) = ispan(1,nriv,1)
359359
riv_data(1,:) = obs_vol_at_stn
360360
riv_data(2,:) = fekete_rtm_vol_at_stn
@@ -560,7 +560,7 @@ begin
560560
res@gsnFrame = False ; Do not advance frame
561561
res@vpKeepAspect = False
562562
res@vpWidthF = 1.2
563-
ydata = new((/3,months+1/),"float")
563+
ydata = new((/3,months+1/),"double")
564564
top10riv_index = (/0,5,1,6,2,7,3,8,4,9/)
565565
;----------------------------------------------
566566
; Open file for plots
@@ -734,8 +734,8 @@ begin
734734
; Derive zonal average of ocean discharge at 1 degree resolution
735735
;----------------------------------------------
736736

737-
qchocnr_lat_A = new(nlat/2,"float")
738-
qchocnr_lat_B = new(nlat/2,"float")
737+
qchocnr_lat_A = new(nlat/2,"double")
738+
qchocnr_lat_B = new(nlat/2,"double")
739739
st_lat = 0
740740
fn_lat = 1
741741
do j = 0,nlat/2-1
@@ -766,15 +766,15 @@ begin
766766
; Reorder north to south
767767
tmp = qchocnr_lat_A(::-1)
768768

769-
qchocnr_acc_A = new(nlat/2,"float")
769+
qchocnr_acc_A = new(nlat/2,"double")
770770
qchocnr_acc_A(0) = tmp(0)
771771
do j = 1,nlat/2-1
772772
qchocnr_acc_A(j) = tmp(j)+qchocnr_acc_A(j-1)
773773
end do
774774
delete(tmp)
775775
qchocnr_acc_A = qchocnr_acc_A(::-1)
776776

777-
qchocnr_acc_B = new(nlat/2,"float")
777+
qchocnr_acc_B = new(nlat/2,"double")
778778
tmp = qchocnr_lat_B(::-1)
779779
qchocnr_acc_B(0) = tmp(0)
780780
do j = 1,nlat/2-1
@@ -812,11 +812,11 @@ begin
812812
resR@trXMinF = xminl(k)
813813
resR@trXMaxF = xmaxl(k)
814814

815-
ydataR = new((/3,180/),"float")
815+
ydataR = new((/3,180/),"double")
816816
ydataR(0,:) = qchocnr_lat_A
817817
ydataR(1,:) = qchocnr_lat_B
818818
ydataR(2,:) = ann_disch_921riv(:,disch_id(k))
819-
ydataL = new((/3,180/),"float")
819+
ydataL = new((/3,180/),"double")
820820
ydataL(0,:) = qchocnr_acc_A
821821
ydataL(1,:) = qchocnr_acc_B
822822
ydataL(2,:) = acc_ann_disch_921riv(:,acc_disch_id(k))
@@ -909,7 +909,7 @@ begin
909909
res@gsnFrame = False ; Do not advance frame
910910
res@vpKeepAspect = False
911911
res@vpWidthF = 1.2
912-
ydata = new((/3,months+1/),"float")
912+
ydata = new((/3,months+1/),"double")
913913
;----------------------------------------------
914914
; Open file for plots
915915
;----------------------------------------------
@@ -929,10 +929,10 @@ begin
929929
; indian, arctic, med. and black seas, global)
930930
;----------------------------------------------
931931
do k = 0,5
932-
tmp_A = new((/months,nlat,nlon/),"float")
933-
tmp_B = new((/months,nlat,nlon/),"float")
934-
qchocnr_mon_A = new(months,"float")
935-
qchocnr_mon_B = new(months,"float")
932+
tmp_A = new((/months,nlat,nlon/),"double")
933+
tmp_B = new((/months,nlat,nlon/),"double")
934+
qchocnr_mon_A = new(months,"double")
935+
qchocnr_mon_B = new(months,"double")
936936

937937
do m = 0,months-1
938938
if (k .eq. 5) then
@@ -1044,10 +1044,22 @@ begin
10441044
;----------------------------------------------
10451045
; Plot QCHANR
10461046
;----------------------------------------------
1047-
qchanr_A!0 = "lat"
1048-
qchanr_A&lat = lat
1049-
qchanr_A!1 = "lon"
1050-
qchanr_A&lon = lon
1047+
if (isdouble(lat) .and. isfloat(qchanr_A)) then
1048+
latfltA = dble2flt(lat)
1049+
qchanr_A!0 = "lat"
1050+
qchanr_A&lat = latfltA
1051+
else
1052+
qchanr_A!0 = "lat"
1053+
qchanr_A&lat = lat
1054+
end if
1055+
if (isdouble(lon) .and. isfloat(qchanr_A)) then
1056+
lonfltA = dble2flt(lon)
1057+
qchanr_A!1 = "lon"
1058+
qchanr_A&lon = lonfltA
1059+
else
1060+
qchanr_A!1 = "lon"
1061+
qchanr_A&lon = lon
1062+
end if
10511063
res = True
10521064
res@mpProjection = "Robinson"
10531065
res@mpPerimOn = False
@@ -1094,10 +1106,22 @@ begin
10941106
res@tiMainString = case1+" (yrs "+yrs_ave1+") "
10951107
plot = gsn_csm_contour_map(wks, qchanr_A, res)
10961108

1097-
qchanr_B!0 = "lat"
1098-
qchanr_B&lat = lat
1099-
qchanr_B!1 = "lon"
1100-
qchanr_B&lon = lon
1109+
if (isdouble(lat) .and. isfloat(qchanr_B)) then
1110+
latfltB = dble2flt(lat)
1111+
qchanr_B!0 = "lat"
1112+
qchanr_B&lat = latfltB
1113+
else
1114+
qchanr_B!0 = "lat"
1115+
qchanr_B&lat = lat
1116+
end if
1117+
if (isdouble(lon) .and. isfloat(qchanr_B)) then
1118+
lonfltB = dble2flt(lon)
1119+
qchanr_B!1 = "lon"
1120+
qchanr_B&lon = lonfltB
1121+
else
1122+
qchanr_B!1 = "lon"
1123+
qchanr_B&lon = lon
1124+
end if
11011125
res@gsnLeftString = qchanr_B@long_name
11021126
res@gsnRightString = qchanr_B@units
11031127
wks = gsn_open_wks (plot_type,wkdir+"set7_"+"ANN_"+"QCHANR"+"_Bc")

0 commit comments

Comments
 (0)