> -z239.668 analyse and...

51
Summerschool 2007 t21 temp2m GMT 210˚ 210˚ 260˚ 260˚ 310˚ 310˚ 0˚ 0˚ 50˚ 50˚ 100˚ 100˚ 150˚ 150˚ 80˚ 80˚ 60˚ 60˚ 40˚ 40˚ 20˚ 20˚ 0˚ 0˚ 20˚ 20˚ 40˚ 40˚ 60˚ 60˚ 80˚ 80˚ > -Z238.859 8.4375 83.0147 14.0625 83.0147 14.0625 90 8.4375 90 8.4375 83.0147 > -Z239.668 14.0625 83.0147 19.6875 83.0147 19.6875 90 14.0625 90 14.0625 83.0147 > -Z240.523 19.6875 83.0147 25.3125 83.0147 25.3125 90 19.6875 90 19.6875 83.0147 > -Z240.857 25.3125 83.0147 30.9375 83.0147 30.9375 90 25.3125 90 247.21 244.83 242.70 240.88 239.51 238.76 238.52 238.58 238.68 238.82 238.99 239.18 239.17 238.95 238.78 238.42 238.04 237.71 237.43 237.33 237.53 238.16 239.29 240.95 243.37 245.92 248.69 251.52 252.06 257.99 260.38 262.42 263.97 265.29 265.57 266.06 265.64 264.20 263.74 263.20 262.42 261.77 261.32 260.99 260.78 260.71 260.72 261.14 261.53 261.57 263.04 263.72 264.30 265.09 265.23 264.64 264.52 263.75 261.33 259.16 257.07 255.06 252.64 249.88 245.79 244.97 244.23 243.53 242.89 242.34 241.87 241.45 241.12 240.87 240.69 240.56 240.47 240.42 240.41 240.45 240.55 240.71 240.96 241.32 241.75 242.28 242.88 243.58 244.34 245.15 1 analyse and visualize climate model output data in GRIB or NetCDF format with cdo and GMT on UNIX systems handouts: this slides cdo quick reference gmt quick reference cdo GMT

Upload: others

Post on 20-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Summerschool 2007

t21 temp2m GMT

210˚

210˚

260˚

260˚

310˚

310˚

50˚

50˚

100˚

100˚

150˚

150˚

−80˚ −80˚

−60˚ −60˚

−40˚ −40˚

−20˚ −20˚

0˚ 0˚

20˚ 20˚

40˚ 40˚

60˚ 60˚

80˚ 80˚

> -Z238.859 8.4375 83.0147 14.0625 83.0147 14.0625 90 8.4375 90 8.4375 83.0147> -Z239.668 14.0625 83.0147 19.6875 83.0147 19.6875 90 14.0625 90 14.0625 83.0147> -Z240.523 19.6875 83.0147 25.3125 83.0147 25.3125 90 19.6875 90 19.6875 83.0147> -Z240.857 25.3125 83.0147 30.9375 83.0147 30.9375 90 25.3125 90

247.21 244.83 242.70 240.88 239.51 238.76238.52 238.58 238.68 238.82 238.99 239.18239.17 238.95 238.78 238.42 238.04 237.71237.43 237.33 237.53 238.16 239.29 240.95243.37 245.92 248.69 251.52 252.06 257.99260.38 262.42 263.97 265.29 265.57 266.06265.64 264.20 263.74 263.20 262.42 261.77261.32 260.99 260.78 260.71 260.72 261.14261.53 261.57 263.04 263.72 264.30 265.09265.23 264.64 264.52 263.75 261.33 259.16257.07 255.06 252.64 249.88 245.79 244.97244.23 243.53 242.89 242.34 241.87 241.45241.12 240.87 240.69 240.56 240.47 240.42240.41 240.45 240.55 240.71 240.96 241.32241.75 242.28 242.88 243.58 244.34 245.15

1

analyse and visualizeclimate model output datain GRIB or NetCDF format

withcdo and GMT on UNIX systems

handouts:this slides

cdo quick referencegmt quick reference

cdo

GMT

Summerschool 2007

tiny 23%cdo info tsurf.1.nc -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 1978-01-02 00:00 169 0 2048 0 : 226.98 268.46 311.08cdo info : Processed 1 variable 1 timestep. ( 0.00s )

<-- x values for longitude -->

<-- y values for latitude -->

2

2d field & cdo info

Summerschool 2007

3

2d fields timeseries

tt+1

t+2t+3

t+4t+5

Summerschool 2007 4 3 1 0

2 5 7 98 5 10 6

4 3 1 02 5 7 98 5 10 6

4 3 1 02 5 7 98 5 10 6

4 3 1 02 5 7 98 5 10 6

4 3 1 02 5 7 98 5 10 6

1 2 3 45 6 7 89 10 1 2

1 4 6 72 5 3 912 4 3 6

6 3 7 02 5 7 98 1 12 6

8 9 10 17 6 5 41 2 3 9

4 3 1 02 5 7 98 5 10 6

var(lat,lon) time records var(time,lat,lon)

here: var(3,4) 5 records var(5,3,4)4

Grib & NetCDF representation of a 2d timeseries

Summerschool 2007

5

Data Formats: GRIB

