Changeset 476 for codes/icosagcm/trunk/src
- Timestamp:
- 09/12/16 14:39:01 (8 years ago)
- Location:
- codes/icosagcm/trunk/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/etat0_start_file.f90
r347 r476 14 14 USE time_mod 15 15 USE transfert_mod 16 USE omp_para 16 17 IMPLICIT NONE 17 18 TYPE(t_field),POINTER :: f_ps(:) … … 23 24 TYPE(t_field),POINTER,SAVE :: f_ulon(:) 24 25 TYPE(t_field),POINTER,SAVE :: f_ulat(:) 26 TYPE(t_field),POINTER,SAVE :: f_theta_rhodz_1d(:) 27 REAL(rstd), POINTER :: theta_rhodz(:,:,:),theta_rhodz_1d(:,:) 25 28 26 29 LOGICAL :: etat0_start_file_colocated=.FALSE. … … 28 31 29 32 CALL getin("etat0_start_file_colocated",etat0_start_file_colocated) 33 CALL allocate_field(f_theta_rhodz_1d,field_t,type_real,llm,name='theta_rhodz') 34 30 35 31 36 IF (.NOT. etat0_start_file_colocated) THEN 32 37 CALL allocate_field(f_ulon,field_t,type_real,llm,name='ulon') 33 38 CALL allocate_field(f_ulat,field_t,type_real,llm,name='ulat') 34 CALL read_start(itau0,f_ps,f_phis,f_theta_rhodz ,f_u, f_q)39 CALL read_start(itau0,f_ps,f_phis,f_theta_rhodz_1d,f_u, f_q) 35 40 CALL transfert_request(f_ps,req_i1) 36 41 CALL transfert_request(f_phis,req_i1) 37 CALL transfert_request(f_theta_rhodz ,req_i1)42 CALL transfert_request(f_theta_rhodz_1d,req_i1) 38 43 CALL transfert_request(f_q,req_i1) 39 44 CALL transfert_request(f_u,req_e1_vect) … … 47 52 CALL allocate_field(f_ulon,field_t,type_real,llm,name='ulon') 48 53 CALL allocate_field(f_ulat,field_t,type_real,llm,name='ulat') 49 CALL read_start(itau0,f_ps,f_phis,f_theta_rhodz ,f_ulon,f_ulat, f_q)54 CALL read_start(itau0,f_ps,f_phis,f_theta_rhodz_1d,f_ulon,f_ulat, f_q) 50 55 CALL transfert_request(f_ulat,req_i1) 51 56 CALL transfert_request(f_ulon,req_i1) … … 55 60 CALL transfert_request(f_ps,req_i1) 56 61 CALL transfert_request(f_phis,req_i1) 57 CALL transfert_request(f_theta_rhodz ,req_i1)62 CALL transfert_request(f_theta_rhodz_1d,req_i1) 58 63 CALL transfert_request(f_q,req_i1) 59 64 CALL transfert_request(f_u,req_e1_vect) … … 62 67 CALL deallocate_field(f_ulat) 63 68 ENDIF 69 70 !$OMP BARRIER 71 DO ind=1, ndomain 72 IF (.NOT. assigned_domain(ind) .AND. is_omp_level_master) CYCLE 73 theta_rhodz=f_theta_rhodz(ind) ; theta_rhodz_1d=f_theta_rhodz_1d(ind) 74 theta_rhodz(:,:,1)=theta_rhodz_1d(:,:) 75 ENDDO 76 !$OMP BARRIER 64 77 65 78 CALL bcast(itau0) -
codes/icosagcm/trunk/src/write_etat0.f90
r347 r476 10 10 USE wind_mod 11 11 USE write_field_mod 12 USE domain_mod 13 USE omp_para 12 14 IMPLICIT NONE 13 15 INTEGER,INTENT(IN) :: it … … 20 22 TYPE(t_field),POINTER,SAVE :: f_ulon(:) 21 23 TYPE(t_field),POINTER,SAVE :: f_ulat(:) 24 TYPE(t_field),POINTER,SAVE :: f_theta_rhodz_1d(:) 25 REAL(rstd), POINTER :: theta_rhodz(:,:,:),theta_rhodz_1d(:,:) 26 INTEGER :: ind 22 27 23 28 24 29 CALL allocate_field(f_ulon,field_t,type_real,llm,name='ulon') 25 30 CALL allocate_field(f_ulat,field_t,type_real,llm,name='ulat') 31 CALL allocate_field(f_theta_rhodz_1d,field_t,type_real,llm,name='theta_rhodz') 26 32 33 !$OMP BARRIER 34 DO ind=1, ndomain 35 IF (.NOT. assigned_domain(ind) .AND. is_omp_level_master) CYCLE 36 theta_rhodz=f_theta_rhodz(ind) ; theta_rhodz_1d=f_theta_rhodz_1d(ind) 37 theta_rhodz_1d(:,:)=theta_rhodz(:,:,1) 38 ENDDO 39 27 40 CALL transfert_request(f_u,req_e1_vect) 28 41 CALL un2ulonlat(f_u, f_ulon, f_ulat) 29 42 30 CALL write_restart(it,f_ps,f_phis,f_theta_rhodz ,f_u, f_ulon, f_ulat, f_q)43 CALL write_restart(it,f_ps,f_phis,f_theta_rhodz_1d,f_u, f_ulon, f_ulat, f_q) 31 44 32 45 CALL deallocate_field(f_ulon)
Note: See TracChangeset
for help on using the changeset viewer.