Home

PUMA User's Guide Version 16

image

Contents

1. Variable Scale Scale description Divergence Q Q angular velocity Vorticity Q Q angular velocity Temperature a2Q2 R planet radius R gas constant Pressure 101100 Pa PSURF mean sea level pressure Orography a2Q2 g g gravity 9 4 Vertical Discretization Level 6 Variables 0 5 0 0 p 0 6 0 1 5 0 2 2 03 2 5 0 4 8 05 r Cat 3 5 0 6 4 07 Car 4 5 0 8 5 09 CDT 5 5 1 0 p ps 0 Figure 9 3 Vertical geometry of PUMA with associated variables 5 level version The model is represented by finite differences in the vertical as shown in figure The number of vertical levels is variable The vertical coordinate is defined as p p The prognostic variables C D and T are calculated at full levels At the two outer half levels 0 upper boundary and 1 lower boundary the vertical velocity is set to zero The vertical advection at level r is approximated as follows 1 G43 Qr Qr Q 2 1 r 2 2 Ao did 25 Q jd 9 22 The tendencies of temperature divergence and surface pressure are solved by the implicit time step The vorticity equation is approximated by the centred differences in time land Simmons 1975 9 5 PUMA FLOW DIAGRAM 51 9 5 PUMA Flow Diagram The diagram shows the route through the main program PUMA with the names of the most important subroutines PUMA is t
2. Call initialization routines Perform time loop for NRUN time steps Call transformation and grid point routines Inverse Legendre transformation Divergence and vorticity to u v wind components Fourier coefficients to grid points Inverse FFT Calculations in grid point space Grid point to Fourier coefficients FFT Make tendencies for spectral domain MP sum and scatter Write prognostic fields to file puma data Write diagnostics to standard output Perform spectral calculations and time stepping Write restart file puma_status MP terminate end all processes Figure 9 4 Flow diagram of main routines 54 CHAPTER 9 MODEL DYNAMICS Chapter 10 Preprocessor In many cases the setup of PUMA experiments can be defined using namelist variables either via MoSt or with editing the namelist file In these cases PUMA can run without any startup files containing boundary conditions For more complex experiments like changes in orography or ground temperature predefined vertical and horizontal gradients of the restoration temperature field and more it is necessary to create files for boundary conditions This is done with the PPP short for Puma Pre Processor The PPP is a stand alone program that can be called inside the modelstarter MoSt or explicitely by the user It
3. scaled vorticity 0 potential temperature K K Ra Cpa K mean heat conductivity in ice and snow Wm tk heat conductivity in ice 2 03 Kis heat conductivity in snow 0 31 Wm n asymptotic mixing length for heat m m asymptotic mixing length for momentum m longitude sin o Ho cosine of the solar zenith angle APPENDIX A LIST OF CONSTANTS AND SYMBOLS Symbol Definition Value Unit 0 density of air kg m density of sea 920 kg m Ds density of snow 330 kg m Pw density of sea water 1030 kg m Po density of fresh water 1000 kgm normalized pressure coordinate vertical velocity in system OSB Stefan Bolzmann constant 5 67 1078 TN cloud optical depth TF time scale for RF time scale for NC Em time scale for temperature flux correction S time scale for depth flux correction S geopotential height g z m s scaled geopotential height latitude scaled velocity potential scaled stream function angular velocity of the earth 7 292 1079 s7 single scattering albedo S e gt see Me Appendix PUMA Codes for Variables Codes available from PUMA burner Code Levels Type Variable Unit 129 1 S surface geopotential m s 130 NLEV s temperature K 131 c u velocity m s 132 NLEV c v velocity m s 135 NLEV c
4. Rayleigh friction timescale in days nselect integer NTP1 1 enable 1 or disable 0 zonal waves nspecsel integer NCSP 1 enable 1 or disable 0 modes
5. TTL 39 JO hua B bop SL P kap S Sub 39 n eve ee 40 7 18 40 41 8 1 41 45 45 9 2__ 5 47 0 2 1 Brietion amp s aca 286808 Xe OER Q 47 9 2 2 Diabatic heating oc dee soos w w aos ESE ca OSE Q OES 47 WT 48 CT 50 50 Oe ee ae 51 as ce n n 51 S Ps sss 52 55 11 Benchmark 57 11 1 Performance s 57 61 65 67 Chapter 1 Installation The whole package containing the models Planet Simulator and PUMA along with the model starter most comes in a single file named Most16 tgz with 16 specifying the version number The following subsection shows the commands to use for installation 1 1 Quick Installation tar zxvf Most16 tgz cd Most16 configure sh most x If your tar command doesn t support the z option e g on Sun UNIX instead type gunzip Most16 tgz tar xvf Most16 tar cd Most16 configure sh most x If this sequence of commands produces error messages consult the FAQ Frequently Asked Questions and the README files in the Most16 directory They are in plain text files that can be read with the more command or any other text editor 1 2
6. It plots the seasonal means of the sea level pressure The data file is prepared like this cdo selcode 151 puma srv slp srv code 151 has to be in puma srv cdo seasmean slp srv slp sm srv srv2gra slp sm srv The command set vpage sets a virtual page inside the graphic window The full window is 11 inch wide and 8 5 inch high so set vpage 0 5 5 4 25 8 5 defines the upper left corner If setlevs 1 is specified then the pressure levels as given are used Otherwise GrADS defines contour levels depending on the data set slp sm gs setlevs 1 reinit open slp_sm enable print print mf ed set vpage 0 5 5 4 25 8 5 set gxout contour if setlevs 1 set clevs 990 995 1000 1005 1010 1015 1020 endif set ccols 1 44 set grads off set t 1 d 151 100 draw title SLP hPa yr ny DJF set vpage 5 5 11 4 25 8 5 set gxout contour if setlevs 1 get clevs 990 995 1000 1005 1010 1015 endif set ccols 1 set grads off set t 2 d 151 100 draw title yr ny set vpage 0 5 5 0 4 25 set gxout contour if setlevs 1 set clevs 990 995 1000 1005 1010 1015 endif set ccols 1 set grads off set t 3 7461517100 title yr ny set vpage 5 5 11 0 4 25 set gxout contour if setlevs 1 set clevs 990 995 1000 1005 1010 1015 endif set ccols 1 set grads off set t 4 d c151 100 draw title
7. Most16 directory home Most16 gt ls lg TIW I r 3730 FAQ Frequently Asked Questions ZIW f f 7862 NEW IN VERSION 16 lt New in this version TIW I 718 README lt Read this first EW I I 168 MAC USER Notes for MAC user CIW I cE E 698 README WINDOWS USER lt Notes for Windows user rw rf r 1548 cc check c lt Used by configure script rWXxr xr x 57 cleanplasim Empty run bld and bin for PLASIM rwWxr xr x 51 cleanpuma Empty run bld and bin for PUMA rwWxr xr x 48 cleansam lt Empty run bld and bin for SAM 161 cmdpuma lt Build GUI less PUMA 6 CHAPTER 1 INSTALLATION 5611 configure sh lt Configure script TCIW I E 308 csub c lt Used by configure script rw r r 234 90check f90 lt Used by configure script drwxr xr x 102 images lt Most images CE W I E 81 make most lt Used by configure script TIW E 154 makecheck lt Used by configure script TCIW I E 108 makedebug lt Used by configure script IrW r r 84 makefile Makefile for building most x rw r r 113461 most c C source code for most drwxr xr x 306 plasim Planet Simulator directory tree drwxr xr x 238 postprocessor lt Postprocessor source and docs drwxr xr x 306 puma PUMA directory tree drwxr xr x 510 sam SAM directory tree drwxr xr x 680 tools Some tools The directory structure must not be changed
8. NHOR is defined NHOR NLON x NLPP in the pumamod module The typical gridpoint loop which looks like do jlat 1 NLPP do jlon 1 NLON gp jlon jlat enddo 25 26 CHAPTER 5 PARALLEL PROGRAM EXECUTION enddo is replaced by the faster executing loop do jhor 1 NHOR gp jhor enddo gt 5 3 Parallelization in the Spectral Domain The number of coefficients in the spectral domain NRSP is divided by the number of processes NPRO giving the number of coefficients per process NSPP The number is rounded up to the next integer and the last process may get some additional dummy elements if there is a remainder in the division operation All loops in spectral domain are organized like NSPP do jsp sp jsp enddo 1 5 4 Synchronization points All processes must communicate and have therefore to be synchronized at following events e Legendre transformation This involves changing from latitudinal partitioning to spectral partitioning and associated gather and scatter operations e Inverse Legendre transformation The partitioning changes from spectral to latitudinal by using gather broadcast and scatter operations e Input Output All read and write operations must only be performed by the root process which gathers and broadcasts or scatters the desired information Code that is to be executed by the root process exclusively is written as if mypid NROOT then endif NRO
9. 3067 47 0696 52 6065 ZDEF 5 LEVELS 20000 50000 70000 85000 100000 TDEF 12 LINEAR 00 00Z01jan0001 VARS 3 c130 5 99 130 c131 5 99 131 c132 5 99 132 ENDVARS 5 6250 69 2130 24 9199 19 3822 63 6786 imo 63 6786 19 3822 24 9199 69 2130 CHAPTER 8 GRAPHICS 58 1430 13 8445 30 4576 74 7445 52 6065 8 3067 35 9951 80 2688 47 0696 2 7689 41 5325 85 7606 Here since we are handling monthly mean data the line starting with TDEF ends with 1mo When the PUMA output is used without averaging this should correspond to the output interval given by the nwpd variable used in the namelist of your PUMA run see Appendix C The number of variables depends on how the Pumaburner was called In this example only three variables were processed i e the temperature c130 the zonal wind c131 and the meridional wind c132 Refer to Appendix B for a list of the codes The GrADS program is started by typing grads in a terminal window Then the data is displayed either by typing commands line by line or preferably by using scripts The following script called tglob gs displays the monthly mean temperature at 500hPa tglob g function pass m reinit open pum S a m enable print print mf set t gt set lev 50000 set gxout shaded d 130 273 16 cbar gs set gxout contour d c130 273 16 draw title Temperature deg C 500hPa month m
10. Zonal Wavenumber Figure 6 1 Screenshot of Model Starter MoSt EO Q m lt Q Ablage Bearbeiten Fenster Hilfe N ind im 16 Feb 0000 12 00 UH 6 5 fps N NW WM Sn Figure 6 2 Screenshot of Graphical User Interface GUI 6 2 GUI CONFIGURATION 31 e Zonal mean cross sections e Horizontal global fields in cylinder or polar projection e Horizontal particle tracer in cylinder or polar projection e Longitude time Hovmoeller diagrams e Longitude level diagrams e Amplitudes of spherical harmonic coefficients e Time series e Numerical values In the case of horizontal global grids pressing the MMB toggles between cylinder and polar projection If the grid is a single level of a three dimensional field like u or v the level being shown can be decreased with the LMB or increased with the RMB For Hovmoeller and longitude height sections the LMB and RMB can be used to select the latitude The second use of the GUI is to allow the user to change selected model variables during the model run It is not necessary though possible to pause the model while changing variables Changes to model variables are written to the output file after being checked by the GUI for the appropriate range of values and the maximum possible change per timestep because a rapid parameter change or a choice of values beyond the normal range may cause the model to crash All model variables whic
11. is a global switch for enabling 1 or disabling 0 writ ing to puma output NWPD Number of Writes Per Day defines the output interval for writing model arrays to the file puma output Possible val ues range from 1 daily output to 24 hourly NDIAG sets the interval in time steps for printing out some di agnostic arrays and values to the standard output Default 60 12 Parameter Type Purpose Default NDL NLEV Integer Array Switch for diagnostic print NLEV 0 out of a level 0 off 1 on DTEP Real Equator to pole tempera 60 0 ture difference for New tonian cooling DTNS Real North to South pole tem 0 0 perature difference K for Newtonian cooling DTROP Real Tropopause height m for 12000 0 Newtonian cooling DTTRP Real Smoothing of the 2 tropopause K for Newto nian cooling TGR Real Surface temperature for 288 Newtonian cooling TDISS Real Time scale 4 for the hori 0 25 zontal diffusion PSURF Real Global mean sea level pres 101100 00 sure RESTIM NLEV Real Array Time scale 4 for Newto 0 0 nian cooling TOK NLEV Real Array Reference temperature used 250 0 in the discretization scheme TFRC NLEV Real Array Time scale d for Rayleigh 0 0 friction 0 0 off Structure After starting MPI the main program puma calls prolog to initialize the model Then master is called to do the time stepping Finally subroutine epilog terminates the run In subro
12. latitudes due to the differential radiative energy balance which drives the general circulation is described by the meridional form of the restoration temperature sin ATR ns 5 1 ATR sin 5 9 12 The meridional gradient decreases with height and vanishes at the tropopause _ J sin Ec if c gt Oxy f a 2 1 0 9 13 0 M c lt Op with the height of the tropopause TR tp Otp e 9 14 In equation 0 12 ATR represents the constant part of the meridional temperature con trast and ATR 5 the variable part corresponds to the annual cycle Figure shows the meridional and vertical form of the restoration temperature field see eqn 9 10 Usually for the lower model levels the time scale is set to smaller values stronger diabatic heating than for the upper levels in order to account for the stronger impact of the turbulent heat fluxes near the surface The standard setting for 5 levels is TR 1 3 304 Tr i 4 10 d Tr i 5 5 9 2 3 Diffusion The parameterizations 9 7 and contain the hyperdiffusion terms Hp and Hr respectively The hyperdiffusion parameterizes both the subgrid scale horizontal mixing and the 9 2 PARAMETERIZATIONS 49 Sigma Level 4 E 505 305 EQ 30N BON e Figure 9 2 Restoration temperature field in C as function of latitude and the c level for standard parameter
13. necessary code changes and create the required executables Other parameters defining startup and boundary conditions or other settings can be edited with MoSt After they have been checked for correct range and for consistency with other parameters they are written to the model s namelist file Using these settings MoSt generates a run script for the simulation The user then has the choice of leaving MoSt and starting the simulation under the control of the GUI immediately or of leaving MoSt with the scripts ready to run This second alternative is useful for users who want to include setup modifications beyond the scope of MoSt or who want to run the model without the GUI There is also a simple graphical editor for the topography Check the box Orography and then use the mouse to mark elliptic areas in the topographic display Enter a value for raising positive or lowering negative the area and press the button labelled Preprocess The preprocessor will be built and executed and a new topography will be computed and written to the start file Another editor is the Mode Editor for spherical harmonics Green modes are enabled red modes are disabled This feature can be used to specify runs with only certain modes of spherical harmonics being active LMB MMB and RMB refer to the left middle and right mouse buttons respectively You may toggle individual modes press LMB or whole lines press RMB and columns press MMB Currently the Mo
14. output file is written in NetCDF format NetCDF 0 The output file is written in Service format 7 12 SERVICE format The SERVICE format uses the following structure The whole file consists of pairs of header and data records The header record is an integer array of 8 elements head 1 ECMWF field code head 2 model level or pressure in Pa head 3 date yymmdd yymm00 for monthly means head 4 time hhmm or hh for HHMM 0 head 5 1 dimension of data array head 6 2 dimension of data array head 7 may be set with the parameter HEAD7 head 8 experiment number extracted from filename Example for reading the SERVICE format NETCDF 0 INTEGER HEAD 8 REAL FIELD 64 32 dimensions for T21 grids READ 10 ERR 888 END 999 HEAD 7 13 HHMM 39 READ 10 ERR 888 END 999 FIELD 888 STOP I O ERR 999 STOP A new command line parameter g was added for users of the GRADS graphics software Using g in conjunction with SERVICE output creates a GRADS control file describing the contents of the SERVICE data file GRADS can now be used to process the SERVICE data without using converters or utilities see chapter 7 7 13 HHMM Setting Description HHMM 0 head 4 shows the time in hours HH HHMM 1 head 4 shows the time in hours and minutes HHMM 7 14 HEAD7 The 7th element of the header is reserved for the user It may be used for experiment nu
15. processes arising from in ternal atmospheric systems life cycles etc e Data assimilation techniques can be incorporated to interpret results from GCM simula tions or observations Figure a demonstrates the complexity of the interactions in a full size climate model which leads to similar complex response patterns from small parameter changes The same diagram for PUMA Figure b shows the simple and direct paths which allow the easy identification of the effects from changes to this model 2 4 Requirements PUMA is open source everyone may download and use it Though it s easy to use the design of experiments and the interpretation of the results require a thorough knowledge of atmospheric science PUMA is available as FORTRAN 90 source code So all that is needed to use PUMA on any computer is a FORTRAN 90 compiler The GUI additionally requires a C compiler with the graphical library X11 which is standard on any UNIX Linux system as well as on newer MACs Windows user may try a X11 emulator like Cygwin The program was developed and tested with several operating systems including LINUX MAC OS and Solaris The main development was done using Linux and MAC OS and the FORTRAN compiler gfortran and sunf90 The postprocessor Pumaburner requires a C compiler There are several compilers available for the Linux operating system MoSt PUMA and Planet Simulator were successfully tested with e SunStudiol2 development environm
16. pumamod Names for global parameters scalars and arrays are declared and if possible values are preset 4 7 restartmod f90 General The module restartmod f90 contains routines for opening reading and writ ing the restart files The scalars and arrays of the restart files are identified by name This enables adding or removing variables from the restart files without loosing com patibility There is also no dependence on the sequence of variables In parallel runs these routines are either called from the root process which takes care of broadcast ing or from subroutines in mpimod f90 which gather before writing or scatter after reading the arrays Structure Subroutine Purpose restart ini Scan restart file and store pointer restart prepare Open file for restart ouput restart stop Close files get restart integer Read integer scalar get restart Read real array put restart integer Write integer scalar put restart array Write real array fileseek position filepointer to requested variable check equality May be used as debug tool 23 24 CHAPTER 4 MODULES Chapter 5 Parallel Program Execution 5 1 Concept PUMA is coded for parallel execution on computers with multiple CPU s or networked ma chines The implementation uses MPI Message Passing Interface that is available for nearly every operating system In order to avoid maintaining two sets of source code for the parallel and the s
17. radiative equilibrium temperature profile T a c is defined A hyperbolic function of height is used to provide Tr a as illustrated in Figure With z oo the profile tends to a uniform lapse rate alr passing through the temperature tgr at z 0 With z oo the profile becomes isothermal The transition takes place at the height ztrop The sharpness of the tropopause is controlled by the parameter dttrp When dttrp 0 the lapse rate changes discontinuously at ztrop For dttrp small but positive the transition is spread The hydrostatic relation is used to determine the heights and hence the temperatures of the model levels 52 CHAPTER 9 MODEL DYNAMICS 9 7 Computations in spectral domain The subroutinespectral performs one timestep Details of the time stepping scheme are given in 1975 The adiabatic tendencies advection etc are used The normal time step is centered in time and includes a Robert time filter to control time splitting For the first nkits time steps short initial time steps an initial forward timestep followed by centred step each twice its predecessor are taken in order to initiate a run from data at only one time level No Robert filter is included in the short steps The subroutine calculates the spectral tendencies due to Newtonian cooling Rayleigh friction and hyperdiffusion 9 7 COMPUTATIONS IN SPECTRAL DOMAIN 33 time Main program Multi processing startup
18. values as in figure and with ATg gp 70K ATn Ns 0 K energy cascade into these scales and its subsequent dissipation because the dissipative range of the wavenumber energy spectrum is not included with the relatively coarse model resolution If Q is one of the model variables D or T then the hyperdiffusion is given by equation for grid point representation and by equation for spectral representation see also eqn 9 6 H 1 K V QA ut 9 15 R V 5 Q t Y A u 9 16 The hyperdiffusion for one spectral mode y is then 1992 YQ n 9 17 822 Qy t Y A n 9 18 With the condition that the spectral modes with n are damped with a prescribed time scale 1 H a Y 9 19 TH ifn substitution into Equation 9 18 yields 1 2 9 20 nr nr 1 Thus from Equation 9 18 it follows that 1 n n 1 TH 1 ee 9 00 Y Qs 9 21 In the model the hyperdiffusion is applied in the form 9 21 For the shortest waves n nr the damping is maximal for the mean n 0 the damping vanishes The integer exponent with the standard value h 4 leads to an additional reduction of the damping at small wavenumbers The diffusion time scale is usually set to Ty 1 4d 50 CHAPTER 9 MODEL DYNAMICS 9 3 Scaling of Variables The variables are rendered dimensionless using the following characteristic scales
19. vertical velocity Pa s 138 NLEV s vorticity 1 s 148 NLEV c horizontal stream funktion m s 149 NLEV c velocity potential m s 151 1 mean sea level pressure 152 1 5 In surface pressure 154 NLEV s restoration temperature K 155 NLEV s divergence 1 s 156 NLEV c geopotential height gpm s PUMA spectral field c computed by PUMA burner 65 66 APPENDIX B PUMA CODES FOR VARIABLES Appendix Namelist Name Default Description nlat nlev 32 10 0 Number of latitudes 1 Number of levels 67 68 APPENDIX C Name Default Description kick 1 0 no initial noise p const 1 initial random white noise 2 equator symmetric random white noise 3 mode 1 2 reproducable initialization latloro used in preprocessor latitgt used in preprocessor lat2oro used in preprocessor lat2tgr used in preprocessor lonloro used in preprocessor lonitgt used in preprocessor lon2oro used in preprocessor lon2tgr used in preprocessor nafter 24 outputinterval obsolete replaced by nwpd ncoeff 0 number of coefficients to print in wrspam ncorrect used in preprocessor 0 gt 0 write debug info to file unit ndel 6 order of hyperdiffusion for each level 2 h ndiag 12 output interval for diagnostics timesteps nextout 0 extended output ps at t 1 and t 2 nfls used in preprocessor ngui 0 1 run with GUI nguidbg 0 1 switch on GUI debu
20. write gridpoint array to restart file compute maximum value of an array compute sum of all array elements 19 20 CHAPTER 4 MODULES 4 5 puma f90 General The module puma f90 is the main module of the model It includes the main program puma and controls the run The interface routines to all other modules are called from puma f90 The output is performed by calling the subroutine to outsp and the adiabatic tendencies and the horizontal diffusion are also computed in puma f90 To do the necessary transformations calls to the modules fftmod f90 and legsym f90 are used Input Output puma f90 A diagnostic printout is written to the standard output usually redirected with the operator gt to a file puma f90 is controlled by the namelist inp which is part of the namelist file puma namelist For a complete list of namelist variables see Appendix C Here is a table of the most important ones Parameter Type MPSTEP Integer NYEARS Integer NMONTHS Integer NOUTPUT Integer NWPD Integer NDIAG Integer Purpose MPSTEP Minutes Per STEP defines the length of the time step Recommended values are 60 min for T21 and 20 min for T42 The values are not checked so take care not to violate the CFL Courant Friedrichs Levy crite rion Number of years to be run Number of months to be run NYEARS and NMONTHS may be used together The simulation length in days is NYEARS 360 NMONTHS 30 NOUTPUT
21. yr ny SON print disable print lgxps c i print mf o slp_sm ps 1020 1020 1020 CHAPTER 8 GRAPHICS Chapter 9 Model Dynamics 9 1 Model equations and numerics The core of the model is a set of primitive equations They describe the conservation of momentum mass and thermal energy Using spherical coordinates and the sigma system and with the aid of the equation of state they can be written in the dimensionless form as follows Conservation of momentum Vorticity equation OC f 1 OF OF x FP 9 1 at A Ou 21 Divergence equation 1 OF OF U V b P 9 2 t 1 12 OA s 92 Hydrostatic approximation 98 Conservation of mass Continuity equation 1 f a do 9 4 0 Conservation of energy First law of thermodynamics OT 1 O UT oT T J Pr 9 5 ot 1 p Ou 7 65 2a with OU ln ps FE V GM 3A OV ln ps U 6 7 og 1 Ju A D V Vinp and U ucos V vcos Where the variables denote 45 46 CHAPTER 9 MODEL DYNAMICS T temperature To reference temperature T T temperature deviation from To relative vorticity D divergence Da surface pressure p pressure geopotential t time longitude latitude sin g p ps sigma
22. 90 mpimod stub f90 ge Ua ies eq Rab eit educ ek ODE 4 6 pumamod f90 4 7 restartmod f90 5 Parallel Program Execution 5 Concept ce s osa a a d a aa n Ra A aN 5 2 Parallelization in the Gridpoint Domain 5 3 Parallelization in the Spectral Domain 5 4 Synchronization points Bae SE Dei eos e 5 5 Source code 6 Graphical User Interface 61 Graphical user interface ee Ra ad A ha a ee Oe Cee 6 2 1 Array 6 22 Plot Q su eee wo RES De AS eee end S pet T 6 2 5 Geometry 10 10 10 13 15 15 16 17 18 20 22 23 25 25 25 26 26 26 4 CONTENTS 35 7 1 Introduction ll ll Rs 35 35 be eg PP 36 T4 OR BAR X3 EM y fe BRE ee eds 36 To HEY REA soy s z S sos s k X em Dee we N a OW W LS sa 36 GN VY REY homo oue Rei wes eee or Exo Ror eH a G 37 37 s S 37 7 9 1 5 1 5 2 37 38 a E a L e S aa 38 7 12 SERVICE format RR 38 ee ee 39 CIA HBEADT c ome sce we Oe esp 39 Fae
23. 90 and mpimod stub do not use any extra input or output files No namelist input is required Structure Internally mpimod f90 uses the FORTRAN 90 module mpimod which in turn uses the global common module pumamod from pumamod f90 and the MPI module mpi mpimod stub f90 does not use any other module The following sub routines are included in mpimod f90 Subroutine Purpose mpbci broadcast 1 integer mpbcin broadcast n integers mpbcr broadcast 1 real mpbcrn broadcast n reals mpbcl broadcast 1 logical mpscin scatter n integers mpscrn scatter n reals mpscgp scatter grid point field mpgagp gather grid point field mpgallgp gather grid point field to all mpscsp scatter spectral field mpgasp gather spectral field mpgacs gather cross section mpgallsp gather spectral field to all mpsum sum spectral field mpsumsc sum and scatter spectral field mpsumr sum n reals mpsumbcr sum and broadcast n reals mpstart initialize MPI mpstop terminate MPI Subroutine mpreadgp mpwritegp mpwritegph mpreadsp mpwritesp mpi info mpgetsp mpgetgp mpputsp mpputgp mpsumual Purpose read and scatter grid point field gather and write grid point field gather and write with header grid point field read and scatter spectral field gather and write spectral field report information about setup read spectral array from restart file read gridpoint array from restart file write spectral array to restart file
24. A T21 scaling Bibliography S Blessing R J Greatbatch K Fraedrich and F Lunkeit Interpreting the atmospheric circulation trend during the last half of the 20th century Application of an adjoint model Journal of Climate 21 4629 4646 2008 E Eliasen B Machenhauer and E Rasmussen a Numerical Method for Integration of the Hydrodynamical Equations with a Spectral Representation of the Horizontal Fields Inst of Theor Met 1970 Univ Copenhagen K Fraedrich and F Lunkeit Diagnosing the entropy budget of a climate model Tellus A 60 921 931 2008 K Fraedrich E Kirk U Luksch and F Lunkeit The Portable University Model of the Atmo sphere PUMA Storm track dynamics and low frequency variability Meteorol Zeitschrift 14 735 745 2005 T Frisius F Lunkeit K Fraedrich and I N James Storm track organization and variability in a simplified atmospheric global circulation model Quart J Roy Meteor Soc 124 1019 1043 1998 G J Haltiner and R T Williams Numerical Prediction and Dynamic Meteorology John Wiley and Sons New York 1982 477 S J R Holton An Introduction to Dynamic Meteorology Academic Press San Diego 3 edition 1992 507 S B J Hoskins and A J Simmons A multi layer spectral model and the semi implicit method Quart J Roy Meteor Soc 101 637 655 1975 I N James and L J Gray Concerning the effect of surface drag on the circul
25. Even empty directories must be kept as they are because the Most program relies on their existence For each model currently Planet Simulator SAM and PUMA a directory exists plasim or sam or puma with the following subdirectories Most16 puma gt ls lg 128 bin lt model executables 1824 bld lt build directory 280 dat lt initial and boundary data 80 doc lt documentation user s guide reference manual 928 run lt run directory 1744 src lt source code drwxr xr x drwxr xr x drwxr xr x drwxr xr x drwxr xr x drwxr xr x N N N N N N After installation only dat doc and src contain files All other directories are empty MoSt the executable is named most x is used to define parameters build the model create a runscript and optional start the model The directories of the model are used in the following manner 1 3 Model build phase Most writes an executable shell script to the bld directory and then executes it First it copies all necessary source files from src to bld and modifies them according to the selected parameter configuration Modification of source code is necessary for vertical and horizontal resolution changes and when using more than one processor parallel program execution The original files in the src directory are not changed by Most The program modules are then compiled and linked using the make command also issued by MoSt Mo
26. OT is typically 0 in MPI implementations mypid My process id is assigned by MPI 5 5 Source code Discipline is required when maintaining parallel code Here are the most important rules for changing or adding code to PUMA e Adding namelist parameters All namelist parameters must be broadcasted after reading the namelist Subroutines mpbci mpbcr mpbcin mpbcrn 5 5 SOURCE CODE 27 e Adding scalar variables and arrays Global variables must be defined in a module header and initialized e Initialization code Initialization code that contains dependencies on latitude or spectral modes must be performed by the root process only and then scattered from there to all child processes e Array dimensions and loop limits Always use parameter constants NHOR NLAT NLEV etc as defined in pumamod f90 for array dimensions and loop limits e Testing After significant code changes the program should be tested in single and in multi CPU configurations The results of a single CPU run is usually not exactly the same as the result of a multi CPU run due to effects in rounding But the results should show only small differences during the first few time steps e Synchronization points The code is optimzed for parallel execution and therefore the communication overhead is minimized by grouping it around the Legendre transforma tion If more scatter gather operations or other communication routines are to be added they should be placed just b
27. S Spherical Harmonics 506 22 23 coefficients HTYPE Fourier Coefficients 32 42 latitudes wavenumber HTYPE Z Zonal Means 32 levels latitudes levels HTYPE Gaussian Grid 64 32 longitudes latitudes 7 6 37 7 6 accepts the first character of the following string The following settings are equiva lent VTYPE 5 VTYPE Sigma VTYPE Super Blanks and the equals sign are optional Possible Values are Setting Description Remark VTYPE S Sigma model levels Some derived variables are not available VTYPE P Pressure levels Interpolation to pressure levels 7 7 MODLEV MODLEV is used in combination with S If is not set to Sigma the contents of MODLEV are ignored MODLEV is an integer array that can have as many values as there are levels in the model output The levels are numbered from the top of the atmosphere to the bottom The number of levels and the corresponding o values are listed in the Pumaburner printout The levels are ordered in the output file according to the MODLEV values MODLEV 1 2 3 4 5 produces an output file of five model levels sorted from top to bottom while MODLEV 5 4 3 2 1 sorts them from bottom to top 7 8 hPa hPa is used in combination with VTYPE P If VI YPE is not set to Pressure the contents of hPa are ignored hPa is a real array that accepts pressure values wi
28. Spherical harmonic coefficients of surface pressure GU Three dimensional grid of zonal wind GV Three dimensional grid of meridional wind GP Grid of surface pressure SCALAR Selected scalars for time series and tables 6 2 2 Plot Name Description ISOHOR Isolines and colouring of horizontal grids ISOCS Isolines and colouring of cross sections ISOHOV Colouring of Hovmoeller diagram ISOTS Timeseries ISOTAB Tables ISOSH Coloured amplitudes ISOLON Isolines and colouring of longitude height section ISOTRA Show the horizontal wind components with moving particles 6 2 GUI CONFIGURATION 33 6 2 3 Palette Name Range Description AUTO automatic rainbow colours U 10 50 rainbow colours V 10 10 rainbow colours T 50 50 blue red P 985 1025 blue red Q 0 60 rainbow colours MARST 90 0 blue red AMPLI 0 12 blue green red VEG 0 100 shades of green 6 2 4 Title The title item may contain any text but keep it short The length of the window s title bar is limited The words Latitude and Level have special features in conjunction with three dimensional arrays where the user may scroll the level or latitude The GUI will insert the level number after the word Level or the latitude after the word Latitude 6 2 5 Geometry The four integers following the geometry item describe the size and screen position of the window The first two paramet
29. St provides two different makefiles one for the single CPU version and the other for the parallel version using MPI the Message Passing Interface For Planet Simulator the resolution and CPU parameters are coded into the filename of the executable in order that there are different names for different versions E g the executable most plasim t21 110 p2 x is an executable compiled for a horizontal resolution of T21 a vertical resolution of 10 levels and 2 CPU s PUMA and SAM use universal executables that can be used for different resolutions because they use dynamical array allocation at runtime 1 4 MODEL RUN PHASE 7 The executable is copied to the model s bin directory at the end of the build Rebuilding may be forced by using the cleanpuma command in the most directory The build directory is not cleared after usage The user may want to modify the makefile or the build script for his own purposes and start the building directly by executing the most_puma_build script For permanent user modifications the contents of the bld directory has to be copied elsewhere because each usage of MoSt overwrites its contents 1 4 Model run phase After building the model with the selected configuration MoSt writes or copies all the necessary files to the model s run directory These are the executable initial and boundary data namelist files containing the parameter and finally the run script itself Depending on the
30. UH rat Universitat Hamburg KlimaCampus PUMA Bildschirmfoto Ablage Bearbeiten fj Fenster Hilfe Qom 4 Moll28 Q O9 ES Lc ek MS e Serio a O ETA ea wa 4 User s Guide Version 16 Klaus Fraedrich Simon Blessing Hartmut Borth Edilbert Kirk Torben Kunz Frank Lunkeit Alastair McDonald Silke Schubert Frank Sielmann The PUMA User s Guide is a publication of the Theoretical Meteorology at the Meteorological Institute of the University of Hamburg Address Prof Dr Klaus Fraedrich Meteorological Institute KlimaCampus University of Hamburg Grindelberg 5 D 20144 Hamburg Germany Contact Klaus Fraedrich zmaw de Frank Lunkeit zmaw de Silke Schubert zmaw de E KirkOgmx de Contents 1 Installation nthe eee a eee a S eee ee WM peta ba usa Go es s ees ee 2 Introduction 3 4 2 1 Training of junior scientists and students lll 2 2 Compatibility with other 5 2 0 2A Reg irements s sya Bale BAM oe wl S kue 25 History Horizontal Grid Modules 4 1 fftmod f90 ft991mod f90 2 guimod f90 guimod stub f90 4 3 90 4 4 mpimod f
31. atin of a baroclinic planetary atmosphere Quart J Roy Meteor Soc 112 1231 1250 1986 I N James and P M James Spatial structure of ultra low frequency variability of the flow in a simple atmospheric circulation model Quart J Roy Meteor Soc 118 1211 1233 1992 P M James K Fraedrich and LN James Wave zonal flow interaction and ultra low frequency variability in a simplified global circulation model Quart J Roy Meteor Soc 120 1045 1067 1994 T Kunz K Fraedrich and E Kirk Optimisation of simplified GCMs using circulation indices and maximum entropy production Climate Dynamics 30 803 813 2008 T Kunz K Fraedrich and F Lunkeit Synoptic scale wave breaking and its potential to drive NAO like circulation dipoles A simplified GCM approach Quart J Roy Meteor Soc in press 2009 59 60 BIBLIOGRAPHY Lunkeit K Fraedrich and S E Bauer Storm tracks in a warmer climate Sensitivity studies with a simplified global circulation model Climate Dynamics 14 813 826 1998 N Mole and I N James Baroclinic adjustment in a zonally varying flow Quart J Roy Meteor Soc 116 247 268 1990 S A Orszag Transform Method for the Calculation of Vector Coupled Sums Application to the Spectral Form of the Vorticity Equation J Atmos Sci 27 890 895 1970 V P rez Munuzuri R Deza K Fraedrich T Kunz and F Lunkeit Coherence resonance in an atmospheric global c
32. ch are called in puma f90 from the subroutines prolog and gridpoint Input Output legsym f90 does not use any other input or output files No namelist input is required The following subroutines are included in legsym f90 Subroutine Purpose inigau compute Gaussian abscissae and weights legini compute Legendre polynomials fc2sp Fourier to Spectral transformation fc2spdmu Fourier to Spectral transformation with d dmu sp2fc Spectral to Fourier transformation sp fc simultaneous transformation of T Div and Vort mktend compute and transform tendencies reg2alt convert regular array to alternate array alt2reg convert alternate array to regular array 17 18 CHAPTER 4 MODULES 4 4 mpimod f90 mpimod stub f90 General The module mpimod f90 contains the interface subroutines of the MPI Message Passing Interface needed for massive parallel computing Several MPI routines are called from the module The interface to the other modules is pro vided by numerous subroutines with names which begin with mp Subroutines in mpimod f90 are called from several other modules There are no direct calls to the MPI other than from within mpimod f90 This encapsulation makes it possible to use mpimod stub f90 for single CPU runs without changing any other part of the model code The selection is done automatically when using Most or can be done manually by editing Most16 puma src make puma Input Output mpimod f
33. de Editor can only be used for PUMA in the T21 resolution The GUI for running PUMA Figure has two main uses The first is to display the model arrays in suitable representations Current implementations are 29 30 009 10 f amp Bildschirmfoto L Earth 5 Planet Simulator PUM Planet Simulator Mars Modules ML Ocean LSG Ocean Sea Ice Vegetation Parallelism of CPUs Resolution Latitudes Levels Options Debug mode Write Output Run with GUI Orography Annual cycle Diurnal cycle Simulation Start year Years to run CHAPTER 6 GRAPHICAL USER INTERFACE Namelist KICK NAFTER NDEL NDIAG NFLS NH2 NLEVT NRUIDO NSPONGE NSTRATO NSYMM NTSPD NYG NYODEN ALRPY DISP DTEP DTNS DTROP DTTRP DVDIFF EDGEPV FLS MP FLSDP FLS0FF FLSPO PMAXPV RADPY ROTSPD SIGMAX TOK TDISS TGR 24 8 240 1 9 1 9 24 9 ol 9 002 0 0 53 0 70 0 12000 0 2 0 0 0 10 0 15 0 9000 0 5 0 10000 0 10000 0 50 0 L 1 09 6 0000e 07 250 0 09 25 288 0 X MoSt Model Starter 16 00 University of Hamburg M pro cess Abort Save Save amp amp Exit Run Orography 110 170 Lat 45 5 Change gpm Lon Spherical Harmonics mode selector MB 1 Toggle mode MB 2 Toggle column MB 3 Toggle line m
34. dre transf mktend makes tendencies implies Fourier to spectral spectral does all calculations in the spectral domain outsp writes spectral fields in physical dimensions on an output file and diag writes selected fields and parameters to the standard output Epilog writes the restart file 9 6 Initialization The model starts either from a restart file or with the atmosphere at rest The defaults make the initial state a motionless stable stratified atmosphere For an initial start the divergence and the relative vorticity are set to zero only mode 1 0 of vorticity is set to the planetary vorticity The temperature is initialized as a constant horizontal field The vertical distribution is adopted from the restoration temperature usually a stable stratification The initialization of the logarithm of the surface pressure is controlled by the namelist variable kick kick 0 sets all modes to zero so the model runs with constant zones without eddies kick 1 generates random white noise and kick 2 generates random white noise that is symmetrical about the equator Runs started with kick 1 or 2 are irreproducible due to the randomization For reproducible runs with eddies use kick 3 which only initializes mode 1 2 of InPs with a small constant The amplitude of the noise perturbation is normalized to 0 1 hPa 1 e 4 of the mean surface pressure A radiative equilibrium temperature field for the run is set up by setzt First a global mean
35. e following the purpose of each module is given and its general structure and possible input and output parameters provided namelist files are explained 4 1 fftmod f90 fft991mod f90 General The module fftmod f90 contains all subroutines necessary to perform the fast fourier transformation and its inverse The interface to the main PUMA module puma f90 is given by the subroutines gp2fc and fc2gp which are called in puma f90 from the subroutine gridpoint Input Output fftmod f90 does not use any additional input or output files No namelist input is required Structure Internally fftmod f90 uses the FORTRAN 90 module fftmod which uses no other modules Subroutine gp2fc performs the transformation from gridpoint space into fourier space while the subroutine fc2gp does the transformation from fourier space into grid point space Both routines use several subroutines to do the direct or indirect transformation for different factors When gp2fc or fc2gp is called for the first time fftini is called to initialize the FFT Alternatively the module fft991mod f90 may be used instead of fftmod f90 While fftmod f90 runs faster fft991mod f90 can be used for resolutions that are not sup ported by fftmod f90 e g T63 or T106 To select the appropriate module edit the file Most15 puma src make_puma Use either FFTMOD fftmod or FFTMOD fft991mod 15 16 CHAPTER 4 MODULES 4 2 guimod f90 guimod stub
36. ectable pressure levels Compute monthly means and standard deviations e Write selected data either in SERVICE or NetCDF format for further processing 7 2 Installation Compilation The Pumaburner doesn t have to be installed in most cases a compilation of the source code and the storage of the executable in a bin directory is sufficient E g c 02 o burn6 burn6 cpp lm lnetcdf_c lnetcdf The NetCDF library version 3 or higher must be installed on the computer otherwise the above command will fail with an error On some computer sites NetCDF might be installed but the include or library search paths may lack the right configuration In those cases either ask your administrator to update the configuration or specify the necessary locations on the compiler command using I to specify the path for Include files and L for library files Of course other C compilers like g for example may be used as well If you re not the admin of your system put the executable burn6 into your HOME bin directory This is normally part of your search path 35 36 7 3 Usage CHAPTER 7 POSTPROCESSOR PUMABURNER burn6 options InputFile OutputFile lt namelist gt printout option option option option option option InputFile OutputFile namelist printout m 7 4 Namelist The namelist values control the selection coordinate system and output format of the post processed variables Names and va
37. efore or after the execution of the calls to the Legendre trans formation Placing them elsewhere would degrade the overall performance by introducing additional process synchronization 28 CHAPTER 5 PARALLEL PROGRAM EXECUTION Chapter 6 Graphical User Interface 6 1 Graphical user interface GUI PUMA may be used in the traditional fashion with shell scripts batch jobs and network queuing systems This is useful for long running simulations on complex machines and num ber crunchers such as vector computers massive parallel computers and workstation clusters However there is now a more convenient method A graphical user interface GUI has been provided which can be used for parameter configuration during model setup and for interaction between the user and the model PUMA is setup and configured using the first GUI module named MoSt Model Starter screenshot in 6 1 MoSt is the fastest way to get the model running It gives access to the most important parameters of the model which are preset to the frequently used values The model can be started with a mouse click on the button labelled Save amp Run either with the standard parameter setting or after editing the parameters in the MoSt window Some parameters like horizontal and vertical resolution or the number of processors require that a new executable is built compile link and load MoSt achieves this by generating and executing build scripts that perform the
38. ent including FORTRAN 90 C C and Debug ger for Solaris and Linux SunStudiol2 can be downloaded for free from e Gnu FORTRAN gfortran This free and open access FORTRAN 90 compiler is part of most Linux distributions It s also available from http directory fsf org devel compilers gfortran html 2 5 History The University of Hamburg PUMA model originates from the Hoskins amp Simmons SGCM Simple General Circulation Model version Hoskins and Simmons 1975 The major dif ferences between PUMA and its predecessor SGCM are 2 5 HISTORY 11 adiabatic processes temperature humidity cloud water diffusion stratiform precipitation sensible heat evaporation ground ground ground roughness temperature humidity E model variables physical processes Adiabatic processes MM Diabatic Friction heating Figure 2 1 Processes in ECHAM a and PUMA b 12 CHAPTER 2 INTRODUCTION The code is rewritten in portable FORTRAN 90 code which removes problems associ ated with machine specific properties like word lengths floating point precision output etc All the necessary routines are in the source code including the FFT Fast Fourier Transformation and the Legendre Transformation The model can be run on any com puter with a standard FORTRAN 90 compiler The MPI library is needed to run PUMA on parallel machines see below The Xlib X11R6 library is needed
39. ers refer to width and height in screen pixels These are the sizes of the inner window The title bar the border and any other decorations are not counted The third and fourth parameter set the x and y coordinates of the upper left corner of the window again without borders If the geometry item is not defined the GUI will initialize the window s geometry depending on the screen size 34 CHAPTER 6 GRAPHICAL USER INTERFACE Chapter 7 Postprocessor Pumaburner 7 1 Introduction The Pumaburner is a postprocessor for the Planet Simulator and the PUMA model family It is the only interface between the raw model output data and the diagnostics graphics and user software The output data of PUMA is stored as packed binary 16 bit values using the model representation Prognostic variables such as temperature divergence vorticity pressure and humidity are stored as coefficients of spherical harmonics on c levels Variables like radiation precipitation evaporation clouds and other fields of the parameterization package are stored on Gaussian grids The tasks of the Pumaburner are e Unpack the raw data to full real representation e Transform variables from the model s representation to a user selectable format e g grids zonal mean cross sections and Fourier coefficients Calculate diagnostic variables such as vertical velocity geopotential height wind com ponents etc Transfrom variables from levels to user sel
40. exit selected from MoSt either Save amp Exit or Run amp Exit the run script is started from MoSt and takes control of the model run A checkmark on GUI invokes the Graphical User Interface allowing the user to control and display variables during the run Again all the contents of the run directory are subject to change by the user However it is better to save the changed run setups in other user created directories because each usage of MoSt will overwrite the contents of the run directory Alternatively the user changed files could be renamed because MoSt always generates files with names beginning with most and leaves any other files untouched 1 5 Running long simulations For long simulations create a new directory on a file system that has enough free disk space to store the results You can use the df command to check file systems Hint 1 Do not use your home directory if there are file quotas Your run may crash due to file quota being exceeded Hint 2 If possible use a local disk not a NFS mounted file system The model runs much faster when writing output to local disks Example e cd Most16 e most x e Select model and resolution e Switch GUI off e Switch Output on e Edit number of years to run e Click on Save amp Exit e Make a directory e g mkdir data longsim e cp puma run data longsim e cd data longsim e Edit the experiment name in most_puma_run e Edit the na
41. f tropopause m dttrp 2 0 temperature increment controlling the sharpness of the tropopause in dtzz used in preprocessor dvdiff 0 0 vertical diffusion coefficient edgepv used in preprocessor flsamp used in preprocessor flsdp used in preprocessor flspO used in preprocessor flsoff used in preprocessor horo used in preprocessor oroano used in preprocessor orofac used in preprocessor pac 0 0 phase of annual cycle in days pmaxpv used in preprocessor pspon 50 0 sponge layer limit psurf 101100 0 global mean sea level pressure Pa radpv used in preprocessor rotspd 1 0 Earth rotation speed factor sigmax 0 0 sigma value of top half level sponk 0 5 max damping coefficient in sponge layer tac 0 0 length of annual cycle in days tauta 40 0 far surface heating time scale nhz gt 0 tauts 0 0 near surface heating time scale nhz gt 0 tdiss 0 2 diffusion time scale for divergence days 288 0 global mean temperature of ground used to set tgrano 0 0 used in preprocessor ttp used in preprocessor 69 70 APPENDIX C NAMELIST Name Type Dimension Default Description ndl integer NLEV 0 1 activate spectral printouts for this level restim real NLEV 15 0 restoration timescale for each level sigmah real NLEV 0 0 define your own half level layout tOk real NLEV 250 0 reference 7 temperature profile tfrc real NLEV 0 0 0 1
42. f90 General The module guimod f90 contains subroutines for communication with the GUI On operating systems that do not support the Xlib library X11R6 e g Win dows guimod stub f90 may be used as a stub replacement Structure The following subroutines are included in guimod f90 Subroutine guistart guistop guistep_puma guistep_plasim guips guihor guigu change disp change dtep change dtns change_co2 change_gsol0 change_dawn Purpose initialize the GUI finalize the GUI called every timestep from PUMA called every timestep from PLASIM gather scale and send surface pressure to the GUI gather scale and send a gridpoint array to the GUI gather scale and send wind components to the GUI called for user input into the GU called for user input into the GU called for user input into the GU called for user input into the GU called for user input into the GU called for user input into the GU I I I I I I 4 3 legsym f90 General The module legsym f90 contains all the subroutines necessary to per form the Legendre transformation and its inverse The module legsym is writ ten for arrays in alternate representation which use pairs of Northern and Southern latitudes This symmetry conserving scheme is different to the Leg endre modules used in PLASIM or the preprocessor The interface to the main PUMA module puma f90 is given by the subroutines legini inigau fc2sp fe3sp and sp2gp whi
43. finite difference scheme Simmons and Burridge 1981 9 2 Parameterizations 9 2 1 Friction The dissipative processes in the atmosphere are parameterized using a linear approach Rayleigh friction which describes the effects of surface drag and vertical transport of the horizontal momentum due to small scale turbulence in the boundary layer To achieve this vorticity and divergence D are damped towards the state of rest 0 D 0 with the time scale The parameterization terms and Pp appear in the model equations resp 9 2 and have the form TF D Pp gt Hp 9 8 The time scale depends on the o level 1 1 n Usually for the upper levels l L n 1 it is set to rr oo no friction and for the lowest level J nj a typical value is 1d An explanation of the hyperdiffusion terms H and Hp follows in section 0 2 3 9 2 2 Diabatic heating All the diabatic processes considered in the model are also parameterized using a linear approach Newtonian cooling They include the diabatic heating due to absorption and emission of short and long wave radiation as well as latent and sensible heat fluxes convection The temperature T relaxes towards the restoration temperature with the time scale The parameterization term in the thermal energy equation 9 5 is given by J Tg T Laps Cp TR For the hyperdiffusion Hr see section Tr depends on the c leve
44. for the graphical user interface The truncation scheme is changed from the jagged triangular truncation to the standard triangular truncation scheme making it compatible to other T models like ECHAM The PUMA Pumaburner system is data compatible to ECHAM Afterburner Thus all other ECHAM diagnostic software can be used on PUMA data PUMA is fully parallelized and can use as many CPU s as half of the number of latitudes e g 16 in T21 resolution It uses the MPI Message Passing Interface library while running on parallel systems or a cluster MPI is not needed for running PUMA on a single CPU The ongoing development added several new features like the preprocessor graphical user interface spherical harmonics mode selection and many more Chapter 3 Horizontal Grid PUMA uses internally other than the Planet Simulator and PUMA version 15 an alternating Gaussian grid This feature is unimportant for users who don t change source code the output file will still contain the usual Gaussian grid with the latitude index running from the most Northern latitude to the most Southern one But for those who fiddle around with the code or want to implement additional arrays it is important to understand the internal structure The alternating grid was introduced for two reasons 1 The number of values for Legendre polynomials could be reduced by a factor of two because pairs of Northern and Southern latitudes with the same absolute va
45. g output nhz 0 nhz gt 0 Held amp Suarez setups nkits 3 number of short initial timesteps nlevt 0 number of tropospheric levels if nvg 1 nextout 0 1 extended output entropy production nmonths 0 simulation time in months noro used in preprocessor norox used in preprocessor noutput 1 1 write model output to file puma output nreverse used in preprocessor nruido 0 1 add noise on every time step nrun 0 number of timesteps to run 0 use nyears and nmonths nsponge 0 1 use sponge layer at top nsrv used in preprocessor nstep 0 current timestep nstop 0 stop step 0 compute from nyears 6 nmonths nstrato used in preprocessor ntgr used in preprocessor ntspd 24 number of time steps per day nvg 0 vertical grid type O linear 1 Scinocca 2 Polvani nwpd 1 number of writes per day to puma output nwspini 1 1 Write initial sp to file puma sp ini nyears 1 simulation time in years nyoden used in preprocessor NAMELIST Name Default Description alrpv used in preprocessor alrs used in preprocessor disp 0 0 noise amplitude for nruido 1 dorox used in preprocessor doroxs used in preprocessor doroy used in preprocessor doroys used in preprocessor dt used in preprocessor dtep 60 0 temperature difference at surface for equator pole forcing dtns 0 0 temperature difference at surface for North pole South pole season simulation dtrop 12000 0 height o
46. h are candidates for display or for interactive changes have special code to communicate with PUMA The experienced modeller can add new code for additional variables using the existing communication code as a template Thus all model fields or even fields received via coupling with other models can be shown on the GUI display Both MoSt and the GUI are implemented using Xlib X11R5 which is a library of routines for graphics and event communication As this library is part of every UNIX Linux operating system and is the base of all desktop environments there is no need to install additional software for running MoSt and the GUI Another important property of Xlib is full network transparency The display of MoSt and the GUI is not confined to the machines running the programs or the model In fact the best performance is obtained by running the PUMA on two or four CPUs of remote servers while displaying the GUI on the user s workstation In summary MoSt and the GUI programs automate many tedious tasks minimize the time to become familiar with the PUMA and make debugging and parameter tuning much easier More types of presentation coordinate projections and interactivity are being developed A graphical preprocessor with editor for boundary conditions and a graphical postprocessor are part of the planned future expansion to build an almost complete environment for modellers 6 2 GUI configuration On initialization the GUI reads its configura
47. he main program It calls the three subroutines Prolog Master and Epilog Prolog does all initialization It calls the following subroutines gauaw computes gaussian abscissas and weights inilat initializes some utility arrays like square of cosine of latitude etc legpri prints the arrays of gauaw and inilat readnl reads the namelist from standard input initpm initializes most vertical arrays and some in the spectral domain 1791 computes arrays for the semi implicit scheme legini computes all polynomials needed for the Legendre transformation restart starts the model from the restart file if selected of a previous run nitfd initializes spectral arrays setzt sets up the restoration temperature array noise puts a selectable form of noise into In Ps setztex is a special version of setzt for dipole experiments Master does some initial timesteps on initial runs then it runs the time loop for the selected integration time It calls the following subroutines makebm constructs the array bm gridpoint does all transformations and calculations in the grid point domain sp2fc converts spectral to Fourier coefficients inverse Legendre transf dvZuv divergence and vorticity to u and v implies spectral to Fourier fc2gp Fourier coefficients to grid points fast Fourier transformation calcgp calculations in grid point space gp2fc grid points to Fourier coefficients fast Fourier transformation fc2sp Fourier coefficients to spectral direct Legen
48. ingle CPU version all calls to the MPI routines are encapsulated into a module Most takes care of choosing the correct version for compiling If MPI is not located by the configure script or the single CPU version is sufficient then the module mpimod_dummy f90 is used instead of mpimod f90 5 2 Parallelization in the Gridpoint Domain The data arrays in the gridpoint domain are either three dimensional e g gt NLON NLAT NLEV referring to an array organized after longitudes latitudes and levels or two dimensional e g gp NLON NLAT The code is organized so that there are no dependencies in the lat itudinal direction while in the gridpoint domain Such dependencies are resolved during the Legendre transformations So the data is partitioned by latitude The program can use as many CPU s as If of the number of latitudes with each CPU doing the computations for a pair of North South latitudes However there is the restriction that the number of latitudes NLAT divided by the number of processors NPRO giving the number of latitudes per pro cess NLPP must have zero remainder e g a resolution uses NEAT 48 Possible values for NPRO are then 1 2 3 4 6 8 12 and 24 All loops dealing with a latitudinal index look like do jlat 1 NLPP enddo There are however many subroutines with the most prominent called calcgp that can fuse latitudinal and longitudinal indices In all these cases the dimension NHOR is used
49. irculation model Phys Rev E 71 065602 1 4 2005 A J Simmons and D Burridge An Energy and Angular Momentum Conserving Vertical Finite Difference Scheme and Hybrid Vertical Coordinates Mon Wea Rev 109 758 766 1981 A J Simmons B J Hoskins and D M Burridge Stability of the Semi Implicit Method of Time Integration Mon Wea Rev 106 405 412 1978 Appendix List of Constants and Symbols Symbol Definition Value Unit a earth radius 6371 10 m A D V Vinp absorptivity emissivity As surface emissivity B T Planck s function Wm cloud cover Charnock constant 0 018 Cp transfer coefficient for heat Ce drag coefficient for momentum 65 specific heat of moist air at constant pressure Ske d Cod specific heat of dry air at constant pressure 1005 46 Jkg K oy specific heat of water vapor at constant pressure 1869 46 Jke 1K 1 on specific heat of sea ice 2070 Wskg K Cp specific heat of snow 2090 Wskg s specific heat of sea water 4180 Wskg 1 Cw coefficient for the deep ocean heat flux 4 Wm Cu wetness factor D scaled divergence E evaporation ms Eo extraterrestrial solar flux density Wm f Coriolis parameter 20 sin o ges Fp tendency of the first moment Kms F tendency of the zeroth moment Kare surface moisture flux 287 Fr surface sensible heat flux W m E surface zonal wind stre
50. l l Tr on the latitude and on the vertical coordinate o The restoration temperature field has the form Ta 0 f e Ta 9 10 The vertical profile is described by Talo Ta E 26 Z z 2 0 9 11 2 2 with Tn Lr gra L 21 Here z denotes the geometric height Zip the global constant height of the tropopause L 9 the vertical restoration temperature gradient and the restoration temperature at the surface and at the global isothermal tropopause respectively S provides a smoothing of the profile at the tropopause z c is determined by an iterative method The profile is determined by setting the parameters gra Ztp L and S Figure D 1 shows the vertical profile for the standard parameter values 48 CHAPTER 9 MODEL DYNAMICS T T z r 14 i 1 12 N a2 A 10 b Es E 0 4 e E Lu 3 3 as V 4 w oe 2 i i L ril 1a i i L i i 1 B50 m 30 20 10 10 T 50 50 gt 20 20 10 1a 20 1 Taie Figure 9 1 Vertical profile of the restoration temperature as function of the geometric height z left and as function of the dimensionless vertical coordinate c right for standard parameter values gra 288 K Zip 12km L 6 5 K km S 2 K The temperature contrast between low and high
51. lue can be processed simultaneously This is especially useful for very high resolution runs E g a PUMA T1365 needs now ca 45 GByte memory 2 The Legendre transformation was recoded to use symmetric and antisymmetric Fourier coefficients for these latitude pairs resulting in strict conservation of symmetry and antisym metry properties Figure 3 1 shows how the elements of a horizontal grid are stored in computer memory The restrictions for parallel execution using alternating grids are Because a latitude pair must not be separated to different processes the maximum number of processes is half of the number of latitudes Also it not possible to use an odd number of processes Figure 3 2 shows a horizontal grid sorted from North to South and its corresponding latitude indices The subroutines ALT2REG and REG2ALT in legsym f90 may be used to convert from alternating to regular Gaussian grid and vice versa 13 14 CHAPTER 3 HORIZONTAL GRID Index 1 NLAT Index 1 0 0 5 6 11 3 16 9 P 337 5 343 1 348 8 3544 Longitude Figure 3 1 PUMA T21 horizontal grid sorted by index Index 1 NLON lt x 8 M 0 0 5 6 11 3 16 9 ir 337 5 343 1 348 8 3544 Longitude Figure 3 2 PUMA T21 horizontal grid sorted from North to South Chapter 4 Modules This is the technical documentation of the PUMA model In th
52. lues are not case sensitive Values can be assigned to the following names help this output print available codes and names debug mode write GRADS control file for SERVICE data file NetCDF output override namelist option Mean 1 output override namelist option Planet Simulator or PUMA data file SERVICE or NetCDF format file redirected lt stdin gt redirected lt stdout gt verbose output Name Def Type Description Example HTYPE S char Horizontal type HTYPE G VTYPE S char Vertical type VTYPE P MODLEV 0 int Model levels MODLEV 2 3 4 hPa real Pressure levels hPa 500 1000 LATS 0 int No of latitudes for output grid LATS 40 LONS 0 int No of longitudes for output grid LONS 8s0 CODE 0 int ECMWFE field code CODE 130 152 NETCDF 0 int NetCDF output selector NETCDF 1 CYCLICAL 0 int Add data for longitude 360 CYCLICAL 0 MEAN 1 int Compute monthly means MEAN 0 HHMM 1 int Time format in Service format HHMM 0 HEAD7 0 int User parameter HEAD7 0815 MARS 0 int Use constants for planet Mars MARS 1 MULTI 0 int Process multiple input files MULTI 12 7 5 HTYPE accepts the first character of the following string The following settings are equiv alent HTYPE S HTYPE Spherical Harmonics HTYPE Something Blanks and the equals sign are optional Possible Values are Setting Description Dimension for T21 resolution HTYPE
53. lux Wm qs surface specific humidity kg sat saturation specific humidity R reflexivity albedo Rs surface albedo gas constant for dry air 287 05 Jkg WU surface long wave radiation Wm Rs surface short wave radiation Wm R gas constant for water vapor 461 51 Jkg K7 Ro zeroth moment of the temperature distribution Km first moment of the temperature distribution K m Ri Richardson number Sw salinity of sea water 34 7 psu 63 Symbol Definition Value Unit t time 5 t scaled time step T transmissivity T temperature K T temperature anomaly T Tp Ta deep ocean temperature at 400m K T sea ice surface temperature K freezing temperature 271 25 T surface temperature K Tasa sea surface temperature K dois melting point 273 16 K dis mixed layer temperature K Trze climatological mixed layer temperature K Tref asymptotic reference temperature K oceanic temperature profile k To reference temperature profile 250 0 k U scaled zonal wind u cosy zonal wind ms Ux friction velocity mg V scaled meridional wind v cosy U meridional wind ms 0 horizontal wind vector ms Wr cloud liquid water path gm Wenow mass of snow water kg W oi soil water m 2 height m 20 roughness length m At time increment S Az height increment m a thermal expansion coefficient 2 41 1074 K p back scattering coefficient diffusivity factor 1 66
54. mbers flags or anything else Setting HEAD7 to a number exports this number to every header record in the output file SERVICE format only 7 15 MARS This parameter is used for processing simulations of the Martian atmosphere Setting MARS 1 switches gravity gas constant and planet radius to the correct values for the planet Mars 7 16 MULTI The parameter MULTI can be used to process a series of input data during one run of the Pumaburner Setting MULTI to a number n tells the Pumaburner to process n input files The input files must follow one of these two rules e YYMMrule The last four characters of the filename contain the date in the form YYMM e NNN rule The last four characters of the filename consist of a dot followed by a three digit sequence number Examples Namelist contains MULTI 3 Command pumaburn lt namelist gt printout run 005 out Result Pumaburn processes the files lt run 005 gt lt run 006 gt lt run 007 gt Namelist contains MULTI 4 Command pumaburn lt namelist gt printout exp0211 out Result Pumaburn processes the files lt 0211 gt lt exp0212 gt lt exp0301 gt lt exp0302 gt 40 CHAPTER 7 POSTPROCESSOR PUMABURNER 7 17 Namelist example VTYPE Pressure HTYPE Grid CODE 130 131 132 hPa 200 500 700 850 1000 MEAN 0 NETCDF 0 This namelist will write Temperature 130 u 131 and v 132 to the pressure levels 200hPa 500hPa 700hPa 850hPa and 1000hPa The output in
55. melist files if necessary e Start the simulation with most_puma_run amp CHAPTER 1 INSTALLATION Chapter 2 Introduction The Portable University Model of the Atmosphere is based on the multi level spec tral model SGCM Simple Global Circulation Model described by Hoskins and Simmons 1975 and James and 1986 Originally developed as a numerical prediction model it was changed to perform as a circulation model For example James and Gray 1986 studied the influence of surface friction on the circulation of a baroclinic atmosphere James and James and investigated ultra low frequency variability and Mole and James analyzed the baroclinic adjustment in the context of a zonally varying flow Frisius et al simulated an idealized storm track by embedding a dipole structure in a zonally symmetric forcing field and investigated the sensitivity of GCM scenarios by using an adaption technique applicable to SGCMs Storm track dynamics and low frequency variability was investigated by 2005 For further citations search the bibliography at the end of this document and the list of publications at PUMA was created with following aims in mind training of Junior scientists compatibility with the ECHAM European Centre HAMburg model and as a tool for further scientific investigations 2 1 Training of junior scientists and students PUMA contains only the main processes necessary to simulate the a
56. print disable print lgxps i print mf o tglob m ps The variable m at the beginning of the script defines the month which should be displayed It is passed from the terminal with the script call Note that no quotation marks are present in this 8 1 GRADS 43 line since only GrADS specific commands are framed by quotation marks Script commands variable definitions if clauses etc are used without quotation marks The script is executed by typing its name without the suffix gs followed by the number of the month to be shown For example tglob 7 displays the monthly mean temperature at 500hPa in July The resulting output file is called tglob7 ps The following script thh displays the time dependent temperature in 1000hPa of Hamburg Here two variables are passed to GrADS to plot the first day and the last day Note that here the file puma gra is opened which contains data on a daily basis The call thh 91 180 displays the temperature in 1000hPa of Hamburg for the spring season from April 1st to June 30th thh gs function 91 d2 gt reinit open puma enable print print mf set lat 53 set lon 10 set lev 100000 set t dl 2 74 130 273 16 draw title Temperature deg C 1000hPa in Hamburg print disable print lgxps i print mf o thh ps It is possible to have more than one figure in a plot which is illustrated in the following script
57. setting up the Legendre Transformation and the FFT accordingly Variables that are stored on Gaussian grids are interpolated with a bilinear interpolation Note Lats gt 8 and Lons gt 16 due to technical reasons 38 CHAPTER 7 POSTPROCESSOR PUMABURNER 7 10 MEAN MEAN can be used to compute monthly means and or deviations The Pumaburner reads date and time information from the model file and handles different lengths of months and output intervals correctly Setting Description MEAN 0 Do not average all terms are processed MEAN 1 Compute and write monthly mean fields Not for spherical har monics Fourier coefficients or zonal means on sigma levels MEAN 2 Compute and write monthly deviations Not for spherical harmon ics Fourier coefficients or zonal means on sigma levels Deviations are not available for NetCDF output MEAN 3 A combination of MEAN 1 and MEAN 2 Each mean field is followed by a deviation field with an identical header record Not for spherical harmonics Fourier coefficients or zonal means on sigma levels Deviations are not available for NetCDF output 7 11 Format of output data The Pumaburner supports two different output formats e NetCDF Network Common Data Format e Service Format for user readable data see below For more detailed descriptions see for example http www nws noaa gov om ord iob NOAAPORT resources Setting Description NetCDF 1 The
58. shares the namelist file puma_namelist with PUMA because both programs must use the same parameters for consistency The use in MoSt is currently restricted for using an orography in PUMA If the orography option is checked in MoSt the PPP will be run before creating the run time environment for the model The PPP creates startup definitions for orography constant and time variable part of the restoration temperature and an initial field for surface pressure Additionally the simple orography modifier of MoSt may be used to rise or lower parts of the orography A mouseclick on the button Preprocess will then call the PPP and make all necessary adjustions to start fields More complex setups must be performed by either using some of the PPP namelist parameters or by adding code to PPP itself This requires however a good knowledge of the FORTRAN 90 pro gramming language and of the model interna The source code is in the file Most 16 puma src ppp f90 To make changes easier the PPP has two subroutines named modify_orography and mod ify_ground temperature These are the recommended places to add user code More details can be found in the FORTRAN 90 code of the PPP itself 59 56 CHAPTER 10 PREPROCESSOR Chapter 11 Benchmark 11 1 Performance PUMA on XEON server 57 38 CHAPTER 11 BENCHMARK 30 sec 25 One year T21L5 on XEON 2 13 GHz 20 15 10 4 8 16 Processors Figure 11 1 PUM
59. ss Pa Fy surface meridional wind stress Pa pee long wave radiation flux density Wm FSW short wave radiation flux density Wm g gravitational acceleration 9 81 m his mixed layer depth m climatological mixed layer depth m H effective mixed layer depth m H reduced center of gravity m 61 62 APPENDIX A LIST OF CONSTANTS AND SYMBOLS Symbol Definition Value Unit J vertical turbulent moisture flux kgm s Jr vertical turbulent temperature flux Rug Ja vertical turbulent flux of zonal momentum Pa Jy vertical turbulent flux of meridional momentum Pa k von Karman constant 0 4 Ky exchange coefficient for heat Kin exchange coefficient for momentum L latent heat Ly latent heat of fusion L L 3 28 10 Jkg ln mixing length for heat m lm mixing length for momentum m Ls latent heat of sublimation 2 8345 106 Jkg Ly latent heat of vaporization 2 5008 109 Jkg 1 P convective precipitation large scale precipitation ms associated Legendre function of the first kind p pressure Pa ps surface pressure Pa Ds scaled surface pressure q specific humidity Q total heat flux through sea ice Wm Q flux correction heat flux through sea ice Wm Qa total atmospheric heat flux Wm Qe conductive heat flux through sea ice Wm Qf heat flux available for freezing sea ice Wm Qg heat flux into the soil Wm Qm snow melt heat flux Wm Qo oceanic heat f
60. terval is the same as that found on the model data e g every 12 or every 6 hours MEAN 0 The output format is the SERVICE format 7 18 Troubleshooting If the Pumaburner reports an error or does not produce the expected results try the following e Check your namelist especially for invalid codes types and levels e Run the Pumaburner in debug mode by using the option d For example pumaburn namelist gt printout d data in data out This will print out details such as the parameters and the memory allocation used during the run This additional information may help to diagnose the problem e Not all combinations of HTYPE VI YPE and CODE are valid Try using HTYPE Grid and VTYPE Pressure before switching to more exotic parameter combinations Chapter 8 Graphics 8 1 GrADS In this section visualisation using the graphics package GrADS Grid Analysis and Display System is described A useful Internet site for reference and for installation instructions is http grads iges org grads grads html The latest version of GrADS can handle data in NetCDF format via the command sdfopen Any file produced by the Pumaburner with the option NETCDF 1 can be read directly by GrADS For files in the SERVICE format is possible to use a converter which translates from the SERVICE format into NetCDF But in the following it is assumed that the PUMA output has been postprocessed into the SERVICE format with the Pumaburner and that the res
61. th the units hectoPascal or millibar All output variables will be interpolated to the selected pressure levels There is no extrapolation at the top of the atmosphere For pressure values which are lower than that at the model s top level the top level value of the variable is taken The variables temperature and geopotential height are extrapolated if the selected pressure is higher than the surface pressure All other variables are set to the value of the lowest mode level for this case The outputfile contains the levels in the same order as they are set in hPa For example hpa 100 300 500 700 850 900 1000 7 9 LATS and LONS The Pumaburner defaults to the dimension of the model run E g Lats 32 and Lons 64 for a T21 resolution Note however that this results in Gaussian grids with non equidistant latitudes Selecting for Lats and Lons values that are different from the internal resolution produces equidistant lat lon grids Lats sets the number of latitudes from north to south with the North Pole at index 1 and the South Pole at index Lats Delta Phi is therefore 180 degrees Lats 1 Lons sets the number of gridpoints on every latitude circle Delta Lambda is 360 Lons Index 1 is on the Greewich Meridian 0 degrees while the last index denotes the point 360 degrees Delta Lambda Technical note Variables that are stored as spherical harmonics Temperature vorticity divergence etc are calculated on the user grid by
62. tion from a file called GUI cfg which must be present in the current directory MoSt copies the file GUI cfg from the dat directory to the run directory while building PUMA After reading GUI cfg an attempt is made to read the file GUI_last_used cfg This file is always written at the end of a GUI controlled simulation So one may rearrange and position GUI windows during a run and the new layout will be saved to the file GUI_last_used cfg In order to make this user layout the default for te following runs just copy this file 32 CHAPTER 6 GRAPHICAL USER INTERFACE Most15 puma run cp dat GUI cfg dat GUI cfg old Most15 puma run cp GUI_last_used cfg dat GUI cfg MoSt will then copy your new layout to the run directory at the next invocation The GUI cfg is a text file that may also be edited manually There is a section for each window counting from 0 to 8 which looks like Window 00 lt window number 0 8 Array CSU lt array name Plot ISOCS lt picture type Palette U lt colour palette Title Zonal Wind m s lt window title Geometry 529 299 2 3 lt width height left top Window 01 Array SPAN Plot ISOSH Palette AMPLI Title Spherical Harmonics Ps Geometry 529 299 535 3 Possible values for these items are 6 2 1 Array Name Description CSU Cross Section U Zonal mean zonal wind CSV Cross Section V Zonal mean meridional wind CST Cross Section T Zonal mean temperature SPAN
63. tion is done at the total wave number which can be set to 21 31 42 85 127 170 i e the model can be used with the T21 T170 spectral resolution The vertical resolution is given by mr equidistant o levels with the standard value 5 At the upper o 0 and lower boundary 1 of the model domain the vertical velocity is set to zero 6 0 The linear contributions to the tendencies are calculated in the spectral domain the non linear contributions in grid point space Therefore at every time step the necessary model variables are transformed from spectral to grid point representation by Legendre and Fast Fourier FFT transformations and then the calculated tendencies are transformed back into the spectral domain where the time step is carried out for the transform method see Orszag 1970 Eliasen et al 1970 Because of the semi implicit time integration scheme Simmons Hoskins and Burridge 1978 the terms due to gravity wave propa gation are integrated in time implicitly and the remaining terms are integrated explicitly the latter with a leap frog time step In the standard model a time step of one hour is used 9 2 PARAMETERIZATIONS 47 Robert Asselin time filter Haltiner and Williams 1982 is applied to avoid decoupling of the two leap frog time levels The contributions to the tendencies due to vertical advection are calculated by an energy and angular momentum conserving vertical
64. tmosphere The source code is short and clearly arranged student can learn to work with PUMA within a few weeks whereas a full size GCM requires a team of specialists for maintenance experiment design and diagnostics 2 2 Compatibility with other models PUMA is designed to be compatible with other circulation models like Planet Simulator and ECHAM The same triangular truncation is employed and analogous transformation techniques like the Legendre and Fast Fourier transformation are used The postprocessor Pumaburner differs from ECHAM s Afterburner only in respect to the format of the model s raw data which overcomes some problems of the ECHAM data format PUMA uses a more compact though more precise format compared to the GRIB GRIdded Binary which is used for ECHAM output The Pumaburner supports the output formats SERVICE and NetCDF All diagnostics and graphics software that are used with the ECHAM Afterburner data can be used with PUMA Pumaburner in exactly the same way 9 10 CHAPTER 2 INTRODUCTION 2 3 Scientific applications The PUMA code is the dynamical core of a GCM forced by Newtonian cooling and Rayleigh friction such as that proposed by Held amp Suarez 1994 to evaluate the dynamical cores of GCMs It forms the basis for various applications e The code can be utilized to build and test new numerical algorithms like semi Langrangian techniques e Idealized experiments can be performed to analyze nonlinear
65. ulting file is called puma srv Using the option g for the Pumaburner creates the related GrADS control file puma ctl Monthly mean data is either obtained directly from the Pumaburner namelist parameter MEAN 1 see section 7 or via command cdo monmean puma m Srv Information on the Climate Data Operators CDO s can be found in the User s Guide at http www mpimet mpg de fileadmin software cdo When the GrADS control file was not created via the Pumaburner option g it can be done by the command srvctl puma m srv which creates the file puma m ct1 It contains information on the grid time steps and variable names The file puma m srv is still needed in addition The program srvct1 f90 is one of the post processing tools available at http mi uni hamburg de puma If you chose to compile it yourself please read the comments in the first few lines of the program text Sometimes the srvctl tool has difficulty calculating an appropriate time axis from the data headers of the data records so you should check this In particular the number of days per year is concerned GrADS may assume 365 days per year even though the data header says 360 days per year This is an example of what the puma m ct1 should look like 41 42 DSET puma m gra 0 0000 74 7445 30 4576 13 8445 58 1430 UNDEF 9e 09 XDEF 64 LINEAR OPTIONS YREV YDEF 32 LEVELS 85 7606 80 2688 41 5325 35 9951 2 7689 8
66. utine prolog calls to different subroutines which are part of puma f90 or are provided by other modules initialize various parts of the model gauaw and inilat build the grid readnl reads the namelist file and sets parameters using the namelist input initpm and initsi initialize parameters for the physics and the semi implicit scheme respectively and outini starts the output The program then checks for the existence of a file named puma restart If the file can be opened then the restart record is read by restart otherwise initfd sets the prognostic variables to their initial values Finally the global averaged surface pressure is set using PSURF and the orography The subroutine master controls the time stepping First if it is not a restart the initial NKITS explicit forward time steps are performed The main loop is defined by calling gridpoint to set the nonlinear tendencies and spectral to add the linear tendencies The run is finalized by subroutine epilog which writes the restart records and terminates the MPI 21 22 CHAPTER 4 MODULES 4 6 pumamod f90 General The module pumamod f90 contains all the parameters and variables which may be used to share information between puma f90 and other modules No sub routines or programs are included Input Output pumamod f90 does not use any extra input or output files No namelist input is required Structure Internally pumamod f90 is a FORTRAN 90 module named
67. vertical coordinate do dt vertical velocity in o system w dp dt vertical velocity in p system u U zonal meridional component of horizontal velocity V horizontal velocity with components U V f Coriolis parameter J diabatic heating rate Cp specific heat of dry air at constant pressure K adiabatic coefficient The set of differential equations consists of the four prognostic equations 9 1 0 2 9 4 and 9 5 Vorticity and divergence D are scaled by the angular velocity of the earth Q pressures p and are scaled by the global mean surface pressure P 1011 hPa temperatures T and are scaled by a 0 R geopotential is scaled by a Q g and time t is scaledby 97 where a is the radius of the earth R is the gas constant of dry air and g is the gravitational acceleration For the parameterizations Px Pp and Pr see section D 2 The model can be run with or without orography The horizontal representation of any model variable is given by a series of spherical har monics If Q is an arbitrary model variable then its spectral representation has the form QA n t Q t 9 6 Here Y are the spherical harmonics and Q the corresponding complex amplitudes where y n m designates the spectral modes n 1 2 3 total wave number m 0 1 2 3 zonal wave number with m n 1992 The latter condition follows from the tri angular truncation in wave number space The trunca

Download Pdf Manuals

image

Related Search

Related Contents

LEX206C USB - YAMAKI sonido profesional  National ADC12V170 User's Manual  Guida per l`utente  newton newton newton fast jak newton fast jak  LIMITED WARRANTY STATEMENT  USER GUIDE  IPL, PR725Y22RP, 96148005400, 2014-01, MOWER  M V M E 2 3 0 0 S E R I E S  ご使用前に - Aprica  Haier GDZ22-1 Clothes Dryer User Manual  

Copyright © All rights reserved.
Failed to retrieve file