diff --git a/cat/dat/GUI.cfg b/cat/dat/GUI.cfg index 35d79c153b76bf83588635acfc5b5f31a8cdfbfb..91adfa92779aa18b2356f3b778ee44edc0757e21 100644 --- a/cat/dat/GUI.cfg +++ b/cat/dat/GUI.cfg @@ -9,21 +9,21 @@ Array:GQ Plot:ISOREC Palette:AUTO Title:Vorticity -Geometry: 1000 1000 1 0 +Geometry: 1000 1000 1 1 [Window 01] -Array:GXM -Plot:LINE +Array:C4 +Plot:ISOAMP Palette:AUTO -Title:GXM -Geometry: 853 367 853 -1 +Title:Vorticity +Geometry: 540 1000 1050 1 [Window 02] Array:QC Plot:ISOAMP Palette:AMPLI Title:C4 -Geometry: 853 367 1706 -1 +Inactive: 853 367 1706 -1 [Window 03] Array:GP diff --git a/cat/dat/GUI_Amp.cfg b/cat/dat/GUI_Amp.cfg new file mode 100644 index 0000000000000000000000000000000000000000..91adfa92779aa18b2356f3b778ee44edc0757e21 --- /dev/null +++ b/cat/dat/GUI_Amp.cfg @@ -0,0 +1,139 @@ +Hamburg GUI Config File Version 16 +Screen: 2560x1418 + +WinRows = 3 +WinCols = 3 + +[Window 00] +Array:GQ +Plot:ISOREC +Palette:AUTO +Title:Vorticity +Geometry: 1000 1000 1 1 + +[Window 01] +Array:C4 +Plot:ISOAMP +Palette:AUTO +Title:Vorticity +Geometry: 540 1000 1050 1 + +[Window 02] +Array:QC +Plot:ISOAMP +Palette:AMPLI +Title:C4 +Inactive: 853 367 1706 -1 + +[Window 03] +Array:GP +Plot:MAPHOR +Projection:POLAR +Rotation factor:0 +Palette:P +Title:Surface Pressure [hPa] +Inactive: 853 367 0 389 + +[Window 04] +Array:GU +Plot:MAPTRA +Projection:AZIMUTHAL +Rotation factor:0 +Palette:U +Title:Tracer Level 3 +Inactive: 853 367 853 389 + +[Window 05] +Array:GV +Plot:ISOLON +Palette:U +Title:Meridional Wind [m/s] Latitude 42N +Inactive: 853 367 1706 389 + +[Window 06] +Array:GP +Plot:ISOHOV +Palette:P +Title:Ps Hovmoeller Latitude 42N +Inactive: 853 367 0 779 + +[Window 07] +Array:SCALAR +Plot:ISOTS +Palette:AUTO +Title:Timeseries +Inactive: 853 367 853 779 + +[Window 08] +Array:SCALAR +Plot:ISOTAB +Palette:AUTO +Title:Tables +Inactive: 853 367 1706 779 + +[Control Window] +Geometry: 920 122 820 1171 + +# Scalar attributes for timeseries and table window + +[Scalar 00] +Name:T +Sub: +Unit:C +Scale: + +[Scalar 01] +Name:RMS Div +Sub: +Unit:1/s +Scale:-6 + +[Scalar 02] +Name:PE+KE +Sub: +Unit:m2/s2 +Scale: + +[Scalar 03] +Name:RMS Ps +Sub: +Unit:hPa +Scale: + +[Scalar 04] +Name:Vort +Sub: +Unit:1/s +Scale: + +# Parameter attributes for change menu + +[Parameter 00] +ParName:NGUI +ParInc: 1.0000 +ParMin: 1.0000 +ParMax: 1000.0000 + +[Parameter 01] +ParName:QMAX +ParInc: 1.0000 +ParMin: 0.0000 +ParMax: 1000.0000 + +[Parameter 02] +ParName:DTNS +ParInc: 5.0000 +ParMin: -95.0000 +ParMax: 100.0000 + +[Parameter 03] +ParName:NSYNC +ParInc: 1.0000 +ParMin: 0.0000 +ParMax: 1.0000 + +[Parameter 04] +ParName:EPSYNC +ParInc: 1.0000 +ParMin: 0.0000 +ParMax: 100.0000 diff --git a/cat/src/guix11.c b/cat/src/guix11.c index dc5af3e74bc8bbe510a1d7e6fe04e2fc4f33a06c..7f0de9d1497ed2c6bf7913f5220f34689eb4fd9b 100644 --- a/cat/src/guix11.c +++ b/cat/src/guix11.c @@ -3111,11 +3111,11 @@ void SH_Amplitudes(int w) } -/* ========== */ -/* Amplitudes */ -/* ========== */ +/* ============= */ +/* FC_Amplitudes */ +/* ============= */ -void Amplitudes(int w) +void FC_Amplitudes(int w) { int i,j,m,n; int x,y; @@ -3155,14 +3155,17 @@ void Amplitudes(int w) dx = WinXSize / (DimX+1); dy = WinYSize / (DimY+1); + if (dx < dy) dy = dx; + else dx = dy; r = (dx+dx+dy+dy) / 6; XSetForeground(display,gc,BlackPix); - for (m=0,i=0 ; m < DimX ; ++m) + i = 0; + for (n=0 ; n < DimY ; ++n) { - y = FixFontHeight + 4 + m * dx; - for (n=0 ; n < DimY ; ++n) + y = FixFontHeight + 4 + n * dy; + for (m=0 ; m < DimX ; ++m) { - x = dx/2 + n * dx; + x = dx/2 + m * dx; XSetForeground(display,gc,Aco[w][i++].pixel); XFillArc(display,pix,gc,x,y,r,r,0,360*64); } @@ -4206,7 +4209,7 @@ void iso(int w,int PicType,REAL *field,int dimx,int dimy,int dimz,int pal) char Text[128]; int i,j,k,len,lens,xp,yp,status,x; - int y,dx,r,width,height; + int y,dx,dy,r,width,height; INTXU border,depth; REAL f,o,ra,rb; int CapLines; @@ -4556,7 +4559,10 @@ void iso(int w,int PicType,REAL *field,int dimx,int dimy,int dimz,int pal) if (SizeChanged && PicType == ISOAMP) { - dx = WinXSize / DimX; + dx = WinXSize / (DimX+1); + dy = WinYSize / (DimY+1); + if (dx < dy) dy = dx; + else dx = dy; XSetForeground(display,gc,BlackPix); XFillRectangle(display,pix,gc,0,0,WinXSize,WinYSize); @@ -4580,7 +4586,7 @@ void iso(int w,int PicType,REAL *field,int dimx,int dimy,int dimz,int pal) width = XTextWidth(FixFont,Text,len); height = FixFont->ascent + FixFont->descent; xp = WinXSize - width - 2; - yp = 2 * FixFontHeight + i * dx; + yp = 2 * FixFontHeight + i * dy; if (yp+FixFont->descent > InYSize) break; XDrawImageString(display,pix,gc,xp,yp,Text,len); } @@ -4859,7 +4865,7 @@ void iso(int w,int PicType,REAL *field,int dimx,int dimy,int dimz,int pal) if (PicType == ISOAMP) { - Amplitudes(w); + FC_Amplitudes(w); } // line plot