ds8 55%grib -ginfo zzz.grb Rec : Position Size : V PDS GDS BMS BDS : Code Level : LType GType 1 : 0 36948 : 1 28 32 0 36876 : 133 20000 : 100 4 2 : 36948 36948 : 1 28 32 0 36876 : 133 20000 : 100 4 3 : 73896 36948 : 1 28 32 0 36876 : 133 20000 : 100 4 4 : 110844 36948 : 1 28 32 0 36876 : 133 20000 : 100 4 5 : 147792 36948 : 1 28 32 0 36876 : 133 20000 : 100 4ds8 56%grib -gdsinfo zzz.grb Rec : GDS NV PVPL Typ : xsize ysize Lat1 Lon1 Lat2 Lon2 dx dy 1 : 32 0 255 4 : 192 96 88572 0 -88572 358125 1875 48 2 : 32 0 255 4 : 192 96 88572 0 -88572 358125 1875 48 3 : 32 0 255 4 : 192 96 88572 0 -88572 358125 1875 48 4 : 32 0 255 4 : 192 96 88572 0 -88572 358125 1875 48 5 : 32 0 255 4 : 192 96 88572 0 -88572 358125 1875 48ds8 57%

Grib header information: Product Description Section GRID Description Section Bitmap SectionData: Binary Data Section

Summerschool 2007

6

