Introduction to Unix, DTDM, GrADS AOSC115/
Transcription
Introduction to Unix, DTDM, GrADS AOSC115/
Introduction to Unix, DTDM, GrADS http://www.atmos.ucla.edu/~fovell/ AOSC115/ Some Unix basics (basis of Linux and Mac OS X) • The command prompt is $ (do not type it) • Unix commands presented in Courier font $ ls [lists your “visible” files] $ ls -a [lists all files, including invisible] $ ls -al! [lists all files, includes size & other info] $ pwd [print working directory - shows your location] Some Unix basics (continued) $ mkdir TEST [makes a directory called “TEST”] $ cd TEST [changes directory to “TEST”] $ cd ..! [moves UP in directory hierarchy] $ cd TeST [command should FAIL… Unix is usually CASE SENSITIVE – though it isn’t on Mac] Some Unix basics (continued) $ touch crap.txt [makes an empty file] $ gedit crap.txt !! [invoked Notepad-like text editor on Synoptic Lab machines] [add some text, save file and exit] $ ls -al crap.txt! [see it’s there] $ cp crap.txt crap.txt.backup! [make a copy with cp] $ rm crap.txt [the remove command. Asks for confirmation. Don’t type ‘y’] $ \rm crap.txt! [remove without confirmation. Think before hitting ENTER!] Some Unix basics (continued) $ mkdir BACKUP [makes a new directory] $ cp crap.txt.backup BACKUP/. [type exactly as written - there is NO space before the period] [the period means “keep the same name”] $ ls -al BACKUP/! [see a copy is in the new location] $ mkdir BACKUP/more_backup! [a new subdirectory in a directory] $ cd BACKUP/more_backup [move to new subdirectory] $ cd! $ pwd [cd by itself always takes you to your home directory] Some Unix basics (continued) $ cp /home/fovell/part* . [asterisk is wild card character. There IS a space before the period] [copies all files matching text pattern to your directory] $ ls part* [lists files matching pattern] $ cat part1 part2 > both_parts! [concatenates files] [greater-than sign is output redirect] $ more both_parts! [more lists contents, one screen at a time] [hit space bar for next screenfull, type “q” to quit] Your Unix PATH $ cp /home/fovell/execute_me . $ execute_me - if you receive execute_me: command not found your PATH needs changing - The PATH is an environment variable that tells Unix where to find stuff, and the order in which to look $ ./execute_me - this forces Unix to look in the current directory for the program to run Fortran compiler • Try this command $ which ifort • If you get this… we definitely need to alter your Unix environment $ ifort: Command not found! Preparation for new users [for users with bash shell ONLY] $ cd $ mv .bash_profile .bash_profile_old! [mv is move command] ![.bash_profile is script file of commands, paths, etc., executed for every new terminal window] $ cat .bash_profile_old /home/fovell/addon2014.sh > .bash_profile [type exactly as shown] [greater-than sign is output redirect] $ source .bash_profile! [changes to script file in present window do not take effect until “sourced”] $ which ifort! [see: /opt/intel/composer_xe_2015.0.090/bin/intel64/ifort ] $ which grads! [see /usr/bin/grads] DTDM on our Synoptic Lab Linux computers • Synoptic Lab computers open during business hours ONLY and printing is difficult $ cp /home/fovell/DTDM_package_linux.tar . [note space and period!] $ tar –xvf DTDM_package_linux.tar! $ cd DTDM! $ make! [makes the dtdm executable file] Using DTDM $ dtdm < input_thermal.txt! [runs model, makes output] [less-than sign provides contents of txt file to the dtdm executable] $ grads –l! ! [starts up GrADS; ga-> is GrADS prompt] ga-> open thermal.anelastic! ga-> query file http://grads.iges.org/grads/gadoc/gadocindex.html Getting to know GrADS • Important commands open [file] ! ! q or query ! ! d or display! ! c or clear ! ! set gxout ! ! d u;v ! ! ! set t 13 ! ! set cint 1.5! ! set ccolor 4! ! printim out.gif gif set display color white quit ! ! ! !open my_experiment! !q file, q dims! !d theta, d qvapor! !c! !contour, shaded, print, scatter! ![plots vectors! ![sets to 13th time! ![contour interval! ![contour color blue! ![makes a GIF plot! ![makes white background**! ![quits GrADS! ! **GrADS 2.1 and later ignores “color”, so ‘set display white’ suffices Using DTDM (cont.) File 1 : DTDM demo simulation Descriptor: thermal.anelastic.ctl Binary: thermal.anelastic.dat Type = Gridded Xsize = 99 Ysize = 1 Zsize = 82 Tsize = 11 Number of Variables = 17 u 82 0 horizontal velocity up 82 0 pert horizontal velocity w 82 0 vertical velocity th 82 0 potential temperature thp 82 0 pert potential temperature pi 82 0 ndim pressure pip 82 0 pert ndim pressure ppmb 82 0 pert pressure in millibars pbyc 82 0 buoyancy pressure in millibars pdyn 82 0 dynamic pressure in millibars ptot 82 0 total pressure in millibars dudtd 82 0 U acceleration - dynamic dudtb 82 0 U acceleration - buoyancy dudtt 82 0 U acceleration - total dwdtd 82 0 W acceleration - dynamic dwdtb 82 0 W acceleration - buoyancy dwdtt 82 0 W acceleration - total • running dtdm model created two new GrADS files: thermal.anelastic.ctl! thermal.anelastic.dat • contents of thermal.anelastic.ctl shown at left! ga-> set t 6 ga-> start.gs ga-> d thp ga-> c ga-> set black 0 0 ga-> d thp ga-> d ppmb [Note zero contour is back…] ga-> c ga-> set ccolor 1 ga-> d pbyc ga-> c ga-> set ccolor 4 ga-> d pdyn GrADS default color sequence http://grads.iges.org/grads/gadoc/gadocindex.html ga-> c ga-> set ccolor 2 ga-> d w*100 ga-> ga-> ga-> ga-> ga-> ga-> ga-> c set gxout shaded d w scripts/cbarn.gs set gxout contour set ccolor 1 d dwdtt dwdtt is Lagrangian dw/dt, not Eulerian ∂w/∂t ga-> set t 9 ga-> c ga-> d u;w Control vector length with set arrscl 0.5 20.0! [standard length set to 20 m/s] ga-> c ga-> d skip(u,2,3);w ga-> ga-> ga-> ga-> ga-> c q dims set x 30 70 set xaxis 30 70 10 d skip(u,2,3);w Zoom in ga-> ga-> ga-> ga-> draw xlab x (km) draw ylab height (km) draw title EXP01 uw t=9 printim example01.gif gif Outside of GrADS, can display images using display! http://grads.iges.org/grads/gadoc/script.html#intro scripts/thermal.gs 'set mproj off' 'set display color white' 'clear' 'set grads off' 'scripts/rgbset.gs' * plot w 'set x 30 70' 'set gxout shaded' 'set clevs -12.5 -10 -7.5 -5 -2.5 0 2.5 5 7.5 10 12.5' 'set ccols 49 47 45 43 41 0 61 62 63 65 67 69' 'd w' 'scripts/cbarn.gs' 'set gxout contour' ga-> set t 6 ga-> scripts/thermal.gs Three important commands ga-> reset! • resets GrADS environment to starting conditions… Time dimension set to 1st time, gxout to contour, etc.. Does not close open files. ga-> reinit! • resets AND closes all open files. “All but quit.” ga-> quit! Running another case $ gedit! [edit input_thermal.txt] [change casename, ianelastic, csnd] ! &experiment! casename = 'thermal.nonanelastic.30',! $! ! &framework! ipressure = 1,! ianelastic = 0,! csnd = 30.,! $! ! ! $ dtdm < input_thermal.txt! Multiple files with GrADS $ grads –l! ! ga-> open thermal.anelastic! ga-> open thermal.nonanelastic.30 When multiple files are open, append file number to variable name: e.g., d thp.2! ga-> ga-> ga-> ga-> ga-> ga-> ga-> ga-> start.gs set t 11 scripts/thermal.gs set gxout contour set ccolor 1 set cthick 8 set cint 0.1 d ppmb.1-ppmb.2 Animations made painless ga-> step.gs thp 1 11 1.0 Plots field thp! …for steps through times 1 through 11, inclusive …with contour interval 1.0 …hit return to proceed to the next time ga-> ga-> ga-> ga-> ga-> ga-> ga-> c set x 50 set z 1 set t 1 11 d max(w,z=1,z=82) set ccolor 4 d max(w.2,z=1,z=82) Time series plots ga-> ga-> ga-> ga-> ga-> c set x 50 set z 1 82 set t 1 11 d thp Hovmoller plots More on GrADS image output ga-> ga-> ! ga-> ga-> ga-> printim image01.png printim image01.jpg jpg enable print image01.m! print! disable print GrADS 2.1 simplifies all of this… Once a *.m file is created, it can be converted (outside of GrADS) to a postscript or eps file ! $ gxps –c –i image01.m –o image01.ps! $ gxeps –c –i image01.m –o image01.eps! ! Final cautions • Make backups • This command runs the model $ dtdm < input_thermal.txt • This command destroys the input file! $ dtdm > input_thermal.txt! ! Advice • Don’t ask what’s the least you can do for me. Instead, ask what’s the most you can do for yourself.