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.