Changeset 278 for codes/icosagcm/trunk
- Timestamp:
- 10/11/14 23:27:39 (10 years ago)
- Location:
- codes/icosagcm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/param_sets/climate/Held_Suarez/run.def
r170 r278 1 INCLUDEDEF=earth_const.def2 1 3 # Scale factor for small planet experiment : real (default=1.) 4 scale_factor=1. 2 #---------------- Mesh ---------------- 5 3 6 # ------------------------------- Mesh --------------------------------- 7 # nbp 20 40 80 160 8 # T-edge length (km) 500 250 120 60 4 # Number of subdivisions on a main triangle : integer (default=40) 5 nbp = 40 9 6 10 # Number of subdivision on a main triangle (nbp) : integer (default=40)11 nbp=40 7 # Number of vertical layers : integer (default=19) 8 llm = 19 12 9 13 # sub splitting of main rhombus : integer (default=1) 14 nsplit_i=2 15 nsplit_j=3 10 # Vertical grid : [std|ncar|ncarl30] (default=std) 11 disvert = std 16 12 17 # Number of vertical layer (llm) : integer (default=19)18 llm=19 13 # Mesh optimisation : number of iterations : integer (default=0) 14 optim_it = 1000 19 15 20 # disvert : vertical discretisation : string (default='std') : std, ncar, ncar30l 21 disvert=std 16 # Sub splitting of main rhombus : integer (default=1) 17 nsplit_i = 2 18 nsplit_j = 2 22 19 23 # optim_it : mesh optimisation : number of iteration : integer (default=0)24 optim_it=100025 20 26 # ---------------------------------- Time --------------------------------21 #---------------- Numerics ---------------- 27 22 28 # scheme type : string ( default='runge_kutta') euler, leapfrog_matsuno, runge_kutta)29 scheme = runge_kutta 23 # Advection called every itau_adv time steps : integer (default=2) 24 itau_adv = 1 30 25 31 # matsuno period : integer ( default=5)32 matsuno_period = 5 26 # Time step in s : real (default=480) 27 dt = 480 33 28 34 # advection called every itau_adv time steps : integer (default 2) 35 # standard : umax=100m/s vs c=340m/s (ratio 1:3) 36 # in JW06 umax=35m/s vs c=340m/s (ratio 1:10) 37 itau_adv= 1 29 # Number of tracers : integer (default=1) 30 nqtot = 0 38 31 39 # time_style40 time_style=lmd41 32 42 # Number of days 43 ndays=1200 33 #---------------- Time and output ---------------- 44 34 45 # NUBER of day_step46 day_step= 180 35 # Time style : [none|dcmip] (default=dcmip) 36 time_style = none 47 37 48 # output field period : integer (default none)49 write_period=8640038 # Run length in s : real (default=??) 39 run_length = 103680000 50 40 51 # ---------------------------------- Misc -------------------------------- 41 # Interval in s between two outputs : integer (default=??) 42 write_period = 86400 52 43 53 # number of tracer (nqtot) : integer (default 1)54 nqtot=155 44 56 # etat0 : initial state : string (default=jablonowsky06) : 57 # jablonowsky06, academic, dcmip[1-4] ,heldsz 58 etat0=held_suarez 45 #---------------- Planet ---------------- 59 46 60 # ------------------------------ Dynamics -------------------------------- 47 # Planetary radius : real (default=6371220) 48 radius = 6.371e6 61 49 62 # caldyn : computation type for gcm equation : string (default=gcm) : gcm, adv63 caldyn=gcm 50 # Gravity : real (default=9.80616) 51 g = 9.8 64 52 65 caldyn_conserv=energy 66 caldyn_exner=direct 67 caldyn_hydrostat=direct 53 # Planetary rotation rate : real (default=7.292E-5) 54 omega = 7.292e-5 68 55 69 # guided_type : string (default=none) : none, ncar70 guided_type=none 56 # kappa=Rd/cpp : real (default=0.2857143) 57 kappa = 0.2857143 71 58 72 # ------------------------------ Dissipation --------------------------- 59 # Heat capacity at constant pressure : real (default=1004.70885) 60 cpp = 1004 73 61 74 # dissipation time graddiv : real (default=5000) 62 # Reference pressure : real (default=101325) 63 preff = 1e5 64 65 66 #---------------- Physical parameters ---------------- 67 68 # Initial state : 69 # [jablonowsky06|academic|dcmip[1-4]|heldsz|dcmip2_schaer_noshear|dcmip3] (default=jablonowsky06) 70 etat0 = held_suarez 71 72 # Physics package : [none|held_suarez|dcmip] (default=none) 73 physics = held_suarez 74 75 # Dissipation time for grad(div) : real (default=5000) 75 76 tau_graddiv = 50000 76 77 77 # number of iteration for graddiv: integer (default=1)78 # Exponent of grad(div) disspation : integer (default=1) 78 79 nitergdiv = 2 79 80 80 # dissipation time nxgradrot(default=5000)81 # Dissipation time for curl(curl) : real (default=5000) 81 82 tau_gradrot = 50000 82 83 83 # number of iteration for nxgradrot: integer (default=1)84 nitergrot =284 # Exponent of curl(curl) disspation : integer (default=1) 85 nitergrot = 2 85 86 86 # dissipation time divgrad (theta)(default=5000)87 tau_divgrad = 5000087 # Dissipation time for div(grad) : real (default=5000) 88 tau_divgrad = 50000 88 89 89 # number of iteration for divgrad: integer (default=1)90 niterdivgrad =290 # Exponent of div(grad) disspation : integer (default=1) 91 niterdivgrad = 2 91 92 92 # Rayleigh friction : string (default=none) : none, dcmip2_schaer_noshear, dcmip2_schaer_shear93 rayleigh_friction_type=none94 95 #----------------------------physics-------------------------------------96 physics=automatic -
codes/icosagcm/trunk/param_sets/make_rundefs.sh
r249 r278 67 67 ############################### Time and output ############################### 68 68 69 function time_style() { print 'Time style' '[none|lmd]' lmd time_style $1 70 } 71 function ndays() { print 'Number of days' integer ?? ndays $1 69 function time_style() { print 'Time style' '[none|dcmip]' dcmip time_style $1 72 70 } 73 71 function run_length() { print 'Run length in s' real ?? run_length $1 74 }75 function day_step { print 'Number of time steps per day' integer ?? day_step $176 72 } 77 73 function write_period { print 'Interval in s between two outputs' integer ?? write_period $1 … … 158 154 { 159 155 group 'Mesh' nbp 40 llm 19 disvert std optim_it 1000 ; split 2 2 160 group 'Numerics' itau_adv 1 day_step 180161 group 'Time ' time_style lmd ndays 1200 write_period 86400156 group 'Numerics' itau_adv 1 time_step 480 nqtot 0 157 group 'Time and output' time_style none run_length 103680000 write_period 86400 162 158 group 'Planet' radius 6.371e6 g 9.8 omega 7.292e-5 kappa 0.2857143 cpp 1004 preff 1e5 163 159 group 'Physical parameters' etat0 held_suarez physics held_suarez -
codes/icosagcm/trunk/src/time.f90
r266 r278 48 48 49 49 SUBROUTINE init_time 50 USE earth_const 51 USE getin_mod 52 USE mpipara 53 IMPLICIT NONE 54 REAL(rstd) :: run_length 55 56 57 time_style='dcmip' 58 CALL getin('time_style',time_style) 59 60 IF (TRIM(time_style)=='dcmip') Then 50 USE earth_const 51 USE getin_mod 52 USE mpipara 53 IMPLICIT NONE 54 REAL(rstd) :: run_length 55 61 56 dt=90. 62 57 CALL getin('dt',dt) 63 58 write_period=0 59 CALL getin('write_period',write_period) 64 60 itaumax=100 65 CALL getin('itaumax',itaumax) 66 61 CALL getin('itaumax',itaumax) 67 62 run_length=dt*itaumax 68 63 CALL getin('run_length',run_length) 69 64 itaumax=run_length/dt 70 dt=dt/scale_factor 71 72 write_period=0 73 CALL getin('write_period',write_period) 74 write_period=write_period/scale_factor 65 66 time_style='dcmip' 67 CALL getin('time_style',time_style) 68 SELECT CASE(TRIM(time_style)) 69 CASE('none') ! do nothing 70 CASE('dcmip') ! rescale time step for small-planet experiments 71 dt=dt/scale_factor 72 write_period=write_period/scale_factor 73 IF (is_mpi_root) PRINT *, 'Output frequency (scaled) set to ',write_period 74 CASE DEFAULT 75 IF (is_mpi_root) PRINT*,"Bad selector for variable time_style >",TRIM(time_style),"> options are <none>, <dcmip>" 76 STOP 77 END SELECT 78 75 79 itau_out=FLOOR(.5+write_period/dt) 76 IF (is_mpi_root) PRINT *, 'Output frequency (scaled) set to ',write_period, ' : itau_out = ',itau_out 77 ENDIF 80 IF (is_mpi_root) PRINT *, 'Output frequency itau_out = ',itau_out 78 81 79 82 itau_adv=1 80 83 CALL getin('itau_adv',itau_adv) 81 84 82 85 itau_dissip=1 83 86 CALL getin('itau_dissip',itau_dissip) 84 87 85 88 itau_physics=1 86 89 CALL getin('itau_physics',itau_physics) 87 90 88 91 IF (is_mpi_root) THEN 89 92 PRINT *, 'itaumax=',itaumax
Note: See TracChangeset
for help on using the changeset viewer.