MODULE physics_mod CHARACTER(LEN=255) :: physics_type="none" CONTAINS SUBROUTINE init_physics USE icosa USE physics_dcmip_mod, init_physics_dcmip=>init_physics IMPLICIT NONE CALL getin("physics",physics_type) SELECT CASE(TRIM(physics_type)) CASE ('none') CASE ('dcmip') CALL init_physics_dcmip CASE DEFAULT PRINT*, 'Bad selector for variable physics <',physics_type, & '> options are , ,' STOP END SELECT END SUBROUTINE init_physics SUBROUTINE physics(f_phis, f_ps, f_theta_rhodz, f_ue, f_q) USE icosa USE physics_dcmip_mod, physics_dcmip=>physics IMPLICIT NONE TYPE(t_field),POINTER :: f_phis(:) TYPE(t_field),POINTER :: f_ps(:) TYPE(t_field),POINTER :: f_theta_rhodz(:) TYPE(t_field),POINTER :: f_ue(:) TYPE(t_field),POINTER :: f_q(:) SELECT CASE(TRIM(physics_type)) CASE ('none') CASE ('dcmip') CALL physics_dcmip(f_phis, f_ps, f_theta_rhodz, f_ue, f_q) CASE DEFAULT PRINT*, 'Bad selector for variable physics <',physics_type, & '> options are , ,' STOP END SELECT END SUBROUTINE physics END MODULE physics_mod