Changeset 164 for codes/icosagcm/trunk
- Timestamp:
- 06/29/13 02:30:24 (11 years ago)
- Location:
- codes/icosagcm/trunk/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/etat0.f90
r159 r164 7 7 USE icosa 8 8 USE disvert_mod 9 USE etat0_williamson_mod, ONLY : etat0_williamson_new 9 10 USE etat0_jablonowsky06_mod, ONLY : etat0_jablonowsky06=>etat0 10 11 USE etat0_academic_mod, ONLY : etat0_academic=>etat0 … … 41 42 42 43 SELECT CASE (TRIM(etat0_type)) 44 CASE ('williamson91.5') 45 CALL etat0_williamson_new(f_phis,f_mass,f_theta_rhodz,f_u, f_q) 46 init_mass=.FALSE. 43 47 CASE ('jablonowsky06') 44 48 CALL etat0_jablonowsky06(f_ps,f_phis,f_theta_rhodz,f_u, f_q) -
codes/icosagcm/trunk/src/etat0_williamson.f90
r19 r164 7 7 REAL(rstd), PARAMETER :: omega0=K0 8 8 9 PUBLIC etat0_williamson, compute_etat0_williamson 9 PUBLIC etat0_williamson, etat0_williamson_new 10 10 11 CONTAINS 11 12 … … 30 31 31 32 END SUBROUTINE etat0_williamson 33 34 SUBROUTINE etat0_williamson_new(f_phis,f_mass,f_theta_rhodz,f_u, f_q) 35 USE icosa 36 USE mpipara, ONLY : is_mpi_root 37 USE disvert_mod, ONLY : caldyn_eta, eta_lag 38 39 IMPLICIT NONE 40 TYPE(t_field),POINTER :: f_phis(:) 41 TYPE(t_field),POINTER :: f_mass(:) 42 TYPE(t_field),POINTER :: f_theta_rhodz(:) 43 TYPE(t_field),POINTER :: f_u(:) 44 TYPE(t_field),POINTER :: f_q(:) 45 46 REAL(rstd),POINTER :: phis(:) 47 REAL(rstd),POINTER :: h(:,:) 48 REAL(rstd),POINTER :: theta_rhodz(:,:) 49 REAL(rstd),POINTER :: u(:,:) 50 INTEGER :: ind 51 52 IF(caldyn_eta /= eta_lag) THEN 53 IF(is_mpi_root) PRINT *, 'etat0_type=williamson91.5 (Williamson,1991) must be used with caldyn_eta=eta_lag' 54 STOP 55 END IF 56 57 IF(llm>1) THEN 58 IF(is_mpi_root) PRINT *, 'etat0_type=williamson91.5 (Williamson,1991) must be used with llm=1 but llm =',llm 59 STOP 60 END IF 61 62 DO ind=1,ndomain 63 CALL swap_dimensions(ind) 64 CALL swap_geometry(ind) 65 h=f_mass(ind) 66 u=f_u(ind) 67 theta_rhodz=f_theta_rhodz(ind) 68 phis=f_phis(ind) 69 CALL compute_etat0_williamson(h(:,1), u(:,1)) 70 phis(:)=0. 71 theta_rhodz(:,:) = h(:,:) 72 ENDDO 73 74 END SUBROUTINE etat0_williamson_new 32 75 33 76 SUBROUTINE compute_etat0_williamson(hi, ue) … … 97 140 ENDDO 98 141 99 de_min=1e10100 DO j=jj_begin,jj_end101 DO i=ii_begin,ii_end102 n=(j-1)*iim+i103 de_min=MIN(de_min,de(n+u_right),de(n+u_rup),de(n+u_lup),de(n+u_left),de(n+u_ldown),de(n+u_rdown))104 ENDDO105 ENDDO106 PRINT *,"-----> de min :",de_min107 108 142 CONTAINS 109 143
Note: See TracChangeset
for help on using the changeset viewer.