A method to perform dynamical core experiment proposed by Held and Suarez (1994) is described.
Following physical processes are used in this experiment.
This experiment does not require additional data. So, the experiment is performed with the following 3 steps:
Move to "practice" directory.
$ cd practice
In the directory, execute 'make' command. The execution files and the NAMELIST files will be automatically copied. Input directory name after inputting 'make' command. (It is assumed "hs94-exp" in the following example). Input 'Enter' to the question after that.
$ make ****** Setup a directory for a experiment ****** Enter directory name [testXX]: hs94-exp Directory in which executable files are prepared [../src/main]: Directory in which NAMELIST files are prepared [../src/main]: Save F90/95 source code files? [y/N]: : *** Setup of "hs94-exp" is complete ***
Then a directory 'hs94-exp' is created, and executable files, NAMELIST files, and source code files are copied to the directory. Move the 'hs94-exp'.
$ cd hs94-exp
Note that you can perform an experiment in any directory by using executable files and configuration (namelist) files.
Create initial data file "init_T21L20.nc" using "init_data" and "init_data_hs94_T21L20.nml"
$ ./init_data -N=init_data_hs94_T21L20.nml : *** MESSAGE [restart_file_io] *** ----- Initialization Messages ----- *** MESSAGE [restart_file_io] *** Input:: *** MESSAGE [restart_file_io] *** InputFile = *** MESSAGE [restart_file_io] *** Output:: *** MESSAGE [restart_file_io] *** OutputFile = init_T21L20.nc *** MESSAGE [restart_file_io] *** IntTime = 1. [day] *** MESSAGE [HistoryCreate3] *** "init_T21L20.nc" is created (origin=0. [day]) *** MESSAGE [initial_data] *** NAMELIST group "initial_data_nml" is loaded from "init_data_T21L16.nml". *** MESSAGE [initial_data] *** NAMELIST group "initial_data_nml" is loaded from "init_data_T21L16.nml". *** MESSAGE [initial_data] *** ----- Initialization Messages ----- *** MESSAGE [initial_data] *** Pattern = Small Disturbance of Temperature *** MESSAGE [initial_data] *** TempAvr = 280. *** MESSAGE [initial_data] *** PsAvr = 100000. *** MESSAGE [initial_data] *** QVapAvr = 0.1E-09 *** MESSAGE [HistoryClose] *** "init_T21L20.nc" is closed
Using an executable files 'dcpam_main' and a NAMELIST file dcpam_hs94_T21L20.nml, execute 'dcpam_main' as follows. This program will be finished in few minutes - tens of minutes.
$ ./dcpam_main -N=dcpam_hs94_T21L20.nml | tee hs94.log *** MESSAGE [dcpam_main] *** Run: Held and Suarez (1994) benchmark test : *** MESSAGE [timeset] *** ----- Initialization Messages ----- *** MESSAGE [timeset] *** StartTime = 0. [day] *** MESSAGE [timeset] *** EndTime = 10. [day] *** MESSAGE [timeset] *** DelTime = 30. [min] *** MESSAGE [timeset] *** = 1800. [sec] : : *** MESSAGE [fileset] *** ----- Initialization Messages ----- *** MESSAGE [fileset] *** FileTitle = Held and Suarez (1994) benchmark test *** MESSAGE [fileset] *** FileSource = dcpam5 (http://www.gfd-dennou.org/library/dcpam) *** MESSAGE [fileset] *** FileInstitution = GFD Dennou Club (http://www.gfd-dennou.org) *** MESSAGE [fileset] *** -- version = .... *** MESSAGE [gridset] *** ----- Initialization Messages ----- *** MESSAGE [gridset] *** nmax = 21 *** MESSAGE [gridset] *** imax = 64 *** MESSAGE [gridset] *** jmax = 32 *** MESSAGE [gridset] *** kmax = 20 *** MESSAGE [gridset] *** -- version = .... : ########## PREDICTION OF CALCULATION ########### Start Date 2009-03-06T08:26:41+09:00 Current Date 2009-03-06T08:26:45+09:00 Progress 20.00% [***** ] Remaining CPU TIME 0.160000E+02 Completion Date 2009-03-06T08:27:01+09:00 : ############## CPU TIME SUMMARY ################ held_suarez_1994 0.165611E+01 dynamics_hspl_vas83 0.191452E+02 timefilter_asselin19 0.264027E+00 others 0.896038E+00 ------------------------------------------------ TOTAL TIME = 0.219614E+02
In this case, 10 days integration is performed. Resolution is T21L20 (Number of grid points of longitude, latitude is 64, 32, and number of vertical layer is 20). History data are output to 'U.nc' and 'Temp.nc' etc., and a restart data is output to 'restart.nc'.
Zonal mean temperature at 10 day is shown in following figures.
This figure is drawn by using Gphys, as follows:
Please type irb. $ irb Following prompt of irb is shown. irb(main):001:0> Type following lines. Please note that the left-most number is line number, and it has not been typed. 1: require "numru/ggraph" 2: include NumRu 3: gphys = GPhys::IO.open('Temp.nc', 'Temp') 4: DCL.gropn(1) 5: DCL.sgpset('lcntl', false) ; DCL.uzfact(0.7) 6: GGraph.tone( gphys.mean('lon').cut('time'=>11) ) 7: GGraph.color_bar 8: DCL.grcls Type quit to exit irb.
In Held and Suarez (1994), integration period is 1200 days and resolution is T63L20 (Number of grid points of longitude, latitude is 192, 96, and number of vertical layer is 20). The result of such integration by using the dcpam is shown here (Japanese page only).