netcdf zzz {dimensions: lon = 192 ; lat = 96 ; lev = 1 ; time = UNLIMITED ; // (10 currently)variables: double lon(lon) ; lon:long_name = "longitude" ; lon:units = "degrees_east" ;double lat(lat) ; lat:long_name = "latitude" ; lat:units = "degrees_north" ;double lev(lev) ; lev:long_name = "pressure" ; lev:units = "Pa" ;double time(time) ; time:units = "day as %Y%m%d.%f" ;float q(time, lev, lat, lon) ; q:long_name = "specific humidity" ; q:units = "kg/kg" ; q:code = 133 ; q:table = 128 ; q:grid_type = "gaussian" ;// global attributes: :CDO = "Climate Data Operators version 0.9.5 " ; :source = "ECHAM5.2" ; :institution = "Max-Planck-Institute for Meteorology" ;data:lon = ...... ;....}

Data Formats: NetCDF

Summerschool 2007

7

nco: good for file and header manipulationncview: simple view on netcdf filesncdump, ncgen: nc to ascii and vice versa options: -h (header only) -v [var] (var only)GMT: vizualisation toolcdo: mpi choice only for data processinggradsnc: visualisation tool

wgrib, dkrz-readgrib: Small tools just for read and write grib filesGMT: visualization toolxconv: quicklook for grib files (BADC)cdo: mpi choice only for data processinggradsc: visualisation tool

grib tools

netcdf tools

Summerschool 2007

CDOClimate Data Operators

8

Current officially released version is cdo 1.0.8

homepage:http://www.mpimet.mpg.de/fileadmin/software/cdo/

SUN (Solaris 8): /client/binSUN (Solaris 10)(zetta, jango): /client/binLINUX: /client/binhurrikan: /pool/SX-6/cdo/bincross: /pool/ia64/cdo/bin

or local installations ( LINUX, Mac OS X)(cc or gcc, NetCDF support: libnetcdf.a )

Summerschool 2007

Usage:

cdo [options] \ operator[,op[,op]] \ [-operator] \ ifile [ifile ...] [ofile]

for:

GRIB-, NetCDF-, ieg-, Service-, Extra- formatted files

9

Summerschool 2007

-a Convert from relative to absolute time axis-f <format> Format of output file. (grb, nc, nc2, srv, ext or ieg)-g <grid> Grid name or file. Available grids: t<RES>grid, t<RES>spec, r<NX>x<NY>, g<NX>x<NY>, ni<NI>-h Help information for the operators-m <missval> Set the default missing value (default: -9e+33)-p <prec> Set the precision of the output data in bytes (4/8 for nc, nc2, srv, ext, ieg; 1/2/3 for grb)-R Convert GRIB data from reduced to regular grid-r Convert from absolute to relative time axis-t <partab> Parameter table name or file Predefined tables: echam4 echam5 mpiom1 ecmwf remo-V Print the version number-v Print extra details for some operators

(-s) silent (no extra output on stdout - not documented)

10

Options:

Summerschool 2007

- informationscdo info, infov, infos, map, griddes, vardes, ...cdo showcode, showvar, showyear, showmonth, showlevel, ...- file operationscdo copy, merge, split- selectionscdo selvar, selcode, sellevel, selyear, ...cdo sellonlatboxcdo seltimestep- input/ ouputcdo input, output, outputf, gradsdes, outputbounds ...- statisticcdo yearmean, yearavg, yearmax, yearsum, yearvar, yearstdcdo hour..., day..., mon..., seas...- arithmeticcdo add, addc, sqr, sqrt, cos, atan2- conditional selectioncdo ifthen, ifnotthen, ifthenelse, ifthenc, ifnotthenc- comparisioncdo eq, eqc, ne, nec, le, lec, ge, gec, lt, ltc, gt, gtc

There are more than 350 operators available:

11

Summerschool 2007

sophie 35%cdo -f nc -t echam4 copy zzz.grb zzz.nccdo copy : Processed 1 variable 1 timestep. ( 0.01s 0B )sophie 36%cdo infov zzz.nc-1 : Date Time Varname Level Size Miss : Minimum Mean Maximum 1 : 24-01-01 18:00 tsmax 0 8192 0 : 229.31 279.04 327.19cdo infov : Processed 1 variable 1 timestep. ( 0.00s 0B )

example informations: info, infov

sophie 29%cdo info zzz.grb-1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 24-01-01 18:00 214 0 8192 0 : 229.31 279.04 327.19cdo info : Processed 1 variable 1 timestep. ( 0.00s 0B )sophie 30%cdo infov zzz.grb-1 : Date Time Varname Level Size Miss : Minimum Mean Maximum 1 : 24-01-01 18:00 var214 0 8192 0 : 229.31 279.04 327.19

example file operations: copy

12

Summerschool 2007

jango 52%cdo seltimestep,1 EH5_OM_A2_1_MM_TEMP2_1-1200.grb zzz1.grbcdo seltimestep : Processed 1 variable 2 timesteps. ( 0.00s )jango 53%cdo seltimestep,1/5 EH5_OM_A2_1_MM_TEMP2_1-1200.grb zzz5.grbcdo seltimestep : Processed 1 variable 6 timesteps. ( 0.01s )jango 54%cdo info zzz5.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 167 0 18432 0 : 227.84 276.36 307.02 2 : 2001-02-28 18:00 167 0 18432 0 : 221.51 276.02 307.52 3 : 2001-03-31 18:00 167 0 18432 0 : 212.20 276.55 306.41 4 : 2001-04-30 18:00 167 0 18432 0 : 206.65 277.81 311.49 5 : 2001-05-31 18:00 167 0 18432 0 : 206.30 279.51 314.02cdo info : Processed 1 variable 5 timesteps. ( 0.00s )

example selections: seltimestep

13

Summerschool 2007

jango 56%cdo seltimestep,2 -selcode,130 -sellevel,100000 \ EH5_OM_ALLES_MM.grb zzz.grbcdo seltimestep: Started child process "selcode,130 -sellevel,100000 \ EH5_OM_ALLES_MM.grb (pipe1.1)".cdo(2) selcode: Started child process "sellevel,100000 \ EH5_OM_ALLES_MM.grb (pipe2.1)".cdo(3) sellevel : Processed 8 variables 12 timesteps. ( 0.08s )cdo(2) selcode : Processed 3 variables 12 timesteps. ( 0.08s )cdo seltimestep : Processed 1 variable 3 timesteps. ( 0.08s )jango 57%cdo info zzz.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-02-28 18:00 130 100000 18432 0 : 234.55 278.21 307.33cdo info : Processed 1 variable 1 timestep. ( 0.00s )

example selection/piping: seltimestep, selcode

14

Summerschool 2007

example cond. selection/comparision cdo info EH5_OM_A1B_1_MM_APRC_1-12.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 143 0 18432 0 : -6.3936e-22 1.2878e-05 0.00029618 2 : 2001-02-28 18:00 143 0 18432 0 : -6.0044e-22 1.3204e-05 0.00033819 3 : 2001-03-31 18:00 143 0 18432 0 : -4.2327e-22 1.2977e-05 0.00021810

cdo gtc,0.0 EH5_OM_A1B_1_MM_APRC_1-12.grb mask cdo info mask -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 143 0 18432 0 : 0.0000 0.63840 1.0000 2 : 2001-02-28 18:00 143 0 18432 0 : 0.0000 0.66574 1.0000 3 : 2001-03-31 18:00 143 0 18432 0 : 0.0000 0.66596 1.0000

cdo setmisstoc,0.0 -ifthen mask EH5_OM_A1B_1_MM_APRC_1-12.grb APRC.grbcdo info res.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 143 0 18432 0 : 0.0000 1.2878e-05 0.00029618 2 : 2001-02-28 18:00 143 0 18432 0 : 0.0000 1.3204e-05 0.00033819 3 : 2001-03-31 18:00 143 0 18432 0 : 0.0000 1.2977e-05 0.00021810

ifthen = i2(t,x) if i1 != 0 = miss if i1 = 0

gtc = 1 if i1 > 0 = 0 if i1 <= 0

15

Summerschool 2007

example arithmetic: sqr, sqrt

jango 78%cdo sqrt -add -sqr U1000.grb -sqr V1000.grb SPEED1000.grbcdo sqrt: Started child process "add -sqr U1000.grb -sqr V1000.grb (pipe1.1)"cdo(2) add: Started child process "sqr U1000.grb (pipe2.1)".cdo(2) add: Started child process "sqr V1000.grb (pipe2.2)".cdo(4) sqr : Processed 1 variable 12 timesteps. ( 0.11s )cdo(3) sqr : Processed 1 variable 12 timesteps. ( 0.11s )cdo(2) add : Processed 2 variables 24 timesteps. ( 0.11s )cdo sqrt : Processed 1 variable 12 timesteps. ( 0.11s )

16

√(u2 + v2)

Summerschool 2007

example arithmetic/modification

cdo add APRL.grb APRC.grb aprt.grb cdo info aprt.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 142 0 18432 0 : 1.5681e-18 2.7167e-05 0.00031561 2 : 2001-02-28 18:00 142 0 18432 0 : 1.5726e-18 2.7682e-05 0.00034394 3 : 2001-03-31 18:00 142 0 18432 0 : 1.5640e-18 2.7915e-05 0.00022897

cdo setcode,4 aprt.grb APRT.grb cdo info APRT.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 4 0 18432 0 : 1.5681e-18 2.7167e-05 0.00031561 2 : 2001-02-28 18:00 4 0 18432 0 : 1.5726e-18 2.7682e-05 0.00034394 3 : 2001-03-31 18:00 4 0 18432 0 : 1.5640e-18 2.7915e-05 0.00022897

cdo info APRL.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 142 0 18432 0 : 1.5681e-18 1.4289e-05 0.00016663 2 : 2001-02-28 18:00 142 0 18432 0 : 1.5726e-18 1.4478e-05 0.00013505 3 : 2001-03-31 18:00 142 0 18432 0 : 1.5640e-18 1.4938e-05 0.00013354

cdo mulc,86400 APRT.grb APRTmd.grb cdo info APRTmd.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 2001-01-31 18:00 4 0 18432 0 : 1.3549e-13 2.3473 27.268 2 : 2001-02-28 18:00 4 0 18432 0 : 1.3587e-13 2.3917 29.716 3 : 2001-03-31 18:00 4 0 18432 0 : 1.3513e-13 2.4119 19.783

17

Summerschool 2007

18

time, field & running means

day-, month-, seas-, yearmean:

cdo daymean file.6h.grb file.1d.grbcdo monmean file.1d.grb file.mon.grbcdo seasmean file.mon.grb file.seas.grbcdo yearmean file.seas.grb file.year.grb

fieldmean:

cdo fldmean file.global.grb file.gmean.grb# or for selected regions:cdo fldmean -sellonlatbox,w,e,s,n file.global.grb file.regmean.grb

running mean:

cdo runmean,5 file.mon file.runmon.grb# the running mean over 5 month

experts: mean and average give different result if missing values occur: mean only treats "real values": 1 + 2 + 3 + miss = 6/3 = 2; average: 1 + 2 + 3 + miss = miss/4 = miss.

Summerschool 2007

How a parameter table looks like:

134 aps surface pressure [Pa]141 sn snow depth [m]147 ahfl latent heat flux [W/m**2]172 slm land sea mask175 albedo surface albedo211 siced ice depth [m]

cdo -f nc -t tab2 file.grb file.nccdo infov file.nc

tiny 78%cdo infov sechs2.grb-1 : Date Time Varname Level Size Miss : Minimum Mean Maximum 1 : 1978-12-31 00:00 aps 0 2048 0 : 58574. 97057. 1.0789e+05 2 : 1978-12-31 00:00 sn 0 2048 0 : 0.0000 0.0058780 0.16087 3 : 1978-12-31 00:00 ahfl 0 2048 0 : -362.71 -60.509 3.8557 4 : 1978-12-31 00:00 slm 0 2048 0 : 0.0000 0.33105 1.0000 5 : 1978-12-31 00:00 albedo 0 2048 0 : 0.070000 0.28956 0.80000 6 : 1978-12-31 00:00 siced 0 2048 0 : 0.0000 0.31012 3.6166

Example:

19

Summerschool 2007

cdo -r -f nc -t echam4 copy zzz.grb zzz.nc

-r relative time axis-f nc output format is netcdf-t echam4 use parameter table echam4

converting a GRIB-file to NetCDF...

cdo formats:

cdo -f ext copy zzz.grb zzz.ext

-f ext output format is extra

converting a GRIB-file to extra...

output is a formatted text file...cdo outputf,%8.3f,5 zzz.grb zzz.asc

%8.3f c format convention5 values per line

20

Summerschool 2007

first select the code:cdo selcode,<code> [-sellevel,<lev>] ifile ofileadjust the size, cut off overlapping columns and set the curve linear grid:cdo -t mpiom1 -f nc setgrid,GR30s.nc \ -selindexbox,2,121,1,101 -setgrid,r122x101 \ filein.ext inter.ncconvert to regular grid:cdo remapcon,r240x120 inter.nc fileout.nc

grib files. scalar and vektor codes need different grids:GR30s.nc for scalar, GR30v.nc for zonal vector and GR30u.nc for meridional vector values. Vertical vector values on scalar grid but different level.

21

control run (grid for source file already set and selected):cdo -t mpiom1 -f nc setgrid,GR30s.nc zzz.grb oceanorig.nc cdo remapcon,r240x120 oceanorig.nc oceanreg.nc cdo mergetime ifiles ofile # for a complete timeseries

mpiom1 & hamocc

Summerschool 2007

22

Convert a jsbach veg file fromgrib to netcdf:

cdo -f nc -t jsbach.veg.codes copy \ sus0000_jsbach_veg_0801.grb \ sus0000_jsbach_veg_0801.nc

cdo mergetime ifiles ofile # for a complete timeseries

echam5 & jsbach

cdo selcode,130 sus0000_ATM_0801.grb temp130.atm.0801.grbcdo selcode,130 -sellevel,50000 sus0000_ATM_0801.grb \ temp130.500.atm.0801.grb

select code 130 with all level from echam5 ATM file or select code 130 on level 500 hpa.

Summerschool 2007

GMTgeneric mapping tools

Current officially released version is gmt 4.2

http://gmt.soest.hawaii.edu/

http://gmt.soest.hawaii.edu/

cross (version 4.2) : /pool/ia64/gmt-4.2sun solaris (version 3.41) : /client/binLINUX (version ?) : /client/bin

23

Summerschool 2007

24

2007 Aug 21 14:49:19 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

".+ ",+ "0+ "/+ "1+ "-+ "2+ .++

345$6$"1.7#08

The picture

Summerschool 2007

25

#!/bin/kshset -xv#IFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.asc##gmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18#gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE#

The commands (in a script)

opener.j

Summerschool 2007

26

#!/bin/kshset -xv#IFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.asc#gmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE#

!""#$%&'$!($")*!!*+) joergwegner

,!+$,-./!.$012

!""!

!""!

!("!

!("!

!3"!

!3"!

4!"!

4!"!

"!

"!

("!

("!

3"!

3"!

+!"!

+!"!

+5"!

+5"!

!3"! !3"!

!("! !("!

"! "!

("! ("!

3"! 3"!

2007 Aug 24 09:23:29 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

2007 Aug 24 09:25:28 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

2007 Aug 24 09:26:00 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

".+ ",+ "0+ "/+ "1+ "-+ "2+ .++

345$6$"1.7#08

2007 Aug 24 09:26:18 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

".+ ",+ "0+ "/+ "1+ "-+ "2+ .++

345$6$"1.7#08

frame

+settings +map & grid

+colors

+dataThe puzzle

Summerschool 2007

cdo outputbounds zzz.grb > zzz.asc

creates

sophie 25% more zzz.asc# File = zzz.nc# Name = T_2M# Code = -1# Level = 2# Date = 1950-01-01# Time = 03:00#> -Z287.575 -10.7 34.5 -10.5 34.5 -10.5 34.7 -10.7 34.7 -10.7 34.5> -Z287.542 -10.5 34.5 -10.3 34.5 -10.3 34.7 -10.5 34.7 -10.5 34.5.....

27

#!/bin/kshIFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.ascgmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

Preparing the data

Summerschool 2007

28

!""#$%&'$!($")*!!*+) joergwegner

,!+$,-./!.$012

!""!

!""!

!("!

!("!

!3"!

!3"!

4!"!

4!"!

"!

"!

("!

("!

3"!

3"!

+!"!

+!"!

+5"!

+5"!

!3"! !3"!

!("! !("!

"! "!

("! ("!

3"! 3"!

#!/bin/kshIFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.ascgmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

psbasemap -R

-J-X -Y -B-U -K >| $OFILE

region in west/east/south/north or shortcut g,d for globalprojection & scale shift origin of plot axes, ticks, label, headertimestamp composing the postscript output

The frame

Summerschool 2007

29

2007 Aug 24 09:23:29 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

#!/bin/kshIFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.ascgmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

The settings

-> .gmtdefaults4

Summerschool 2007

30

2007 Aug 24 09:25:28 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

#!/bin/kshIFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.ascgmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

The map & the grid lines

Summerschool 2007

31

2007 Aug 24 09:26:00 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

".+ ",+ "0+ "/+ "1+ "-+ "2+ .++

345$6$"1.7#08

#!/bin/kshIFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.ascgmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

The colors

Summerschool 2007

32

#!/bin/kshIFILE=$1OFILE=$2cdo outputbounds $IFILE > ${IFILE%.*}.ascgmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10makecpt -Crainbow -T230/307/3 > zzz.cptpsbasemap -Rd -JQ0/8i -X1.8i -Y2i -B40/40:."t21 temp2m GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

The data & the colors

Summerschool 2007

33

2007 Aug 21 14:49:19 joergwegner

!"#$!%&'"&$()*

"++!

"++!

",+!

",+!

"-+!

"-+!

."+!

."+!

+!

+!

,+!

,+!

-+!

-+!

#"+!

#"+!

#/+!

#/+!

!-+! !-+!

!,+! !,+!

+! +!

,+! ,+!

-+! -+!

".+ ",+ "0+ "/+ "1+ "-+ "2+ .++

345$6$"1.7#08

The complete picture !

Summerschool 2007

34

The options

makecpt -Ccolortable #master color table (rainbow, polar, red2green, ocean, ...) -Tmin/max/incr #range (lowest/highest/increment) value of variablepsbasemap -Rwest/east/south/north#region (west/east/south/north or abbr. g (global #0 degree centered) or d (180 degree centered) -Jmap/size # select map projection and size see extra slide -Xpos -Ypos # x y position of lower left corner in inches[i] or centimeter[c] -B[p|s]xinfo[/yinfo[/zinfo]][:".Title":WSEN #boundary annotation and tick mark intervalls #a= annotation, f = frame, g = grid (a40g30), WESN all axes with #ticks, wsen all axes without ticks, WE only west-east axes -U/0.0i/-1.3i/"joergwegner" # timestamp location/annotation -K -O #postscript mode: K more code will follow, O overlay psxy -M IFILE #ascii input file (from cdo outputbounds) -L #force closed polygons -Ccolortable #color palette filepsscale -D4.0i/-0.5i/4.0i/0.2ih #center/left[top] position length/height in inch[i] or #cm[c] add. h for horizontal position -B10/:"[\260C + 273.15]": #annotation, tick and interval for colorbar psbasemap -Bxgrid/ygrid #in degree pscoast -Dresolution #of map file (crude, low, intermediate, high, full) -W0.5p #Pen size in points -Nborder #draw political borders [1,2,3,a]& format -Iriver #draw rivers [1-10, a, r, i, c]

detailled description with man <command>

Summerschool 2007

35

## GMT-SYSTEM 4.1.1 Defaults file##-------- Plot Media Parameters ---------PAGE_COLOR = 255/255/255PAGE_ORIENTATION = landscapePAPER_MEDIA = a4#-------- Basemap Annotation Parameters --ANNOT_MIN_ANGLE = 20ANNOT_MIN_SPACING = 0ANNOT_FONT_PRIMARY = Courier-BoldANNOT_FONT_SIZE = 10pANNOT_OFFSET_PRIMARY = 0.1cANNOT_FONT_SECONDARY = Courier-BoldANNOT_FONT_SIZE_SECONDARY = 14pANNOT_OFFSET_SECONDARY = 0.2cDEGREE_SYMBOL = ringHEADER_FONT = Courier-BoldHEADER_FONT_SIZE = 18pHEADER_OFFSET = 0.47625cLABEL_FONT = Courier-BoldLABEL_FONT_SIZE = 16pLABEL_OFFSET = 0.3cOBLIQUE_ANNOTATION = 1PLOT_CLOCK_FORMAT = hh:mm:ssPLOT_DATE_FORMAT = yyyy-mm-ddPLOT_DEGREE_FORMAT = +ddd:mm:ssY_AXIS_TYPE = hor_text

#-------- Basemap Layout Parameters ------BASEMAP_AXES = WESNBASEMAP_FRAME_RGB = 0/0/0BASEMAP_TYPE = fancyFRAME_PEN = 1.25pFRAME_WIDTH = 0.2cGRID_CROSS_SIZE_PRIMARY = 0cGRID_CROSS_SIZE_SECONDARY = 0cGRID_PEN_PRIMARY = 0.25pGRID_PEN_SECONDARY = 0.5pMAP_SCALE_HEIGHT = 0.2cTICK_LENGTH = 0.2cTICK_PEN = 0.5pX_AXIS_LENGTH = 25cY_AXIS_LENGTH = 15cX_ORIGIN = 2.5cY_ORIGIN = 2.5cUNIX_TIME = FALSEUNIX_TIME_POS = -2c/-2c#-------- Color System Parameters --------COLOR_BACKGROUND = 0/0/0COLOR_FOREGROUND = 255/255/255COLOR_NAN = 128/128/128COLOR_IMAGE = adobeCOLOR_MODEL = rgbHSV_MIN_SATURATION = 1HSV_MAX_SATURATION = 0.1HSV_MIN_VALUE = 0.3HSV_MAX_VALUE = 1

.gmtdefaults4 -I-

The defaults

Summerschool 2007

36

#-------- Projection Parameters ---------ELLIPSOID = WGS-84MAP_SCALE_FACTOR = defaultMEASURE_UNIT = cm#-------- Calendar/Time Parameters ------TIME_FORMAT_PRIMARY = fullTIME_FORMAT_SECONDARY = fullTIME_EPOCH = 2000-01-01T00:00:00TIME_IS_INTERVAL = OFFTIME_INTERVAL_FRACTION = 0.5TIME_LANGUAGE = usTIME_SYSTEM = j2000TIME_UNIT = dTIME_WEEK_START = SundayY2K_OFFSET_YEAR = 1950#-------- Miscellaneous Parameters -------INTERPOLANT = akimaLINE_STEP = 0.025cVECTOR_SHAPE = 0VERBOSE = FALSE

#-------- PostScript Parameters ---------CHAR_ENCODING = ISOLatin1+DOTS_PR_INCH = 300N_COPIES = 1PS_COLOR = rgbPS_IMAGE_COMPRESS = nonePS_IMAGE_FORMAT = asciiPS_LINE_CAP = buttPS_LINE_JOIN = miterPS_MITER_LIMIT = 0GLOBAL_X_SCALE = 1GLOBAL_Y_SCALE = 1#-------- I/O Format Parameters ---------D_FORMAT = %lgFIELD_DELIMITER = tabGRIDFILE_SHORTHAND = FALSEGRID_FORMAT = nfINPUT_CLOCK_FORMAT = hh:mm:ssINPUT_DATE_FORMAT = yyyy-mm-ddIO_HEADER = FALSEN_HEADER_RECS = 1OUTPUT_CLOCK_FORMAT = hh:mm:ssOUTPUT_DATE_FORMAT = yyyy-mm-ddOUTPUT_DEGREE_FORMAT = +DXY_TOGGLE = FALSE

.gmtdefaults4 -II-

gmtset HEADER_FONT Courier-Bold HEADER_FONT_SIZE 18gmtset ANNOT_FONT_PRIMARY Courier-Bold ANNOT_FONT_SIZE_PRIMARY 10

The defaults

Summerschool 2007

37

The color-table#colors from deep blue over yellow and red to violet#B= < z0, F= > zn, N=NaN (not a number)#COLOR_MODEL = RGBfrom K red green blue to K red green blue252 15 0 100 254 35 50 100254 35 50 100 256 35 50 140256 35 50 140 258 35 80 160258 35 80 160 260 35 125 180260 35 125 180 262 100 200 225262 100 200 225 264 150 225 250264 150 225 250 266 175 240 250266 175 240 250 268 200 250 250268 200 250 250 270 210 250 230270 210 250 230 272 230 250 210272 230 250 210 274 255 255 175274 255 255 175 276 255 220 175276 255 220 175 278 255 200 150278 255 200 150 280 255 200 0280 255 200 0 282 255 150 0282 255 150 0 284 255 100 0284 255 100 0 286 255 50 0286 255 50 0 288 200 0 0288 200 0 0 290 175 0 0290 175 0 0 292 125 0 0292 125 0 0 294 75 0 0294 75 0 0 296 160 70 160296 160 70 160 298 130 30 140298 130 30 140 300 100 0 120B 0 0 0F 255 255 255N 128 128 128

z0z1...

.

.

.zn-1zn

Summerschool 2007

38

cdo info temp2.day15f.grb | tail +2 | \ cut -c 10-19,73-79 | sed -e"s/ /,/g" > temp2.day15f.asc

tiny 74%cdo info temp2.rm5f.grb -1 : Date Time Code Level Size Miss : Minimum Mean Maximum 1 : 0801-03-15 18:00 167 0 1 0 : 286.67 2 : 0801-04-15 18:00 167 0 1 0 : 287.36 3 : 0801-05-15 18:00 167 0 1 0 : 288.12....

tiny 76%more temp2.rm5f.asc0801-03-15,286.670801-04-15,287.360801-05-15,288.120801-06-15,288.660801-07-15,288.830801-08-15,288.540801-09-15,287.890801-10-15,286.980801-11-15,286.09

tail, cut & sed

Summerschool 2007

39

#!/bin/kshcdo selcode,167 sus0000_BOT_0801.grb temp2.1.grbcdo selcode,167 sus0000_BOT_0802.grb temp2.2.grbcdo selcode,167 sus0000_BOT_0803.grb temp2.3.grb # loop!cdo selcode,167 sus0000_BOT_0804.grb temp2.4.grbcdo selcode,167 sus0000_BOT_0805.grb temp2.5.grbcdo mergetime temp2.?.grb temp2.1-5.grbcdo setday temp2.1-5.grb temp2.day15.grbcdo runmean,5 temp2.day15.grb temp2.rm5.grbcd ../cdo fldmean temp2.day15.grb temp2.day15f.grbcdo fldmean temp2.rm5.grb temp2.rm5f.grbcdo info temp2.day15f.grb | tail +2 | \ cut -c 10-19,73-79 | sed -e"s/ /,/g" > temp2.day15f.asccdo info temp2.rm5f.grb | tail +2 | \ cut -c 10-19,73-79 | sed -e"s/ /,/g" > temp2.rm5f.asc

Timeseries I: preparing the data

timeseries.rmm.j

Summerschool 2007

40

IFIL1=temp2.day15f.ascIFIL2=temp2.rm5f.ascOFILE=temp2.rmm.psrm $OFILEgmtset INPUT_DATE_FORMAT yyyy-mm-ddgmtconvert -F0,1 -f0T -Hi $IFIL1 > tempday15.envgmtconvert -F0,1 -f0T -Hi $IFIL2 > temprm5.envinfo=`minmax -f0T -I10/10 -C ${IFIL1}`info1=`echo $info | cut -d" " -f 1`info2=`echo $info | cut -d" " -f 2`info3=`echo $info | cut -d" " -f 3`info4=`echo $info | cut -d" " -f 4`psbasemap -R${info1}/${info2}/${info3}/${info4} \ -JX8iT/5i -X2.0i -Y1.5i \ -Bp3o:"Time":/5WS:=K::"Temperature"::."TEMP MM&RM5 T31 ECHAM5": \ -Bs2Y/WS -K >| $OFILEpsxy -R -J tempday15.env -W0.5p,/255/0/0,-- -O -K >> $OFILEpsxy -R -J temprm5.env -O >> $OFILE

Timeseries II: GMT handling

timeseries.rmm.j

Summerschool 2007

41

K 280

K 285

K 290Temperature

01 04 07 10 01 04 07 10 01 04 07 10 01 04 07 10 01 04 07 10

0802 0804

Time

TEMP MM&RM5 T31 ECHAM5

Timeseries III: The picture

Summerschool 2007

42

CLM d2 t_s

sophie 65% clmalbersproj.j#!/bin/ksh set -xv#IFILE=clm_a1b_d2_ts.ncREC=1OFILE=clm${REC}.ps

cdo outputbounds -seltimestep,$REC \ $IFILE > ${IFILE%.*}${REC}.asc#psbasemap -R-10/30/35/75 -JB10/40/25/85/6i \ -B15/10wsen:."CLM d2 t_s": \ -P -K > $OFILE psxy -R -J -M ${IFILE%.*}${REC}.asc -L \ -Ccolor240-320.3.cpt -K -O >> $OFILEpscoast -R -J -Di -Ir -Na/1p,255/0/0 \ -W0.5p -O >> $OFILE

Regional data & Albers projection

Summerschool 2007

clm grid d2 d3 with d3 land seamask

10˚

10˚

12˚

12˚

14˚

14˚

50˚ 50˚

52˚ 52˚

54˚ 54˚

56˚ 56˚

58˚ 58˚

#!/bin/ksh#psbasemap -R5/15/50/59 -JM6i \ --HEADER_FONT_SIZE=18 \-B2/2:."clm grid d2 d3 with d3 land seamask": \ -P -K >! zclm.pspsxy -R -J -M clmls3.asc -Czj.cpt -L \ -P -O -K >> zclm.pspsxy -R -J -M clmd3.asc -W0/0/0 \ -P -O -K >> zclm.pspsxy -R -J -M clmd2.asc -W255/0/0 \ -P -O -K >> zclm.pspscoast -R -J -Di -W1.0p,0/0/255 \ -P -O >> zclm.ps#exit

43

Grids & landseamask

Summerschool 2007

44

#!/bin/ksh#cdo -t mpiom1 -f nc setgrid,GR30s.nc zzz.grb oceanorig.nc #original gridcdo remapcon,r240x120 oceanorig.nc oceanreg.nc #regular gridcdo outputbounds oceanorig[reg].nc >| ${IFILE} #create GMT input#makecpt -Crainbow -T-3/33/3 > color.cptpsbasemap -R-105/45/0/90 -JQ0/8i -X1.8i -Y2i -B40/40:."MPIOM surface temp GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE} -L -Ccolor.cpt -O -K >> $OFILEpsscale -Ccolor.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C]": -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

2007 Aug 28 16:53:47 joergwegner

!"#$!%%&'()*+,%-,./%0!1

233!

233!

243!

243!

253!

253!

623!

623!

3!

3!

43!

43!

53!

53!

723!

723!

783!

783!

!53! !53!

!43! !43!

3! 3!

43! 43!

53! 53!

3 73 23 63

9:;<

2007 Aug 28 17:06:37 joergwegner

!"#$!%%&'()*+,%-,./%0!1

233!

233!

243!

243!

253!

253!

623!

623!

3!

3!

43!

43!

53!

53!

723!

723!

783!

783!

!53! !53!

!43! !43!

3! 3!

43! 43!

53! 53!

3 73 23 63

9:;<

MPIOM in original & regular grid

oceancurvreg.j

Summerschool 2007

45

#!/bin/ksh#cdo -t mpiom1 -f nc setgrid,GR30s.nc zzz.grb oceanorig.nc #original gridcdo remapcon,r240x120 oceanorig.nc oceanreg.nc #regular gridcdo sellonlatbox,-105,45,0,90 oceanreg.nc northatl.nc #select north atlanticcdo outputbounds northatl.nc >| ${IFILE} #create GMT inputmakecpt -Crainbow -T-3/33/3 > color.cptpsbasemap -R-105/45/0/90 -JQ0/8i -X1.8i -Y2i -B40/40:."MPIOM surface temp GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE} -L -Ccolor.cpt -O -K >> $OFILEpsscale -Ccolor.cpt -D4.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C]": -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dc -W0.5p -O >> $OFILE

2007 Aug 28 17:15:39 joergwegner

MPIOM surface temp GMT

280˚

280˚

320˚

320˚

40˚

40˚

0˚ 0˚

40˚ 40˚

80˚ 80˚

0 10 20 30

[°C]

MPIOM: select north atlantic

oceanselatl.j

Summerschool 2007

462007 Aug 29 15:44:00 joergwegner

40˚

80˚

120˚

160˚200˚

240˚

280˚

320˚

0 10 20 30

[°C]

2007 Aug 29 15:54:03 joergwegner

40˚

80˚

120˚

160˚200˚

240˚

280˚

320˚

0 10 20 30

[°C]

cdo outputbounds $IFILE >| ${IFILE%.*}.ascmakecpt -Crainbow -T-3/33/3 > zzz.cptpsbasemap -Rg -JG0/90[-90]/6i -X1.8i -Y2i -B40/40:."MPIOM surface temp GMT": \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D3.0i/-0.5i/4.0i/0.2ih -B10/:"[\260C]": -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 -O -K >> $OFILEpscoast -R -J -Dl -W0.5p -O >> $OFILE

MPIOM: north and south pole

oceanpole.j

Summerschool 2007

472007 Aug 30 14:13:59 joergwegner

200˚

240˚

280˚

320˚

40˚

80˚

120˚

160˚

0 10

[°C]

sophie 65%oceanpole.j#!/bin/ksh# changed region!IFILE=zzz.ncOFILE=zzsr.pscdo outputbounds $IFILE >| \ ${IFILE%.*}.asc#makecpt -Cpolar -T-3/12/1 > zzz.cptpsbasemap -R-180/180/55/90 -JG0/90/6i \ -X1.8i -Y2i -B40/40 \ -U/0.0i/-1.3i/"joergwegner" -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L \ -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D3.0i/-0.5i/4.0i/0.2ih \ -B10/:"[\260C]": \ -O -K >> $OFILEpsbasemap -R -J -Bg15/g15 \ -O -K >> $OFILEpscoast -R -J -Dl -W0.5p -O >> $OFILE#

MPIOM: north and south pole

Summerschool 2007

48

t21 temp2m GMT

230 240 250 260 270 280 290 300

[°C + 273.15]

sophie 64%balltemp.j#!/bin/kshset -vx#IFILE=temp120.grbOFILE=tempball.pscdo outputbounds $IFILE > ${IFILE%.*}.ascmakecpt -Cpolar -T230/307/3 > zzz.cptpsbasemap -Rg -JG20/45/6i -B40/40 \ -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L -W0.2p \ -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D3.0i/-0.5i/4.0i/0.2ih \ -B10/:"[\260C + 273.15]": \ -O -K >> $OFILEpscoast -R -J -Dc -I1 -W0.5p -O >> $OFILE

ECHAM3: orthographic projection

Summerschool 2007

49

tiny 182%ballmovie.j#!/bin/kshset -vx#IFILE=temp120.grbinteger LON=370integer LO2=1cdo outputbounds $IFILE > ${IFILE%.*}.asc#cd /Users/joerg/Summerwhile (( (LON=LON-10) >= 10 )); dotypeset -LZ2 LO2OFILE=movball.${LO2}.psmakecpt -Cpolar -T230/307/3 > zzz.cptpsbasemap -Rg -JG${LON}/45/6i \ -B40/40 -Y1.6i -K >| $OFILE psxy -R -J -M ${IFILE%.*}.asc -L \ -W0.2p -Czzz.cpt -O -K >> $OFILEpsscale -Czzz.cpt -D3.0i/-0.5i/4.0i/0.2ih \ -B10/:"[K]": -O -K >> $OFILEpscoast -R -J -Dc -I1 -W0.5p -O >> $OFILElet LO2=LO2+1done

ECHAM3: orthographic projection: moving

Summerschool 2007

50

Thanksfor

Listening!

Summerschool 2007

51

ECHAM5 :

Boden-Monatsmittelfiles (BOT.._mm_..) werdenstandardmaessig die codes97 ice cover (fraction of grid box)103 surface temperature of water167 2m temperature210 ice cover (fraction of 1-SLM)211 ice depth

CO2-Monatsmittelfile die codes5 upward surface CO2 flux (acc.)6 upward land CO2 flux (acc.)7 upward ocean CO2 flux (acc.)8 CO2 content (acc.)

JSBACH :

165 LAI_yDayMean Mean Leaf Area Index of the Previous Day []166 NPP_yDayMean Mean NPP Rate of the Previous Day [mol(CO2)m-2(canopy) s-1]167 GPP_yDayMean Mean GPP Rate of the Previous Day [mol(CO2)m-2(canopy) s-1]168 topSoilTemp_yDayMean Previous Day Mean Temperature of the Uppermost Soil Layer [K]169 alpha_yDayMean Previous Day Mean Value of the Water StressCoefficient []171 box_NPP_yDayMean Mean NPP Rate of the Previous Day [mol(CO2)m-2(grid box) s-1]173 box_GPP_yDayMean Mean GPP Rate of the Previous Day [mol(CO2)m-2(grid box) s-1]

und ausserdem die Variablen, die angeben, wieviel sich in den verschiedenen Kohlenstoffpools befindet (auch im veg-stream):160 boxC_green C-Pool for Green Parts of Vegetation [mol(C) m-2(grid box)]161 boxC_woods C-Pool for Structural Material of Plants [mol(C) m-2(grid box)]162 boxC_reserve C-Pool for reserve carbohydrates (starches, sugars) [mol(C) m-2(grid box)]163 boxC_fast C-Pool for fastly respirated soil organic material [mol(C) m-2(grid box)]164 boxC_slow C-Pool for slowly respirated soil organic material [mol(C) m-2(grid box)]170 box_soil_respiration Soil respiration [mol(C) m-2(grid box)]176 box_Cpools_total Sum of carbon from all carbon pools [mol(CO2) m-2(grid box)]

MPIOM

fuer mpiom sollten folgende codes einen ersten Ueberblick geben:

2, 5, 70, 79, 13, 15, 27, 110, 111, 183HAMOCC

code 7 dissolved inorganic carboncode 11 dissolved_phosphatecode 12 oxygen concentrationcode 81 phosphate flux in 90mcode 84 detritus export productioncode 94 detritus sediment flux