Changeset 97 for codes/icosagcm/trunk/src/time.f90
- Timestamp:
- 08/04/12 00:13:44 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/time.f90
r82 r97 1 1 MODULE time_mod 2 2 use prec 3 3 PRIVATE 4 4 … … 7 7 INTEGER,SAVE :: it 8 8 9 PUBLIC create_time_counter_header, update_time_counter, close_time_counter 9 REAL(rstd),SAVE :: dt 10 REAL(rstd),SAVE :: write_period 11 INTEGER,SAVE :: itau_out 12 INTEGER,SAVE :: itaumax 13 14 PUBLIC create_time_counter_header, update_time_counter, close_time_counter, init_time 10 15 11 16 12 17 13 18 CONTAINS 19 20 SUBROUTINE init_time 21 USE earth_const 22 USE ioipsl 23 IMPLICIT NONE 24 REAL(rstd) :: run_length 25 26 dt=90. 27 CALL getin('dt',dt) 28 29 itaumax=100 30 CALL getin('itaumax',itaumax) 31 32 run_length=dt*itaumax 33 CALL getin('run_length',run_length) 34 itaumax=run_length/dt 35 PRINT *,'itaumax=',itaumax 36 dt=dt/scale_factor 37 38 write_period=0 39 CALL getin('write_period',write_period) 40 write_period=write_period/scale_factor 41 itau_out=FLOOR(.5+write_period/dt) 42 PRINT *, 'Output frequency (scaled) set to ',write_period, ' : itau_out = ',itau_out 43 44 CALL create_time_counter_header 45 46 END SUBROUTINE init_time 14 47 15 48 SUBROUTINE create_time_counter_header … … 21 54 INTEGER :: timeid, dtid 22 55 REAL(rstd) :: dt 56 CHARACTER(LEN=255) :: time_frequency 57 23 58 status = NF90_CREATE('time_counter.nc', NF90_CLOBBER, ncid) 24 59 status = NF90_DEF_DIM(ncid,'time_counter',NF90_UNLIMITED,timeid) … … 28 63 status = NF90_PUT_ATT(ncid,time_counter_id,"calendar","noleap") 29 64 status = NF90_DEF_VAR(ncid,'mdt',NF90_DOUBLE,varid=dtid) 65 66 WRITE(time_frequency,*) write_period 67 PRINT*,TRIM(time_frequency) 68 status = NF90_PUT_ATT(ncid,NF90_GLOBAL,"time_frequency",TRIM(time_frequency)//"s") 69 30 70 status = NF90_ENDDEF(ncid) 31 71
Note: See TracChangeset
for help on using the changeset viewer.