!############ DO NOT REMOVE/ALTER THIS INFORMATION BLOCK !!! ############### &namelist_info NAMELIST_IS_FOR = 'PRAMS' NAMELIST_VERSION_COMMON = '0004' NAMELIST_NOTES_COMMON = '(2014-12-16 TIM)' &namelist_info_bspec NAMELIST_IS_FOR = 'PRAMS' NAMELIST_VERSION_MARS = '0005' NAMELIST_NOTES_MARS = '(2014-12-16 TIM)' !########################################################################### !=== some PRAMS terminology: !% 'run' : a single execution of the model (even if it is a restart of a ! previous run, or if the model terminates abruptly/abnormally). !% 'simulation' : a sequence of one or more runs with substantial similarities ! (user-defined granularity), intended to perform a given task. &basic_control !============================================================ !=== Simulation description (quoted string; may span multiple lines): SIMULATION_DESCRIPTION = ' Experiment goal: simulate an extraterrestrial atmosphere [2.9_r10] 2014-12-16, TIM ' !=== Type of PRAMS run (or the PRAMS run mode): ! RUN_TYPE = 'GRID_INFO_FILE' ! RUN_TYPE = 'MAKE_SFC_FILES' ! RUN_TYPE = 'MAKE_VAR_FILES' ! RUN_TYPE = 'INITIAL_START' RUN_TYPE = 'RESTART' !=== Fundamental grid setup parameters: N_GRIDS = 7 ! Number of (nested) grids to use MAP_PROJECTION = 1 ! Grid (map) projection: 0 = Cartesian ! 1 = Oblique polar stereographic !=== Type of initial conditions used when RUNTYPE='INITIAL_START' (may also ! implicitly dictate the type of boundary conditions allowable/used): INITIALIZATION_TYPE = 2 ! Initial fields: 1 = horizontally homogeneous ! 2 = variable in 3D &time_config !============================================================== !=== IMPORTANT!: PRAMS will output its *actual* starting Ls and body-specific UT ! to standard output during initialization. Use those values ! *ONLY* when talking/writing about the run start time/Ls. TARGET_LS = -999.9 ! Approximate starting Ls value for simulation [deg] ! (If INITIALIZATION_TYPE=2, should usually be set to < 0., ! resulting in the varfiles' starting Ls being used.) START_UT = -999.9 ! body-specific UT at start of simulation [decimal ! body-hours, at lon=0.] ! (If INITIALIZATION_TYPE=2, this value is ignored, and ! the relevant value is obtained from the varfiles.) !=== Time when this run should end (elapsed time, relative to to the entire ! simulation). MAXIMUM_SIM_ET_ = '10 body_days, 45000. seconds' !=== Dynamical (main, "long") timestep configuration: DT_MODE = 0 ! = 0 -- constant timestep {must appropriately set DT_DYNAMICS, ! N_DTA_PER_DTDYN, and N_DT_PER_PGDT(:)} ! < 0 -- variable timestep (computed) {must set DT_DYNAMICS (to ! a suitably small initial value) and N_DTA_PER_DTDYN ! (N_DT_PER_PGDT(:) is ignored; larger values of ! abs(DT_MODE) result in increasingly conservative timesteps} ! > 0 -- constant timestep (computed) {**NOT implemented**} DT_DYNAMICS = 10. ! Initial (dynamical) timestep [s] of coarsest grid (#1) N_DTA_PER_DTDYN = 1 ! Ratio of acoustic ("short") to dynamics ! ("long") timesteps ! 1 = best; most consistent thermodynamics, but may be ! impractical with regard to wall-time per simulation ! 2+ = smaller is better, but computational practicality ! must also be considered MIN_SSFRAC = 1. ! Minimum sound speed fraction permitted ! (0. < MIN_SSFRAC <= 1.); set to 1. unless the current ! application demands otherwise (e.g., due to practicality) RADFRQ = 300. ! Frequency of RT atm heating tendency update [s] (does NOT ! switch RT on/off) !%%% Parameters that are *ONLY* used when DT_MODE < 0: MAX_DT_DYNAMICS = 149. ! Maximum value of the grid #1 dynamical timestep [s]; ! must be < RADFRQ/2. DT_MAX_FRAC_INCREASE_G1 = 0.10 ! Max fractional grid #1 timestep increase N_SUBSTEPS_MAX = 128 ! Maximum number of substeps per grid #1 timestep ! (includes acoustic model substeps) N_DTDYN_PER_STATE_COPY = 1 ! Number of grid #1 dynamical timesteps between ! successive state copy events (to revert to if ! the variable timestep leads to a violation of ! the CFL criterion). !%%% Parameter that is *ONLY* used when DT_MODE = 0: @N_DT_PER_PGDT_ = 1, 2, 2, 2, 2, 2, 2 ! Number of timesteps per each &spatial_config !=========================================================== !=== Dimensions (grid point counts) for all grids: @NXP_ = 60, 59, 98, 89, 98, 116, 137 ! Number of x-direction gridpoints @NYP_ = 45, 62, 128, 110, 95, 116, 134 ! Number of y-direction gridpoints @NZP_ = 50, 50, 50, 50, 50, 50, 50 ! Number of z-direction gridpoints NZG = 11 ! Number of subsurface layers NZS = 1 ! Maximum number of supersurface layers (currently can only be 1) !=== Coarsest grid (#1) specifications: DELTAX_G1 = 240000. ! x-direction grid spacing [m] DELTAY_G1 = 240000. ! y-direction grid spacing [m] DELTAZ_G1 = 30. ! Bottom layer z-dir grid spacing [m] (set to < 0. to use ZZ) !%%% Explicit vertical level (layer boundary) heights if DELTAZ_G1=0. [m]: @ZZ_ = 0., 30., 60., 90., 120., 150., 180., 210., 240., 270., 300., 330., 360., 390., 420., 450. DZRAT = 1.13 ! Vertical grid stretch ratio DZMAX = 2500. ! Maximum delta-z for vertical stretch [m] !=== Further configuration of all grids (and their relation to grid #1): @NXTNEST_ = 0, 1, 2, 3, 4, 5, 6, 7, 8 ! Grid # of the relevant next coarser ! (parent) grid (0 if it is the coarsest grid) ! Nest ratios between each grid and its parent grid {see NXTNEST(:)}: @NSTRATX_ = 1, 3, 3, 3, 3, 3, 3 ! {*} x-direction @NSTRATY_ = 1, 3, 3, 3, 3, 3, 3 ! {*} y-direction !=== Vertical grid nesting parameters; a higher vertical resolution grid may ! be specified for a single grid (and will be applied to all of its ! "child" grids); NSTRATZ1_ specifies the nest ratio for EACH vertical ! layer, but only the ratios up to the top of the nested region(s) need be ! given (a ratio of 1 will be assumed above that): NESTZ1 = 0 ! Grid to begin vertical nesting on (all of its "child" grids ! will also use the new vertical grid); if = 0, this feature ! will be turned off; if negative, contort coarser grids' ! vertical grid to better accommodate the vertical nesting !%%% Nest ratio for EACH layer @NSTRATZ1_ = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 @NKNEST_ = 1, 1, 1, 1, 1, 1, 1, 1, 1 ! Starting layer for vertical grid (with ! very few exceptions, should be set to 1) @NSTTOP_ = 1, 1, 1, 1, 1, 1, 1, 1, 1 ! Flag (0 = no or 1 = yes) if this grid's @NSTBOT_ = 1, 1, 1, 1, 1, 1, 1, 1, 1 ! vertical mesh extends to the top or ! bottom of grid #1's vertical mesh. (almost always = 1) !=== Body-graphic (e.g., geographic) grid location/projection info: POLELAT = 10.00 ! Latitude of OPS projection pole point POLELON = 143.00 ! Longitude of OPS projection pole point !=== Central lat/lon coordinates for each grid; must be specified properly ! for grid #1 at least -- values for other grids are only approximate, due ! to gridding considerations, and are only used if the associated ! NINEST = 0 or NJNEST = 0 @CENTLAT_ = -13.00001, 6., 8., -4.5, -5., -4.8, -4.4 @CENTLON_ = 140.00001, 145.000, 143., 137.4, 137.8, 137.4, 137.4 !=== Grid point on the next coarser (parent) grid where the lower SW corner of ! each grid will start. If NINEST = 0 or NJNEST = 0, CENTLAT/LON is used ! instead: @NINEST_ = 1, 0, 0, 0, 0, 0, 0 ! i-point (x-dir) @NJNEST_ = 1, 0, 0, 0, 0, 0, 0 ! j-point (y-dir) &inout_config !============================================================= !*** General control parameters for model : ! Model output (including that of the MAKESFC and MAKEVFILE modes) will be ! written to directories, as follows -- any missing parent directories will ! also be created (if possible): ! ! {OUTPUT_DIR_ROOT}/{SIMULATION_ID}/intermediary : for varfiles / sfcfiles ! {OUTPUT_DIR_ROOT}/{SIMULATION_ID}/state : for state files ! ! Within those directories, individual files will be named in a similar ! manner as the following (for state files), with two possible types of ! user-defined directory tree granularity shown: ! ! {OUTPUT_DIR_ROOT}/{SIMULATION_ID}/state/{SIMULATION_ID}{RUN_SUFFIX}-S-* ! ! MPF_test-01-Ls030/ MPF_test-01/ ! state/ state/ ! MPF_test-01-Ls030-S-* MPF_test-01-Ls030-S-* ! MPF_test-01-Ls120/ MPF_test-01-Ls120-S-* ! state/ MPF_test-01-Ls120_A-S-* ! MPF_test-01-Ls120-S-* ... ! MPF_test-01-Ls120_A-S-* ! ... _OUTPUT_DIR_ROOT = './outputs' !%%% Simulation identification string: SIMULATION_ID = 'Gale_Ls0_press_tuned_april' !%%% Ignored if char string is empty or entirely "whitespace": RUN_SUFFIX = '' !*** Control parameters for state file : IOUTPUT = 1 ! 0 = DO NOT write state files, 1 = write STOP_IF_FILE_EXISTS = .TRUE. ! Stop if state file already exists? WFREQ_STATE_FILE = 308.24725 ! State file frequency [s]; ! if < 0., write every dynamical timestep !*** variable initialization/boundary condition parameters (only used ! if INITIALIZATION_TYPE = 2): !%%% Input varfile filename prefix; '' or ' ' = uses default location/name ! '{OUTPUT_DIR_ROOT}/{SIMULATION_ID}/intermediary/varfile{RUN_SUFFIX}' _INPUT_VARFILE_PFX = '' NUDLAT = 4 ! Number of points in lateral boundary nudging region TNUDLAT = 5548.4 ! Nudging time scale at lateral boundaries [s] TNUDCENT = 0. ! Nudging time scale in center of domain [s] TNUDTOP = 0. ! Nudging time scale at top of domain [s] ZNUDTOP = 40000. ! Nudging at top of domain above this height [m] !*** Restart file/control parameters: !%%% Input state filename prefix: _INPUT_STATE_FILE_PFX = './outputs/Gale_Ls0_press_tuned_april/state/Gale_Ls0_press_tuned_april-S-0004_00088469.0240' !%%% Ignored *UNLESS* RUNTYPE='RESTART' *and* DT_MODE < 0: PRESERVE_DT_ON_RESTART = .TRUE. ! Should the dynamical timestep proceed from ! its previous state recorded in the ! state file? !*** Directory where PRAMS will expect to find data files which cannot ! be specified more precisely in the namelist (by design or an oversight): _DEFAULT_INPUT_DATA_DIR = './input_static' !*** surface characteristic file control parameters: !%%% Input sfcfile prefix (i.e., files created by 'MAKESFC' mode); ! '' or ' ' : Use (default location/name) ! '{OUTPUT_DIR_ROOT}/{SIMULATION_ID}/intermediary/sfcfile{RUN_SUFFIX}' ! 'NONE' : if read of offline sfcfiles is not desired -- will recalculate ! all relevant surface characteristics during model initialization _INPUT_SFCFILE_PFX = '' !%%% Execute the instructions in the routine 'sfcinit_user'? RUN_SFCINIT_USER = .FALSE. !*** Topography: -------------------------------- @ITOPTFLG_ = 1, 1, 1, 1, 1, 1, 1, 1, 1 ! 0 = Interpolate from coarser grid ! 1 = Fill from standard lat/lon data file ! 2 = Fill data in 'toptinit` or 'toptinit_user' RUN_TOPTINIT_USER = .FALSE. ! Execute the instructions in the routine ! 'toptinit_user'? !%%% Input topography file path/prefix: %ITOPTFN_ = './input_static/Mars/topo-global-MOLA_32.nc' './input_static/Mars/topo-global-MOLA_32.nc' './input_static/Mars/topo-global-MOLA_32.nc' './input_static/Mars/topo-global-MOLA_64.nc' './input_static/Mars/topo-global-MOLA_64.nc' './input_static/Mars/topo-global-MOLA_128.nc' './input_static/Mars/topo-global-MOLA_128.nc' './input_static/Mars/topo-global-MOLA_128.nc' './input_static/Mars/topo-global-MOLA_128.nc' !%%% Topography interpolating/filtering scheme: @ITOPSFLG_ = 0, 0, 0, 0, 0, 0, 0, 0, 0 ! 0 = Average Orography ! 1 = Silhouette Orography ! 2 = Envelope Orography ! 3 = Reflected Envelope Orography @TOPTENH_ = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 ! For ITOPSFLG=1, ! weighting of topo silhouette averaging ! For ITOPSFLG=2 or 3, Reflected Envelope ! and Envelope Orography enhancement ! factor @TOPTWVLX_ = 4., 4., 4., 4., 4., 4., 4., 4., 4. ! x-dir low-pass filter cutoff @TOPTWVLY_ = 4., 4., 4., 4., 4., 4., 4., 4., 4. ! y-dir " " " (in gridpoints) !*** Thermal inertia: --------------------------- @ITINFLG_ = 1, 1, 1, 1, 1, 1, 1, 1, 1 ! 0 = Interpolate from coarser grid ! 1 = Fill from standard lat/lon data file ! 2 = Fill data in 'sfcinit' or 'sfcinit_user' !%%% Thermal inertia file path/prefix: %ITINFN_ = './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' './input_static/Mars/TI-global-nighttime.nc' @TINWVLX_ = 4., 4., 4., 4., 4., 4., 4., 4., 4. ! x-dir low-pass filter cutoff @TINWVLY_ = 4., 4., 4., 4., 4., 4., 4., 4., 4. ! y-dir " " " (in gridpoints) !*** Albedo: ------------------------------------ @IALBFLG_ = 1, 1, 1, 1, 1, 1, 1, 1, 1 ! 0 = Interpolate from coarser grid ! 1 = Fill from standard lat/lon data file ! 2 = Fill data in 'sfcinit' or 'sfcinit_user' !%%% Input albedo file path/prefix: %IALBFN_ = './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' './input_static/Mars/albedo-global-1_8_deg.nc' @ALBWVLX_ = 4., 4., 4., 4., 4., 4., 4., 4., 4. ! x-dir low-pass filter cutoff @ALBWVLY_ = 4., 4., 4., 4., 4., 4., 4., 4., 4. ! y-dir " " " (in gridpoints) !*** Aerodynamic surface roughness (z0): -------------------- @IZ0FLG_ = 0, 0, 0, 0, 0, 0, 0, 0, 0 ! 0 = Based on ZROUGH *below* ! 1 = Based on subgrid-scale topography (not ! recommended) ! 2 = Altered in a simple way based on ! whether a point is above/below/at a given ! topography level ! Ignored *UNLESS* IZ0FLG_(*)=1: @Z0MAX_ = 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03 ! Max z0 [m] Z0FACT = 0.005 ! Subgrid scale orographic roughness factor ! Ignored *UNLESS* IZ0FLG_(*)=2: ! Aerodynamic surface roughness [m] applied to topography at and either ! below (- Z0_OF_TOPOLEVEL) or above (+ Z0_OF_TOPOLEVEL) a given ! topography level (TOPOLEVEL_FOR_Z0; [m]). Grid-dependent. ! All other aerodynamic surface roughness values on a grid will be set to ! ZROUGH. @Z0_OF_TOPOLEVEL_ = 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03 @TOPOLEVEL_FOR_Z0_ = 1000., 0., -42., -42., -42., 50., 50., -4200., -4200. !*** Controls for profile output intended for LES nudging (currently included: ! advective tendencies and T/p profiles for RT): ! ***NOT YET OPERATIONAL*** PNLES_NP = 0 ! Number of gridpoints whose profiles will dumped to file(s) ! 0 = turn off this feature !%%% File/path prefix to use for output file(s): _PNLES_FN = './vis/MPFtst01' !%%% Specific gridpoints whose fluxes will be written to individual ! NetCDF-format files. Example: 'g1:(12,34)' = grid #1, (x,y) = (12,34) @PNLES_PT_ = 'g1:(12,34)', 'g3:(34,12)' &model_options !=========================================================== NADDSC = 0 ! Number of additional scalar species (not including ! aerosol microphysics quantities configured elsewhere) !*** Numerical / boundary condition schemes: ICORFLG = 1 ! Coriolis flag/2D v-component: 0 = off, ! 1 = on / (fully variable f), ! 2 = constant f (at center lat of coarsest grid) !=== If .FALSE.: applies to ALL fields, unconditionally ! If .TRUE.: the diffusion/advection of aerosol scalars is still subject ! to the control of other namelist parameters. ENABLE_ADVECTION = .TRUE. ! Enable any advection calculations? ENABLE_TURB_DIFFUSION = .TRUE. ! Enable any turbulent diffusion calculations, ! including surface layer fluxes? !=== This is a topmost-level toggle for the advection, diffusion, ! precipitation, surface-source, and nucleation/growth/ablation of ! aerosol fields. It does *NOT* control whether any aerosol fields are ! active in radiative transfer calculations. ! If .FALSE.: applies to ALL aerosol scalar fields, unconditionally ! If .TRUE.: fine-grained control of aerosol scalar processes is still ! configured using other namelist parameters. ENABLE_AEROSOL_MICROPHYSICS = .TRUE. ! Calculate aerosol microphysics? RT_PARADIGM = 2 ! Which radiative transfer paradigm to use? ! 0 = no RT, not even for the surface ! 1 = RT, as if there were no atmosphere at all ! 2 = full RT PROGNOSE_SBPS = .TRUE. ! Evolve ground surface/subsurface fields with time? PROGNOSE_UVWP = .TRUE. ! Evolve u, v, w, and p fields with time? @GRIDU_ = 0., 0., 0., 0., 0., 0., 0., 0., 0. ! u-component for moving grids @GRIDV_ = 0., 0., 0., 0., 0., 0., 0., 0., 0. ! v-component for moving grids ! (still not working!?) IBND = 1 ! Lateral boundary condition flags (use 1 or 4): JBND = 1 ! 1=Klemp/Wilhelmson, 2=Klemp/Lilly, 3=Orlanski, 4=cyclic CPHAS = 100. ! Phase speed if IBND and/or JBND = 1 [m/s] LSFLG = 1 ! Large-scale gradient flag for variables other than ! normal velocity: ! 0 = zero gradient inflow and outflow ! 1 = zero gradient inflow, radiative b.c. outflow ! 2 = constant inflow, radiative b.c. outflow ! 3 = constant inflow and outflow ! Rayleigh damping (by default, applied to u, v, w, and theta): NFPT = -5 ! Applied to this many topmost gridpoints (if < 0, apply damping ! only to vertical velocity in order to damp gravity waves) DISTIM = 30. ! Damping time scale [s]; for gravity wave suppression, ! one might use 1/(10*N) (N = Brunt-Vaisala freq) ~ 5. for ! the 40-60 km AGL layer near the equator. PERTURB_NSFC_THETA = .FALSE. ! Randomly perturb theta of the layer nearest ! the surface (on all grids; ! if RUN_TYPE = 'INITIAL_START' only) ! Topographic slope effects: ISLASTOG = 1 ! 0 = none, 1 = based on model topography ! ### NOTE: affects RT code *and* aerosol sedimentation ### !*** Subgrid-scale turbulence parameterization control parameters: @IDIFFK_ = 1, 1, 1, 1, 1, 1, 1, 1, 1 ! Subgrid-scale diffusion scheme flag: ! 1 - Horizontal deformation, ! vertical Mellor-Yamada Level 2.5 (1982, w/mods) ! 2 - Anisotropic deformation ! (horizontal and vertical differ) ! 3 - Isotropic deformation ! (horizontal and vertical equal) ! 4 - LES SGS: Deardorff (1980) TKE ! 5 - LES SGS: Sullivan et al. (1994) TKE ! (**not yet fully implemented**) ! 6,8 - Horizontal deformation, vertical ! MYNN Level 2 (2009); 6 = with K2010 mods ! 7,9 - Horizontal deformation, vertical ! MYNN Level 2.5 (2009); 7 = with K2010 mods IHORGRAD = 2 ! 1 - horiz grad from decomposed sigma grad ! 2 - true horizontal gradient ! (Possibly non-conserving, but allows small dz) @CSX_ = 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3 ! Coefficient for horiz. ! deformation K -- Relevant for IDIFFK=1,2,6:9 @CSZ_ = 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ! Coefficient for vertical ! deformation K -- Relevant for IDIFFK=2,3 @XKHKM_ = 3., 3., 3., 3., 3., 3., 3., 3., 3. ! Ratio of horiz K_h to K_m for ! deformation -- Relevant for IDIFFK=1,2,3,6:9 @ZKHKM_ = 3., 3., 3., 3., 3., 3., 3., 3., 3. ! Ratio of vert K_h to K_m for ! deformation -- Relevant for IDIFFK=2,3 @AKMIN_ = 0.1, 0.3, 0.5, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7 ! Ratio of minimum ! horizontal eddy viscosity coefficient to typical ! value from deformation K -- Relevant for IDIFFK=1,2,6:9 !*** Surface parameters (many of these are often used when input from a data ! is not possible or desired, and/or when INITIALIZATION_TYPE = 1): NPATCH = 1 ! Number of surface patches per grid cell (min/max = 1 for now) @NOFILFLG_ = 2, 2, 2, 2, 2, 2, 2, 2, 2 ! How to obtain data with no standard ! data files: ! 0 - Interpolate from coarser grid ! 2 - Fill data in 'sfcinit' ! **CURRENTLY DOESN'T DO ANYTHING** ZROUGH = 0.03 ! Constant surface roughness [m] for all of the domain ALBEDO = 0.2 ! Broadband (shortwave) albedo for all of the domain TI_VAL = 384.525 ! Constant thermal inertia [SI units] for all of the domain EMISSIVITY = 0.98 ! Broadband (longwave) emissivity for all of the domain &model_options_bspec !========================================================== !*** Sub-/super-surface model parameters: PCTLCON = 1. ! Constant land percentage for all domain !*** Must be set equal to 1. for now !*** Supersurface model parameters: CO2_SFCI = 1 ! CO2 surface ice scheme: ! 1 = static (stays at initial value; may be zero); ! 2 = fully prognostic (changes in tandem with atm/sfc) ! 3 = static; Ls-dependent initial placement of H2Oi/CO2i !***WARNING: the ice scheme may NOT be changed when doing a ! restart -- problems will occur. SFCI_ILS = 0. ! Ls for placement of surface ice (CO2_SFCI=3) [deg] !*** Subsurface model parameters: NSLCON = 1 ! Subsurface option to use: ! 0 = Subsurface characteristics homogeneous with depth ! 1 = Higher-latitude subsurface H2O ice table scheme (based ! on Mars Odyssey GRS observations; constant in time) !%%% Subsurface vertical grid *LEVEL* (not layer midpoint) heights [m]: @SLZ_ = -1.5, -1.0, -0.7, -0.4, -0.2, -0.1, -0.07, -0.04, -0.02, -0.01, -0.005 !%%% Initial subsurface temperature offset from lowest atmospheric level ! temperature (only used if INITIALIZATION_TYPE=1): @STGOFF_ = 50., 50., 45., 40., 30., 20., 10., -10., -15.,-20., -20. !%%% Initial subsurface moisture mixing ratio (only used if ! INITIALIZATION_TYPE=1): ***NOT CURRENTLY USED FOR ANYTHING*** @SLMSTR_ = 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. !*** Radiative transfer (RT) code parameters: RTC_TOG = 2 ! Use scheme based on: ! 1 = legacy NASA Ames MGCM RT code ! 2 = RT code based on Toon et al. 1989 (2-stream; ! original vertical discretization) ! 3 = RT code based on Toon et al. 1989 (2-stream; ! revised vertical discretization, tighter coupling of ! longwave RT and temperature) ! 4 = NASA Ames RT code, based on Toon et al. 1989 ! (2-stream; original vertical discretization) LONRAD = 1 ! Areographic variation of shortwave radiation ! 0 = SW equals that at centlat/lon of coarsest grid (#1) ! 1 = full dependence on lat/lon on every grid ISHADTOG = 1 ! 1 = topo shadowing on all grids, 0 = no shadowing LS_OF_PERIAPSE = 250.999 ! Ls of periapse (around the relevant star) [deg] ORBITAL_ECCENTRICITY = 0.09341233 ! Eccentricity of body's orbit around star AXIAL_OBLIQUITY = 25.1919 ! Obliquity of the body's rotational axis [deg] AU_TO_M_KNOB = 1.000085 ! Factor that should be "very nearly" 1; use to ! "coax" the numerical calc of the body's orbit to ! be cyclic (i.e., no orbital calc error messages) !=== Control parameters for the output of RT fluxes [f(z,wavelength,stream)] ! each RT timestep to separate NetCDF-format files (one per gridpoint; ! written to the 'state' directory of the run). ! NOTE: Configure this thoughtfully, as this can potentially produce ! multiple very large files. RT_FLUX_TRACE_NP = 0 ! Number of gridpoints whose information will be written ! to file(s); 0 = turn off this feature !%%% Start and end times for the writing of information to file: @RT_FLUX_TRACE_TI_ = '0. seconds', '1 b_d' !%%% Specific gridpoints whose information will be written to individual ! files. Example: 'g01:(12,34)' = grid #1, (x,y) = (12,34) @RT_FLUX_TRACE_PT_ = 'g01:(12,34)','g03:(34,12)' !*** Parameters *ONLY* for radiative transfer code derived from the legacy ! NASA Ames MGCM: ! ### IGNORED IF RTC_TOG /= 1 ### LFMCUT = 18 ! Fine mesh from this model level to surface NRDLEVT = 4 ! # of levels above model top to use in RT calcs ! (MUST BE AN EVEN NUMBER) TAUTOT = 0.45 ! "Vis" dust optical depth (at pressure level of 6.1 mb) ! {*OR* negative value -> variable(Ls,lat) dust scheme} CONRNU = 0.03 ! "Conrath-nu" parameter, specifying the vertical distribution ! of dust !*** Parameters *ONLY* for radiative transfer code based on Toon et al. 1989 ! (CARMA version; RTC_TOG = 2 or 3): ! ### IGNORED IF RTC_TOG /= 2 or 3 ### DUST_OP_CASE = 3 ! 1 = Palagonite (Ockert-Bell etal. 1997, Clancy etal. 1995) ! 2 = Palagonite (Clancy et al. 1995) ! 3 = Semi-empirical Mars dust (Wolff et al. 2009) !*** Parameters *ONLY* for more-adaptable radiative transfer code(s): ! ### IGNORED IF RTC_TOG < 2 ### USE_GAS_OPACITIES = .TRUE. ! Use atmospheric gas opacities in RT calculations? ! (mostly for debugging of RT code) !=== Control parameters for radiative transfer interaction of FOREGROUND ! aerosols (NOTE: water vapor is always radiatively active *if present*): !**NOT OPERATIONAL for RTC_TOG=4 yet** DUST_RTA = .FALSE. ! Dust aerosol is radiatively active? !%%% Begin time for inclusion of dust in RT calcs: DUST_RTT_ = '0. seconds' H2OI_RTA = .FALSE. ! H2O ice aerosol is radiatively active? !%%% Begin time for inclusion of H2O ice_aer in RT calcs: H2OI_RTT_ = '0. seconds' CO2I_RTA = .FALSE. ! CO2 ice aerosol is radiatively active? !%%% Begin time for inclusion of CO2 ice_aer in RT calcs: CO2I_RTT_ = '0. seconds' !%%% Control parameters for "background" radiatively-active dust field (only ! "seen" by radTX code; DUST_TOG >= 1 is required): !**BDST_TOG > 2 are NOT OPERATIONAL for RTC_TOG=4 yet** BDST_TOG = 4 ! 0 = no "background" dust field used ! 1 = User-specified dust -- provide Conrath_nu and tau_vis ! 2 = Use "var_tau" prescription { f(Ls,lat); based on ! A. Colaprete's (circa 2004) analytical expressions for ! dust opacity and Conrath-nu } ! 3 = User-specified dust -- provide haze_top and tau_9um ! 4 = Use "vtau" prescription { f(Ls,lat); zonally-averaged TES ! MY24 opacities and empirical raster haze_top field based ! on SPICAM results, insolation, etc. } !%%% Parameters that are *ONLY* used when BDST_TOG > 0: !**NOT OPERATIONAL for RTC_TOG=4 yet** ! Log-normal *number* modal/median/geometric_mean radius [um] ! = r_eff/exp(2.5*(rsig)**2) {r_eff = area-weighted effective radius} ! = arithmetic_mean*exp(-0.5*rsig**2) ! where 'rsig' is the log-normal standard deviation (see BDST_IGD) BDST_IMR = 1.5 ! r_eff = 1.5 um (Wolff et al. 2006) ! Log-normal number geometric standard deviation (>1.) ! = exp(rsig) ! = exp(sqrt(log(v_eff+1.)) {v_eff = area-weighted effective variance} ! where 'rsig' is the log-normal standard deviation BDST_IGD = 1.8 ! v_eff = 0.25 (Wolff et al. 2006) ! (stddev_eff = 0.5; rsig = 0.47238) !%%% Parameters that are *ONLY* used when BDST_TOG = 1: BDST_ICN = 0.003 ! "Conrath nu" (Conrath 1975); dust profile "depth" BDST_IRT = 0.45 ! "Vis" dust column opacity (at pressure level of 6.1 mb) !%%% Parameters that are *ONLY* used when BDST_TOG = 3: !**NOT OPERATIONAL for RTC_TOG=4 yet** BDST_IHT = 40. ! "Haze top" altitude [km]; dust profile "depth" BDST_ITT = 0.2 ! "9 um" dust column opacity (at pressure level of 6.1 mb) !*** -END- of parameters *ONLY* for more-adaptable radiative transfer code(s) !*** Aerosol code (with microphysics derived from CARMA) options: !*** H2O VAPOR: ***------------------------------------------------------ H2OV_TOG = 0 ! Water *vapor*: 0 = no RV; ! 1 = static RV profile; ! 2 = mobile RV (diffuses, advects); !NOT_YET 3 = mobile RV (sfc_source, diffuses, advects); !%%% Time that mobile RV processes should begin: H2OV_BEG_ = '3699. seconds' H2OV_IVR = 0 ! Water vapor profile initialization override/toggle: ! 0 = Use MGCM init (INITIAL=2 *ONLY*) ! 1 = Use "standard" profile init scheme in `H2Ov_init` ! [if INITIAL=2, this overrides the MGCM init (also ! turns nudging off)] !*** DUST aerosol: ***--------------------------------------------------- DUST_TOG = 1 ! Dust: 0 = no dust; ! 1 = static profile; ! 2 = mobile (sediments, diffuses, advects); ! 3 = mobile (#2 AND const stress threshold sfc_source); ! 4 = mobile (#2 AND dyn ustar threshold sfc_source); DUST_NB = 8 ! Number of separate size/mass bins for dust variables DUST_RMN = 5.e-2 ! Minimum particle radius [um] DUST_MRT = 7.2 ! Ratio of particle mass between successive bins !%%% Time that most dust transport processes (sedimentation, diffusion, ! advection) should begin: DUST_BEG_ = '35000. seconds' !=== Dust injection parameters (DUST_TOG >= 3): !%%% Time that sfc reservoir "characterization" (dust injection scheme ! updating sfc reservoirs, but no dust actually put into the atm dust ! bins) should begin: (<= DUST_JBG) DUST_JSR_ = '35000. s' !%%% Time that dust should begin to be injected into the atmospheric dust ! bins: (>= DUST_BEG) DUST_JBG_ = '35000. s' DUST_JEF = 9.e-8 ! Dust lifting "efficiency" factor. Likely a function of ! grid resolution and scheme type. Example values: ! DUST_TOG = 3: 7.e-4 ! DUST_TOG = 4: 9.e-8 (if value is '-', disable Ri ! gustiness calc; use "laminar") !=== Dust injection parameters (ONLY DUST_TOG = 3): DUST_JTH = 0.014 ! ONLY for DUST_TOG = 3; sfc stress lifting threshold [N] !=== Atmospheric dust initialization parameters: DUST_IVR = 5 ! Dust aerosol profile initialization override/toggle: ! 0 = Use MGCM init (INITIAL=2 *ONLY*) ! If INITIAL=2, these override the MGCM init (also ! turns nudging off): ! 1 = Use "standard" profile init scheme in `dust_init` ! 2 = User-specified dust -- provide Conrath_nu and tau_vis ! 3 = Use "var_tau" prescription at the initial time/season ! (see BDST_TOG for more detail on this scheme) ! 4 = User-specified dust -- provide haze_top and tau_9um ! 5 = Use "vtau" prescription at the initial time/season ! (see BDST_TOG for more detail on this scheme) ! Log-normal number geometric standard deviation (>1.) ! = exp(rsig) ! = exp(sqrt(log(v_eff+1.)) {v_eff = area-weighted effective variance} ! where 'rsig' is the log-normal standard deviation DUST_IGD = 1.8 ! v_eff = 0.4127 !%%% Parameters that are used when DUST_IVR > 0: ! Log-normal *number* modal/median/geometric_mean radius [um] ! = r_eff/exp(2.5*(rsig)**2) {r_eff = area-weighted effective radius} ! = arithmetic_mean*exp(-0.5*rsig**2) ! where 'rsig' is the log-normal standard deviation (see DUST_IGD) DUST_IMR = 1.5 ! r_eff = 3.558 um !%%% Parameters that are *ONLY* used when DUST_IVR = 1: DUST_INN = 0. ! Normalizing number concentration [#/cm^3] !%%% Parameters that are *ONLY* used when DUST_IVR = 2: DUST_ICN = 0.003 ! "Conrath nu" (Conrath 1975); dust profile "depth" DUST_IRT = 0.45 ! "Vis" dust column opacity (at pressure level of 6.1 mb) !%%% Parameters that are *ONLY* used when DUST_IVR = 4: DUST_IHT = 40. ! "Haze top" altitude [km]; dust profile "depth" DUST_ITT = 0.2 ! "9 um" dust column opacity (at pressure level of 6.1 mb) !*** H2O ICE aerosol: ***------------------------------------------------ H2OI_TOG = 0 ! Water *ice* aerosol: 0 = no ice aerosol formation; ! 1 = ice aerosol formation permitted (sed, diff, adv); !NOT_YET 2 = "1" with sfc_source; H2OI_NB = 10 ! Number of separate size/mass bins for water ice variables H2OI_RMN = 7.2112482e-2 ! Minimum particle radius [um] H2OI_MRT = 7.2 ! Ratio of particle mass between successive bins !%%% Time that H2O ice aerosol processes should begin: H2OI_BEG_ = '35000. s' !*** CO2 ICE aerosol: ***------------------------------------------------ CO2I_TOG = 0 ! CO2 *ice* aerosol: 0 = no ice aerosol formation; ! 1 = ice aerosol formation permitted (sed, diff, adv); !NOT_YET 2 = "1" with sfc_source; ! ! CURRENTLY REQUIRES THAT 'NADDSC'>=1 (for CO2 fraction) CO2I_NB = 28 ! Number of separate size/mass bins for CO2 ice variables CO2I_RMN = 6.5e-2 ! Minimum particle radius [um] CO2I_MRT = 3. ! Ratio of particle mass between successive bins !%%% Time that CO2 ice aerosol processes should begin: CO2I_BEG_ = '35000. s' &initial_sounding !============================================================= !*** Sounding for INITIALIZATION_TYPE = 1 (horizontally homogeneous) *** NSNDP = 18 ! Number of levels in sounding !*** The initial sounding may be specified within the namelist (i.e., HSND_, ! TSND_, etc. below), *OR* may be in a separate ASCII-format file, ! with one record per sounding level. The record entries are as follows, ! delimited by whitespace: ! HSND(n) PSND(n) TSND(n) RTSND(n) USND(n) VSND(n) USE_EXT_SOUNDING_FILE = .FALSE. ! Read in sounding from external file? !%%% Path/name of input sounding file; only relevant when ! USE_EXT_SOUNDING_FILE = .TRUE. : INPUT_SOUNDING_FN = '' !*** Flags describing how sounding is specified: IPSFLG = 1 ! Specifies what is in PSND and HSND arrays ! 0: PSND() = pressure [mb] ! HSND() = height above surface [m] ! 1: PSND(1) = sfc pressure [mb] ! HSND() = height above surface [m] ! 2: PSND() = pressure [mb] ! HSND() = unused (approximated with gz) ITSFLG = 0 ! Specifies what is in TSND array ! 0: temperature [K] ! 1: potential temperature [K, p0=10mb] IRTSFLG = 1 ! Specifies what is in RTSND array ! 0: RTSND = water vapor mixing ratio [g/kg] ! 1: RTSND = water vapor mixing ratio [kg/kg] !***NOT CURRENTLY USED IUSFLG = 0 ! Specifies what is in USND and VSND arrays ! 0: USND() = u [m/s], VSND() = v [m/s] ! 1: USND() = dir wind is *FROM* [deg from N] ! VSND() = wind speed [m/s] !*** Sounding data: @HSND_ = 0., 3000., 6000., 9000., 12000., 15000., 18000., 21000., 24000., 27000., 30000., 33000., 36000., 39000., 42000., 45000., 48000., 52000. @PSND_ = 7.0 ! @PSND_ = 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.1, ! 0.05, 0.01, 0.005, 0.001, 0.0005 @TSND_ = 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170., 170. @RTSND_ = 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. @USND_ = 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. @VSND_ = 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. &PIPP_control !============================================================ !*** PIPP (PRAMS Ingestion and Preprocessing Package) control parameters: NIGRIDS = 7 ! Number of PRAMS grids to analyze PIPP_NVF = 150 ! Number of varfiles to create GUESS1ST = 'GCM' ! Type of first guess input ('GCM' or 'PRAMS') !*** This information is used to determine the correct part of the input ! data to use to make varfiles. Set these wisely: VF_LS = 0.0 ! Desired *approximate* Ls of data to be extracted and ! made into varfiles TGT_TIME = 5. ! LMST (local mean solar/stellar time) to target for first ! varfile [in decimal body-hours] TGT_TLON = 137.44 ! Longitude that TGT_TIME is valid at (-180. to 180.) !*** Input data file (typically GCM output) parameters: NF_SPAN = 3 ! Number of input data files to use in making varfiles !%%% Input datafile prefix(es): %IAPR_ = './MGCM_data/press_tuned_Ls0_april/proc_testnetcdf-000453-Y007-sLs356_97-diag.nc' './MGCM_data/press_tuned_Ls0_april/proc_testnetcdf-000454-Y007-sLs002_10-diag.nc' './MGCM_data/press_tuned_Ls0_april/proc_testnetcdf-000455-Y007-sLs007_15-diag.nc' !*** Varfile output parameters !%%% Output varfile filename prefix; '' or ' ' = uses default location/name ! '{OUTPUT_DIR_ROOT}/{SIMULATION_ID}/intermediary/varfile{RUN_SUFFIX}' : _VARPFX = '' GEN_VF_INPUT_COMPARISON = .TRUE. ! Generate files (based on input data with ! with minimal processing) to compare with ! varfiles?