?? preset.f90
字號:
#include <misc.h>#include <params.h>subroutine preset!----------------------------------------------------------------------- ! ! Purpose: Preset namelist CAMEXP input variables and initialize some other variables! ! Method: Hardwire the values! ! Author: CCM Core Group! !----------------------------------------------------------------------- use precision use history, only: fincl, fexcl, fhstpr, fwrtpr use pmgrid use tracers, only: nusr_adv, nusr_nad use constituents, only: ch4vmr, n2ovmr, f11vmr, f12vmr, co2vmr use pspect use rgrid use shr_orb_mod use dycore#if ( ! defined COUP_SOM ) && ( ! defined COUP_CSM ) use ice_dh, only: prognostic_icesnow,reset_csim_iceprops#endif use time_manager, only: timemgr_preset!----------------------------------------------------------------------- implicit none!------------------------------Commons----------------------------------#include <comadj.h>!-----------------------------------------------------------------------#include <comctl.h>!-----------------------------------------------------------------------#include <comhd.h>!-----------------------------------------------------------------------#include <comlun.h>!-----------------------------------------------------------------------#include <comtfc.h>!-----------------------------------------------------------------------#include <comsol.h>!-----------------------------------------------------------------------#include <perturb.h>!----------------------------------------------------------------------- include 'netcdf.inc'!-----------------------------------------------------------------------!! Preset character history variables here because module initialization of character arrays! does not work on all machines! fincl(:,:) = ' ' fexcl(:,:) = ' ' fhstpr(:,:) = ' ' fwrtpr(:,:) = ' '!! Flags! nlend = .false. ! end of run flag nlres = .false. ! continuation run flag nlhst = .false. ! regen run or branch run flag lbrnch = .false. ! branch run flag adiabatic = .false. ! no physics ideal_phys = .false. ! "idealized" model configuration aqua_planet = .false. ! global oceans/analytical SST's print_step_cost = .false. ! print per timestep cost info!! Tracers! trace_gas = .false. ! greenhouse gas code not implemented trace_test1 = .false. ! test tracer 1 code not implemented trace_test2 = .false. ! test tracer 2 code not implemented trace_test3 = .false. ! test tracer 3 code not implemented readtrace = .true. ! initialize from initial conditions file nusr_adv = 0 ! zero user advected tracers nusr_nad = 0 ! zero user non-advected tracers!! Ice flags!#if ( ! defined COUP_SOM ) && ( ! defined COUP_CSM ) prognostic_icesnow = .true. ! snow falls on ice by default but ! it is limited to 0.5 meter. reset_csim_iceprops= .false. ! use initial condition info unless ! need to reset ice properties in csim#endif! trace_gas = .false. ! greenhouse gas code not implemented!! Default run type is initialization! nsrest = 0!! Default value for writing restart files! nrefrq = 1 ! normal run, dispose with full history file!! Cycling flags for input boundary data files! sstcyc = .true. icecyc = .true. ozncyc = .true.!! Model time defaults! call timemgr_preset()!! Frequency in iterations of absorptivity/emissivity calc (negative! values in model hours)! iradae = -12!! Frequency of annual cycle sst update! itsst = 1!! Default frequency of shortwave and longwave radiation computations: ! once per hour (negative value implies model hours)! iradsw = -1 iradlw = -1!! Numerical scheme default values! eps = 0.06!! The Courant limiter is only used in eul dycore.! kmxhdc = 5 nlvdry = 3!! Horizontal diffusion is used in both eul and sld dycores, but for sld! the parameters are zero in the production version.! Horizontal diffusion is not used in the fv dycore.! if (dycore_is ('EUL')) then dif2 = 2.5e5 dif4 = 1.e16 else dif2 = 0. dif4 = 0. end if!! No divergence damping! divdampn = 0.!! Initialize volume mixing ratios! ch4vmr = 1.714e-6 n2ovmr = 0.311e-6 f11vmr = 0.280e-9 f12vmr = 0.503e-9 co2vmr = 3.550e-4!! Orbital parameters.! NOTE: if iyear_AD is set to SHR_ORB_UNDEF_INT after namelist input! then namelist values of obliq,eccen,and mvelp are used otherwise! obliq,eccen and mvelp are calculated based on iyear_AD! iyear_ad = shr_orb_undef_int obliq = shr_orb_undef_real eccen = shr_orb_undef_real mvelp = shr_orb_undef_real!! Solar constant! scon = 1.367e6!! Visible optical depth! tauvis = .14#if ( defined COUP_CSM )!! Communications with the flux coupler! flxave = .true.#endif!! rgrid: set default to full grid! nlon(:) = plon!! Unit numbers: set to invalid! nsds = -1 nrg = -1 nrg2 = -1 ncid_ini = -1 ncid_oz = -1 ncid_sst = -1 ncid_trc = -1 luhrest = -1!! /perturb/! pertlim = 0.0 returnend subroutine preset
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -