?? parse_namelist.f90
字號:
#include <misc.h>#include <params.h>subroutine parse_namelist!----------------------------------------------------------------------- ! ! Purpose: ! Read data from namelist camexp to define the run. Process some of the! namelist variables to determine history and restart/branch file path ! names. Check input namelist variables for validity and print them! to standard output. ! ! Method: ! Important Note for running on SUN systems: "implicit automatic (a-z)"! will not work because namelist data must be static.!! Author: ! Original version: CCM1! Standardized: L. Bath, June 1992! T. Acker, March 1996! !-----------------------------------------------------------------------!! $Id: parse_namelist.F90,v 1.22.2.9 2002/05/13 17:57:11 erik Exp $!!----------------------------------------------------------------------- use precision use pmgrid use history use pspect use shr_orb_mod use so4bnd use ramp_so4_mod use units use tracers, only: nusr_nad, nusr_adv use constituents, only: pcnst, ch4vmr, n2ovmr, f11vmr, f12vmr, co2vmr use time_manager, only: calendar, dtime, nestep, nelapse, & start_ymd, start_tod, stop_ymd, stop_tod, ref_ymd, ref_tod, & perpetual_run, perpetual_ymd, tm_aqua_planet use filenames, only: nrevsn, ncdata, bndtvs, bndtvo, absems_data, bndtvg, & mss_wpass, rest_pfile, mss_irt, caseid, init_filepaths, get_archivedir use restart, only: set_restart_filepath#if ( ! defined COUP_CSM ) use ice_dh, only: prognostic_icesnow,reset_csim_iceprops, icemodel_is#endif implicit none#include <comadj.h>#include <comctl.h>#include <comhd.h>#include <comtfc.h>#include <perturb.h>#include <comsol.h>!----------------------------------------------------------------------- include 'netcdf.inc'!!---------------------------Local variables-----------------------------! logical linebuf character(len=256) :: archive_dir = ''!#if ( defined SUNOS )!! Namelist variables may not be on the stack on SUN! save linebuf, archive_dir#endif data linebuf/.false./ ! Default: allow system to buffer stdout! character ctemp*8 ! Temporary character strings integer ntspdy ! number of timesteps per day integer t ! history tape index integer lastchar ! index to last char of a char variable integer ierr ! error code#if ( defined COUP_CSM ) logical prognostic_icesnow,reset_csim_iceprops#endif! !-----------------------------------------------------------------------!! ALPHABETICAL listing of variables in the camexp namelist:!! variable description! -------- -----------------!! calendar Calendar to use in date calculations. 'no_leap' (default) or 'gregorian'!! ctitle Case title for header.! ! bndtvs Path and filename of time-variant boundary! dataset for sst's.! ! bndtvg Path and filename of time-variant boundary ! dataset for greenhouse loss rates.! (required if trace_gas is set to true)!! bndtvo Path and filename of time-variant boundary ! dataset for ozone.!! absems_data Dataset with absorption and emissivity factors.!! caseid Case name for model run. 32 characters max.! Included in mass store path name for history and! restart files.! ! dif2 = nnn.n, del2 horizontal diffusion coeff. Defaults! to 2.5e5.! ! dif4 = nnn.n, del4 horizontal diffusion coeff. Defaults! to 1.e16.! ! divdampn = 0. Number of days (from nstep 0) to run divergence! damper!! dtime = nnnn, Model time step in seconds. Default is dycore dependent.! ! eccen The eccentricity of the earths orbit to use (1.e36 to! use the default -- defined as SHR_ORB_UNDEF_REAL).! (Unitless typically 0 - 0.1)! ! eps = nnn.n, time filter coefficient. Defaults to 0.06.! ! fincl1 = 'field1', 'field2',...! List of fields to add to the primary history file.!! fincl[2..6] = 'field1', 'field2',...! List of fields to add to the auxiliary history file.!! fexcl1 = 'field1','field2',... ! List of field names to exclude from default! primary history file (default fields on the ! Master Field List).! ! fexcl[2..6] = 'field1','field2',... ! List of field names to exclude from! auxiliary history files.! ! fhstpr1 = 'field1', 'field2',...! List of fields to change buffer size in! primary history file!! fhstpr[2..6] = 'field1', 'field2',...! List of fields to change buffer size in auxiliary files!! fwrtpr1 = 'field1', 'field2',...! List of fields to change output data type in! primary history file!! fwrtpr[2..6] = 'field1', 'field2',...! List of fields to change output data type in! auxiliary files!! iradae = nnn, frequency of absorp/emis calc in time steps! (positive) or hours (negative).! ! iradlw = nnn, frequency of longwave rad. calc. in time steps! (positive) or hours (negative).! ! iradsw = nnn, freq. of shortwave radiation calc in time steps! (positive) or hours (negative).! ! mss_irt Mass Store retention time for history files! in days.! ! itsst = nnn, frequency of SST update in time steps! ! kmxhdc = nn number of levels (starting from model top) to! apply Courant limiter. Defaults to 5.! ! mfilt = nn,nn,nn Array containing the maximum number of time ! samples per disk history file. Defaults to 5.! The first value applies to the primary hist. file,! the second to the first aux. hist. file, etc.! ! mvelp The longitude of vernal equinox of the earths orbit to ! use (1.e36 to use the default -- defined as ! SHR_ORB_UNDEF_REAL). (0-360 degrees')! ! ncdata Path and filename of initial condition dataset.! ! nelapse = nnn, Specify the ending time for the run as an interval! starting at the current time in either timesteps! (if positive) or days (if negative).! Either nestep or (stop_ymd,stop_tod) take precedence.! ! nestep = nnnn, Specify the ending time for the run as an interval! starting at (start_ymd,start_tod) in either timesteps! (if positive) or days (if negative).! (stop_ymd,stop_tod) takes precedence if set.! ! nhtfrq = nn,nn,nn,.. Output history frequency for each tape!! If = 0 : monthly average! If > 0 : output every nhtfrq time steps.! If < 0 : output every abs(nhtfrq) hours.! ! nlvdry = nn, Number of layers over which to do dry! adjustment. Defaults to 3.! ! nrefrq = nn, Frequency of restart dataset writes. ! For non-flux coupled runs, restart files are ! written and disposed for every dispose of the ! primary history file. If this variable is 0, then ! no restart are written.! NOTE: NOW DUE TO NEW LSM: THIS VARIABLE CAN ! ONLY BE 1 or 0. ! For flux coupled runs, insist that restart files! are written! ! nrevsn Filename of dataset to branch from (nsrest=3)! Full pathname of dataset required.! !------------------------------------------------------------------! The following 5 are specific to f-v dynamics (see dynpkg for info)!------------------------------------------------------------------! nsplit Lagrangian time splits for Lin-Rood.! iord scheme to be used for E-W transport (default: 4)! jord scheme to be used for N-S transport (default: 4)! kord scheme to be used for vertical mapping (default: 4)! use_eta flag to use ETA values from dynamics/lr/set_eta.F90! Default is .false. (use eta values from IC)! ! nsrest Code for type of run: 0=initial, 1=restart,! or 3=branch! ! archive_dir Archive directory name!! hfilename_spec Flexible filename specifier for history files!! rest_pfile Name of Restart Pointer file! ! mss_wpass Write password for model output files.! ! ozncyc = .T., If false, do not cycle ozone dataset(assume! multiyear)!! obliq The obliquity of the earths orbit to use (1.e36 to! use the default -- defined as SHR_ORB_UNDEF_REAL). ! (Degree's)!! perpetual_run = .F. Set to .true. to specify that the run will use a perpetual! calendar. If perpetual_ymd is not set then read the perpetual! date from the initial file.!! perpetual_ymd Perpetual date specified as (year*1000 + month*100 + day).! This date overrides the date from the initial file.! If aqua_planet=.true. then perpetual_ymd is ignored and the! perpetual date is set to 321.! ! pertlim = n.n Max size of perturbation to apply to initial! temperature field.!! ref_ymd Reference date for time coordinate encoded in yearmmdd format.! Default value is start_ymd.!! ref_tod Reference time of day for time coordinate in seconds since 0Z.! Default value is start_tod.!! sstcyc = .T., If false, do not cycle sst dataset(assume! multiyear)! ! logical reset_csim_iceprops = .F.,!! ! if true => resets the csim ice properties to base state! ! No Snow Cover, TSICE and TS1-4 are all set to! ! freezing. Default is false.! ! The csim is sensitive to imbalances between the! ! surface temperature and ice temperatures. When! ! using an initial conditions dataset interpolated! ! from a different resolution you may have to set this! ! to true to get csim to run. If set to true you will! ! have to allow time for the ice to "spin-up".!! start_ymd Starting date for run encoded in yearmmdd format. Default value! is read from initial conditions file.!! start_tod Starting time of day for run in seconds since 0Z. Default value! is read from initial conditions file.!! stop_ymd Stopping date for run encoded in yearmmdd format. No default.!! stop_tod Stopping time of day for run in seconds since 0Z. Default: 0.!! adiabatic = .F. Don't call physics!! ideal_phys = .F. Only run the "idealized" dynamical core! (dynamics + specified physics) of the model.!! aqua_planet = .F. Run in "aqua_planet" mode. Physics remains on but is run for! perpetual vernal equinox conditions; phis = 0; ocean! everywhere - no land and no sea-ice; SST's specified analytically!! flxave = .T. If true, only send data to the flux coupler on! radiation time steps. This namelist variable is! only used when running through the flux coupler.!! nusr_adv = nnn Number of user defined advected tracers. Defaults to 0.!! nusr_nad = nnn Number of user defined non-advected tracers. Defaults to 0.!! trace_gas = .F. If true, turn on greenhouse gas code for! CH4, N2O, CFC11 and CFC12 . (Must add 4 to pcnst)!! trace_test1 = .F. If true, implement trace test code with 1 tracer, ! (radon)!! trace_test2 = .F. If true, implement trace test code with 2 tracers, ! (radon and conserved unit tracer)!! trace_test3 = .F. If true, implement trace test code with 3 tracers, ! (radon, conserved unit tracer and ozone-like tracer)!! readtrace = .T. If true, tracer initial conditions obtained from ! initial file. !! co2vmr global co2 volume mixing ratio! ch4vmr tropospheric ch4 volume mixing ratio! n2ovmr tropospheric n2o volume mixing ratio! f11vmr tropospheric f11 volume mixing ratio! f12vmr tropospheric f12 volume mixing ratio!! iyear_AD The year AD to calculate the orbital parameters for. ! By default this is set to 2000000000 (defined to SHR_ORB_UNDEF_INT) ! which means use the input values o: eccen, obliq and mvelp.!! inithist Generate initial dataset as auxillary history file! can be set to 'MONTHLY', 'YEARLY' or 'NONE'. ! default: 'MONTHLY '!! prognostic_icesnow = .T, prognostic snow over ice, currently limited to! 0.5m. If this is false then a snow climatology! is used (default .T.)!! tauvis Visible optical depth (default .14)! ! linebuf true => force buffer flush of stdout with each ! newline generated (useful for debugging)!! empty_htapes true => no fields by default on history tapes!! print_step_cost true => print per timestep cost info!! avgflag_pertape A, I, X, or M means avg, instantaneous, max or min for all fields on! that tape! character*16 scenario_ghg ! ! values can be 'FIXED' or 'RAMPED'! ! sets co2,ch4,n2o,cfcf11,cfc12 volume mixing ratios! ! FIXED => volume mixing ratios are fixed and are! ! either have preset or namelist input values! ! RAMPED => volume mixing ratios are ramped! ! DEFAULT: FIXED ! character*16 scenario_so4 ! ! values can be 'FIXED' or 'RAMPED'! ! FIXED => zero sulfate except for background added! ! in aermix.F ! ! RAMPED => sulfate is ramped! ! DEFAULT: FIXED ! character*16 scenario_scon! ! values can be 'FIXED' or 'RAMPED'! ! FIXED => scon is fixed and can either have preset or! ! namelist value! ! RAMPED => scon is ramped! ! DEFAULT => FIXED! integer rampYear_ghg ! ! ramped gases fixed at this year if set to a value! ! greater than zero. Default value is 0.! integer rampYear_so4! ! ramped sulfate fixed at this year if set to a value! ! greater than zero. Default value is 0.! integer rampYear_scon! ! ramped scon fixed at this year if set to a value! ! greater than zero. Default value is 0.!! logical indirect ! ! true => include indirect radiative effects of! ! sulfate aerosols. Default is false.! ! this setting is independent of the ! ! setting of SCENARIO_SO4! character*80 sulfdata ! ! Path and filename of time-variant sulfate dataset! ! MUST be set if SCENARIO_SO4 = 'RAMPED'! ! NOT USED if SCENARIO_SO4 = 'FIXED'!! Define the camexp namelist!#if ( ! defined T3D )
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -