diff --git a/cat/dat/GUI.cfg b/cat/dat/GUI.cfg index 2c23b42c8cb3191277f65bce73b440b843cc0941..3f8dfc1b5301c8dfd445a27f3e245aad22ca77bc 100644 --- a/cat/dat/GUI.cfg +++ b/cat/dat/GUI.cfg @@ -1,5 +1,5 @@ Hamburg GUI Config File Version 16 -Screen: 1920x1080 +Screen: 2560x1418 WinRows = 3 WinCols = 3 @@ -8,22 +8,22 @@ WinCols = 3 Array:GQ Plot:ISOREC Palette:AUTO -Title:Vorticit -Geometry: 1000 1000 65 28 +Title:Vorticity +Geometry: 1000 1000 1 0 [Window 01] -Array:SPAN -Plot:ISOSH -Palette:AMPLI -Title:Spherical Harmonics Ps -Inactive: 853 367 853 -1 +Array:GXM +Plot:LINE +Palette:AUTO +Title:GXM +Geometry: 853 367 853 -1 [Window 02] -Array:CST -Plot:ISOCS -Palette:T -Title:Temperature [C] -Inactive: 853 367 1706 -1 +Array:QC +Plot:ISOAMP +Palette:AMPLI +Title:QC +Geometry: 853 367 1706 -1 [Window 03] Array:GP @@ -72,7 +72,7 @@ Title:Tables Inactive: 853 367 1706 779 [Control Window] -Geometry: 920 122 1107 678 +Geometry: 920 122 820 1171 # Scalar attributes for timeseries and table window @@ -109,16 +109,16 @@ Scale: # Parameter attributes for change menu [Parameter 00] -ParName:DISP -ParInc: 0.0100 -ParMin: 0.0000 -ParMax: 1.0000 +ParName:NGUI +ParInc: 1.0000 +ParMin: 1.0000 +ParMax: 1000.0000 [Parameter 01] -ParName:DTEP -ParInc: 5.0000 -ParMin: -95.0000 -ParMax: 100.0000 +ParName:QMAX +ParInc: 1.0000 +ParMin: 0.0000 +ParMax: 1000.0000 [Parameter 02] ParName:DTNS diff --git a/cat/dat/GUI_a.cfg b/cat/dat/GUI_a.cfg index 2c23b42c8cb3191277f65bce73b440b843cc0941..3f8dfc1b5301c8dfd445a27f3e245aad22ca77bc 100644 --- a/cat/dat/GUI_a.cfg +++ b/cat/dat/GUI_a.cfg @@ -1,5 +1,5 @@ Hamburg GUI Config File Version 16 -Screen: 1920x1080 +Screen: 2560x1418 WinRows = 3 WinCols = 3 @@ -8,22 +8,22 @@ WinCols = 3 Array:GQ Plot:ISOREC Palette:AUTO -Title:Vorticit -Geometry: 1000 1000 65 28 +Title:Vorticity +Geometry: 1000 1000 1 0 [Window 01] -Array:SPAN -Plot:ISOSH -Palette:AMPLI -Title:Spherical Harmonics Ps -Inactive: 853 367 853 -1 +Array:GXM +Plot:LINE +Palette:AUTO +Title:GXM +Geometry: 853 367 853 -1 [Window 02] -Array:CST -Plot:ISOCS -Palette:T -Title:Temperature [C] -Inactive: 853 367 1706 -1 +Array:QC +Plot:ISOAMP +Palette:AMPLI +Title:QC +Geometry: 853 367 1706 -1 [Window 03] Array:GP @@ -72,7 +72,7 @@ Title:Tables Inactive: 853 367 1706 779 [Control Window] -Geometry: 920 122 1107 678 +Geometry: 920 122 820 1171 # Scalar attributes for timeseries and table window @@ -109,16 +109,16 @@ Scale: # Parameter attributes for change menu [Parameter 00] -ParName:DISP -ParInc: 0.0100 -ParMin: 0.0000 -ParMax: 1.0000 +ParName:NGUI +ParInc: 1.0000 +ParMin: 1.0000 +ParMax: 1000.0000 [Parameter 01] -ParName:DTEP -ParInc: 5.0000 -ParMin: -95.0000 -ParMax: 100.0000 +ParName:QMAX +ParInc: 1.0000 +ParMin: 0.0000 +ParMax: 1000.0000 [Parameter 02] ParName:DTNS diff --git a/cat/src/cat.f90 b/cat/src/cat.f90 index 1b369ac78159f3ad7f57059676b5682634b058c3..5465ee077b05be98886a8fa11172f25913ce44dd 100644 --- a/cat/src/cat.f90 +++ b/cat/src/cat.f90 @@ -399,6 +399,7 @@ real(8), allocatable :: fuv (:,:) ! u*v [m^2/s^2] !--- basic model variables (format used for time propagation) complex(8), allocatable :: cq(:,:) ! vorticity +complex(4), allocatable :: c4(:,:) ! vorticity complex(8), allocatable :: cjac0(:,:) ! Jacobian at time 0 complex(8), allocatable :: cjac1(:,:) ! Jacobian at time -1 @@ -482,6 +483,8 @@ real(8), allocatable :: gvym(:) ! mean y-velocity allong y-dir [m/s] real(4), allocatable :: gguixm(:) ! single precision mean in x-dir for gui real(4), allocatable :: gguiym(:) ! single precision mean in y-dir for gui +real(4), allocatable :: ggxm(:,:) ! single precision mean in y-dir for gui + end module catmod @@ -804,6 +807,8 @@ allocate(kxky (0:nkx,0:nfy)) ; kxky (:,:) = 0.0 ! utility for Jacobian 3 allocate(cli(0:nkx,0:nfy)) ; cli(:,:) = (0.0,0.0) ! linear time propagator allocate(cq(0:nkx,0:nfy)) ; cq(:,:) = (0.0,0.0) ! vorticity +allocate(c4(0:nkx,0:nfy)) ; c4(:,:) = (0.0,0.0) ! vorticity + allocate(cqfrc(0:nkx,0:nfy)); cqfrc(:,:) = (0.0,0.0) ! ext. vorticity force allocate(cjac0(0:nkx,0:nfy)); cjac0(:,:) = (0.0,0.0) ! Jacobian at time level 0 allocate(cjac1(0:nkx,0:nfy)); cjac1(:,:) = (0.0,0.0) ! Jacobian at time level -1 @@ -1483,11 +1488,15 @@ if (npost > 0) then gguixm(:) = gpsixm(:) ! double -> single call guiput("GPSIXM" // char(0), gguixm, ngy, 1, 1) ! psi - gguixm(:) = guxm(:) ! double -> single - call guiput("GUXM" // char(0), gguixm, ngy, 1, 1) ! u +! gguixm(:) = guxm(:) ! double -> single +! call guiput("GUXM" // char(0), gguixm, ngy, 1, 1) ! u + +! gguixm(:) = gvxm(:) ! double -> single +! call guiput("GVXM" // char(0), gguixm, ngy, 1, 1) ! v - gguixm(:) = gvxm(:) ! double -> single - call guiput("GVXM" // char(0), gguixm, ngy, 1, 1) ! v + ggxm(:,1) = guxm(:) + ggxm(:,2) = gvxm(:) + call guiput("GXM" // char(0), ggxm, ngy, 2, 1) ! u & v !--- meridional means @@ -1503,6 +1512,9 @@ if (npost > 0) then gguiym(:) = gvym(:) ! double -> single call guiput("GVYM" // char(0), gguiym, 1, ngx, 1) ! v + c4(:,:) = cq(:,:) + call guiput("CQ" // char(0), c4, nkx+1, nfy+1, 2) ! v + endif return @@ -1661,6 +1673,8 @@ allocate(gvym(1:ngx)) ; gvym(:) = 0.0 ! v-mean in y-dir [m/s] allocate(gguixm(1:ngy)) ; gguixm(:) = 0.0 ! single precision mean in x-dir allocate(gguiym(1:ngx)) ; gguiym(:) = 0.0 ! single precision mean in y-dir +allocate(ggxm(1:ngx,4)) ; ggxm(:,:) = 0.0 ! single precision mean in x-dir + return end subroutine init_post