- Timestamp:
- 07/29/14 18:30:42 (10 years ago)
- Location:
- codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/check_conserve.f90
r221 r262 71 71 IF (is_mpi_root) THEN 72 72 !$OMP MASTER 73 IF ( it == 0 ) Then73 IF ( it == itau0 ) Then 74 74 ztot0 = ztot 75 75 mtot0 = mtot -
codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/etat0_start_file.f90
r260 r262 12 12 USE wind_mod 13 13 USE write_field 14 USE time_mod 15 USE transfert_mod 14 16 IMPLICIT NONE 15 17 TYPE(t_field),POINTER :: f_ps(:) … … 30 32 CALL allocate_field(f_ulon,field_t,type_real,llm,name='ulon') 31 33 CALL allocate_field(f_ulat,field_t,type_real,llm,name='ulat') 32 CALL read_start( f_ps,f_phis,f_theta_rhodz,f_u, f_q)34 CALL read_start(itau0,f_ps,f_phis,f_theta_rhodz,f_u, f_q) 33 35 CALL transfert_request(f_ps,req_i1) 34 36 CALL transfert_request(f_phis,req_i1) … … 45 47 CALL allocate_field(f_ulon,field_t,type_real,llm,name='ulon') 46 48 CALL allocate_field(f_ulat,field_t,type_real,llm,name='ulat') 47 CALL read_start( f_ps,f_phis,f_theta_rhodz,f_ulon,f_ulat, f_q)49 CALL read_start(itau0,f_ps,f_phis,f_theta_rhodz,f_ulon,f_ulat, f_q) 48 50 CALL transfert_request(f_ulat,req_i1) 49 51 CALL transfert_request(f_ulon,req_i1) … … 61 63 ENDIF 62 64 65 CALL bcast(itau0) 66 CALL getin("etat0_start_iteration",itau0) 67 63 68 END SUBROUTINE etat0 64 69 -
codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/restart.f90
r260 r262 10 10 CONTAINS 11 11 12 SUBROUTINE write_restart( field0 ,field1 ,field2 ,field3 ,field4 ,field5 ,field6 ,field7 ,field8 ,field9, &12 SUBROUTINE write_restart(it,field0 ,field1 ,field2 ,field3 ,field4 ,field5 ,field6 ,field7 ,field8 ,field9, & 13 13 field10,field11,field12,field13,field14,field15,field16,field17,field18,field19 ) 14 14 USE prec … … 22 22 USE transfert_mod 23 23 24 IMPLICIT NONE 24 IMPLICIT NONE 25 INTEGER,INTENT(IN) :: it 26 25 27 TYPE(t_field),POINTER,OPTIONAL,DIMENSION(:) :: field0 ,field1 ,field2 ,field3 ,field4 ,field5 ,field6 ,field7 ,field8 ,field9 26 28 TYPE(t_field),POINTER,OPTIONAL,DIMENSION(:) :: field10,field11,field12,field13,field14,field15,field16,field17,field18,field19 … … 77 79 status = NF90_DEF_DIM(ncid,'nvert',nvert,vertId) 78 80 status = NF90_DEF_DIM(ncid,'nq',nqtot,nqId) 81 status = NF90_PUT_ATT(ncid,NF90_GLOBAL,"iteration",it) 79 82 80 83 status = NF90_DEF_VAR(ncid,'lon',NF90_DOUBLE,(/ cellId /),lonId) … … 317 320 318 321 319 SUBROUTINE read_start( field0 ,field1 ,field2 ,field3 ,field4 ,field5 ,field6 ,field7 ,field8 ,field9, &320 field10,field11,field12,field13,field14,field15,field16,field17,field18,field19 )322 SUBROUTINE read_start(it,field0 ,field1 ,field2 ,field3 ,field4 ,field5 ,field6 ,field7 ,field8 ,field9, & 323 field10,field11,field12,field13,field14,field15,field16,field17,field18,field19 ) 321 324 USE prec 322 325 USE metric … … 330 333 331 334 IMPLICIT NONE 335 INTEGER, INTENT(OUT) :: it 332 336 TYPE(t_field),POINTER,OPTIONAL,DIMENSION(:) :: field0 ,field1 ,field2 ,field3 ,field4 ,field5 ,field6 ,field7 ,field8 ,field9 333 337 TYPE(t_field),POINTER,OPTIONAL,DIMENSION(:) :: field10,field11,field12,field13,field14,field15,field16,field17,field18,field19 … … 384 388 field=>field_array(nf)%field 385 389 status = nf90_inq_varid(ncid, TRIM(ADJUSTL(field(1)%name)), fieldId(nf)) 390 status = nf90_get_att(ncid, NF90_GLOBAL, "iteration", it) 386 391 CALL read_start_field(field,fieldId(nf),ncid) 387 392 ENDDO -
codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/time.f90
r221 r262 9 9 INTEGER,SAVE :: it 10 10 !$OMP THREADPRIVATE(it) 11 12 INTEGER,SAVE :: itau0=0 13 !$OMP THREADPRIVATE(itau0) 11 14 12 15 REAL(rstd),SAVE :: dt … … 37 40 dt, write_period, itau_out, itau_adv, itau_dissip, itau_physics, itaumax, & 38 41 day_step,ndays,jD_ref,jH_ref,day_ini,day_end,annee_ref,day_ref,an, mois, jour,heure, & 39 calend,time_style 42 calend,time_style,itau0 40 43 41 44 -
codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/timeloop_gcm.f90
r260 r262 197 197 !$OMP END MASTER 198 198 199 CALL check_conserve(f_ps,f_dps,f_u,f_theta_rhodz,f_phis,itau0) 200 199 201 CALL trace_on 200 202 201 DO it= 0,itaumax203 DO it=itau0+1,itau0+itaumax 202 204 203 205 IF (xios_output) CALL xios_update_calendar(it) 204 IF ( MOD(it,itau_sync)==0) THEN206 IF (it==itau0+1 .OR. MOD(it,itau_sync)==0) THEN 205 207 CALL send_message(f_ps,req_ps0) 206 208 CALL wait_message(req_ps0) … … 294 296 ENDDO 295 297 296 CALL write_etat0( f_ps, f_phis,f_theta_rhodz,f_u,f_q)298 CALL write_etat0(itau0+itaumax,f_ps, f_phis,f_theta_rhodz,f_u,f_q) 297 299 298 300 CALL check_conserve(f_ps,f_dps,f_u,f_theta_rhodz,f_phis,it) -
codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/write_etat0.f90
r260 r262 5 5 CONTAINS 6 6 7 SUBROUTINE write_etat0( f_ps,f_phis,f_theta_rhodz,f_u, f_q)7 SUBROUTINE write_etat0(it,f_ps,f_phis,f_theta_rhodz,f_u, f_q) 8 8 USE icosa 9 9 USE restart_mod … … 11 11 USE write_field 12 12 IMPLICIT NONE 13 INTEGER,INTENT(IN) :: it 13 14 TYPE(t_field),POINTER :: f_ps(:) 14 15 TYPE(t_field),POINTER :: f_phis(:) … … 27 28 CALL un2ulonlat(f_u, f_ulon, f_ulat) 28 29 29 CALL write_restart( f_ps,f_phis,f_theta_rhodz,f_u, f_ulon, f_ulat, f_q)30 CALL write_restart(it,f_ps,f_phis,f_theta_rhodz,f_u, f_ulon, f_ulat, f_q) 30 31 31 32 CALL deallocate_field(f_ulon)
Note: See TracChangeset
for help on using the changeset viewer.