- Timestamp:
- 01/17/20 13:01:35 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/physics/physics.f90
r913 r1007 9 9 INTEGER, PARAMETER :: phys_none=0, phys_column=1, & 10 10 phys_HS94=3, phys_LB2012=4, & 11 phys_DCMIP=11, phys_DCMIP2016=12, &11 phys_DCMIP=11, phys_DCMIP2016=12, phys_plugin=13, & 12 12 phys_lmdz_generic=21, phys_external=22 13 13 INTEGER :: phys_type … … 21 21 !$OMP THREADPRIVATE(physics_type) 22 22 23 PUBLIC :: physics, init_physics, zero_du_phys 23 INTERFACE 24 SUBROUTINE plugin_init_physics 25 END SUBROUTINE plugin_init_physics 26 27 SUBROUTINE plugin_physics 28 END SUBROUTINE plugin_physics 29 END INTERFACE 30 31 PROCEDURE(plugin_init_physics), POINTER :: init_physics_plugin => NULL() 32 PROCEDURE(plugin_physics), POINTER :: physics_plugin => NULL() 33 34 PUBLIC :: physics, init_physics, init_physics_plugin, physics_plugin, zero_du_phys 24 35 25 36 CONTAINS … … 78 89 phys_type = phys_LB2012 79 90 CALL init_phys_venus 91 CASE ('plugin') 92 IF(.NOT.ASSOCIATED(init_physics_plugin)) THEN 93 PRINT *, 'FATAL : physics = plugin selected by init_physics_plugin not set by driver program. Aborting.' 94 STOP 95 END IF 96 phys_type = phys_plugin 97 CALL init_physics_plugin 80 98 CASE DEFAULT 81 99 IF(is_mpi_root) PRINT*, 'init_physics : Bad selector for variable physics <',& 82 100 TRIM(physics_type), '> options are <none>, <held_suarez>, <Lebonnois2012>,', & 83 '<dcmip>, <dcmip2016>, <p hys_lmdz_generic>, <phys_external>'101 '<dcmip>, <dcmip2016>, <plugin>, <phys_lmdz_generic>, <phys_external>' 84 102 STOP 85 103 END SELECT … … 247 265 CASE(phys_LB2012) 248 266 IF (is_omp_level_master) CALL full_physics_venus 267 CASE(phys_plugin) 268 IF (is_omp_level_master) CALL physics_plugin 249 269 CASE DEFAULT 250 270 IF(is_master) PRINT *,'Internal error : illegal value of phys_type', phys_type
Note: See TracChangeset
for help on using the changeset viewer.