Home

Planet Simulator User's Guide Version 1

image

Contents

1. meseries 5 days Les A gt C 5 E Mail Kontact X PUMA 10 5 Top 06936028 tug en y V 1015 4 5 6 A upo turm 121 2 ESO Figure 5 2 Screenshot of Graphical User Interface GUI 5 1 GRAPHICAL USER INTERFACE GUI 55 e Time longitude Hovmoeller diagrams e Time series e Numerical values The second purpose is the interaction part of the GUI which allows 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 of course monitored in the outputfile and checked by GUI for the appropriate range of values and maximum possible change per timestep because otherwise a rapid parameter change or a choice of values beyond the normal range may blow up the model All model variables which are candidates for the display or interactive changes have a special code to communicate with the Planet Simulator The experienced modeller can add new code for more variables using the existing communication code as template Thus all model fields or even fields received via coupling with other models can be put on the GUI display Both MoSt and GUI are implemented using the 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 base of all desktop environments there is no need to ins
2. II 1 while II le 2 do INMON cat EXPDIR savemon EXP INYEAR cat EXPDIR saveyear EXP INDAY cat EXPDIR saveday EXP INFTP cat EXPDIR saveftp EXP TARFILE cat EXPDIR savetar EXP YY INYEAR if INYEAR 1t 10 then YY O YY fi MM INMON if INMON 1t 10 then MM 0 MM fi make namelist EXPDIR NAMLIST exe 1 cp EXPDIR land_namelist land_namelist cp EXPDIR sea_namelist sea_namelist cp EXPDIR ice_namelist ice_namelist cp EXPDIR ocean_namelist ocean_namelist 46 CHAPTER 3 RUNNING PLANET SIMULATOR cp EXPDIR EXP RES puma_restart cp EXPDIR EXP LANDRES land_restart cp EXPDIR EXP SEARES sea_restart R gt EXPDIR EXP PROUT_ YY MM history and restart saved for further diagnostics b puma output EXP PUMA_ YY MM id INFTP eq 1 then TARFILE EXP TAR_ YY MM echo TARFILE gt EXPDIR savetar EXP tar cf EXPDIR TARFILE EXP PUMA_ YY MM else tar rf EXPDIR TARFILE EXP PUMA_ YY MM fi mv puma_restart EXPDIR EXP RES mv land_restart EXPDIR EXP LANDRES mv sea_restart EXPDIR EXP SEARES rm EXP PUMA_ YY MM OUTMON expr INMON 1 OUTDAY X expr INDAY 30 OUTYEAR INYEAR OUTFTP expr INFTP 1 if OUTMON e
3. 4 3 Parallelization in Spectral Domain The number of coefficients in 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 4 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 such some 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 be done only by the root process who gathers and broadcasts or scatters the information as desired Code that is to be executed by the root process exclusively is written like if mypid NROOT then endif NROOT is typically 0 in MPI implementations mypid My process identification is assigned by MPI 4 5 SOURCE CODE 51 4 5 Source code It needs some discipline in order to maintain parallel code Here are the most important rules for changing or adding code to the Planet Simulator e Adding namelist parameters All namelist para
4. Oe Oe 25 2 172 raiBimoddOU 46 E AA ETRAS 50 27 2 13 seamod fO0 28 30 31 35 36 37 38 39 2 15 0 oceanmod30 t90 40 3 Running Planet Simulator 41 BI Interactive Console 41 D 2 Batch Moda 4 22333 e oe ky eee 42 4 Parallel Program Executio 49 1 ONCBDI Mai e de id 49 Parallelization In Gridpoint 49 4 CONTENTS Parallelization Spectral Domain 50 4 4 nchronization pointd 0 ee 50 H5 Source codd CERE EO RUR 51 raphical User Interface 53 1_ Graphical user interface GUI cocidas oen OR oe RR AR ERR 53 Postprocessor Pumaburner 57 b _ ce a xw gua e vom e h ea h Ex 57 mor aa a 3 a AAA 57 REN RR 58 DA HAY EB 2522 2 o a hoa awe SG eee 3 58 AAN PSD 5555 42 3 58 b 6 5 a ay Ta GA deck ur ud 59 OE oe ee 59 OS 59 6 9 orma
5. Input Output puma f90 does not use any extra input file or output file A diagnos tic print out is written on standard output puma f90 is controlled by the namelist inp which is part of the namelist file puma_namelist Parameter Type Purpose Default KICK Integer Switch for initial white 1 noise disturbance on sur face pressure 0 none 1 global 2 hemispher ically symmetric 3 one wavenumber only NAFTER Integer Time interval for output 12 time steps NCOEFF Integer Number of spectral coeffi 0 cients in diagnostic print out NDEL NLEV Integer Array Order of the horizontal dif NLEV 2 fusion NDIAG Integer Time interval for diagnostic 12 print out time steps NEXP Integer Experiment identifier 0 NEXPER Integer Switch for predefined exper 0 iments not used NKITS Integer Number of initial explicit 3 Euler time steps NRESTART Integer Switch for restart 0 ini 0 tial run 1 normal restart 2 restart plus up date of surface climatology 3 restart plus update of surface parameter see land mod f90 NRUN Integer Number of time steps to be 0 run NSTEP Integer Current time step replaced 0 by restart record Parameter NSTOP NTSPD NDAYS NEQSIG NPRINT NPRHOR NPACKSP NPACKGP NRAD NFLUX NDIAGGP NDIAGSP NDIAGCF NDIAGGP2D NDIAGGP3D NDIAGSP2D NDIAGSP3D Type Integer Integer Integer Integer Integer Inte
6. 0 The output file is written in Service format This is the preferred format for user programs For a detailed description see the following section GRIB 1 NetCDF 1 Illegal combination 6 10 SERVICE format The SERVICE format uses the following structure The whole file consists of pairs of header records and data records The header record is an integer array of 8 elements head 1 ECMWF field code head 2 modellevel 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 GRIB 0 NETCDF 0 INTEGER HEAD 8 REAL FIELD 64 32 dimensions for T21 grids READ 10 ERR 888 END 999 HEAD READ 10 ERR 888 END 999 FIELD 888 STOP 21 0 ERR 999 STOP 6 11 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 6 12 HEAD 61 6 12 HEAD The 7th element of the header is reserved for the user It may be used for experiment numbers flags or anything else Setting HEAD7 to a number exports this number to every header record in the output file SERVICE format only 6 13 MARS This parameter is used f
7. Integer Array Integer Integer Integer Real Real Real Real Real Real Array Real Array Real Array Real Array Real Real Array CHAPTER 2 MODULES Purpose Switch for diagnostic print out of a level 0 off 1 on Cut off wave number for horizontal diffusion Switch for CPU time diag nostics 0 off 1 on Switch for perpetual simu lations 0 annual cycle gt 0 day of the year Equator to pole tempera ture difference K for New tonian cooling usually not used North pole to south pole temperature difference K for Newtonian cooling usu ally not used Tropopause height m for Newtonian cooling usually not used Smoothing of the tropopause K for Newto nian cooling usually not used Surface temperature for Newtonian cooling usually not used time scale d for the hor izontal diffusion of diver gence time scale d for the hori zontal diffusion of vorticity time scale d for the hori zontal diffusion of tempera ture time scale d for the hori zontal diffusion of moisture Global averaged sea level pressure Pa Time scale d for Newto nian cooling usually not used Default NLEV 0 15 0 0 0 0 12000 0 280 NLEV 0 2 NLEV 1 1 NLEV 5 6 NLEV 5 6 101325 00 NLEV 0 0 Parameter Type Purpose Default TO NLEV Real Array Reference temperature used NLEV 250 0 in the discretization scheme TFRC
8. The Subroutines invlega and invlegd contain the transformations from spectral to fourier space for all varibles which are needed in the adiabatic and in the diabatic part of the model respectively Subroutine fc2sp does the transformation from fourier to spectral space The Subroutines dirlega and dirlegd contain the transformations from fourier to spectral space for the tendencies computed in the adiabatic and in the diabatic part of the model respectively Sub routine uv2dv transforms the fourier coefficients of the zonal and meridional wind components to spectral coefficients of divergence and vorticity 2 7 mpimod f90 and mpimod_dummy f90 General The module mpimod f90 contains interface subroutines to the MPI Mes sage Passing Interface needed for massive parallel computing Several MPI rou tines are called from the module The interface to other modules are given by nu merous subroutines which name starts with mp Subroutines from mpimod f90 are called in fluxmod f90 icemod f90 landmod f90 miscmod f90 oceanmod f90 ocean mod50 f90 outmod f90 puma f90 radmod f90 rainmod f90 seamod f90 surfmod f90 and visumod f90 The module mpimod_dummy f90 is used instead of mpimod f90 for simulations on a single processor mpimod_dummy f90 contains subroutines having the same name as the corresponding routine in mpimod f90 However there is no interface to MPI present in these routines and most of them are dummies Input Outpu
9. no flux correction 0 use fluxcorrec tion from file 0 NFLXCORRSST INTEGER Time constant for restoring sea 60d surface temperature gt 0 no flux correction 0 use fluxcor rection from file 0 Structure oceanmod f90 uses the module oceanmod which is not dependent on the module pumamod Subroutine oceanini reads the namelist and when required the flux corrections from the file ocean flxcor Subroutine oceanstep calls mixocean which calculates mixed layer depth and temperature If an ice cover is present mixed layer depth is set to the climatological value and the sea surface temperature is set to the freezing temperature For details of the mixed layer model see the reference guide section ute 39 40 CHAPTER 2 MODULES 2 15 6 oceanmod50 f90 General The module oceanmod50 f90 contains a mixed layer ocean model with depth fixed to 50m and a SST fluxcorrection that does not stem from restoring to climatological data For details see section ute of the reference guide The module oceanmod50 f90 optionally replaces the module oceanmod f90 so the internal structure and the interface to the main PUMA module is identical to oceanmod f90 Input Output If NFLXCORRSST is set to a negative value oceanmod50 f90 requires the file ocean_lgflxcor denoting long term gradient flux correction Otherwise the file heat_parameter is needed to calculate the flux correction If NOUTPUT is set to
10. 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 the first time fftini is called to do the initialization of the FFT 13 14 CHAPTER 2 MODULES 2 5 landmod f90 General The module landmod f90 contains parameterizations for land surface and soil processes which include the simple biome model SIMBA and a model for the river runoff The interface to PUMA is given via the module surfmod f90 by the subroutines landini landstep and landstop which are called in surfmod f90 from the subroutines surfini surfstep and surfstop respectively Input Output landmod f90 reads several surface and soil parameters either from the initial file STARTFILE see namelist or from the restart file land restart which is written at the end of an integration STARTFILE contains different sur face fields which are needed for initialization The file format is formatted SERVICE format with 8110 for the header and 8E12 6 for the fields The file may include the following fields surface geopotential orography m2 s2 land sea mask frac surface roughness m background albedo frac glacier mask frac bucket size m soil temperature climatological annual cycle of the surface temperature cli matological annual cycle of th
11. 1030 1000 5 67 1078 amp Ne scaled streamfunction angular velocity of the earth single scattering albedo 7 292 107 74 APPENDIX A LIST OF CONSTANTS AND SYMBOLS Appendix B Puma Codes 76 Codes available from PUMA burner adapted from ECHAM Code Levels Type Variable Unit 110 1 g mixed layer depth m 129 1 8 surface geopotential m2 s2 130 NLEV s temperature K 131 u velocity m s 132 NLEV v velocity m s 133 NLEV s specific humidity kg kg 135 NLEV vertical velocity Pa s 138 NLEV s vorticity 1 s 139 1 g surface temperature K 140 1 g soil wetness m 141 1 g snow depth water equi m 142 1 ga large scale precipitation m s 143 1 ga convective precipitation m s 144 1 ga snow fall m s 146 1 ga surface sensible heat flux W m 147 1 ga surface latent heat flux W m 148 NLEV c horizontal streamfunktion m s 149 NLEV c velocity potential m s 151 1 e mean sea level pressure Pa 152 1 S In surface pressure 153 NLEV g cloud liquid water content kg kg 155 NLEV s divergence 1 s 156 NLEV geopotential height gpm 157 NLEV c relative humidity frac 159 1 g u m s 160 1 ga surface runoff m s APPENDIX B PUMA CODES Code Levels Type Variable Unit 1
12. NLEV Real Array Time scale d for Rayleigh 0 0 friction 0 0 off Structure Internally fluxmod f90 uses the FORTRAN 90 global common module pumamod from pumamod f90 After starting MPI the main program puma calls prolog for initializing the model Then master is called to do the time stepping Finally subroutine epilog finishes the run In subroutine prolog calls to different subroutines which are part of puma f90 or are provided by other modules initial ize various parts of the model gauaw and inilat build the grid readnl reads the namelist and sets some parameter according to the namelist input and initsi initialize some parameter for the physics and the semi implicit scheme respectively outini starts the output If NRESTART gt 0 the restart record is read by restart otherwise initfd sets the prognostic variables to their initial values calls to miscini fluxini radini rainini and surfini start the initialization of the respective external modules Finally the global averaged surface pressure is set according to PSURF and the orography Subroutine master controls the time stepping First if its not a restart initial NKITS explicit forward timesteps are performed The main loop is defined by calling gridpointa for the adiabatic tendencies spectrala to add the adiabatic tendencies gridpointd for the diabatic tendencies which are computed by the external modules spectrald to add the diabatic tendencies
13. SCHAUERDIR TARF rm DATADIR TARFILE to YY MM EOP chmod u x EXPDIR put_schauer YY MM EXPDIR put_schauer YY MM gt EXPDIR put_ YYI S MM 2 gt amp 1 Y fi cd TMPDIR fi echo OUTFTP gt EXPDIR saveftp EXP if OUTYEAR gt LASTYEAR then cd EXPDIR rm r TMPDIR exit fi exit EDR cd EXPDIR chmod u x runall runall 48 etime date echo echo echo echo echo exit gt started stime gt done etime IX CHAPTER 3 RUNNING PLANET SIMULATOR Chapter 4 Parallel Program Execution 4 1 Concept The Planet Simulator is coded for parallel execution on computers with multiple CPU s or networked machines The implementation uses MPI Message Passage Interface that is available for nearly every operating system http www mcs anl gov mpi In order to avoid maintaining two sets of source code for the parallel and the single CPU version all calls to the MPI routines are encapsulated into a module Users that want to compile and execute the parallel version use the module mpimod f90 and the commands mpif90 for compiling and mpirun for running If MPI is not implemented or the single CPU version is sufficient the module mpimod dummy f90 is used instead of mpimod f90 Also remove or comment the line use mpi and set the number of processors to 1 parameter NPRO 1 4 2 Parallelization
14. Table 2 1 Parameters to be exchanged between models Arrows denote the direction in which the parameter is passed e g the atmosphere receives ice cover information from the ice model 32 32 Timesteps Timesteps CHAPTER 2 MODULES surface temperature net precipitation ice cover runoff snow thickness total heatflux ice thickness sensible heatflux radiation wind stress sea surface temperature deep sea temperature mixed layer depth net precipitation salinity runoff total heatflux wind stress freeze and melt volume Figure 2 1 Schematic illustration of the model coupling 2 15 SEA ICE AND OCEAN MODULES FLOW DIAGRAM ATMOSPHERE ICE OCEAN EXCHANGE PUMA MAIN LOOP puma f90 LANDSTEP _ lt landmod f90 SURFSTEP surfmod 90 in SEASTEP seamod f90 CPLEXCHANGE_ICE intermod_atm f90 ICESTEP icemod f90 CPLEXCHANGE_OCEAN CPLEXCHANGE_ATMOS iintermod ice f90 intermod ice f90 OCEANSTEP oceanmod f90 Figure 2 2 Subroutine flow when no external coupler is used 33 34 CHAPTER 2 MODULES 2 15 SEA ICE AND OCEAN MODULES 35 2 15 1 seamod f90 General The module seamod f90 deals as an interface between the atmospheric part of the model and modules for the ocean and sea ice The basic subroutines seaini seastep and seastop ar
15. ccols 1 set grads off set t 1 d c151 100 draw title SLP hPa yr ny DJF set vpage 5 5 11 4 25 8 5 set gxout contour if setlevs 1 set clevs 990 995 1000 1005 1010 1015 1020 endif ccols 1 set grads off set t 2 d c151 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 1020 endif ccols 1 set grads off set t 3 d c151 100 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 1020 endif ccols 1 set grads off set t 4 d c151 100 draw title yr ny SON print disable print c i print mf o slp_sm ps 7 2 Vis5D Vis5D is a system for interactive visualization of large 5 D gridded data sets such as those produced by numerical weather models One can make isosurfaces contour line slices colored slices volume renderings etc of data in a 3 D grid then rotate 7 2 VIS5D 67 and animate the images in real time There s also a feature for wind trajectory tracing a way to make text annotations for publications support for interactive data analysis etc from the Vis5D home page http www ssec wisc edu billh vis5dd html This powerful visualisation tool together with its documentation is available through the
16. model run from the end of the current integration 41 42 CHAPTER 3 RUNNING PLANET SIMULATOR 3 2 Batch Mode For long integrations 1t is more useful to run puma in batch mode i e start puma by calling a script that manages the model run The following script does just that Since it is quite long it is here split to parts with explanations inbetween usr bin ksh stime date This script runs the atmospheric model PUMA on a linux machine EXP example EXPERIMENT IDENTIFIER EXPDIR castor home user EXP EXPERIMENT DIRECTORY MODEL EXPDIR puma x THE MODEL EXECUTABLE SCHAUER 1 TRANSFER OUTPUT TO SCHAUER 1 YES SCHAUERDIR pf u user_account puma EXP U TREE DIRECTORY FOR OUTPUT DATADIR EXPDIR data OUTPUT DIRECTORY SSTFILE EXPDIR surface_parameter INITIAL DATAFILE PUMA SURFFILE EXPDIR surface_parameter INITIAL DATAFILE PUMA OCEANFILE EXPDIR ocean_parameter INITIAL DATAFILE OCEANMOD LASTYEAR 50 LAST YEAR TO BE SIMULATED FTPINT 12 MONTHS PER TAR FILE TMPDIR MFHOME tmpdir run mkdir TMPDIR cd TMPDIR set ex mkdir EXPDIR mkdir p DATADIR OUTYEAR 1 OUTDAY 30 OUTMON 2 DUTFTP 2 TARFILE EXP TAR_0101 cp MODEL EXPDIR model x This first block of the script defines the basic settings i e the directories used the length of the integration etc If SCHAUER is set to 1 all puma output is transferred to the specified direc
17. 1 the output file fort 31 containing global fields of ocean model data in service format is produced for details see the ice module section of the reference guide The module is controlled by the namelist oceanpar in the file ocean_namelist Parameter Type Purpose default NDIAG INTEGER Diagnostic output every NDIAG 480 time steps NOUT INTEGER Model data output every NOUT 32 time steps NOUTPUT INTEGER Oceanmodel output 1 0 1 NFLXCORRSST INTEGER Flag for calculating the flux cor 1 rection lt 0 or reading the flux correction from file gt 0 Structure The internal structure is exactly the same as in oceanmod f90 Chapter 3 Running Planet Simulator 3 1 Interactive Console Mode The Planet Simulator is started from a console by simply typing puma x The following files have to be present in the same directory puma_namelist land_namelist sea_namelist ice_namelist ocean_namelist surface_parameter ocean_parameter All settings like length of the integration special parameterizations etc are given in the namelist files The parameter files contain the climatology When the integration is finished successfully the following files have been created puma_output puma_restart land_restart sea_restart The file puma_output contains the model results and has to be postprocessed using the pum aburner cf Chapter The _restart files contain information necessary to restart the
18. 60 int diagnostic output every ndiag time steps model data output every nout time steps 1 turn on ocean model output time constant days for restoring mixed layer depth gt 0 no flux correction 0 use flux correction from file lt 0 time constant days for restoring sea surface temperature gt 0 no flux correction 0 use flux correction from file lt 0 8l 82 oceanmod50 parameters Name Def Type Description ndiag 480 int diagnostic output every ndiag time steps nout 32 int model data output every nout time steps noutput 1 int 1 turn on ocean model output nfixcorrsst 1 int flag for calculating flux correction lt 0 use flux correction from file lt 0 APPENDIX C NAMELIST
19. 62 NLEV g cloud cover frac 164 1 ga total cloud cover frac 169 1 ga surface temperature 170 1 g deep soil temperature K 172 1 g land sea mask 0 1 173 1 g surface roughness m 175 g surface albedo frac 176 1 ga surface solar radiation W m 177 1 ga surface thermal radiation W m 178 1 ga top solar radiation W m 179 1 ga top thermal radiation W m 180 1 ga u stress Pa 181 1 ga v stress Pa 182 1 ga evaporation m s 183 1 g soil temperature K 203 1 ga top solar radiation upward W m 204 1 ga surface solar radiation upward W m 205 1 ga surface thermal radiation upward W m 207 1 g soil temperature level 2 K 208 1 g soil temperature level 3 K 209 1 g soil temperature level 4 K 210 1 g sea ice cover frac 211 1 g sea ice thickness m 212 1 g vegetation cover frac 218 1 g snow melt water equiv m s 221 1 g snow depth change water equiv m s 230 1 ga vertical integrated spec hum kg m 232 1 g glacier cover frac TT s PUMA spectral field 2 PUMA grid point field c computed by PUMA burner a accumu lated 78 APPENDIX B PUMA CODES Appendix C Namelist 80 basic namelist parameters APPENDIX C Name Def Type Description kick 1 int 0 no noise initialization p const 1 random white noise 2 Equator symmetric random white noise 3 mode 1 2 no random initialization nafter 12 int output interval for data timesteps ncoe
20. Name Def Type Description ndca 0 int 1 turn on convective adjustment surfmod parameters Name Def Type Description nsurf not active int debug switch noromax model resolution NTRU int resolution of orography oroscale 1 0 real scaling factor for orography seamod parameters Name Def Type Description nocean 1 int ocean model 1 or climatology 0 nice 1 int sea ice model 1 or climatology 0 ncpl ice ocean 1 int ice ocean coupling time steps ncpl ice ocean 1 int ice ocean coupling time steps ncpl_atmos_ice 32 int atmosphere ice coupling time steps sstfile surface_parameter char 80 file with sst climatology albsea 0 069 real albedo for open water albice 0 7 real max albedo for sea ice dz0sea 1 5 1075 real roughness length sea m dz0ice 1 0 1073 real roughness length ice m drhssea 1 0 real wetness factor sea drhsice 1 0 real wetness factor ice icemod parameters Name Def Type Description ndiag 160 int diagnostic output every ndiag time steps nout 32 int model data output every nout time steps noutput 1 int 1 turn on ice model output nflxcorr 360 int time constant days for restoring no flux correction 0 use flux correction from file lt 0 oceanmod parameters Name Def Type Description ndiag 480 int nout 32 int noutput 1 int nfixcorrmld 60 int nflxcorrsst
21. Planet Simulator Zonal Wind m s Meridional Wind m s Temperature K 10 8 6 4 210 m 220 m 230 m 240 m 250 m 260 m 270 Zonal Wind Level 2 m s Meridional Wind Level 2 m s C Ps Hovmoeller 45N 5 days Timeseries 5 days 985 990 995 m1000 1005 E1010 m 1015 University of Hamburg Planet Simulator Fraedrich Jansen Kirk Luksch Lunkeit mx MARE a Zonal Mind m s 13 Mar 0001 10 30 Meridional Mind m s UH Temperature K Precipitable Water Kg m2 6 5 fps Zonal Wind Level 2 m s Meridional Wind Level 2 m s Grid Ps Hovmoeller 45N 5 days Timeseries 5 days Tables E 2 I1 TR E s E Mail Kontact X PUMA 10 ua Ae OR FS 2 quide pdf 0 3v 1015 hPa 415 6 4 tupo turm 2 E User s Guide Version 1 F Lunkeit S Blessing K Fraedrich H Jansen E Kirk U Luksch F Sielmann March 2 2005 Contents H Installation 5 1 1 Quick Installation 2 2s 5 a Gas Gg ws Gag a a a 5 Model build p 0525 IM 6 6 9 X 10 AA AAA tec sup eS SUP ue 11 2 3 surfmod f90U 12 do 13 14 16 17 19 2 9 p Up a e A e de 20 210 p AP 24 AA A
22. _ OCEAN Integer ice ocean coupling time 32 steps NCPL_ATMOS ICE Integer ice atmosphere coupling 1 time steps TDEEPSEA Real Homogeneous deep ocean 0 0 temperature DHICEMIN Real Minimum sea ice thickness 0 1 m SSTFILE FILE File with SST data surface_parameter Structure Internally seamod f90 uses the FORTRAN 90 module seamod which uses the global common module pumamod from pumamod f90 Subroutine seazni reads the namelist and if the parallel version is used distributes the namelist param eters to the different processes The coupling interface routines in intermod atm f90 are initialized by calling cplinit If it is not a restart i e if NRESTART from inp of puma f90 is 0 the files SSTFILE and ocean parameter are being read The climatological sea ice compactness is converted to a sea ice thickness as initial condition and additional surface parameters are set If it is a restart the restart file sea restart is read Subroutine seastep accumulates the variables used for the coupling between the atmosphere and the ocean The coupling is done via the sea ice model There is no direct connection between atmosphere and ocean model If there is no sea ice the coupling quantities are passed through the ice model without changes call to cplexchange ice from module intermod_atm f90 transfers the at mospheric coupling fluxes to the sea ice model and gets the sea ice and ocean surface data back After the call additional surface par
23. above home page Vis5D uses its own data format which makes it necessary to transform your data Depending on their format and the flowchart on http puma dkrz de puma download map you have the following choices If e your data is raw PUMA output you need to process it with the pumaburner postprocessor see section 6 in order to transform it to either NETCDF option n or namelist parameter NETCDF 1 or GRIB option g or namelist parameter GRIB 1 and proceed from there e your data is in SERVICE format you need to convert it to either GRIB for instance with the PINGOs grb copy2 data srv data with grib metainfo grb output grb or NETCDF using the program puma2cdf which is available with the PUMA postprocessing tools Despite of its name this program cannot process raw PUMA output but takes SERVICE format as input It can as well be called as srv2cdf which changes its behaviour oddities of model output such as the existence of February 30 are then no longer removed Once the format is changed proceed from there e your data is in NETCDF format it can easily transformed to Vis5D s native format by means of the program cdf2v2d which is available with the PUMA postprocessing tools e your data is in GRIB format you can find a transformation tool named Grib2V5d at lt http grib2v5d sourceforge net gt which offers various practical features Once the conversion to Vis5D s native format is achieved please follow the ins
24. albedo for snow 0 8 Parameter Type Purpose Default ALBGMIN Real Minimum albedo for 0 6 glaciers ALBGMAX Real Maximum albedo for 0 8 glaciers WSMAX Real Maximum field capacity of 0 5 soil water bucket size m DRHSFULL Real Threshold above which wet 0 4 ness factor is 1 DZGLAC Real Threshold of orography to 1 0 be glacier 1 0 none m DZTOP Real Thickness of the uppermost 0 2 soil layer m DSOILZ 5 Real Array Soil layer thicknesses m 0 4 0 8 1 6 3 2 6 4 STARTFILE Character Initialization file surface parameter Structure Internally landmod f90 uses the FORTRAN 90 module landmod which uses the global common module pumamod from pumamod f90 Subroutine landini reads the namelist and if the parallel version is used distributes the namelist pa rameters to the different processes If the run is not started from a restart file NRESTART from namelist inp of puma f90is 0 the initialization file START FILE is being read The soil and the river runoff are initialized via soilini and roffini and different variables are set according to the values given by the namelist or the STARTFILE If it is a restart NRESTART 1 the restart records are being read from land restart Additionally the climatological surface tempera tures and soil wetnesses are updated from STARTFILE if NRESTART 2 If NRESTART 3 special application the bucket size the roughness length and the albedo are set to the values given in the
25. ameter are computed Subroutine seastop finalizes the run and writes the restart records 29 30 CHAPTER 2 MODULES 2 14 Files 2 15 SEA ICE AND OCEAN MODULES 31 2 15 Sea ice and ocean modules This section describes the modules that represent sea ice and ocean and the necessary interfaces between these modules and the atmospheric modules Conceptually the sea ice model lies inbetween the atmosphere model and the ocean model Thus the PUMA main part and the ocean model are both coupled to the sea ice model but not directly to each other The sea ice model decides whether a given gridpoint is covered with ice or not in the latter case it merely functions as passing the ocean fluxes to the atmosphere and vice versa The parameters that are exchanged are listed in Table B J The sea ice and ocean model use a time step of one day Thus atmospheric coupling to the sea ice model is performed every 32 time steps while the sea ice and ocean model are coupled every time step The coupling scheme is shown in Fig 2 1 Fig 22 shows how the subroutines are placed when no external coupler is used Parameter Atmosphere lt Ice Ice lt Ocean Ice cover Ice thickness Snow thickness Surface temperature Deep sea temperature Mixed layer depth Net precipitation runoff Salinity Melt and freeze volume Heat fluxes d Heat fluxes dT Radiation Wind stress 1117 lo Ill 4 1111
26. and the interface routines to the output module outmod f90 The run is finalized by subroutine epilog which writes the restart records and calls the respective interface routines of the external modules 23 24 CHAPTER 2 MODULES 2 10 pumamod f90 General The module pumamod f90 contains all parameters and variables which may be used to share information between puma f90 and other modules No subroutines or programs are included Input Output pumamod f90 does not use any extra input file or output file No namelist input is required Structure Internally pumamod f90 is a FORTRAN 90 module named pumamod Names for global parameters scalars and arrays are declared and if possible values are preset 2 11 radmod f90 General The module radmod f90 contains subroutines to compute radiative energy fluxes and the temperature tendencies due to long wave and short wave radiation The interface to the main PUMA module puma f90 is given by the subroutines radini radstep and radstop which are called in puma f90 from the subroutines prolog gridpointd and epilog respectively Input Output radmod f90 does not use an extra output file If the Switch for ozone NO3 see namelist is set to 2 externally prescribed the climatological cycle of the ozone distribution is read from the external file OLONEFILE which name is given in the namelist The file format is formatted SERVICE format with 8110 for the
27. ariables depends on how the pumaburner was called In this example only 3 variables were processed i e the surface temperature c139 the sea level pressure c151 and the albedo c175 refer to appendix for a list of codes The GrADS program is started by typing grads in a terminal window Then data is visualised either by typing commands line by line or preferably by using scripts The following script called tglob gs displays the monthly mean surface temperature tglob gs function pass m reinit open puma m enable print print mf t m c set gxout shaded d 139 273 16 cbar gs gxout contour c139 273 16 draw title Surface Temperature deg C month m print disable print 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 in this line no quotation marks are present since only GrADS specific commands are framed by quotation marks Script commands 7 1 GRADS 65 like variable definitions if clauses etc are used without quotation marks The script is executed by typing its name without the ending and the number of the month to be shown For example tglob 7 displays the monthly mean surface temperature in July The resulting output file is called tglob7 ps The following script thh displays the
28. ational acceleration 9 81 m7 Amia mixed layer depth m hmiz climatological mixed layer depth m H effective mixed layer depth T m H reduced center of gravity n m d vertical turbulent moisture flux kem s latent heat of fusion L L 3 28 10 mixing length for heat mixing length for momentum latent heat of sublimation 2 8345 10 latent heat of vapourization 2 5008 10 convective precipitation large scale precipitation associated Legendre function of the first kind pressure surface pressure scaled surface pressure specific humidity total heat flux through sea ice flux correction heat flux through sea ice total atmospheric heat flux conductive heat flux through sea ice heat flux available for freezing sea ice heat flux into the soil snow melt heat flux oceanic heat flux surface specific humidity saturation specific humidity refexivity albedo surface albedo gas constant for dry air 287 05 surface long wave radiation surface short wave radiation gas constant for water vapor 461 51 zeroth moment of the temperature distribution first moment of the temperature distribution Richardson number salinity of sea water 34 7 time scaled time step transmissivity temperature temperature anomaly T To deep ocean temperature at 400m sea ice surface temperature freezing temperature 271 25 surface temperature sea surface temperature melting point 273 16 mixed layer temperature cl
29. because each usage of Most overwrites the contents of bld 1 4 Model run phase After building the model with the selected configuration Most writes or copies all 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 exit 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 also the the Graphical User Interface for user 1 4 MODEL RUN PHASE 7 control and display of variables during the run Again all contents of the run directory are subject of change for the user But it would be wise to keep changed run setups in other user created directories because each usage of Most will overwrite the contents of the run directory Another concept could be to rename user changed files because Most always generated files starting with most and leaves other files untouched CHAPTER 1 INSTALLATION Chapter 2 Modules This is a technical documentation of the model In the following the purposes of the individual modules is given and the general structure and possible input and output opportunities namelist files are explained 10 CHAPTER 2 MODULES 2 1 fluxmod f90 General The module fluxmod f90 contains subroutines to compute the different surface fluxes and to perform the
30. between the atmospheric part of the model and modules or models for the land and the oceans The interface to the main PUMA module puma f90 is given by the subroutines surfini surfstep and surfstop which are called in puma f90 from the subroutines prolog gridpointd and epilog respectively Calls to subroutines named landini landstep and landstop and seaini seastep and seastop provide the interface to land and the ocean modules respectively Input Output surfmod f90 reads the land sea mask frac and the orography sur face geopotential m s from file INPUTFILE see namelist The file format is formatted SERVICE format with 8110 for the headers and 8E12 6 for the fields To assign the fields the headers need to have the header information code 129 for the surface geopotential and 172 for the land sea mask 1 land 0 sea Fields which are not needed will be skipped surfmod f90 is controlled by the namelist surfpar which is part of the namelist file puma_namelist Parameter Type Purpose default NSURF Integer Debug switch not active NOROMAX Integer Resolution of orography NTRU OROSCALE Real Scaling factor for orography 1 0 INPUTFILE Character Name of the input file surface parameter Structure Internally surfmod f90 uses the FORTRAN 90 module surfmod which uses the global common module pumamod from pumamod f90 Subroutine surfini reads the namelist and if the parallel version is used distributes the namelist pa
31. calls the subroutine vdiff to do the vertical diffusion Subroutine fluxstop is a dummy subroutine since there is nothing to do to finalize the computations in fluxmod f90 The computation of the surface fluxes in surflx is spitted into several parts After initializing the stability dependent transfer co efficients the subroutines mkstress mkshfl and mkevap do the computations which are related to the surface wind stress the surface sensible heat flux and the surface evaporation respectively 2 2 miscmod f90 General The module miscmod f90 contains miscellaneous subroutines which do not fit well to other modules The interface to the main PUMA module puma f90 is given by the subroutines miscini miscstep and miscstop which are called in puma f90 from the subroutines prolog gridpointd and epilog respectively A subroutine to eliminate spurious negative humidity and an optional subroutine to relax the upper level temperature towards a prescribed distribution is included in miscmod f90 Input Output miscmod f90 does not use any extra output file If the relaxation is switched on a climatological annual cycle of the prescribed upper level temperature distribution K is read from the external file CLIMATEFILE see namelist The file format is formatted SERVICE format with 8110 for the headers and 8E12 6 for the temperature fields To assign the field the header needs to have the header information code 130 level 1 and a date
32. d clears plasim directories rwxr xr x 1 51 cleanpuma lt command clears puma directories rw r r 1 83 makefile lt Used to make most x rw r r 1 63763 most c lt Source for Most Model Starter rwxr xr x 1 66138 most x lt Most executable created by make drwxr xr x 8 192 plasim lt Planet Simulator directory drwxr xr x 2 136 postprocessor lt Postprocessor directory drwxr xr x 7 168 puma lt PUMA directory The directory structure must not be changed even empty directories must be kept as they are the Most program relies on the existence of these directories 6 CHAPTER 1 INSTALLATION For each model currently Planet Simulator and exist a directory with following subdirectories Most9 plasim gt 18 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 2 drwxr xr x 2 drwxr xr x 2 drwxr xr x 2 drwxr xr x 2 drwxr xr x 2 After installation only dat doc and src contain files all other directories are empty Running Most to configure a model and define an experiment uses the directories in the following manner 1 3 Model build phase Most writes an executable shell script to the bld directory and executes it directly here after It copies all necessary source files from src to bld an
33. d modifies them according to the selected parameter configuration Modification of source code is necessary for verti cal and horizontal resolution change and for using more than 1 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 Most provides two different makefiles for the single CPU version or the parallel version using MPI Message Passing Interface The resolution and CPU parameters are coded into the filename of the executable in order to have 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 verti cal resolution of 10 levels and 2 CPU s The executable is copied to the model s bin directory after building Each time Most is used to setup new experiments it checks the bin directory for a matching executable If it s there it s used without rebuilding otherwise a new executable with the selected parameters is created Rebuilding may be forced by using the cleanplasim 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 most plasim build For permanent user modifications the contents of the bld directories have to be copied elsewhere
34. e called by the the subroutines surfini surfstep and surfstop respectively see module surfmod f90 See the reference guide section heiko coupling for a visualization of the module coupling structure Input Output seamod f90 needs the parameter file surface_parameter to read the climatological sea surface temperature and ice cover as well as ocean_parameter which contains climatological mixed layer depth and the Levitus 400 m temperature As output data the file sea_restart is produced at the end of a run In the case of a restart this file is required to be read in by the module The namelist seapar which is contained in the file sea_namelist is defined as Parameter Type Purpose default ALBSEA REAL Albedo for open water 0 069 ALBICE REAL Max albedo for sea ice 0 7 DZOSEA REAL Roughness length sea 1 5 107 m DZOICE REAL Roughness length ice 1 0 107 m DRHSSEA REAL Wetness factor sea 1 0 DRHSICE REAL Wetness factor ice 1 0 NOCEAN INTEGER Ocean model 1 or cli 1 matology 0 NICE INTEGER Sea ice model 1 or cli 1 matology 0 NCPL ICE OCEAN INTEGER Ice Ocean coupling time 1 steps NCPL ATMOS ICE INTEGER Atmosphere Ice coupling 32 time steps SSTFILE CHAR 80 file containing climatol ogy surface parameter Structure Internally seamod f90 uses the FORTRAN 90 module seamod which uses the global common module pumamod from pumamod f90 Subroutine seaini reads the namelist and if the parallel version is
35. e soil wetness m To assign the fields the headers need to have the header information code 129 for surface geopotential code 172 for the land sea mask 1 land 0 sea 173 for the surface roughness 174 for the background albedo 232 for the glacier mask 1 glacier 0 no glacier 229 for the bucket size 209 for the soil temperature 169 for the surface temperature and 140 for the soil wetness for the climatological annual cycles of surface temperature and soil wetness a date identifier of the form yymmdd or mmdd where mm goes from 01 to 12 January to December is required Fields which are not needed will be skipped If there are some fields not present in the STARTFILE default values will be used which can be set in the namelist The use of some fields depend on the setting of some namelist parameters The restart file land_restart is an unfor matted file which contains all variables needed to continue the run landmod f90 is controlled by the namelist landpar given in the namelist file land_namelist Parameter Type Purpose Default NLANDT Integer Switch for surface tempera 1 ture 1 computed 2 cli matology NLANDW Integer Switch for soil wetness 1 1 computed 2 clima tology NBIOME Integer Switch for biome model 0 SIMBA 1 on 0 off ALBLAND Real Background albedo 0 2 DZOLAND Real Roughnesslength m 2 0 DRHSLAND Real Wetness factor 0 25 ALBSMIN Real Minimum albedo for snow 0 4 ALBSMAX Real Maximum
36. es frac for high middle and low level clouds spec tral range 2 CLGRAY Real Prescribed grayness of 1 0 clouds 1 0 computed TPOFMT Real Tuning for point of mean 0 15 transmission ACLLWR Real Mass absorption coefficient 0 1 for clouds long wave TSWR1 Real Tuning of cloud albedo 0 035 spectral range 1 TSWR2 Real Tuning of cloud back scat 0 04 tering spectral range 2 TSWR3 Real Tuning of cloud single 0 006 scattering albedo spectral range 2 OZONEFILE Character File for externally ozone dat scribed ozone distribution Structure Internally radmod f90 uses the FORTRAN 90 module radmod which uses the global common module pumamod from pumamod f90 Additionally the FORTRAN 90 module orbparam is used Subroutine radini reads the namelist and if the parallel version is used distributes the namelist parameters to the different processes Orbital parameters are computed by calling orb_params If NO3 is set to 2 the ozone distribution is read from OZONEFILE Subroutine radstep calls the subroutines solang and mko3 to compute the cosine of the solar angle and the ozone distribution respectively The short wave radiative fluxes are calculate in swr while the long wave radiative fluxes are computed in lwr Subroutine radstop is a dummy subroutine since there is nothing to do to finalize the computations in radmod f90 2 12 rainmod f90 General The module rainmod f90 contains subroutines to compute
37. ff 0 int number of coefficients to print in wrspam ndiag 12 int output interval for diagnostics timesteps nexp 0 int experiment identifier nkits 3 int number of short initial timesteps nrestart 0 int 1 preform a restart run nrun 0 int number of timesteps to run excl initial ones nstep 0 int current timestep nstop 0 int stop at time step nstop ntspd 24 int number of timesteps per day nrad 1 int 1 switches radiation on nflux 1 int 1 switches vertical diffusion on neqsig 1 int 1 use equidistant sigma levels nprint 0 int 1 comprehensive print out only for checks nprhor 0 int 1 grid point for print out only for checks npacksp 1 int 1 pack spectral fields on output npackgp 1 int 1 pack gridpoint fields on output ndiaggp 0 int 1 process franks gp diagnostic arrays ndiagsp 0 int 1 process franks sp diagnostic arrays ndiagcf 0 int 1 turn on cloud forcing diagnostic ndiaggp2d 0 int number of additional 2 d gp diagnostic arrays ndiaggp3d 0 int number of additional 3 d gp diagnostic arrays ndiagsp2d 0 int number of additional 2 d sp diagnostic arrays ndiagsp3d 0 int number of additional 3 d sp diagnostic arrays nhdiff 15 int critical wavenumber for horizontal diffusion ndel NLEV 2 int order of hyperdiffusion for each level 2 h ndI NLEV NLEV 0 int 1 activate spectral printouts for this level ntime 0 int 1 turn on time use diagnostics nperpetual 0 int radiation day for perpetual integration tfrc NLEV 0 0 0 1 int Rayleigh fric
38. ger Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Purpose Finishing time step Number of time steps per day Number of days to be run overwrites NRUN if gt 0 Switch for non equally spaced sigma levels 1 non equally spaced 1 equally spaced Switch for extended debug print out 0 off 1 on 2 very extended Number of the grid point to be used for very extended debug print out Switch for spectral output 0 normal 1 com pressed Switch for grid point out put 0 normal 1 com pressed Switch for radiation 0 off T on Switch for surface fluxes and vertical diffuson 0 1 on Switch for additional di agnostic grid point output 0 off 1 on Switch for additional di agnostic spectral output 0 off 1 on Switch for additional cloud forcing diagnostic 0 off 1 Number of additional diag nostic 2 d grid point output 0 1 on Number of additional diag nostic 3 d grid point output 0 off 1 on Number of additional diag nostic 2 d spectral output 0 off 1 on Number of additional diag nostic 3 d spectral output 0 off 1 on Default 0 not active 24 21 22 Parameter NDL NLEV NHDIFF NTIME NPERPETUAL DTEP DTNS DTROP DTTRP TGR TDISSD NLEV TDISSZ NLEV TDISST NLEV TDISSQ NLEV PSURF RESTIM NLEV Type
39. he different processes Subroutine rainstep calls the subroutine mkdqdtgp to obtain the adiabatic moisture tendencies in grid point space which are needed for the Kuo parameterization kuo is called to compute the convective precipitation and the respective tendencies Dry convective adjustment is performed in mkdca Large scale precipitation is computed in mklsp Finally diagnostic clouds are calculated in mkclouds Subroutine radstop is a dummy subroutine since there is nothing to do to finalize the computations in radmod f90 2r 28 CHAPTER 2 MODULES 2 13 seamod f90 General The module seamod f90 is the interface from the atmosphere to the ocean and the sea ice The interface to the main PUMA module puma f90 is given by the subroutines seaini seastep and seastop which are called in puma f90 from the subroutines prolog gridpointd and epilog respectively Input Output seamod f90 reads different surface parameters either from the file SSTFILE see namelist and the file ocean_parameter or from the restart file sea restart which is written at the end of an integration The files formats are unformatted for the restart file formatted SERVICE format with 8110 for the header and 8E12 6 for the fields for SSTFILE and formatted EXTRA format with 4110 for the header and 6 1X E12 6 for the fields for ocean_parameter The file SSTFILE may include the following fields The climatological annual cy cle of the surface te
40. header and 8E12 6 for the fields To assign the fields the headers need to have the header information code 200 level going from 1 to NLEV and a date identifier of the form yymmdd or mmdd where mm goes from 01 to 12 January to December radmod f90 is controlled by the namelist radpar which is part of the namelist file puma_namelist Parameter Type Purpose Default NDCYCLE Integer Switch for diurnal cycle of 0 insolation 0 off 1 on NO3 Integer Switch for ozone 0 off 1 1 idealized distribution 2 externally presrcibed CO2 Real CO concentration ppmv 360 0 GSOLO Real Solar constant W m2 1367 0 IYRBP Integer Year PB reference is 1950 50 to calculate orbit from NSWR Integer Switch for short wave radi 1 ation 0 off 1 on NLWR Integer Switch for long wave radia 1 tion 0 off 1 on NSOL Integer Switch for incoming solar 1 radiation 0 off 1 on NSWRCL Integer Switch for computed short 1 wave cloud properties 0 off 1 on NRSCAT Integer Switch for Rayleigh scatter 1 ing 0 off 1 on RCL1 3 Real Array Prescribed cloud albedos 0 15 0 30 0 60 frac for high middle and low level clouds spectral range 1 25 26 CHAPTER 2 MODULES Parameter Type Purpose Default RCL2 3 Real Array Prescribed cloud albedos 0 15 0 30 0 60 frac for high middle and low level clouds spectral range 2 ACL2 3 Real Array Prescribed cloud absorptiv 0 05 0 10 0 20 iti
41. identifier of the form yymmdd or mmdd where mm goes from 01 to 12 January to December Fields which are not needed will be skipped The module is controlled by the namelist miscpar which is part of the namelist file puma_namelist Parameter Type Purpose default NFIXER Integer Switch for correction of neg 1 ative moisture 0 off 1 on NUDGE Integer Switch for temperature re 0 laxation in the uppermost level 0 off 1 on TNUDGE Real Time scale d of the tem 10 perature relaxation CLIMATEFILE Character Name of the file containing surface parameter the prescribed temperature distribution Structure Internally miscmod f90 uses the FORTRAN 90 module miscmod which uses the global common module pumamod from pumamod f90 Subroutine miscini reads the namelist and if the parallel version is used distributes the namelist param eters to the different processes If the relaxation is switched on the climatological temperature is read from CLIMATEFILE and distributed to the processors Sub routine miscstep calls the subroutine firer to eliminate spurious negative humidity arising from the spectral method and if the relaxation is switched on calls the sub routine mknudge to do the temperature nudging Subroutine miscstop is a dummy subroutine since there is nothing to do to finalize the computations in miscmod f90 12 CHAPTER 2 MODULES 2 3 surfmod f90 General The module surfmod f90 deals as an interface
42. imatological mixed layer temperature asymptotic reference temperature 72 L Wsnow W soil Zo At Az P ou e S0 co o 9 Ho Pi Ps Pw Po OSB TN TF APPENDIX A LIST CONSTANTS AND SYMBOLS oceanic temperature profile reference temperature profile scaled zonal wind cosy zonal wind friction velocity scaled meridional wind v cosy meridional wind horizontal wind vector cloud liquid water path mass of snow water soil water height roughness length time increment height increment thermal expansion coefficient 4 p aT back scattering coefficient diffusivity factor scaled vorticity potential temperature Ra Cpa mean heat conductivity in ice and snow heat conductivity in ice heat conductivity in snow asymptotic mixing length for heat asymptotic mixing length for momentum longitude sin o cosine of the solar zenith angle density of air density of sea ice density of snow density of sea water density of fresh water normalized pressure coordinate p ps vertical velocity in o system Stefan Bolzmann constant cloud optical depth time scale for RF time scale for NC time scale for temperature flux correction time scale for depth flux correction geopotential height g 2 scaled geopotential height latitude scaled velocity potential 250 0 2 41 107 1 66 2 03 0 31 920 330
43. in Gridpoint Domain The data arrays in gridpoint domain are either three dimensional e g gt NLON NLEV referring to an array organized after longitudes latitudes and levels or two dimensional e g gp NLON NLAT The code is organized such that there are no dependencies in latitudinal direction while in gridpoint domain Such dependencies are resolved during the Legendre Transformations So the the partitioning of the data is done in latitudes The program can use as many CPU s as latitudes with the extreme of every CPU doing the computations for a single latitude There is the restriction however that the number of latitudes NLAT divided by the number of processors NPRO giving the number of latitudes per process NLPP must have zero remainder E g A resolution uses 48 Possible values for NPRO are then 1 2 3 4 6 8 12 16 24 and 48 All loops dealing with a latitudinal index look like do jlat 1 NLPP enddo 49 50 CHAPTER 4 PARALLEL PROGRAM EXECUTION There are however many subroutines with the most prominent called calegp that can fuse latitudinal and longitudinal indices In all these cases the dimension NHOR is used NHOR is defined as NHOR NLON x NLPP in the pumamod module The typical gridpoint loop that looks like do jlat 1 NLPP do jlon 1 NLON gp jlon jlat enddo enddo is then replaced by the faster executing loop do jhor NHOR gp jhor enddo 1
44. ion 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 fourier coefficients e Calculate diagnostic variables like vertical velocity geopotential height wind compo nents etc e Transfrom variables from c levels to user selectable pressure levels e Compute monthly means and standard deviations e Write selected data either in SERVICE GRIB or NetCDF format for further processing 6 2 Usage pumaburn4 InputFile OutputFile lt namelist gt printout option h help this output option c print available codes and names option d debug mode verbose output option g Grib output override namelist option option n NetCDF output override namelist option 97 58 CHAPTER 6 POSTPROCESSOR PUMABURNER option m Mean 1 output override namelist option InputFile Planet Simulator or PUMA data file OutputFile GRIB SERVICE or NetCDF format file namelist redirected lt stdin gt printout redirected lt stdout gt 6 3 Namelist The namelist values control the selection coordinate system and output format of the post processed variables Names and values are not case sensitive You can assign values to the following names Name Def Type Description Example HTYPE S char Horizo
45. lanet Simulator may be used in the traditional fashion with shell scripts batch jobs and network queuing systems This is acceptable for long running simulations on complex machines and number crunchers like vector computers massive parallel computers and work station clusters There is now however a much more convenient method by using a graphical user interface GUI for model setup with parameter configurations and for interaction between user and model The Planet Simulator is configured and setup by the first GUI module named MoSt Model Starter screenshot in figure NN MoSt is the fastest way to get the model running It gives access to the most important parameters of the model preset to the most frequently used values The model can be started with a mouse click on the button labelled Save amp Run either with the standard paramater setting or after editing some of the parameters in the MoSt window Some parameters like horizontal and vertical resolution or the number of processors require the building compile link and load of new executables MoSt achieves this by generating and executing build scripts that perform the necessary code changes and create the required executable Other parameters define startup and boundary conditions or settings for parameterisations They can be edited in MoSt and after a check for correct range and consistency with other parameters are written to the model s namelist file Depending on a
46. large scale and convective precipitation and the related temperature tendencies In addition a parameterization of dry convective mixing of temperature and moisture is included and cloud cover is diagnosed The interface to the main PUMA module puma f90 is given by the subroutines rainini rainstep and rainstop which are called in puma f90 from the subroutines prolog gridpointd and epilog respectively Input Output rainmod f90 does not use any extra input or output file and is con trolled by the namelist rainpar which is part of the namelist file puma namelist Parameter Type Purpose Default KBETTA Integer Switch for betta in Kuo 1 parameterization 0 off 1 on NPRL Integer Switch for large scale pre 1 cipitation 0 off 1 on NPRC Integer Switch for convective pre 1 cipitation 0 off 1 on NDCA Integer Switch for dry convective 1 adjustment 0 off 1 on RCRIT NLEV Real Array Critical relative humidity computed for cloud formation CLWCRIT1 Real Critical vertical veloc 0 1 ity for cloud formation Pa s not active if CLWCRIT2 gt CLWCRIT1 CLWCRIT2 Real Critical vertical veloc 0 0 ity for cloud formation Pa s not active if CLWCRIT2 gt CLWCRIT1 Structure Internally rainmod f90 uses the FORTRAN 90 module rainmod which uses the global common module pumamod from pumamod f90 Subroutine rainini reads the namelist and if the parallel version is used distributes the namelist param eters to t
47. ll settings MoSt generates a runscript for the simulation The user has the choice of leaving MoSt and continue with the simulation under control of a GUI right away or to exit MoSt with the scripts prepared to run The second alternative is useful for users who want to modify the setup beyond the scope of MoSt or want to run the Planet Simulator without GUI The GUI for running the Planet Simulator screenshot in figure NN has two main purposes The first one is to display model arrays in suitable representations Current implementations are e Zonal mean cross sections e Horizontal global fields in cylinder projection e Horizontal global fields in polar projection 53 54 CHAPTER 5 GRAPHICAL USER INTERFACE MoSt Model Starter University of Hamburg bs Pro VAL Puma Namelist Save PUMA KICK 1 amp SAM NAFTER 12 Pit Planet Simulator NDEL 3 NDIAG 12 Parallelism NRUrDO ae of CPUs NTSPD Run DISP Resolution DTEP Latitudes DTNS Levels DTROP i DTTRP Options DYDIFF Run with GUI ROTSPD Restart TOK Orography TDISS Annual cycle TGR Diurnal cycle Abort Simulation Years Figure 5 1 Screenshot of Model Starter MoSt d m s mim Meridional Wind m s miqa fell sm m 5 m 19 Precipitable Water Kg m2 3 Meridional Wind Level 2 m s 19 m 20 30 m 50 Ps Hovmoeller 45N 5 days E ES Tables 1995 m 1919 m 1015
48. meters must be broadcasted after reading the namelist Subroutines mpbci mpbcr mpbcin mpbcrn 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 done by the root process only and then scattered from there to all child processes e Array dimensions and loop limits Always use parameter constants 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 configuration 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 timesteps e Synchronization points The code is optimzed for parallel execution and minimizes there fore communication overhead The necessary communication code is grouped around the Legendre transformations If more scatter gather operations or other communica tion routines are to be added they should be placed just before or after the execution of the calls to the Legendre Transformation Any other place would degrade the overall performance in introducing additional process synchronization 92 CHAPTER 4 PARALLEL PROGRAM EXECUTION Chapter 5 Graphical User Interface 5 1 Graphical user interface GUI The P
49. mperature K and the climatological annual cycle of the sea ice compactness frac To assign the fields the headers need to have the header information code 169 for surface temperature and code 210 for the compactness 1 ice 0 open water a date identifier of the form yymmdd or mmdd where mm goes from 1 to 12 January to December is required Fields which are not needed will be skipped The file ocean_parameter includes the following fields The climatological annual cycle of the sea surface temperature K the climatological annual cycle of the mixed layer depth m and the climatological average of the deep ocean temperature m To assign the fields the order must be as described above no header information is used The restart file sea_restart contains all variables needed to continue the run seamod f90 is controlled by the namelist seapar given in the namelist file sea_namelist Parameter Type Purpose Default ALBSEA Real Albedo for ice free ocean 0 069 ALBICE Real Maximum albedo for sea ice 0 7 DZOSEA Real Minimum roughness length 1 0 107 m for ice free ocean DZOICE Real Roughness length m for 1 0 1073 sea ice DRHSSEA Real Wetness factor for ice free 1 0 ocean DRHSICE Real Wetness factor for sea ice 1 0 NOCEAN Integer Switch for ocean model 1 0 climatological SST 1 ocean model NICE Integer Switch for sea ice model 1 0 climatological 1 sea ice model Parameter Type Purpose Default NCPL ICE
50. namelist Subroutine landstep computes new surface and soil values via soilstep which calls tands and wandr for the heat and water budgets respectively If NLANDT and or NLANDW are set to 0 climato logical values are used for the surface temperature and the soil wetness Via roffstep the river runoff is computed Finally the biome model simbastep is called The land model is finalized by landstop which writes the restart record to land restart 15 16 CHAPTER 2 MODULES 2 6 legmod f90 General The module legmod f90 contains all subroutines necessary to perform the Legendre transformation and its inverse The interface to the main PUMA module puma f90 and to other modules at the moment surfmod f90 and rainmod f90 is given by the subroutines legini gauaw sp2fl invlega invlegd fc2sp dirlega dirlegd fc3sp uv2dv and sp2gp which are called in puma f90 from the subroutines prolog gridpointa and gridpointd in surfmod f90 from surfini and in rainmod f90 from mkdqdtgp Input Output legmod f90 does not use any extra input file or output file No namelist input is required Structure Internally legmod f90 uses the FORTRAN 90 module legmod which uses the global common module pumamod from pumamod f90 Subroutine legini does the initialization Subroutine gauaw computes the Gaussian latitudes and the corresponding weights Subroutine sp2fl performs the transformation from spectral to fourier space for multilevel fields
51. nes outini outgp outsp outreset and outaccu which are called in puma f90 from the subroutines prolog and master Input Output outmod f90 writes the output data to the file puma output which is an unformatted file puma output is designed to be post processed by the AFTERBURNER program see EDI which converts the model variables to useful output in user friendly format There is no separate namelist for outmod f90 but some parameter of namelist mp of puma f90 are used to control the format and the output interval Structure Internally outmod f90 uses the global common module pumamod from pumamod f90 in several subroutines Subroutine outini does the initialization Sub routines outgp and outsp write the grid point and the spectral fields to the output file puma output outaccu accumulates some output variables over the output interval outreset resets the accumulated arrays to zero 19 20 CHAPTER 2 MODULES 2 0 puma f90 General The module puma f90 is the main module of the model It includes the main program puma and controls the run From puma f90 the interface routines to the modules miscmod f90 fluxmod f90 radmod f90 rainmod f90 surfmod f90 are called The output is done by calling the interface routines to outmod f90 In addition the adiabatic tendencies and the horizontal diffusion are computed in puma f90 To do the necessary transformations calls to the modules fftmod f90 and legmod f90 are used
52. ntal type HTYPE G VIYPE S char Vertical type VTYPE P MODLEV 0 int Model levels MODLEV 2 3 4 hPa O real Pressure levels hPa 500 1000 CODE 0 int ECMWFE field code CODE 130 152 GRIB 0 int GRIB output selector GRIB 1 NETCDF 0 int NetCDF output selector NETCDF 1 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 6 4 HTYPE accepts the first character of the following string Following settings are equivalent HTYPE 5 HTYPE Spherical Harmonics Something Blanks and the equal sign are optional Possible Values are Setting Description Dimension for T21 resolution 5 Spherical Harmonics 506 22 23 coefficients HTYPE F Fourier Coefficients 32 42 latitudes wavenumber 7 Zonal Means 32 levels latitudes levels Gauss Grid 64 32 longitudes latitudes 65 VTYPE accepts the first character of the following string Following settings are equivalent S VIYPE Sigma Super Blanks and the equal sign are optional Possible Values are Setting Description Remark S Sigma model levels Some derived variables are not available VTYPE P Pressure levels Interpolation to pressure level
53. o GrADS s native format by the command srv2gra puma_m srv which results in the files puma_m gra and puma_m ctl The first file contains the data the latter one information on the grid time steps and variable names The program srv2gra is one of the postprocessing tools available at lt http puma dkrz de puma download map gt If you chose to compile it yourself please read the comments in the first few lines of the program text Sometimes the srv2gra tool has difficulties to calculate an appropriate time increment from the date headers of the data records so you should check this In this example the file puma_m ctl should look like this 63 64 CHAPTER 7 GRAPHICS DSET puma m gra UNDEF 9e 09 XDEF 64 LINEAR 0 0000 5 6250 OPTIONS YREV YDEF 32 LEVELS 85 7606 80 2688 74 7445 69 2130 63 6786 58 1430 52 6065 47 0696 41 5325 35 9951 30 4576 24 9199 19 3822 13 8445 8 3067 2 7689 2 7689 8 3067 13 8445 19 3822 24 9199 30 4576 35 9951 41 5325 47 0696 52 6065 58 1430 63 6786 69 2130 74 7445 80 2688 85 7606 ZDEF 1 LINEAR 1 1 TDEF 12 LINEAR 00 00Z01jan0001 1mo VARS 3 c139 0 99 139 0 0 c151 0 99 151 0 0 c175 0 99 175 0 0 ENDVARS Here the line starting with TDEF ends with 1mo since we are handling monthly mean data When the PUMA output is used without averaging this should correspond to the output interval given by the nafter variable used in the namelist of your PUMA run see section The number of v
54. or processing simulations of the Mars atmosphere Setting MARS 1 switches gravity gas constant and planet radius to the correct values for the planet Mars 6 14 MULTI The parameter MULTI can bes used to process a series of input data within one run of the pumaburner Setting MULTI to a number n tells the pumaburner to procees n input files The input files must follow one of the following two rules e YYMM rule The last four characters of the filename contain the data in the form Y Y MM e NNN rule The last four characters of the filename consist of a dot followed ny a 3 digit sequence number Examples Namelist contains MULTI 3 Command pumaburn lt namelist gt printout run 005 out 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 pumaburn processes the files lt exp0211 gt lt exp0212 gt lt exp0301 gt lt exp0302 gt 6 15 Namelist example Pressure Grid CODE 130 131 132 hPa 200 500 700 850 1000 MEAN 0 GRIB 0 NETCDF 0 This namelist will write Temperature 130 u 130 and v 131 on pressure levels 200hPa 500hPa 700hPa 850hPa and 1000hPa The output interval is the same as found on the model data e g every 12 or every 6 hours MEAN 0 The output format is SERVICE format 62 CHAPTER 6 POSTPROCESSOR PUMABURNER 6 16 Troubleshooting If the pumaburner reports an e
55. p in module seamod f90 calls the external subroutine cestep defined in icemod f90 It then copies the ice ocean data to the relevant PUMA variables 2 15 SEA ICE AND OCEAN MODULES 2 15 3 intermodice f90 General The module intermod_ice f90 contains subroutines that exchange in formation between the sea ice module and the ocean and atmosphere module If an external coupler is used with an independent sea ice ocean model the module is replaced e g by mpccimod_ice f90 which contains the relevant subroutines for the MpCCI coupler Input Output intermod_ice f90 does not use any extra input file or output file Structure The subroutine cplexchange_ocean which is called by icestep in module icemod f90 calls the external subroutine oceanstep defined in ocean mod f90 if the sea_namelist entry NOCEAN is set to 1 Otherwise it calls the subroutine oceanget defined in oceanmod f90 which interpolates the cli matological values to the current time step It then returns the ocean data to the subroutine icestep The subroutine cplerchange_atmos which is also called by icestep in module icemod f90 copies the atmospheric forcing data to the relevant variables defined in icemod 37 38 CHAPTER 2 MODULES 2 15 4 icemod f90 General The module icemod f90 contains subroutines to compute sea ice cover and thickness The interface to the main PUMA module is given by the subrou tine icestep which i
56. q 13 then OUTMON 1 OUTYEAR expr OUTYEAR 1 fi echo OUTYEAR gt EXPDIR saveyear EXP echo OUTMON gt EXPDIR savemon EXP echo OUTDAY gt EXPDIR saveday EXP if OUTFTP gt FTPINT then cd EXPDIR OUTFTP 1 3 2 BATCH MODE 47 echo OUTFTP gt EXPDIR saveftp EXP rf rf rf rf rf rf rf rf rf rf rf rf rf tar rf tar tar tar tar tar tar tar tar tar tar tar tar tar EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXPDIR TARFILE EXP RES EXP LANDRES EXP SEARES NAMLIST exe land_namelist sea_namelist ice_namelist ocean_namelist saveday EXP savemon EXP saveyear EXP savetar EXP saveftp EXP model x tar rf EXPDIR TARFILE runall mv EXPDIR TARFILE DATADIR TARFILE to YY MM if SCHAUER eq 1 then cat gt EXPDIR put_schauer YY MM lt lt EOP set ex EXPDIR home larry utils uput2 DATADIR TARFILE to YY MM
57. rameters to the different processes If the run is not started from a restart file NRESTART from namelist inpof puma f90 is 0 the land sea mask and the orogra phy are read from file INPUTFILE According to the namelist input the orography is scaled by OROSCALE transfered into spectral space and truncated to NORO MAX Calls to subroutines landini and seaini are the interfaces to the respective initialization routines contained in the land and ocean modules During the run the interface to land and ocean is given by calls to the external subroutines landstep and seastep which are called by surfstep At the end of the integration interface subroutines landstop and seastop are called by surfstop 2 4 fftmod 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 and to other modules at the moment surfmod f90 legmod f90 and rain mod f90 is given by the subroutines gp2fc and fc2gp which are called in puma f90 from the subroutines gridpointa and gridpointd in surfmod f90 from surfini in leg mod f90 from sp2gp and in rainmod f90 from mkdqdtgp Input Output fftmod f90 does not use any extra input file or output file 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 grid point
58. rror or doesn t 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 Example pumaburn lt namelist gt printout d data in data out This will print out some details like parameters and memory allocation during the run The additional information may help to detect the problem e Not all combinations of HTYPE VI YPE and CODE are valid Try to use HTYPE Grid and VT YPE Pressure before switching to exotic parameter combinations Chapter 7 Graphics 7 1 Grads In this section visualisation using the graphics package GrADS is described useful Internet site for reference and installation instructions is lt http grads iges org grads grads html gt Latest versions of GrADS can handle data in NETCDF format via the command sdfopen GRIB HDF SDS and in its native binary format The native format can conveniently be derived from SERVICE format In the following it is assumed that the PUMA output has been converted to SERVICE format with the pumaburner and the resulting file is called puma srv Monthly mean data is either obtained directly from the pumaburner namelist parameter MEAN 1 see section B or via a PINGO command srv monmeans puma srv puma_m srv Information on the PINGO package can be found in DKRZ report 11 at lt http ww mad zmaw de Pingo repdl html gt The SERVICE file has to be converted t
59. s 6 6 MODLEV 99 6 6 MODLEV MODLEV is used in combination with VTYPE S If is not set to Sigma the contents of MODLEV are ignored MODLEV is an integer array that can get as many values as there are levels in the model output The levels are numbered from top of the atmo sphere to the bottom The number of levels and the corresponding sigma values are listed in the pumaburner printout The outputfile orders the level 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 6 7 hPa hPa is used in combination with P If VTYPE is not set to Pressure the contents of hPa are ignored hPa is a real array that accepts pressure values with the units hectoPascal or millibar All output variables will be interpolated to the selected pressure levels There is no extrapolation on the top of the atmosphere For pressure values that are lower than that of the model s top level the top level value of the variable is taken The variables tem perature 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 set in hPa Example hpa 100 300 500 700 850 900 1000 6 8 MEAN MEAN can be used to compute montly mean
60. s 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 no averaging 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 Combination of MEAN 1 and MEAN 2 Each mean field is fol lowed by a deviation field with an identical header record Not for spherical harmonics Fourier coefficients or zonal means on sigma levels 6 9 Format of output data The pumaburner supports three different output formats e GRIB GRIdded Binary WMO standard for gridded data 60 CHAPTER 6 POSTPROCESSOR PUMABURNER 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 GRIB 1 NetCDF 0 The output file is written GRIB format This option can be used only for HTYPE Spherical Harmonics or HTYPE Gauss Grid GRIB 0 NetCDF 1 The output file is written in NetCDF format This op tion can be used for HTYPE Gauss Grid only GRIB 0 NetCDF
61. s called by cplexchange ice defined in intermod_atm f90 which is called by seastep defined in seamod f90 Input Output icemod f90 requires the file ice_flxcor if NFLXCORR is set to a negative value If NOUTPUT is set to 1 the output files fort 75 containing global fields of ice model data and the file fort 76 containing diagnostic ice data are produced for details see the reference guide Both output files are in service format The module is controlled by the namelist cepar in the file ice_namelist Parameter Type Purpose default NDIAG INTEGER Diagnostic output every NDIAG 160 time steps NOUT INTEGER Model data output every NOUT 82 time steps NOUTPUT INTEGER Icemodel output 0 1 1 NFLXCORR INTEGER Time constant for restoring gt 0 3604 no flux correction 0 use flux correction from file 0 Structure icemod f90 uses the module icemod which is not dependent on the module pumamod Subroutine ceini reads the namelist and when re quired the flux correction from the file ice flxcor Subroutine icestep calls cplerchange_atmos defined in intermod ice to get the atmospheric forcing fields If the sea namelist parameter NICE is set to 1 the subroutine subice is called which calculates ice cover and thickness Otherwise climatologi cal data interpolated to the current time step by iceget are used If an ice cover is present the surface temperature is calculated in skintemp Other
62. t mpimod f90 and mpimod dummy do not use any extra input file or output file No namelist input is required Structure Internally mpimod f90 uses the FORTRAN 90 module mpimod which uses the global common module pumamod from pumamod f90 and the MPI module mpi mpimod dummy f90 does not use any module The following subroutines are included in mpimod f90 Subroutine Purpose mpbci broadcast 1 integer mpbcin broadcast n integers mpbcr broadcast 1 real mpbcrn broadcast n reals mpscin scatter n integers mpscrn scatter n reals mpscgp scatter grid point field mpgagp gather grid point field 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 finalize MPI 17 18 Subroutine mpreadgp mpuritegp mpuwritegph mpreadsp mpuritesp mpi info CHAPTER 2 MODULES 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 give information about setup 2 8 outmod f90 General The module outmod f90 controls the data output of the model The inter face to the main PUMA module puma f90 is given by the subrouti
63. t of output data 59 6 10 SERVICE format 60 DACH EMNIN 22 Romo E oo oU E omo RR VEE 60 HEAD 25525 dara Q 23 Q a X a sa 61 6018 MAhM 22 RR 61 O ___ 61 Namelist exampld a a a e 61 0 16 Troubleshooting xn de See Gee a 62 63 aa 2555 _ wur 63 EDEN ce 5 oe ee a 52 66 Bibliography 67 A Ist o onstants and mbols 69 0 ist of Constants and Symbols 70 IB Puma Codes 75 C Namelist 79 Chapter 1 Installation The whole package containing the models Planet Simulator and PUMA along with Most the Model Starter comes in a single file usually named Most n tar gz with n specifying a version number The following subsection gives an example assuming version 9 1 1 Quick Installation gunzip Most9 tar gz tar xvf Most9 tar cd Most9 make most x If this sequence of commands produces error messages consult the FAQ Frequent Asked Questions and README files in the Most9 directory They are plain text files that can be read with the command more or any text editor 1 2 Directory structure home Most9 gt 18 lg rw r r 1 820 FAQ lt Frequent Ask Questions rw r r 1 550 README lt Actual information rwxr xr x 1 57 cleanplasim lt comman
64. tall additional software for running MoSt and GUI Another important property of Xlib is the full network transparency The display of MoSt and GUI is not locked to the machine running the programs or the model In fact the best performance is obtained in running the Planet Simulator on two or four CPUs of a remote server while displaying the GUI on the user s workstation In summarizing the MoSt and GUI programs automate many tedious tasks minimize the time to become familiar with the Planet Simulator and make debugging and parameter tuning much easier More kinds of presentations coordinate projections and interactivity are being developed A graphical preprocessor with editor for boundary conditions and a graphical postprocessor are future expansions to build an almost complete environment for modellers 56 CHAPTER 5 GRAPHICAL USER INTERFACE Chapter 6 Postprocessor Pumaburner 6 1 Introduction The Pumaburner is a postprocessor for the Planet Simulator and the PUMA model family It s the only interface between raw model data output and diagnostics graphics and user software The output data of the Planet Simulator are stored as packed binary 16 bit values using the model representation Prognostic variables like temperature divergence vorticity pressure and humidity are stored as coefficients of spherical harmonics on o levels Variables like radi ation precipitation evaporation clouds and other fields of the parameterizat
65. ter cp 40CEANFILE ocean parameter model x gt EXPDIR EXP PROUT_0101 mv puma_output EXP PUMA_0101 history and restart saved for further diagnostics tar cf EXPDIR TARFILE EXP PUMA_0101 mv puma_restart EXPDIR EXP RES mv land_restart EXPDIR EXP LANDRES mv sea_restart EXPDIR EXP SEARES echo OUTYEAR gt EXPDIR saveyear EXP echo OUTDAY gt EXPDIR saveday EXP echo OUTMON gt EXPDIR savemon EXP echo OUTFTP gt EXPDIR saveftp EXP echo TARFILE gt EXPDIR savetar EXP cat runall to EXPDIR cat gt EXPDIR runall lt lt EOR usr bin ksh TMPDIR TMPDIR mkdir TMPDIR cd TMPDIR set ex EXPDIR EXPDIR SCHAUER SCHAUER 3 2 BATCH MODE 45 SCHAUERDIR SCHAUERDIR DATADIR DATADIR EXP EXP LASTYEAR LASTYEAR MONTHS MONTHS FTPINT FTPINT The puma namelist is generated with NRESTART 0 i e the first month is integrated from climatology The script runall is generated which can be used to restart the run after an interruption The remainder of the script is a loop of one month integrations until the desired integration time is reached After each year the monthly output is tarred together and moved to the schauer or the data directory cp EXPDIR model x model x
66. time dependent surface temperature of Hamburg Here two variables are passed to GrADS the first and last day to plot note that here the file puma gra is opened which contains data on a daily basis The call thh 91 180 displays the surface temperature of Hamburg for the spring season from April 1st to June 30th thh gs function 41 42 open puma enable print print mf set lat 53 set lon 10 set t 741 d2 o d 139 273 16 draw title Surface Temperature deg C in Hamburg print disable print 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 It plots seasonal means of the sea level pressure The data file is prepared like this srv selcode 151 puma srv slp srv srv seasmean slp srv slp sm srv srv2gra sm srv The commands set vpage sets virtual pages inside the graphic window The full window is 11 inch wide and 8 5 inch high so set 0 5 5 4 25 8 5 defines the upper left corner If setlevs 1 is specified the pressure levels as given are used Otherwise GrADS defines contour levels depending on the data set slp sm gs setlevs 1 reinit open enable print print mf ie set vpage 0 5 5 4 25 8 5 set gxout contour if setlevs 1 set clevs 990 995 1000 1005 1010 1015 1020 66 CHAPTER 7 GRAPHICS endif
67. tion timescale in days for each level dtns 0 int Pole to Pole temperature difference at surface for dtep 0 0 real Equator Pole temperature difference at surface for can simulate winter summer hemispheres dttrp 2 0 real a temperature increment which controls the sharpness dttrp of the tropopause in dtrop 12000 0 real height of tropopause m psurf 101325 0 real global mean surface pressure Pa tdissd 0 2 real diffusion time scale for divergence days tdissz 1 1 real diffusion time scale for vorticity days tdisst 5 6 real diffusion time scale for temperature days tdissq 5 6 real diffusion time scale for specific humidity days tgr 288 0 real global mean temperature of ground used to set time0 0 0 real start time for performance estimates restim NLEV NLEV 15 0 real restoration timescale for each level tO NLEV NLEV 250 real reference Tr temperature profile NAMELIST fluxmod parameters Name Def Type Description nevap 1 int 1 turn on surface evaporation nshfl 1 int 1 turn on surface sensible heat flux nstress 1 int 1 turn on surface wind stress nvdiff 1 int 1 turn on vertical diffusion vdiff_lamm 160 0 real 1 tuning parameter for vert diff vdiff_b 5 0 real 1 tuning parameter for vert diff vdiff_c 5 0 real 1 tuning parameter for vert diff vdiff_d 5 0 real 1 tuning parameter for vert diff miscmod parameters
68. tory on the schauer thus avoiding the users directory from filling up Otherwise the output is written to the DATADIR directory A temporary directory is created where the model is eventually run 3 2 BATCH MODE cat gt EXPDIR NAMLIST exe lt lt 0 NAME LIST PARAMETER cat gt puma_namelist lt lt EOF amp INP NDAYS 30 NTSPD 32 NRESTART 1 NDIAG 480 NAFTER 32 NEQSIG 1 PSURF 101325 NPACKSP 0 NPACKGP 0 amp END amp MISCPAR amp FLUXPAR amp END amp RADPAR amp RAINPAR amp END amp SURFPAR amp END EOF cat gt EXPDIR land_namelist lt lt EOL amp landpar EOL cat gt EXPDIR sea_namelist lt lt 00 amp seapar 00 cat gt EXPDIR ocean_namelist lt lt E00 amp oceanpar amp end 00 cat gt EXPDIR ice_namelist lt lt 00 amp icepar 00 43 44 CHAPTER 3 RUNNING PLANET SIMULATOR chmod u x EXPDIR NAMLIST exe Now the necessary namelists are generated The puma namelist is defined as an executable which can be called with a parameter setting the restart mode EXPDIR NAMLIST exe 0 cp EXPDIR land_namelist land_namelist cp EXPDIR sea_namelist sea_namelist cp EXPDIR ice_namelist ice_namelist cp EXPDIR ocean_namelist ocean_namelist cp EXPDIR model x model x cp SSTFILE surface_parameter cp SURFFILE surface_parame
69. tructions from the Vis5D documentation or if Vis5D is already installed on your system try finding your own way by typing visbd my data v5d 68 CHAPTER 7 GRAPHICS 69 70 APPENDIX A LIST OF CONSTANTS AND SYMBOLS Appendix A List of Constants and Symbols A 0 1 List of Constants and Symbols Symbol Definition Value Unit a earth radius 6371 10 m A D V Vinps A absorptivity emissivity As surface emissivity B T Planck function Wm cloud cover Cehar Charnock constant 0 018 transfer coefficient for heat drag coefficient for momentum Cp specific heat of moist air at constant pressure Jke 1K 1 Cu specific heat of dry air at constant pressure 1005 46 Jke 1K 1 Coy specific heat of water vapor at constant pressure 1869 46 specific heat of sea ice 2070 Wskg K on specific heat of snow 2090 Wskg Cpi specific heat of sea water 4180 Wskg IK 1 Cw coefficient for the deep ocean heat flux 4 Wm K Cu wetness factor D scaled divergence E evaporation ms Eo extrateristical solar flux density Wm f Coriolis parameter 20 sin y s7 Fp tendency of the first moment 4 Km s Fo tendency of the zeroth moment dRo Kms F surface moisture flux 28 surface sensible heat Wm surface zonal wind stress Pa F surface meridional wind stress Pa pew long wave radiation flux density Wm pom short wave radiation flux density Wm g gravit
70. used distributes the namelist parameters to the different processes If the run is not started from a restart file NRESTART from namelist inp is 0 the sea surface temperature and the ice cover is read from the surface parameter file Ice thickness is computed from ice cover Additionally mixed layer depth and the 400 m Levitus temperature is read from the file ocean parameter Climatology and namelist information is passed to the ice and ocean modules via the external subrou tines iceini in icemod f90 and oceanini in oceanmod f90 or oceanmod50 f90 Every ATMOS ICE time steps seastep calls the ice module via the external subroutine cplerchange_ice defined in intermod atm f90 At the end of the integration seastop writes the restart information into file sea restart 36 CHAPTER 2 MODULES 2 15 2 intermodatm f90 General The module intermod_atm f90 contains subroutines that exchange information between the atmospheric module and the sea ice module If an external coupler is used with an independent sea ice ocean model the module is replaced e g by mpccimod_atm f90 which contains the relevant subroutines for the MpCCI coupler Input Output intermod_atm f90 does not use any extra input file or output file Structure The subroutines cplstart cplinit cplstop are dummy routines that are real subroutines only in the case of external coupling The subroutine cplexchange_ice which is called by seaste
71. vertical diffusion The interface to the main PUMA module puma f90 is given by the subroutines fluxini fluxstep and fluxstop which are called in puma f90 from the subroutines prolog gridpointd and epilog respectively Input Output fluxmod f90 does not use any extra input file or output file and is controlled by the namelist flurpar which is part of the namelist file puma_namelist Parameter Type Purpose Default NEVAP Integer Switch for surface evaporation 0 off 1 1 on NSHFL Integer Switch for surface sensible heat flux 1 0 off 1 on NSTRESS Integer Switch for surface wind stress 0 off 1 1 on NTSA Integer Switch for computing the near surface 2 air temperature which is used for the Richardson number 1 potential tem perature 2 virtual potential temper ature NVDIFF Integer Switch for vertical diffusion 0 off 1 1 on VDIFF_LAMM Real Tuning parameter for vertical diffusion 160 VDIFF_B Real Tuning parameter for vertical diffusion 5 VDIFF_C Real Tuning parameter for vertical diffusion 5 VDIFF_D Real Tuning parameter for vertical diffusion 5 Structure Internally fluxmod f90 uses the FORTRAN 90 module fluamod which uses the global common module pumamod from pumamod f90 Subroutine fluxini reads the namelist and if the parallel version is used distributes the namelist pa rameters to the different processes Subroutine fluxstep calls the subroutine surfiz to compute the surface fluxes and
72. wise the surface temperature is set to the sea surface temperature calculated by the ocean model Every NCPL ICE OCEAN defined in sea namelist time steps the external subroutine cplerchange_ ocean defined in intermod_ice is called to pass the atmospheric forcing to and retrieve oceanic data from the ocean module oceanmod f90 The oceanic data is used for ice calculations in the next time step 2 15 SEA ICE AND OCEAN MODULES 2 15 5 oceanmod f90 General The module oceanmod f90 contains a mixed layer ocean model i e subroutines to compute sea surface temperature and mixed layer depth The interface to the main PUMA module is via the module icemod f90 given by the subroutine oceanstep which is called by cplexchange_ocean defined in intermod_ice Input Output oceanmod f90 requires the file ocean_flxcor if NFLX CORRSST or NFLXCORRMLD is set to a negative value If NOUTPUT is set to 1 the output file fort 31 containing global fields of ocean model data in service format is produced for details see the ice modul section of the ref erence guide The module is controlled by the namelist oceanpar in the file ocean_namelist Parameter Type Purpose default NDIAG INTEGER Diagnostic output every NDIAG 480 time steps NOUT INTEGER Model data output every NOUT 32 time steps NOUTPUT INTEGER Oceanmodel output 1 0 no 1 yes NFLXCORRMLD INTEGER Time constant for restoring 60d mixed layer depth gt 0

Download Pdf Manuals

image

Related Search

Related Contents

Samsung 153X ユーザーマニュアル    Sharkoon 5.25" mesh front bezel closed  banco di chiodatura per cassette da vino, porta utensili e    Master Thesis “ The GeoSharing project: An Openmoko geoposition    HERMA Labels A4 210x297 mm white extra strong adhesion paper matt 25 pcs  Entreprise étrangère sans établissement en France  

Copyright © All rights reserved.
Failed to retrieve file