Changeset 741 for codes/icosagcm/devel/src/physics/physics.f90
- Timestamp:
- 09/28/18 12:59:46 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/physics/physics.f90
r739 r741 12 12 phys_lmdz_generic=21, phys_external=22 13 13 INTEGER :: phys_type 14 TYPE(t_field),POINTER,SAVE :: f_extra_physics_2D(:), f_extra_physics_3D(:)15 14 TYPE(t_field),POINTER,SAVE :: f_dulon(:), f_dulat(:) 16 15 TYPE(t_field),POINTER,SAVE :: f_ulon(:), f_ulat(:) … … 50 49 CASE ('held_suarez') 51 50 phys_type = phys_HS94 52 CASE ('Lebonnois2012')53 phys_type = phys_LB201254 CALL init_phys_venus55 51 CASE ('phys_lmdz_generic') 56 52 phys_type=phys_lmdz_generic … … 79 75 phys_type = phys_DCMIP2016 80 76 CALL init_physics_dcmip2016 77 CASE ('Lebonnois2012') 78 phys_type = phys_LB2012 79 CALL init_phys_venus 81 80 CASE DEFAULT 82 81 IF(is_mpi_root) PRINT*, 'init_physics : Bad selector for variable physics <',& … … 129 128 END SUBROUTINE add_du_phys 130 129 131 SUBROUTINE physics(it,f_phis, f_ ps, f_theta_rhodz, f_ue, f_wflux, f_q)130 SUBROUTINE physics(it,f_phis, f_geopot, f_ps, f_theta_rhodz, f_ue, f_wflux, f_q) 132 131 USE physics_lmdz_generic_mod, ONLY : physics_lmdz_generic => physics 133 132 USE physics_external_mod, ONLY : physics_external => physics … … 135 134 USE physics_dcmip2016_mod, ONLY : write_physics_dcmip2016 => write_physics 136 135 USE etat0_heldsz_mod 137 USE etat0_venus_mod, ONLY : phys_venus => physics138 136 INTEGER, INTENT(IN) :: it 139 137 TYPE(t_field),POINTER :: f_phis(:) 138 TYPE(t_field),POINTER :: f_geopot(:) 140 139 TYPE(t_field),POINTER :: f_ps(:) 141 140 TYPE(t_field),POINTER :: f_theta_rhodz(:) … … 161 160 CASE (phys_external) 162 161 CALL physics_external(it ,f_phis, f_ps, f_theta_rhodz, f_ue, f_wflux, f_q) 163 CASE(phys_LB2012)164 CALL phys_venus(f_ps,f_theta_rhodz,f_ue)165 162 CASE DEFAULT 166 CALL physics_column(it, f_phis, f_ ps, f_theta_rhodz, f_ue, f_q)163 CALL physics_column(it, f_phis, f_geopot, f_ps, f_theta_rhodz, f_ue, f_q) 167 164 END SELECT 168 165 … … 197 194 END SUBROUTINE write_physics_tendencies 198 195 199 SUBROUTINE physics_column(it, f_phis, f_ ps, f_theta_rhodz, f_ue, f_q)196 SUBROUTINE physics_column(it, f_phis, f_geopot, f_ps, f_theta_rhodz, f_ue, f_q) 200 197 USE physics_dcmip_mod, ONLY : full_physics_dcmip => full_physics 201 198 USE physics_dcmip2016_mod, ONLY : full_physics_dcmip2016 => full_physics 199 USE etat0_venus_mod, ONLY : full_physics_venus=>full_physics 202 200 USE theta2theta_rhodz_mod 203 201 USE mpipara 204 202 USE checksum_mod 205 203 TYPE(t_field),POINTER :: f_phis(:) 204 TYPE(t_field),POINTER :: f_geopot(:) 206 205 TYPE(t_field),POINTER :: f_ps(:) 207 206 TYPE(t_field),POINTER :: f_theta_rhodz(:) … … 209 208 TYPE(t_field),POINTER :: f_q(:) 210 209 REAL(rstd),POINTER :: phis(:) 210 REAL(rstd),POINTER :: geopot(:,:) 211 211 REAL(rstd),POINTER :: ps(:) 212 212 REAL(rstd),POINTER :: temp(:,:) … … 228 228 CALL swap_geometry(ind) 229 229 phis=f_phis(ind) 230 geopot=f_geopot(ind) 230 231 ps=f_ps(ind) 231 232 temp=f_temp(ind) … … 236 237 ulon=f_ulon(ind) 237 238 ulat=f_ulat(ind) 238 CALL pack_physics(pack_info(ind), phis, ps, temp, ue, q, p, pk, ulon, ulat)239 CALL pack_physics(pack_info(ind), phis, geopot, ps, temp, ue, q, p, pk, ulon, ulat) 239 240 END DO 240 241 … … 244 245 CASE (phys_DCMIP2016) 245 246 IF (is_omp_level_master) CALL full_physics_dcmip2016 247 CASE(phys_LB2012) 248 IF (is_omp_level_master) CALL full_physics_venus 246 249 CASE DEFAULT 247 250 IF(is_master) PRINT *,'Internal error : illegal value of phys_type', phys_type … … 279 282 END SUBROUTINE physics_column 280 283 281 SUBROUTINE pack_physics(info, phis, ps, temp, ue, q, p, pk, ulon, ulat )284 SUBROUTINE pack_physics(info, phis, geopot, ps, temp, ue, q, p, pk, ulon, ulat ) 282 285 USE wind_mod 283 286 USE pression_mod … … 286 289 TYPE(t_pack_info) :: info 287 290 REAL(rstd) :: phis(iim*jjm) 291 REAL(rstd) :: geopot(iim*jjm,llm+1) 288 292 REAL(rstd) :: ps(iim*jjm) 289 293 REAL(rstd) :: temp(iim*jjm,llm) … … 308 312 IF (is_omp_level_master) THEN 309 313 CALL pack_domain(info, phis, physics_inout%phis) 314 CALL pack_domain(info, geopot, physics_inout%geopot) 310 315 CALL pack_domain(info, p, physics_inout%p) 311 316 CALL pack_domain(info, pk, physics_inout%pk)
Note: See TracChangeset
for help on using the changeset viewer.