⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse_namelist.f90

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 F90
📖 第 1 页 / 共 3 页
字号:
#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 + -