Changeset 218 for palm/trunk/SCRIPTS/NCL/profiles.ncl
- Timestamp:
- Dec 10, 2008 9:14:34 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/NCL/profiles.ncl
r194 r218 33 33 ;*************************************************** 34 34 35 if (no_files .LT. 1 .OR. no_files .GT. 12) then36 print(" ") 37 print(" Please assign 'no_files' between 1 and 12")35 if (no_files .LT. 1 .OR. no_files .GT. 6) then 36 print(" ") 37 print("Assign 'no_files' between 1 and 6") 38 38 print(" ") 39 39 exit 40 40 end if 41 42 file_in = new(no_files,string) 41 42 file_in = new(no_files,string) 43 file_in_1 = new(no_files,logical) 44 start_f = new(no_files,integer) 45 end_f = new(no_files,integer) 43 46 44 47 if (file_1 .EQ. "File in") then 45 48 print(" ") 46 print(" Please provide 1st input file 'file_1=' in 'ncl_preferences.ncl'")49 print("Declare 1st input file 'file_1=' in 'ncl_preferences.ncl' or prompt") 47 50 print(" ") 48 51 exit 49 52 else 50 53 file_in(0) = file_1 51 end if 52 if (.not. isfilepresent(file_in(0))) then 53 print(" ") 54 print("Your 1st input file: '"+file_in+"' does not exist") 55 print(" ") 54 end if 55 file_in_1(0) = False 56 if (isStrSubset(file_in(0), ".nc"))then 57 start_f_1 = -2 58 end_f_1 = -2 59 file_in_1(0) = True 60 end if 61 if (start_f_1 .EQ. -1)then 62 print(" ") 63 print("'start_f_1' must be one of the cyclic numbers (at least 0) of your input file(s)") 64 print(" ") 56 65 exit 57 end if 58 66 end if 67 if (end_f_1 .EQ. -1)then 68 print(" ") 69 print("'end_f_1' must be one of the cyclic numbers (at least 0) of your input file(s)") 70 print(" ") 71 exit 72 end if 73 start_f(0) = start_f_1 74 end_f(0) = end_f_1 75 59 76 if (prof3d .EQ. -1)then 60 77 print(" ") 61 print(" Please set 'prof3d' to 0 or 1")78 print("Set 'prof3d' to 0 or 1") 62 79 print(" ") 63 80 exit … … 74 91 if (file_2 .EQ. "File in") then 75 92 print(" ") 76 print(" Please provide 2nd input file 'file_2=' in 'ncl_preferences.ncl'")93 print("Declare 2nd input file 'file_2=' in 'ncl_preferences.ncl' or prompt") 77 94 print(" ") 78 95 exit 79 96 else 80 97 file_in(1) = file_2 98 end if 99 file_in_1(1) = False 100 if (isStrSubset(file_in(1), ".nc"))then 101 start_f_1 = -2 102 end_f_1 = -2 103 file_in_1(1) = True 81 104 end if 82 if ( .not. isfilepresent(file_in(1)))then83 print(" ") 84 print(" Your 2nd input file: '"+file_in+"' does not exist")85 print(" ") 105 if (start_f_2 .EQ. -1)then 106 print(" ") 107 print("'start_f_2' must be one of the cyclic numbers (at least 0) of your input file(s)") 108 print(" ") 86 109 exit 87 end if 88 end if 110 end if 111 if (end_f_2 .EQ. -1)then 112 print(" ") 113 print("'end_f_2' must be one of the cyclic numbers (at least 0) of your input file(s)") 114 print(" ") 115 exit 116 end if 117 start_f(1) = start_f_2 118 end_f(1) = end_f_2 119 end if 89 120 90 121 if (no_files .GT. 2) then 91 122 if (file_3 .EQ. "File in") then 92 123 print(" ") 93 print(" Please provide 3rd input file 'file_3=' in 'ncl_preferences.ncl'")124 print("Declare 3rd input file 'file_3=' in 'ncl_preferences.ncl' or prompt") 94 125 print(" ") 95 126 exit 96 127 else 97 128 file_in(2) = file_3 129 end if 130 file_in_1(2) = False 131 if (isStrSubset(file_in(2), ".nc"))then 132 start_f_1 = -2 133 end_f_1 = -2 134 file_in_1(2) = True 98 135 end if 99 if ( .not. isfilepresent(file_in(2)))then100 print(" ") 101 print(" Your 3rd input file: '"+file_in+"' does not exist")102 print(" ") 136 if (start_f_3 .EQ. -1)then 137 print(" ") 138 print("'start_f_3' must be one of the cyclic numbers (at least 0) of your input file(s)") 139 print(" ") 103 140 exit 104 end if 141 end if 142 if (end_f_3 .EQ. -1)then 143 print(" ") 144 print("'end_f_3' must be one of the cyclic numbers (at least 0) of your input file(s)") 145 print(" ") 146 exit 147 end if 148 start_f(2) = start_f_3 149 end_f(2) = end_f_3 105 150 end if 106 151 … … 108 153 if (file_4 .EQ. "File in") then 109 154 print(" ") 110 print(" Please provide 4th input file 'file_4=' in 'ncl_preferences.ncl'")155 print("Declare 4th input file 'file_4=' in 'ncl_preferences.ncl' or prompt") 111 156 print(" ") 112 157 exit 113 158 else 114 159 file_in(3) = file_4 160 end if 161 file_in_1(3) = False 162 if (isStrSubset(file_in(3), ".nc"))then 163 start_f_1 = -2 164 end_f_1 = -2 165 file_in_1(3) = True 115 166 end if 116 if ( .not. isfilepresent(file_in(3)))then117 print(" ") 118 print(" Your 4th input file: '"+file_in+"' does not exist")119 print(" ") 167 if (start_f_4 .EQ. -1)then 168 print(" ") 169 print("'start_f_4' must be one of the cyclic numbers (at least 0) of your input file(s)") 170 print(" ") 120 171 exit 121 end if 172 end if 173 if (end_f_4 .EQ. -1)then 174 print(" ") 175 print("'end_f_4' must be one of the cyclic numbers (at least 0) of your input file(s)") 176 print(" ") 177 exit 178 end if 179 start_f(3) = start_f_4 180 end_f(3) = end_f_4 122 181 end if 123 182 … … 125 184 if (file_5 .EQ. "File in") then 126 185 print(" ") 127 print(" Please provide 5th input file 'file_5=' in 'ncl_preferences.ncl'")186 print("Declare 5th input file 'file_5=' in 'ncl_preferences.ncl' or prompt") 128 187 print(" ") 129 188 exit 130 189 else 131 190 file_in(4) = file_5 191 end if 192 file_in_1(4) = False 193 if (isStrSubset(file_in(4), ".nc"))then 194 start_f_1 = -2 195 end_f_1 = -2 196 file_in_1(4) = True 132 197 end if 133 if ( .not. isfilepresent(file_in(4)))then134 print(" ") 135 print(" Your 5th input file: '"+file_in+"' does not exist")136 print(" ") 198 if (start_f_5 .EQ. -1)then 199 print(" ") 200 print("'start_f_5' must be one of the cyclic numbers (at least 0) of your input file(s)") 201 print(" ") 137 202 exit 138 end if 203 end if 204 if (end_f_5 .EQ. -1)then 205 print(" ") 206 print("'end_f_5' must be one of the cyclic numbers (at least 0) of your input file(s)") 207 print(" ") 208 exit 209 end if 210 start_f(4) = start_f_5 211 end_f(4) = end_f_5 139 212 end if 213 140 214 if (no_files .GT. 5) then 141 215 if (file_6 .EQ. "File in") then 142 216 print(" ") 143 print(" Please provide 6th input file 'file_6=' in 'ncl_preferences.ncl'")217 print("Declare 6th input file 'file_6=' in 'ncl_preferences.ncl' or prompt") 144 218 print(" ") 145 219 exit 146 220 else 147 221 file_in(5) = file_6 222 end if 223 file_in_1(5) = False 224 if (isStrSubset(file_in(5), ".nc"))then 225 start_f_1 = -2 226 end_f_1 = -2 227 file_in_1(5) = True 148 228 end if 149 if ( .not. isfilepresent(file_in(5)))then150 print(" ") 151 print(" Your 6th input file: '"+file_in+"' does not exist")152 print(" ") 229 if (start_f_6 .EQ. -1)then 230 print(" ") 231 print("'start_f_6' must be one of the cyclic numbers (at least 0) of your input file(s)") 232 print(" ") 153 233 exit 154 end if 234 end if 235 if (end_f_6 .EQ. -1)then 236 print(" ") 237 print("'end_f_6' must be one of the cyclic numbers (at least 0) of your input file(s)") 238 print(" ") 239 exit 240 end if 241 start_f(5) = start_f_6 242 end_f(5) = end_f_6 155 243 end if 156 if (no_files .GT. 6) then 157 if (file_7 .EQ. "File in") then 158 print(" ") 159 print("Please provide 7th input file 'file_7=' in 'ncl_preferences.ncl'") 160 print(" ") 161 exit 162 else 163 file_in(6) = file_7 164 end if 165 if (.not. isfilepresent(file_in(6))) then 166 print(" ") 167 print("Your 7th input file: '"+file_in+"' does not exist") 168 print(" ") 169 exit 170 end if 171 end if 172 if (no_files .GT. 7) then 173 if (file_8 .EQ. "File in") then 174 print(" ") 175 print("Please provide 8th input file 'file_8=' in 'ncl_preferences.ncl'") 176 print(" ") 177 exit 178 else 179 file_in(7) = file_8 180 end if 181 if (.not. isfilepresent(file_in(7))) then 182 print(" ") 183 print("Your 8th input file: '"+file_in+"' does not exist") 184 print(" ") 185 exit 186 end if 187 end if 188 if (no_files .GT. 8) then 189 if (file_9 .EQ. "File in") then 190 print(" ") 191 print("Please provide 9th input file 'file_9=' in 'ncl_preferences.ncl'") 192 print(" ") 193 exit 194 else 195 file_in(8) = file_9 196 end if 197 if (.not. isfilepresent(file_in(8))) then 198 print(" ") 199 print("Your 9th input file: '"+file_in+"' does not exist") 200 print(" ") 201 exit 202 end if 203 end if 204 if (no_files .GT. 9) then 205 if (file_10 .EQ. "File in") then 206 print(" ") 207 print("Please provide 10th input file 'file_10=' in 'ncl_preferences.ncl'") 208 print(" ") 209 exit 210 else 211 file_in(9) = file_10 212 end if 213 if (.not. isfilepresent(file_in(9))) then 214 print(" ") 215 print("Your 10th input file: '"+file_in+"' does not exist") 216 print(" ") 217 exit 218 end if 219 end if 220 if (no_files .GT. 10) then 221 if (file_11 .EQ. "File in") then 222 print(" ") 223 print("Please provide 11th input file 'file_11=' in 'ncl_preferences.ncl'") 224 print(" ") 225 exit 226 else 227 file_in(10) = file_11 228 end if 229 if (.not. isfilepresent(file_in(10))) then 230 print(" ") 231 print("Your 11th input file: '"+file_in+"' does not exist") 232 print(" ") 233 exit 234 end if 235 end if 236 if (no_files .GT. 11) then 237 if (file_12 .EQ. "File in") then 238 print(" ") 239 print("Please provide 12th input file 'file_12=' in 'ncl_preferences.ncl'") 240 print(" ") 241 exit 242 else 243 file_in(11) = file_12 244 end if 245 if (.not. isfilepresent(file_in(11))) then 246 print(" ") 247 print("Your 12th input file: '"+file_in+"' does not exist") 248 print(" ") 249 exit 250 end if 251 end if 244 252 245 253 246 if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm")then … … 285 278 if (combine .EQ. 1 .AND. number_comb .EQ. -1) then 286 279 print(" ") 287 print(" Please set 'number_comb' to 2 or 3 or combine to 0")280 print("Set 'number_comb' to 2 or 3 or combine to 0") 288 281 print(" ") 289 282 exit … … 292 285 if (number_comb .EQ. -1) then 293 286 print(" ") 294 print(" Please set 'number_comb' to 2 or 3 or combine to 0")287 print("Set 'number_comb' to 2 or 3 or combine to 0") 295 288 print(" ") 296 289 exit … … 298 291 if (number_comb .NE. 2 .AND. number_comb .NE. 3) then 299 292 print(" ") 300 print(" Please set 'number_comb' to 2 or 3 or combine to 0")293 print("Set 'number_comb' to 2 or 3 or combine to 0") 301 294 print(" ") 302 295 exit … … 305 298 if (combine .EQ. 1 .AND. c_var .EQ. "c_variables") then 306 299 print(" ") 307 print(" Please select variables for overlaying ('c_var') or set combine to 0")300 print("Select variables for overlaying ('c_var') or set combine to 0") 308 301 print(" ") 309 302 exit 310 303 end if 311 304 312 if (log y .NE. 0 .AND. logy.NE. 1)then313 print(" ") 314 print("'log y'= "+logy+" is invalid and set to 0")315 print(" ") 316 log y= 0305 if (log_z .NE. 0 .AND. log_z .NE. 1)then 306 print(" ") 307 print("'log_z'= "+log_z+" is invalid and set to 0") 308 print(" ") 309 log_z = 0 317 310 end if 318 311 319 if (norm .EQ. 0) then320 print(" ") 321 print(" You cannot normalise with 0, 'norm' is set to 1")322 print(" ") 323 norm = 1.0312 if (norm_z .EQ. 0) then 313 print(" ") 314 print("Normalising with 0 is not allowed, 'norm_z' is set to 1.0") 315 print(" ") 316 norm_z = 1.0 324 317 end if 325 318 … … 330 323 do nof=0,no_files-1 331 324 332 f=addfile( file_in(nof),"r") 325 files=new(end_f(nof)-start_f(nof)+1,string) 326 if (file_in_1(nof))then 327 if (isfilepresent(file_in(nof)))then 328 files(0)=file_in 329 else 330 print(" ") 331 print("1st input file: '"+file_in+"' does not exist") 332 print(" ") 333 exit 334 end if 335 else 336 if (start_f(nof) .EQ. 0)then 337 if (isfilepresent(file_in(nof)+".nc"))then 338 files(0)=file_in(nof)+".nc" 339 do i=1,end_f(nof) 340 if (isfilepresent(file_in(nof)+"."+i+".nc"))then 341 files(i)=file_in(nof)+"."+i+".nc" 342 else 343 print(" ") 344 print("Input file: '"+file_in(nof)+"."+i+".nc' does not exist") 345 print(" ") 346 exit 347 end if 348 end do 349 else 350 print(" ") 351 print("Input file: '"+file_in(nof)+".nc' does not exist") 352 print(" ") 353 exit 354 end if 355 else 356 do i=start_f(nof),end_f(nof) 357 if (isfilepresent(file_in(nof)+"."+i+".nc"))then 358 files(i-start_f(nof))=file_in(nof)+"."+i+".nc" 359 else 360 print(" ") 361 print("Input file: '"+file_in(nof)+"."+i+".nc' does not exist") 362 print(" ") 363 exit 364 end if 365 end do 366 end if 367 end if 368 369 f=addfiles(files,"r") 370 f_att=addfile(files(0),"r") 371 ListSetType(f,"cat") 333 372 334 vNam = getfilevarnames(f) 373 vNam = getfilevarnames(f_att) 374 335 375 if (nof .EQ. 0)then 336 376 vNam0=vNam … … 364 404 if (dim .EQ. 0) then 365 405 print(" ") 366 print("There areno data on file")406 print("There is no data on file") 367 407 print(" ") 368 408 end if … … 389 429 end if 390 430 if (vNam(varn) .EQ. "u" .OR. isStrSubset(vNam(varn), "u_"))then 391 z_u = f ->$vNam(varn+1)$431 z_u = f_att->$vNam(varn+1)$ 392 432 break 393 433 else 394 434 if (vNam(varn) .EQ. "v" .OR. isStrSubset(vNam(varn), "v_"))then 395 z_u = f ->$vNam(varn+1)$435 z_u = f_att->$vNam(varn+1)$ 396 436 break 397 437 else 398 438 if(vNam(varn) .EQ. "pt" .OR. isStrSubset(vNam(varn), "pt_"))then 399 z_u = f ->$vNam(varn+1)$439 z_u = f_att->$vNam(varn+1)$ 400 440 break 401 441 else … … 405 445 else 406 446 if(vNam(varn) .EQ. "lpt" .OR. isStrSubset(vNam(varn), "lpt_"))then 407 z_u = f ->$vNam(varn+1)$447 z_u = f_att->$vNam(varn+1)$ 408 448 break 409 449 else 410 450 if(vNam(varn) .EQ. "q" .OR. isStrSubset(vNam(varn), "q_") )then 411 z_u = f ->$vNam(varn+1)$451 z_u = f_att->$vNam(varn+1)$ 412 452 break 413 453 else 414 454 if(vNam(varn) .EQ. "qv" .OR. isStrSubset(vNam(varn), "qv_"))then 415 z_u = f ->$vNam(varn+1)$455 z_u = f_att->$vNam(varn+1)$ 416 456 break 417 457 else 418 458 if(vNam(varn) .EQ. "ql" .OR. isStrSubset(vNam(varn), "ql_"))then 419 z_u = f ->$vNam(varn+1)$459 z_u = f_att->$vNam(varn+1)$ 420 460 break 421 461 else 422 462 if(vNam(varn) .EQ. "rho" .OR. isStrSubset(vNam(varn), "rho_"))then 423 z_u = f ->$vNam(varn+1)$463 z_u = f_att->$vNam(varn+1)$ 424 464 break 425 465 else 426 466 if(vNam(varn) .EQ. "s" .OR. isStrSubset(vNam(varn), "s_") )then 427 z_u = f ->$vNam(varn+1)$467 z_u = f_att->$vNam(varn+1)$ 428 468 break 429 469 else 430 470 if(vNam(varn) .EQ. "sa" .OR. isStrSubset(vNam(varn), "sa_"))then 431 z_u = f ->$vNam(varn+1)$471 z_u = f_att->$vNam(varn+1)$ 432 472 break 433 473 else 434 474 if(vNam(varn) .EQ. "e" .OR. isStrSubset(vNam(varn), "e_"))then 435 z_u = f ->$vNam(varn+1)$475 z_u = f_att->$vNam(varn+1)$ 436 476 break 437 477 else 438 478 if(vNam(varn) .EQ. "es" .OR. isStrSubset(vNam(varn), "es_"))then 439 z_u = f ->$vNam(varn+1)$479 z_u = f_att->$vNam(varn+1)$ 440 480 break 441 481 else 442 482 if(vNam(varn) .EQ. "km" .OR. isStrSubset(vNam(varn), "km_"))then 443 z_u = f ->$vNam(varn+1)$483 z_u = f_att->$vNam(varn+1)$ 444 484 break 445 485 else 446 486 if(vNam(varn) .EQ. "kh" .OR. isStrSubset(vNam(varn), "kh_"))then 447 z_u = f ->$vNam(varn+1)$487 z_u = f_att->$vNam(varn+1)$ 448 488 break 449 489 else 450 490 if(vNam(varn) .EQ. "l" .OR. isStrSubset(vNam(varn), "l_"))then 451 z_u = f ->$vNam(varn+1)$491 z_u = f_att->$vNam(varn+1)$ 452 492 break 453 493 else 454 494 if(vNam(varn) .EQ. "us2" .OR. isStrSubset(vNam(varn), "us2_"))then 455 z_u = f ->$vNam(varn+1)$495 z_u = f_att->$vNam(varn+1)$ 456 496 break 457 497 else 458 498 if(vNam(varn) .EQ. "vs2" .OR. isStrSubset(vNam(varn), "vs2_") )then 459 z_u = f ->$vNam(varn+1)$499 z_u = f_att->$vNam(varn+1)$ 460 500 break 461 501 else 462 502 if(vNam(varn) .EQ. "pts2" .OR. isStrSubset(vNam(varn), "pts2_"))then 463 z_u = f ->$vNam(varn+1)$503 z_u = f_att->$vNam(varn+1)$ 464 504 break 465 505 else 466 506 if(vNam(varn) .EQ. "wsususodz" .OR. isStrSubset(vNam(varn), "wsususodz_"))then 467 z_u = f ->$vNam(varn+1)$507 z_u = f_att->$vNam(varn+1)$ 468 508 break 469 509 else 470 510 if(vNam(varn) .EQ. "wspsodz" .OR. isStrSubset(vNam(varn), "wspsodz_"))then 471 z_u = f ->$vNam(varn+1)$511 z_u = f_att->$vNam(varn+1)$ 472 512 break 473 513 else 474 514 if(vNam(varn) .EQ. "wpeodz" .OR. isStrSubset(vNam(varn), "wpeodz_"))then 475 z_u = f ->$vNam(varn+1)$515 z_u = f_att->$vNam(varn+1)$ 476 516 break 477 517 end if … … 506 546 end if 507 547 if (vNam(varn) .EQ. "w" .OR. isStrSubset(vNam(varn), "w_"))then 508 z_w = f ->$vNam(varn+1)$548 z_w = f_att->$vNam(varn+1)$ 509 549 break 510 550 else 511 551 if (vNam(varn) .EQ. "wpup" .OR. isStrSubset(vNam(varn), "wpup_"))then 512 z_w = f ->$vNam(varn+1)$552 z_w = f_att->$vNam(varn+1)$ 513 553 break 514 554 else 515 555 if(vNam(varn) .EQ. "wsus" .OR. isStrSubset(vNam(varn), "wsus_"))then 516 z_w = f ->$vNam(varn+1)$556 z_w = f_att->$vNam(varn+1)$ 517 557 break 518 558 else 519 559 if(vNam(varn) .EQ. "wu" .OR. isStrSubset(vNam(varn), "wu_"))then 520 z_w = f ->$vNam(varn+1)$560 z_w = f_att->$vNam(varn+1)$ 521 561 break 522 562 else 523 563 if(vNam(varn) .EQ. "wpvp" .OR. isStrSubset(vNam(varn), "wpvp_"))then 524 z_w = f ->$vNam(varn+1)$564 z_w = f_att->$vNam(varn+1)$ 525 565 break 526 566 else 527 567 if(vNam(varn) .EQ. "wsvs" .OR. isStrSubset(vNam(varn), "wsvs_"))then 528 z_w = f ->$vNam(varn+1)$568 z_w = f_att->$vNam(varn+1)$ 529 569 break 530 570 else 531 571 if(vNam(varn) .EQ. "wv" .OR. isStrSubset(vNam(varn), "wv_"))then 532 z_w = f ->$vNam(varn+1)$572 z_w = f_att->$vNam(varn+1)$ 533 573 break 534 574 else 535 575 if(vNam(varn) .EQ. "wptpp" .OR. isStrSubset(vNam(varn), "wptpp_"))then 536 z_w = f ->$vNam(varn+1)$576 z_w = f_att->$vNam(varn+1)$ 537 577 break 538 578 else 539 579 if(vNam(varn) .EQ. "wspts" .OR. isStrSubset(vNam(varn), "wspts_"))then 540 z_w = f ->$vNam(varn+1)$580 z_w = f_att->$vNam(varn+1)$ 541 581 break 542 582 else 543 583 if(vNam(varn) .EQ. "wpt" .OR. isStrSubset(vNam(varn), "wpz_"))then 544 z_w = f ->$vNam(varn+1)$584 z_w = f_att->$vNam(varn+1)$ 545 585 break 546 586 else 547 587 if(vNam(varn) .EQ. "wsptsBC" .OR. isStrSubset(vNam(varn), "wsptsBC_"))then 548 z_w = f ->$vNam(varn+1)$588 z_w = f_att->$vNam(varn+1)$ 549 589 break 550 590 else 551 591 if(vNam(varn) .EQ. "wptBC" .OR. isStrSubset(vNam(varn), "wptBC_"))then 552 z_w = f ->$vNam(varn+1)$592 z_w = f_att->$vNam(varn+1)$ 553 593 break 554 594 else 555 595 if(vNam(varn) .EQ. "wpvptp" .OR. isStrSubset(vNam(varn), "wpvptp_"))then 556 z_w = f ->$vNam(varn+1)$596 z_w = f_att->$vNam(varn+1)$ 557 597 break 558 598 else 559 599 if(vNam(varn) .EQ. "wsvpts" .OR. isStrSubset(vNam(varn), "wsvpts_"))then 560 z_w = f ->$vNam(varn+1)$600 z_w = f_att->$vNam(varn+1)$ 561 601 break 562 602 else 563 603 if(vNam(varn) .EQ. "wvpt" .OR. isStrSubset(vNam(varn), "wvpt_"))then 564 z_w = f ->$vNam(varn+1)$604 z_w = f_att->$vNam(varn+1)$ 565 605 break 566 606 else 567 607 if(vNam(varn) .EQ. "wpqp" .OR. isStrSubset(vNam(varn), "wpqp_"))then 568 z_w = f ->$vNam(varn+1)$608 z_w = f_att->$vNam(varn+1)$ 569 609 break 570 610 else 571 611 if(vNam(varn) .EQ. "wsqs" .OR. isStrSubset(vNam(varn), "wsqs_"))then 572 z_w = f ->$vNam(varn+1)$612 z_w = f_att->$vNam(varn+1)$ 573 613 break 574 614 else 575 615 if(vNam(varn) .EQ. "wq" .OR. isStrSubset(vNam(varn), "wq_"))then 576 z_w = f ->$vNam(varn+1)$616 z_w = f_att->$vNam(varn+1)$ 577 617 break 578 618 else 579 619 if(vNam(varn) .EQ. "wpqvp" .OR. isStrSubset(vNam(varn), "wpqvp_"))then 580 z_w = f ->$vNam(varn+1)$620 z_w = f_att->$vNam(varn+1)$ 581 621 break 582 622 else 583 623 if(vNam(varn) .EQ. "wsqvs" .OR. isStrSubset(vNam(varn), "wsqvs_"))then 584 z_w = f ->$vNam(varn+1)$624 z_w = f_att->$vNam(varn+1)$ 585 625 break 586 626 else 587 627 if(vNam(varn) .EQ. "wqv" .OR. isStrSubset(vNam(varn), "wqv_"))then 588 z_w = f ->$vNam(varn+1)$628 z_w = f_att->$vNam(varn+1)$ 589 629 break 590 630 else 591 631 if(vNam(varn) .EQ. "wpsp" .OR. isStrSubset(vNam(varn), "wpsp_"))then 592 z_w = f ->$vNam(varn+1)$632 z_w = f_att->$vNam(varn+1)$ 593 633 break 594 634 else 595 635 if(vNam(varn) .EQ. "wsss" .OR. isStrSubset(vNam(varn), "wsss_"))then 596 z_w = f ->$vNam(varn+1)$636 z_w = f_att->$vNam(varn+1)$ 597 637 break 598 638 else 599 639 if(vNam(varn) .EQ. "ws" .OR. isStrSubset(vNam(varn), "ws_"))then 600 z_w = f ->$vNam(varn+1)$640 z_w = f_att->$vNam(varn+1)$ 601 641 break 602 642 else 603 643 if(vNam(varn) .EQ. "wpsap" .OR. isStrSubset(vNam(varn), "wpsap_"))then 604 z_w = f ->$vNam(varn+1)$644 z_w = f_att->$vNam(varn+1)$ 605 645 break 606 646 else 607 647 if(vNam(varn) .EQ. "wssas" .OR. isStrSubset(vNam(varn), "wssas_") )then 608 z_w = f ->$vNam(varn+1)$648 z_w = f_att->$vNam(varn+1)$ 609 649 break 610 650 else 611 651 if(vNam(varn) .EQ. "wsa" .OR. isStrSubset(vNam(varn), "wsa_"))then 612 z_w = f ->$vNam(varn+1)$652 z_w = f_att->$vNam(varn+1)$ 613 653 break 614 654 else 615 655 if(vNam(varn) .EQ. "wses" .OR. isStrSubset(vNam(varn), "wses_"))then 616 z_w = f ->$vNam(varn+1)$656 z_w = f_att->$vNam(varn+1)$ 617 657 break 618 658 else 619 659 if(vNam(varn) .EQ. "ws2" .OR. isStrSubset(vNam(varn), "ws2_"))then 620 z_w = f ->$vNam(varn+1)$660 z_w = f_att->$vNam(varn+1)$ 621 661 break 622 662 else 623 663 if(vNam(varn) .EQ. "ws3" .OR. isStrSubset(vNam(varn), "ws3_"))then 624 z_w = f ->$vNam(varn+1)$664 z_w = f_att->$vNam(varn+1)$ 625 665 break 626 666 else 627 667 if(vNam(varn) .EQ. "Sw" .OR. isStrSubset(vNam(varn), "Sw_"))then 628 z_w = f ->$vNam(varn+1)$668 z_w = f_att->$vNam(varn+1)$ 629 669 break 630 670 else 631 671 if(vNam(varn) .EQ. "ws2pts".OR. isStrSubset(vNam(varn), "ws2pts_") )then 632 z_w = f ->$vNam(varn+1)$672 z_w = f_att->$vNam(varn+1)$ 633 673 break 634 674 else 635 675 if(vNam(varn) .EQ. "wspts2" .OR. isStrSubset(vNam(varn), "wspts2_"))then 636 z_w = f ->$vNam(varn+1)$676 z_w = f_att->$vNam(varn+1)$ 637 677 break 638 678 end if … … 685 725 if (check)then 686 726 co=co+1 687 z = f ->$vNam(varn+1)$727 z = f_att->$vNam(varn+1)$ 688 728 if (getvardims(z) .EQ. "zu")then 689 729 z_u = z … … 718 758 do varn = dim-1,0,1 719 759 if (vNam(varn) .EQ. "zu_3d")then 720 z_u = f ->zu_3d760 z_u = f_att->zu_3d 721 761 dimz = dimsizes(z_u) 722 762 else 723 763 if (vNam(varn) .EQ. "zw_3d")then 724 z_w = f ->zw_3d764 z_w = f_att->zw_3d 725 765 dimz = dimsizes(z_w) 726 766 end if 727 767 end if 768 if (vNam(varn) .EQ. "x")then 769 x = f_att->x 770 dimx=dimsizes(x) 771 else 772 if (vNam(varn) .EQ. "xu")then 773 x = f_att->xu 774 dimx=dimsizes(x) 775 end if 776 end if 777 if (vNam(varn) .EQ. "y")then 778 y = f_att->y 779 dimy=dimsizes(y) 780 else 781 if (vNam(varn) .EQ. "yv")then 782 y = f_att->yv 783 dimy=dimsizes(y) 784 end if 785 end if 728 786 end do 729 787 … … 733 791 print(" ") 734 792 print("Program aborts - there are no z-variables available") 735 print(" Please be sure if 'plot_3d' is set correctly")793 print("Be sure if 'plot_3d' is set correctly") 736 794 print(" ") 737 795 exit 738 796 end if 739 797 740 t_all = f->time 798 if (prof3d .EQ. 1)then 799 t_all = f[:]->time 800 else 801 t_all = f[:]->time(1:) 802 end if 741 803 nt = dimsizes(t_all) 742 804 delta_t=t_all(nt-1)/nt 743 744 805 745 806 ; **************************************************** … … 754 815 print("'start_time_step' = "+ start_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h") 755 816 print(" ") 756 print(" Please select another 'start_time_step'")817 print("Select another 'start_time_step'") 757 818 print(" ") 758 819 exit … … 766 827 end if 767 828 768 do i=0,nt-1 829 do i=0,nt-1 769 830 if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then 770 831 st=i … … 776 837 print("'start_time_step' = "+ start_time_step +"h is invalid") 777 838 print(" ") 778 print(" Please select another 'start_time_step'")839 print("Select another 'start_time_step'") 779 840 print(" ") 780 841 exit … … 792 853 print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h") 793 854 print(" ") 794 print(" Please select another 'end_time_step'")855 print("Select another 'end_time_step'") 795 856 print(" ") 796 857 exit … … 800 861 print("'end_time_step' = "+ end_time_step +"h is lower than 'start_time_step' = "+start_time_step+"h") 801 862 print(" ") 802 print(" Please select another 'start_time_step' or 'end_time_step'")863 print("Select another 'start_time_step' or 'end_time_step'") 803 864 print(" ") 804 865 exit … … 816 877 print("'end_time_step' = "+ end_time_step +"h is invalid") 817 878 print(" ") 818 print(" Please select another 'end_time_step'")879 print("Select another 'end_time_step'") 819 880 print(" ") 820 881 exit … … 838 899 do p=start_time_step,end_time_step 839 900 if (t_all(p)/3600 .LT. 1) then 840 legend_label(p-start_time_step)=decimalPlaces(t_all(p)/3600, 2,True)901 legend_label(p-start_time_step)=decimalPlaces(t_all(p)/3600,3,True) 841 902 else 842 903 legend_label(p-start_time_step)=decimalPlaces(t_all(p)/3600,0,True) … … 872 933 res@pmLegendWidthF = 0.12 873 934 res@pmLegendHeightF = 0.04*(end_time_step-start_time_step+1) 874 res@lgLabelFontHeightF = .02935 res@lgLabelFontHeightF = font_size 875 936 res@lgTitleString = "Time [h]" 876 res@lgTitleFontHeightF = 0.02 877 res@txFontHeightF = 0.02 878 res@tiXAxisFontHeightF = 0.02 879 res@tiYAxisFontHeightF = 0.02 937 res@lgTitleFontHeightF = font_size 938 res@txFontHeightF = font_size 939 res@tiXAxisFontHeightF = font_size 940 res@tiYAxisFontHeightF = font_size 941 res@tmXBLabelFontHeightF = font_size 942 res@tmYLLabelFontHeightF = font_size 880 943 res@tiXAxisString = " " 881 944 if ( black .eq. 0 ) then 882 945 res@xyLineColors = ispan(2,237,235/np) 883 946 end if 884 if (norm .EQ. 1)then947 if (norm_z .EQ. 1)then 885 948 res@tiYAxisString = "Height [m]" 886 949 else 887 res@tiYAxisString = "Height / "+norm +" [m]"950 res@tiYAxisString = "Height / "+norm_z+" [m]" 888 951 end if 889 952 890 if (log y.EQ. 1) then953 if (log_z .EQ. 1) then 891 954 res@trYLog = True 892 955 end if … … 902 965 end if 903 966 end if 967 968 res@tmXBMinorPerMajor = 4 969 res@tmYLMinorPerMajor = 4 904 970 905 971 resP = True 906 972 resP@txFont = "helvetica" 907 resP@txString = f @title973 resP@txString = f_att@title 908 974 resP@txFuncCode = "~" 909 resP@txFontHeightF = 0.01 4975 resP@txFontHeightF = 0.015 910 976 911 977 ; *************************************************** … … 928 994 ; *************************************************** 929 995 930 if (log y.EQ. 1)then996 if (log_z .EQ. 1)then 931 997 if (min_z .EQ. -1)then 932 998 if (isvar("z_u"))then … … 1016 1082 end if 1017 1083 1018 min_z=min_z/norm 1019 max_z=max_z/norm 1084 min_z=min_z/norm_z 1085 max_z=max_z/norm_z 1020 1086 1021 1087 ; *************************************************** … … 1030 1096 end do 1031 1097 1032 if (log y.EQ. 1) then1098 if (log_z .EQ. 1) then 1033 1099 data = new((/dim,(end_time_step-start_time_step)+1,dimz-1/),float) 1034 1100 data_0 = new((/(end_time_step-start_time_step)+1,dimz-1/),float) … … 1252 1318 maxiwpeodz =-1.E27 1253 1319 end if 1254 1320 1321 if (prof3d .EQ. 1)then 1322 1323 if (end_x .EQ. -1) then 1324 end_x=dimx-2 1325 end if 1326 if (end_y .EQ. -1)then 1327 end_y=dimy-2 1328 end if 1329 if (start_x .LT. 0)then 1330 print(" ") 1331 print("'start_x' is lower than 0 and set to 0") 1332 print(" ") 1333 start_x=0 1334 end if 1335 if (start_x .GT. dimx-1)then 1336 print(" ") 1337 print("'start_x' is greater than available x-range and set to maximum of x-range (excluding ghostpoint)") 1338 print(" ") 1339 start_x=dimx-2 1340 end if 1341 if (end_x .EQ. dimx-1)then 1342 print(" ") 1343 print("'end_x' = "+end_x+" and includes the ghostpoint") 1344 print(" ") 1345 end if 1346 if (end_x .GT. dimx-1)then 1347 print(" ") 1348 print("'end_x' = "+end_x+" is greater than available x-range and set to maximum of x-range (excluding ghostpoint)") 1349 print(" ") 1350 end_x=dimx-2 1351 end if 1352 if (end_x .LT. start_x)then 1353 print(" ") 1354 print("'end_x' = "+end_x+" is lower than 'start_x' = "+start_x+" and set to maximum of x-range (excluding ghostpoint)") 1355 print(" ") 1356 end_x=dimx-2 1357 end if 1358 if (start_y .LT. 0)then 1359 print(" ") 1360 print("'start_y' is lower than 0 and set to 0") 1361 print(" ") 1362 start_y=0 1363 end if 1364 if (start_y .GT. dimy-1)then 1365 print(" ") 1366 print("'start_y' is greater than available y-range and set to maximum of y-range (excluding ghostpoint)") 1367 print(" ") 1368 start_x=dimy-2 1369 end if 1370 if (end_y .EQ. dimy-1)then 1371 print(" ") 1372 print("'end_y' = "+end_y+" and includes the ghostpoint") 1373 print(" ") 1374 end if 1375 if (end_y .GT. dimy-1)then 1376 print(" ") 1377 print("'end_y' = "+end_y+" is greater than available y-range and set to maximum of y-range (excluding ghostpoint)") 1378 print(" ") 1379 end_x=dimy-2 1380 end if 1381 if (end_y .LT. start_y)then 1382 print(" ") 1383 print("'end_y' = "+end_y+" is lower than 'start_y' = "+start_y+" and set to maximum of y-range (excluding ghostpoint)") 1384 print(" ") 1385 end_y=dimy-2 1386 end if 1387 1388 end if 1389 1255 1390 n_o=0 1256 1391 count_var=0 … … 1278 1413 if (com) then 1279 1414 if (prof3d .EQ. 0) then 1280 temp = f->$vNam(varn)$ 1281 if (logy .EQ. 1) then 1415 temp = f[:]->$vNam(varn)$(1:,:) 1416 temp_att = f_att->$vNam(varn)$ 1417 if (log_z .EQ. 1) then 1282 1418 data(varn,:,:) = temp(start_time_step:end_time_step,1:dimz-1) 1283 1419 else … … 1285 1421 end if 1286 1422 else 1287 if (log y.EQ. 1) then1423 if (log_z .EQ. 1) then 1288 1424 do i=1,dimz-1 1289 1425 do j=start_time_step,end_time_step 1290 temp= f->$vNam(varn)$(j,i,:,:) 1291 data(varn,j-start_time_step,i-1) = dim_avg_Wrap(dim_avg_Wrap(temp(:,:))) 1426 temp= f[:]->$vNam(varn)$ 1427 temp_att = f_att->$vNam(varn)$ 1428 data_temp = temp(j,i,start_y:end_y,start_x:end_x) 1429 data(varn,j-start_time_step,i-1) = dim_avg_Wrap(dim_avg_Wrap(data_temp)) 1292 1430 end do 1293 1431 end do … … 1295 1433 do i=0,dimz-1 1296 1434 do j=start_time_step,end_time_step 1297 temp= f->$vNam(varn)$(j,i,:,:) 1298 data(varn,j-start_time_step,i) = dim_avg_Wrap(dim_avg_Wrap(temp(:,:))) 1435 temp= f[:]->$vNam(varn)$ 1436 temp_att = f_att->$vNam(varn)$ 1437 data_temp = temp(j,i,start_y:end_y,start_x:end_x) 1438 data(varn,j-start_time_step,i) = dim_avg_Wrap(dim_avg_Wrap(data_temp)) 1299 1439 end do 1300 1440 end do … … 1304 1444 print(" ") 1305 1445 end if 1306 unit(varn) = temp @units1446 unit(varn) = temp_att@units 1307 1447 if (n_o .GT. number_comb-1) then 1308 1448 print(" ") 1309 print(" Please set 'number_comb' to the number of overlaying variables ('c_var' = "+c_var+")")1449 print("Set 'number_comb' to the number of overlaying variables ('c_var' = "+c_var+")") 1310 1450 print(" ") 1311 1451 exit … … 1318 1458 1319 1459 if(check) then 1320 1321 1460 if (isStrSubset(vNam(varn),"_0" ))then 1322 1461 print(" ") … … 1329 1468 1330 1469 if (prof3d .EQ. 0) then 1331 temp = f->$vNam(varn)$ 1470 temp = f[:]->$vNam(varn)$(1:,:) 1471 temp_att = f_att->$vNam(varn)$ 1332 1472 else 1333 if (log y.EQ. 1) then1473 if (log_z .EQ. 1) then 1334 1474 do i=1,dimz-1 1335 1475 do j=start_time_step,end_time_step 1336 temp= f->$vNam(varn)$(j,i,:,:) 1337 data(varn,j-start_time_step,i-1) = dim_avg_Wrap(dim_avg_Wrap(temp(:,:))) 1476 temp= f[:]->$vNam(varn)$(j,i,start_y:end_y,start_x:end_x) 1477 temp_att = f_att->$vNam(varn)$ 1478 data_temp = temp(j,i,start_y:end_y,start_x:end_x) 1479 data(varn,j-start_time_step,i-1) = dim_avg_Wrap(dim_avg_Wrap(data_temp)) 1338 1480 end do 1339 1481 end do … … 1341 1483 do i=0,dimz-1 1342 1484 do j=start_time_step,end_time_step 1343 temp= f->$vNam(varn)$(j,i,:,:) 1344 data(varn,j-start_time_step,i) = dim_avg_Wrap(dim_avg_Wrap(temp(:,:))) 1485 temp= f[:]->$vNam(varn)$;(j,i,start_y:end_y,start_x:end_x) 1486 temp_att = f_att->$vNam(varn)$ 1487 data_temp = temp(j,i,start_y:end_y,start_x:end_x) 1488 data_temp!0 = "t" 1489 data_temp!1 = "z" 1490 data(varn,j-start_time_step,i) = dim_avg_Wrap(dim_avg_Wrap(data_temp)) 1345 1491 end do 1346 1492 end do … … 1349 1495 print("Variable '"+vNam(varn)+"' is read") 1350 1496 print(" ") 1351 unit(varn) = temp @units1352 a=getvar atts(temp)1497 unit(varn) = temp_att@units 1498 a=getvardims(temp_att) 1353 1499 b=dimsizes(a) 1354 1500 end if 1355 1501 1356 1502 if (prof3d .EQ. 0) then 1357 if (log y.EQ. 1) then1358 z = f ->$vNam(varn+1)$(1:dimz-1)1359 unit(varn) = temp @units1503 if (log_z .EQ. 1) then 1504 z = f_att->$vNam(varn+1)$(1:dimz-1) 1505 unit(varn) = temp_att@units 1360 1506 data(varn,:,:) = temp(start_time_step:end_time_step,1:dimz-1) 1361 1507 else 1362 z = f ->$vNam(varn+1)$1363 unit(varn) = temp @units1508 z = f_att->$vNam(varn+1)$ 1509 unit(varn) = temp_att@units 1364 1510 data(varn,:,:) = temp(start_time_step:end_time_step,:) 1365 1511 end if 1366 1512 else 1367 do i=0,b-1 1513 do i=0,b-1 1368 1514 if (isStrSubset( a(i),"zu_3d" ))then 1369 1515 z_v(varn,:) = z_u 1370 if (log y.EQ. 1) then1516 if (log_z .EQ. 1) then 1371 1517 z = z_v(varn,1:dimz-1) 1372 1518 else … … 1376 1522 if (isStrSubset( a(i),"zw_3d" ))then 1377 1523 z_v(varn,:) = z_w 1378 if (log y.EQ. 1) then1524 if (log_z .EQ. 1) then 1379 1525 z = z_v(varn,1:dimz-1) 1380 1526 else … … 1390 1536 end if 1391 1537 if (nof .EQ. 0) then 1392 z_(n,:)=z/norm 1538 z_(n,:)=z/norm_z 1393 1539 z = z_(n,:) 1394 1540 else 1395 z=z/norm 1541 z=z/norm_z 1396 1542 end if 1397 1543 1398 1544 if (over .EQ. 0) then 1399 1545 res@gsnLeftString = vNam(varn) 1400 res@gsnRightString = unit(varn) 1546 res@tiXAxisString = "["+unit(varn)+"]" 1547 res@gsnRightString = " " 1401 1548 res@trYMinF = min_z 1402 1549 res@trYMaxF = max_z … … 1422 1569 else 1423 1570 res@gsnLeftString = vNam(varn) 1424 res@gsnRightString = unit(varn) 1571 res@tiXAxisString = "["+unit(varn)+"]" 1572 res@gsnRightString = " " 1425 1573 if (xs .EQ. -1) then 1426 1574 res@trXMinF = miniu … … 1444 1592 else 1445 1593 res@gsnLeftString = vNam(varn) 1446 res@gsnRightString = unit(varn) 1594 res@tiXAxisString = "["+unit(varn)+"]" 1595 res@gsnRightString = " " 1447 1596 if (xs .EQ. -1) then 1448 1597 res@trXMinF = miniv … … 1466 1615 else 1467 1616 res@gsnLeftString = vNam(varn) 1468 res@gsnRightString = unit(varn) 1617 res@tiXAxisString = "["+unit(varn)+"]" 1618 res@gsnRightString = " " 1469 1619 if (xs .EQ. -1) then 1470 1620 res@trXMinF = miniw … … 1489 1639 else 1490 1640 res@gsnLeftString = vNam(varn) 1491 res@gsnRightString = unit(varn) 1641 res@tiXAxisString = "["+unit(varn)+"]" 1642 res@gsnRightString = " " 1492 1643 if (xs .EQ. -1) then 1493 1644 res@trXMinF = minipt … … 1511 1662 else 1512 1663 res@gsnLeftString = vNam(varn) 1513 res@gsnRightString = unit(varn) 1664 res@tiXAxisString = "["+unit(varn)+"]" 1665 res@gsnRightString = " " 1514 1666 if (xs .EQ. -1) then 1515 1667 res@trXMinF = minivpt … … 1533 1685 else 1534 1686 res@gsnLeftString = vNam(varn) 1535 res@gsnRightString = unit(varn) 1687 res@tiXAxisString = "["+unit(varn)+"]" 1688 res@gsnRightString = " " 1536 1689 if (xs .EQ. -1) then 1537 1690 res@trXMinF = minilpt … … 1556 1709 else 1557 1710 res@gsnLeftString = vNam(varn) 1558 res@gsnRightString = unit(varn) 1711 res@tiXAxisString = "["+unit(varn)+"]" 1712 res@gsnRightString = " " 1559 1713 if (xs .EQ. -1) then 1560 1714 res@trXMinF = minilq … … 1578 1732 else 1579 1733 res@gsnLeftString = vNam(varn) 1580 res@gsnRightString = unit(varn) 1734 res@tiXAxisString = "["+unit(varn)+"]" 1735 res@gsnRightString = " " 1581 1736 if (xs .EQ. -1) then 1582 1737 res@trXMinF = minilqv … … 1600 1755 else 1601 1756 res@gsnLeftString = vNam(varn) 1602 res@gsnRightString = unit(varn) 1757 res@tiXAxisString = "["+unit(varn)+"]" 1758 res@gsnRightString = " " 1603 1759 if (xs .EQ. -1) then 1604 1760 res@trXMinF = miniql … … 1623 1779 else 1624 1780 res@gsnLeftString = vNam(varn) 1625 res@gsnRightString = unit(varn) 1781 res@tiXAxisString = "["+unit(varn)+"]" 1782 res@gsnRightString = " " 1626 1783 if (xs .EQ. -1) then 1627 1784 res@trXMinF = minie … … 1645 1802 else 1646 1803 res@gsnLeftString = vNam(varn) 1647 res@gsnRightString = unit(varn) 1804 res@tiXAxisString = "["+unit(varn)+"]" 1805 res@gsnRightString = " " 1648 1806 if (xs .EQ. -1) then 1649 1807 res@trXMinF = minies … … 1668 1826 else 1669 1827 res@gsnLeftString = vNam(varn) 1670 res@gsnRightString = unit(varn) 1828 res@tiXAxisString = "["+unit(varn)+"]" 1829 res@gsnRightString = " " 1671 1830 if (xs .EQ. -1) then 1672 1831 res@trXMinF = minikm … … 1690 1849 else 1691 1850 res@gsnLeftString = vNam(varn) 1692 res@gsnRightString = unit(varn) 1851 res@tiXAxisString = "["+unit(varn)+"]" 1852 res@gsnRightString = " " 1693 1853 if (xs .EQ. -1) then 1694 1854 res@trXMinF = minikh … … 1713 1873 else 1714 1874 res@gsnLeftString = vNam(varn) 1715 res@gsnRightString = unit(varn) 1875 res@tiXAxisString = "["+unit(varn)+"]" 1876 res@gsnRightString = " " 1716 1877 if (xs .EQ. -1) then 1717 1878 res@trXMinF = miniwpup … … 1735 1896 else 1736 1897 res@gsnLeftString = vNam(varn) 1737 res@gsnRightString = unit(varn) 1898 res@tiXAxisString = "["+unit(varn)+"]" 1899 res@gsnRightString = " " 1738 1900 if (xs .EQ. -1) then 1739 1901 res@trXMinF = miniwsus … … 1757 1919 else 1758 1920 res@gsnLeftString = vNam(varn) 1759 res@gsnRightString = unit(varn) 1921 res@tiXAxisString = "["+unit(varn)+"]" 1922 res@gsnRightString = " " 1760 1923 if (xs .EQ. -1) then 1761 1924 res@trXMinF = miniwu … … 1780 1943 else 1781 1944 res@gsnLeftString = vNam(varn) 1782 res@gsnRightString = unit(varn) 1945 res@tiXAxisString = "["+unit(varn)+"]" 1946 res@gsnRightString = " " 1783 1947 if (xs .EQ. -1) then 1784 1948 res@trXMinF = miniwpvp … … 1802 1966 else 1803 1967 res@gsnLeftString = vNam(varn) 1804 res@gsnRightString = unit(varn) 1968 res@tiXAxisString = "["+unit(varn)+"]" 1969 res@gsnRightString = " " 1805 1970 if (xs .EQ. -1) then 1806 1971 res@trXMinF = miniwsvs … … 1824 1989 else 1825 1990 res@gsnLeftString = vNam(varn) 1826 res@gsnRightString = unit(varn) 1991 res@tiXAxisString = "["+unit(varn)+"]" 1992 res@gsnRightString = " " 1827 1993 if (xs .EQ. -1) then 1828 1994 res@trXMinF = miniwv … … 1847 2013 else 1848 2014 res@gsnLeftString = vNam(varn) 1849 res@gsnRightString = unit(varn) 2015 res@tiXAxisString = "["+unit(varn)+"]" 2016 res@gsnRightString = " " 1850 2017 if (xs .EQ. -1) then 1851 2018 res@trXMinF = miniwpptp … … 1869 2036 else 1870 2037 res@gsnLeftString = vNam(varn) 1871 res@gsnRightString = unit(varn) 2038 res@tiXAxisString = "["+unit(varn)+"]" 2039 res@gsnRightString = " " 1872 2040 if (xs .EQ. -1) then 1873 2041 res@trXMinF = miniwspts … … 1891 2059 else 1892 2060 res@gsnLeftString = vNam(varn) 1893 res@gsnRightString = unit(varn) 2061 res@tiXAxisString = "["+unit(varn)+"]" 2062 res@gsnRightString = " " 1894 2063 if (xs .EQ. -1) then 1895 2064 res@trXMinF = miniwpt … … 1914 2083 else 1915 2084 res@gsnLeftString = vNam(varn) 1916 res@gsnRightString = unit(varn) 2085 res@tiXAxisString = "["+unit(varn)+"]" 2086 res@gsnRightString = " " 1917 2087 if (xs .EQ. -1) then 1918 2088 res@trXMinF = miniwsptsBC … … 1936 2106 else 1937 2107 res@gsnLeftString = vNam(varn) 1938 res@gsnRightString = unit(varn) 2108 res@tiXAxisString = "["+unit(varn)+"]" 2109 res@gsnRightString = " " 1939 2110 if (xs .EQ. -1) then 1940 2111 res@trXMinF = miniwptBC … … 1959 2130 else 1960 2131 res@gsnLeftString = vNam(varn) 1961 res@gsnRightString = unit(varn) 2132 res@tiXAxisString = "["+unit(varn)+"]" 2133 res@gsnRightString = " " 1962 2134 if (xs .EQ. -1) then 1963 2135 res@trXMinF = miniwpvptp … … 1981 2153 else 1982 2154 res@gsnLeftString = vNam(varn) 1983 res@gsnRightString = unit(varn) 2155 res@tiXAxisString = "["+unit(varn)+"]" 2156 res@gsnRightString = " " 1984 2157 if (xs .EQ. -1) then 1985 2158 res@trXMinF = miniwsvpts … … 2003 2176 else 2004 2177 res@gsnLeftString = vNam(varn) 2005 res@gsnRightString = unit(varn) 2178 res@tiXAxisString = "["+unit(varn)+"]" 2179 res@gsnRightString = " " 2006 2180 if (xs .EQ. -1) then 2007 2181 res@trXMinF = miniwvpt … … 2026 2200 else 2027 2201 res@gsnLeftString = vNam(varn) 2028 res@gsnRightString = unit(varn) 2202 res@tiXAxisString = "["+unit(varn)+"]" 2203 res@gsnRightString = " " 2029 2204 if (xs .EQ. -1) then 2030 2205 res@trXMinF = miniwpqp … … 2048 2223 else 2049 2224 res@gsnLeftString = vNam(varn) 2050 res@gsnRightString = unit(varn) 2225 res@tiXAxisString = "["+unit(varn)+"]" 2226 res@gsnRightString = " " 2051 2227 if (xs .EQ. -1) then 2052 2228 res@trXMinF = miniwsqs … … 2070 2246 else 2071 2247 res@gsnLeftString = vNam(varn) 2072 res@gsnRightString = unit(varn) 2248 res@tiXAxisString = "["+unit(varn)+"]" 2249 res@gsnRightString = " " 2073 2250 if (xs .EQ. -1) then 2074 2251 res@trXMinF = miniwq … … 2093 2270 else 2094 2271 res@gsnLeftString = vNam(varn) 2095 res@gsnRightString = unit(varn) 2272 res@tiXAxisString = "["+unit(varn)+"]" 2273 res@gsnRightString = " " 2096 2274 if (xs .EQ. -1) then 2097 2275 res@trXMinF = miniwpqvp … … 2115 2293 else 2116 2294 res@gsnLeftString = vNam(varn) 2117 res@gsnRightString = unit(varn) 2295 res@tiXAxisString = "["+unit(varn)+"]" 2296 res@gsnRightString = " " 2118 2297 if (xs .EQ. -1) then 2119 2298 res@trXMinF = miniwsqvs … … 2137 2316 else 2138 2317 res@gsnLeftString = vNam(varn) 2139 res@gsnRightString = unit(varn) 2318 res@tiXAxisString = "["+unit(varn)+"]" 2319 res@gsnRightString = " " 2140 2320 if (xs .EQ. -1) then 2141 2321 res@trXMinF = miniwqv … … 2160 2340 else 2161 2341 res@gsnLeftString = vNam(varn) 2162 res@gsnRightString = unit(varn) 2342 res@tiXAxisString = "["+unit(varn)+"]" 2343 res@gsnRightString = " " 2163 2344 if (xs .EQ. -1) then 2164 2345 res@trXMinF = miniwpsp … … 2182 2363 else 2183 2364 res@gsnLeftString = vNam(varn) 2184 res@gsnRightString = unit(varn) 2365 res@tiXAxisString = "["+unit(varn)+"]" 2366 res@gsnRightString = " " 2185 2367 if (xs .EQ. -1) then 2186 2368 res@trXMinF = miniwsss … … 2204 2386 else 2205 2387 res@gsnLeftString = vNam(varn) 2206 res@gsnRightString = unit(varn) 2388 res@tiXAxisString = "["+unit(varn)+"]" 2389 res@gsnRightString = " " 2207 2390 if (xs .EQ. -1) then 2208 2391 res@trXMinF = miniws … … 2227 2410 else 2228 2411 res@gsnLeftString = vNam(varn) 2229 res@gsnRightString = unit(varn) 2412 res@tiXAxisString = "["+unit(varn)+"]" 2413 res@gsnRightString = " " 2230 2414 if (xs .EQ. -1) then 2231 2415 res@trXMinF = miniwpsap … … 2249 2433 else 2250 2434 res@gsnLeftString = vNam(varn) 2251 res@gsnRightString = unit(varn) 2435 res@tiXAxisString = "["+unit(varn)+"]" 2436 res@gsnRightString = " " 2252 2437 if (xs .EQ. -1) then 2253 2438 res@trXMinF = miniwssas … … 2271 2456 else 2272 2457 res@gsnLeftString = vNam(varn) 2273 res@gsnRightString = unit(varn) 2458 res@tiXAxisString = "["+unit(varn)+"]" 2459 res@gsnRightString = " " 2274 2460 if (xs .EQ. -1) then 2275 2461 res@trXMinF = miniwsa … … 2294 2480 else 2295 2481 res@gsnLeftString = vNam(varn) 2296 res@gsnRightString = unit(varn) 2482 res@tiXAxisString = "["+unit(varn)+"]" 2483 res@gsnRightString = " " 2297 2484 if (xs .EQ. -1) then 2298 2485 res@trXMinF = minius2 … … 2316 2503 else 2317 2504 res@gsnLeftString = vNam(varn) 2318 res@gsnRightString = unit(varn) 2505 res@tiXAxisString = "["+unit(varn)+"]" 2506 res@gsnRightString = " " 2319 2507 if (xs .EQ. -1) then 2320 2508 res@trXMinF = minivs2 … … 2338 2526 else 2339 2527 res@gsnLeftString = vNam(varn) 2340 res@gsnRightString = unit(varn) 2528 res@tiXAxisString = "["+unit(varn)+"]" 2529 res@gsnRightString = " " 2341 2530 if (xs .EQ. -1) then 2342 2531 res@trXMinF = miniws2 … … 2361 2550 else 2362 2551 res@gsnLeftString = vNam(varn) 2363 res@gsnRightString = unit(varn) 2552 res@tiXAxisString = "["+unit(varn)+"]" 2553 res@gsnRightString = " " 2364 2554 if (xs .EQ. -1) then 2365 2555 res@trXMinF = miniwsususodz … … 2383 2573 else 2384 2574 res@gsnLeftString = vNam(varn) 2385 res@gsnRightString = unit(varn) 2575 res@tiXAxisString = "["+unit(varn)+"]" 2576 res@gsnRightString = " " 2386 2577 if (xs .EQ. -1) then 2387 2578 res@trXMinF = miniwspsodz … … 2405 2596 else 2406 2597 res@gsnLeftString = vNam(varn) 2407 res@gsnRightString = unit(varn) 2598 res@tiXAxisString = "["+unit(varn)+"]" 2599 res@gsnRightString = " " 2408 2600 if (xs .EQ. -1) then 2409 2601 res@trXMinF = miniwpeodz … … 2437 2629 if (no_files .GT. 1) then 2438 2630 delete(vNam) 2439 end if 2631 delete(files) 2632 end if 2633 2440 2634 end do 2441 2635 ;#########ENDE DO LOOP FOR no_files GT 1############# 2636 2442 2637 if (count_var .EQ. 0) then 2443 2638 print(" ") … … 2449 2644 2450 2645 if (no_files .GT. 1) then 2451 multi_legend=new( 12,string)2452 string_len=new( 12,integer)2646 multi_legend=new(6,string) 2647 string_len=new(6,integer) 2453 2648 multi_dash=new(no_files,string) 2454 2649 multi_legend(0)=" "+name_legend_1 … … 2464 2659 multi_legend(5)=" "+name_legend_6 2465 2660 string_len(5)=strlen(multi_legend(5)) 2466 multi_legend(6)=" "+name_legend_72467 string_len(6)=strlen(multi_legend(6))2468 multi_legend(7)=" "+name_legend_82469 string_len(7)=strlen(multi_legend(7))2470 multi_legend(8)=" "+name_legend_92471 string_len(8)=strlen(multi_legend(8))2472 multi_legend(9)=" "+name_legend_102473 string_len(9)=strlen(multi_legend(9))2474 multi_legend(10)=" "+name_legend_112475 string_len(10)=strlen(multi_legend(10))2476 multi_legend(11)=" "+name_legend_122477 string_len(11)=strlen(multi_legend(11))2478 2661 do ml=1,no_files 2479 2662 multi_dash(ml-1)=ml-1 … … 2497 2680 lgMonoDashIndex = False 2498 2681 lgres@lgLabelFont = "helvetica" 2499 lgres@lgLabelFontHeightF = .22682 lgres@lgLabelFontHeightF = font_size_legend 2500 2683 lgres@vpWidthF = max(string_len)*0.012 2501 2684 lgres@vpHeightF = 0.04*no_files … … 2518 2701 if (count_var .EQ. 0) then 2519 2702 print(" ") 2520 print(" Please select a variable 'var=' or use the default value")2703 print("Select a variable 'var=' or use the default value") 2521 2704 print(" ") 2522 2705 print("Your selection '"+var+"' does not exist on the input file") … … 2598 2781 2599 2782 if (prof3d .EQ. 0) then 2600 if (log y.EQ. 1) then2783 if (log_z .EQ. 1) then 2601 2784 z = f->$vNam(varn+1)$(1:dimz-1) 2602 2785 else … … 2607 2790 if (isStrSubset( a(i),"zu_3d" ))then 2608 2791 z_v(varn,:) = z_u 2609 if (log y.EQ. 1) then2792 if (log_z .EQ. 1) then 2610 2793 z = z_v(varn,1:dimz-1) 2611 2794 else … … 2615 2798 if (isStrSubset( a(i),"zw_3d" ))then 2616 2799 z_v(varn,:) = z_w 2617 if (log y.EQ. 1) then2800 if (log_z .EQ. 1) then 2618 2801 z = z_v(varn,1:dimz-1) 2619 2802 else … … 2625 2808 end if 2626 2809 2627 z=z/norm 2810 z=z/norm_z 2628 2811 2629 2812 res@gsnLeftString = vNam(varn) 2630 res@gsnRightString = unit(varn) 2813 res@tiXAxisString = "["+unit(varn)+"]" 2814 res@gsnRightString = " " 2631 2815 res@trYMinF = min_z 2632 2816 res@trYMaxF = max_z … … 2646 2830 if (u .EQ. 0) then 2647 2831 res@gsnLeftString = "u, v and w" 2648 res@gsnRightString = unit(varn) 2832 res@tiXAxisString = "["+unit(varn)+"]" 2833 res@gsnRightString = " " 2649 2834 if (xs .EQ. -1) then 2650 2835 res@trXMinF = min((/miniu,miniv,miniw/)) … … 2666 2851 lgMonoDashIndex = False 2667 2852 lgres@lgLabelFont = "helvetica" 2668 lgres@lgLabelFontHeightF = .12853 lgres@lgLabelFontHeightF = font_size_legend 2669 2854 lgres@vpWidthF = 0.12 2670 2855 lgres@vpHeightF = 0.1 … … 2689 2874 if (pt .EQ. 0) then 2690 2875 res@gsnLeftString = "pt, vpt and lpt" 2691 res@gsnRightString = unit(varn) 2876 res@tiXAxisString = "["+unit(varn)+"]" 2877 res@gsnRightString = " " 2692 2878 if (xs .EQ. -1) then 2693 2879 res@trXMinF = min((/minipt,minivpt,minilpt/)) … … 2710 2896 lgMonoDashIndex = False 2711 2897 lgres@lgLabelFont = "helvetica" 2712 lgres@lgLabelFontHeightF = .12898 lgres@lgLabelFontHeightF = font_size_legend 2713 2899 lgres@vpWidthF = 0.12 2714 2900 lgres@vpHeightF = 0.1 … … 2732 2918 if (q .EQ. 0) then 2733 2919 res@gsnLeftString = "q, qv and ql" 2734 res@gsnRightString = unit(varn) 2920 res@tiXAxisString = "["+unit(varn)+"]" 2921 res@gsnRightString = " " 2735 2922 if (xs .EQ. -1) then 2736 2923 res@trXMinF = min((/miniq,miniqv,miniql/)) … … 2753 2940 lgMonoDashIndex = False 2754 2941 lgres@lgLabelFont = "helvetica" 2755 lgres@lgLabelFontHeightF = .12942 lgres@lgLabelFontHeightF = font_size_legend 2756 2943 lgres@vpWidthF = 0.12 2757 2944 lgres@vpHeightF = 0.1 … … 2776 2963 if (e .EQ. 0) then 2777 2964 res@gsnLeftString = "e and es" 2778 res@gsnRightString = unit(varn) 2965 res@tiXAxisString = "["+unit(varn)+"]" 2966 res@gsnRightString = " " 2779 2967 if (xs .EQ. -1) then 2780 2968 res@trXMinF = min((/minie,minies/)) … … 2797 2985 lgMonoDashIndex = False 2798 2986 lgres@lgLabelFont = "helvetica" 2799 lgres@lgLabelFontHeightF = .12987 lgres@lgLabelFontHeightF = font_size_legend 2800 2988 lgres@vpWidthF = 0.12 2801 2989 lgres@vpHeightF = 0.1 … … 2819 3007 if (km .EQ. 0) then 2820 3008 res@gsnLeftString = "km and kh" 2821 res@gsnRightString = unit(varn) 3009 res@tiXAxisString = "["+unit(varn)+"]" 3010 res@gsnRightString = " " 2822 3011 if (xs .EQ. -1) then 2823 3012 res@trXMinF = min((/minikm,minikh/)) … … 2840 3029 lgMonoDashIndex = False 2841 3030 lgres@lgLabelFont = "helvetica" 2842 lgres@lgLabelFontHeightF = .13031 lgres@lgLabelFontHeightF = font_size_legend 2843 3032 lgres@vpWidthF = 0.12 2844 3033 lgres@vpHeightF = 0.1 … … 2863 3052 if (wpup .EQ. 0) then 2864 3053 res@gsnLeftString = "wpup, wsus and wu" 2865 res@gsnRightString = unit(varn) 3054 res@tiXAxisString = "["+unit(varn)+"]" 3055 res@gsnRightString = " " 2866 3056 if (xs .EQ. -1) then 2867 3057 res@trXMinF = min((/miniwpup,miniwsus,miniwu/)) … … 2884 3074 lgMonoDashIndex = False 2885 3075 lgres@lgLabelFont = "helvetica" 2886 lgres@lgLabelFontHeightF = .13076 lgres@lgLabelFontHeightF = font_size_legend 2887 3077 lgres@vpWidthF = 0.12 2888 3078 lgres@vpHeightF = 0.1 … … 2906 3096 if (wpvp .EQ. 0) then 2907 3097 res@gsnLeftString = "wpvp, wsus and wv" 2908 res@gsnRightString = unit(varn) 3098 res@tiXAxisString = "["+unit(varn)+"]" 3099 res@gsnRightString = " " 2909 3100 if (xs .EQ. -1) then 2910 3101 res@trXMinF = min((/miniwpvp,miniwsvs,miniwv/)) … … 2927 3118 lgMonoDashIndex = False 2928 3119 lgres@lgLabelFont = "helvetica" 2929 lgres@lgLabelFontHeightF = .13120 lgres@lgLabelFontHeightF = font_size_legend 2930 3121 lgres@vpWidthF = 0.12 2931 3122 lgres@vpHeightF = 0.1 … … 2949 3140 if (wpptp .EQ. 0) then 2950 3141 res@gsnLeftString = "wpptp, wspts and wv" 2951 res@gsnRightString = unit(varn) 3142 res@tiXAxisString = "["+unit(varn)+"]" 3143 res@gsnRightString = " " 2952 3144 if (xs .EQ. -1) then 2953 3145 res@trXMinF = min((/miniwpptp,miniwspts,miniwpt/)) … … 2970 3162 lgMonoDashIndex = False 2971 3163 lgres@lgLabelFont = "helvetica" 2972 lgres@lgLabelFontHeightF = .13164 lgres@lgLabelFontHeightF = font_size_legend 2973 3165 lgres@vpWidthF = 0.12 2974 3166 lgres@vpHeightF = 0.1 … … 2992 3184 if (wsptsBC .EQ. 0) then 2993 3185 res@gsnLeftString = "wsptsBC and wptBC" 2994 res@gsnRightString = unit(varn) 3186 res@tiXAxisString = "["+unit(varn)+"]" 3187 res@gsnRightString = " " 2995 3188 if (xs .EQ. -1) then 2996 3189 res@trXMinF = min((/miniwsptsBC,miniwptBC/)) … … 3013 3206 lgMonoDashIndex = False 3014 3207 lgres@lgLabelFont = "helvetica" 3015 lgres@lgLabelFontHeightF = .13208 lgres@lgLabelFontHeightF = font_size_legend 3016 3209 lgres@vpWidthF = 0.12 3017 3210 lgres@vpHeightF = 0.1 … … 3035 3228 if (wpvptp .EQ. 0) then 3036 3229 res@gsnLeftString = "wpvptp, wsvpts and wv" 3037 res@gsnRightString = unit(varn) 3230 res@tiXAxisString = "["+unit(varn)+"]" 3231 res@gsnRightString = " " 3038 3232 if (xs .EQ. -1) then 3039 3233 res@trXMinF = min((/miniwpvptp,miniwsvpts,miniwvpt/)) … … 3056 3250 lgMonoDashIndex = False 3057 3251 lgres@lgLabelFont = "helvetica" 3058 lgres@lgLabelFontHeightF = .13252 lgres@lgLabelFontHeightF = font_size_legend 3059 3253 lgres@vpWidthF = 0.12 3060 3254 lgres@vpHeightF = 0.1 … … 3078 3272 if (wpqp .EQ. 0) then 3079 3273 res@gsnLeftString = "wpqp, wsqs and wq" 3080 res@gsnRightString = unit(varn) 3274 res@tiXAxisString = "["+unit(varn)+"]" 3275 res@gsnRightString = " " 3081 3276 if (xs .EQ. -1) then 3082 3277 res@trXMinF = min((/miniwpqp,miniwsqs,miniwq/)) … … 3099 3294 lgMonoDashIndex = False 3100 3295 lgres@lgLabelFont = "helvetica" 3101 lgres@lgLabelFontHeightF = .13296 lgres@lgLabelFontHeightF = font_size_legend 3102 3297 lgres@vpWidthF = 0.12 3103 3298 lgres@vpHeightF = 0.1 … … 3121 3316 if (wpqvp .EQ. 0) then 3122 3317 res@gsnLeftString = "wpqvp, wsqvs and wqv" 3123 res@gsnRightString = unit(varn) 3318 res@tiXAxisString = "["+unit(varn)+"]" 3319 res@gsnRightString = " " 3124 3320 if (xs .EQ. -1) then 3125 3321 res@trXMinF = min((/miniwpqp,miniwsqvs,miniwqv/)) … … 3142 3338 lgMonoDashIndex = False 3143 3339 lgres@lgLabelFont = "helvetica" 3144 lgres@lgLabelFontHeightF = .13340 lgres@lgLabelFontHeightF = font_size_legend 3145 3341 lgres@vpWidthF = 0.12 3146 3342 lgres@vpHeightF = 0.1 … … 3164 3360 if (wpsp .EQ. 0) then 3165 3361 res@gsnLeftString = "wpsp, wsss and ws" 3166 res@gsnRightString = unit(varn) 3362 res@tiXAxisString = "["+unit(varn)+"]" 3363 res@gsnRightString = " " 3167 3364 if (xs .EQ. -1) then 3168 3365 res@trXMinF = min((/miniwpsp,miniwsss,miniws/)) … … 3185 3382 lgMonoDashIndex = False 3186 3383 lgres@lgLabelFont = "helvetica" 3187 lgres@lgLabelFontHeightF = .13384 lgres@lgLabelFontHeightF = font_size_legend 3188 3385 lgres@vpWidthF = 0.12 3189 3386 lgres@vpHeightF = 0.1 … … 3207 3404 if (wpsap .EQ. 0) then 3208 3405 res@gsnLeftString = "wpsap, wssas and wsa" 3209 res@gsnRightString = unit(varn) 3406 res@tiXAxisString = "["+unit(varn)+"]" 3407 res@gsnRightString = " " 3210 3408 if (xs .EQ. -1) then 3211 3409 res@trXMinF = min((/miniwpsap,miniwssas,miniwsa/)) … … 3228 3426 lgMonoDashIndex = False 3229 3427 lgres@lgLabelFont = "helvetica" 3230 lgres@lgLabelFontHeightF = .13428 lgres@lgLabelFontHeightF = font_size_legend 3231 3429 lgres@vpWidthF = 0.12 3232 3430 lgres@vpHeightF = 0.1 … … 3251 3449 if (us2 .EQ. 0) then 3252 3450 res@gsnLeftString = "us2, vs2 and ws2" 3253 res@gsnRightString = unit(varn) 3451 res@tiXAxisString = "["+unit(varn)+"]" 3452 res@gsnRightString = " " 3254 3453 if (xs .EQ. -1) then 3255 3454 res@trXMinF = min((/minius2,minivs2,miniws2/)) … … 3272 3471 lgMonoDashIndex = False 3273 3472 lgres@lgLabelFont = "helvetica" 3274 lgres@lgLabelFontHeightF = .13473 lgres@lgLabelFontHeightF = font_size_legend 3275 3474 lgres@vpWidthF = 0.12 3276 3475 lgres@vpHeightF = 0.1 … … 3295 3494 if (wsususodz .EQ. 0) then 3296 3495 res@gsnLeftString = "wsususodz, wspsodz and ws2" 3297 res@gsnRightString = unit(varn) 3496 res@tiXAxisString = "["+unit(varn)+"]" 3497 res@gsnRightString = " " 3298 3498 if (xs .EQ. -1) then 3299 3499 res@trXMinF = min((/miniwsususodz,miniwspsodz,miniwpeodz/)) … … 3316 3516 lgMonoDashIndex = False 3317 3517 lgres@lgLabelFont = "helvetica" 3318 lgres@lgLabelFontHeightF = .13518 lgres@lgLabelFontHeightF = font_size_legend 3319 3519 lgres@vpWidthF = 0.12 3320 3520 lgres@vpHeightF = 0.1 … … 3369 3569 3370 3570 if (prof3d .EQ. 0) then 3371 if (log y.EQ. 1) then3571 if (log_z .EQ. 1) then 3372 3572 z = f->$vNam(varn+1)$(1:dimz-1) 3373 3573 else … … 3378 3578 if (isStrSubset( a(i),"zu_3d" ))then 3379 3579 z_v(varn,:) = z_u 3380 if (log y.EQ. 1) then3580 if (log_z .EQ. 1) then 3381 3581 z = z_v(varn,1:dimz-1) 3382 3582 else … … 3386 3586 if (isStrSubset( a(i),"zw_3d" ))then 3387 3587 z_v(varn,:) = z_w 3388 if (log y.EQ. 1) then3588 if (log_z .EQ. 1) then 3389 3589 z = z_v(varn,1:dimz-1) 3390 3590 else … … 3396 3596 end if 3397 3597 3398 z=z/norm 3598 z=z/norm_z 3399 3599 3400 3600 com_var_avail(n_o)=vNam(varn) … … 3412 3612 res@xyDashPattern = 0 3413 3613 res@gsnLeftString = "Combined Plot of "+c_var 3414 res@gsnRightString = unit(varn) 3614 res@tiXAxisString = "["+unit(varn)+"]" 3615 res@gsnRightString = " " 3415 3616 if (xs .EQ. -1) then 3416 3617 res@trXMinF = min(mini) … … 3472 3673 lgres@lgDashIndexes = (/0,1,2/) 3473 3674 lgres@lgLabelFont = "helvetica" 3474 lgres@lgLabelFontHeightF = .13675 lgres@lgLabelFontHeightF = font_size_legend 3475 3676 lgres@vpWidthF = 0.12 3476 3677 lgres@vpHeightF = 0.1 … … 3498 3699 gsn_panel(wks,plot_,(/n,1/),resP) 3499 3700 else 3500 do i = 0,n-1, no_ lines*no_columns3501 if( (i+no_ lines*no_columns) .gt. (n-1)) then3502 gsn_panel(wks,plot_(i:n-1),(/no_ lines,no_columns/),resP)3701 do i = 0,n-1, no_rows*no_columns 3702 if( (i+no_rows*no_columns) .gt. (n-1)) then 3703 gsn_panel(wks,plot_(i:n-1),(/no_rows,no_columns/),resP) 3503 3704 else 3504 gsn_panel(wks,plot_(i:i+no_ lines*no_columns-1),(/no_lines,no_columns/),resP)3705 gsn_panel(wks,plot_(i:i+no_rows*no_columns-1),(/no_rows,no_columns/),resP) 3505 3706 end if 3506 3707 end do
Note: See TracChangeset
for help on using the changeset viewer.