00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 module PRISM
00017
00018
00019
00020 use PRISM_Constants
00021 use psmile_user_data, only : prism_remove_mask => psmile_store_data_rm_mask
00022
00023 implicit none
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 Interface prism_set_corners
00047
00048 subroutine prism_set_corners_3d_double_333(grid_id, nbr_corners, corners_actual_shape, &
00049 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00050
00051 Integer, Intent (In) :: grid_id
00052 Integer, Intent (In) :: nbr_corners
00053 Double Precision, Intent (In) :: corners_1st_array (:, :, :, :)
00054 Double Precision, Intent (In) :: corners_2nd_array (:, :, :, :)
00055 Double Precision, Intent (In) :: corners_3rd_array (:, :, :, :)
00056 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00057 Integer, Intent(Out) :: ierror
00058 end subroutine prism_set_corners_3d_double_333
00059
00060 subroutine prism_set_corners_3d_double_221(grid_id, nbr_corners, corners_actual_shape, &
00061 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00062
00063 Integer, Intent (In) :: grid_id
00064 Integer, Intent (In) :: nbr_corners
00065 Double Precision, Intent (In) :: corners_1st_array (:, :, :)
00066 Double Precision, Intent (In) :: corners_2nd_array (:, :, :)
00067 Double Precision, Intent (In) :: corners_3rd_array (:, :)
00068 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00069 Integer, Intent(Out) :: ierror
00070 end subroutine prism_set_corners_3d_double_221
00071
00072 subroutine prism_set_corners_3d_double_223(grid_id, nbr_corners, corners_actual_shape, &
00073 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00074
00075 Integer, Intent (In) :: grid_id
00076 Integer, Intent (In) :: nbr_corners
00077 Double Precision, Intent (In) :: corners_1st_array (:, :, :)
00078 Double Precision, Intent (In) :: corners_2nd_array (:, :, :)
00079 Double Precision, Intent (In) :: corners_3rd_array (:, :, :, :)
00080 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00081 Integer, Intent(Out) :: ierror
00082 end subroutine prism_set_corners_3d_double_223
00083
00084 subroutine prism_set_corners_3d_double_112(grid_id, nbr_corners, corners_actual_shape, &
00085 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00086
00087 Integer, Intent (In) :: grid_id
00088 Integer, Intent (In) :: nbr_corners
00089 Double Precision, Intent (In) :: corners_1st_array (:, :)
00090 Double Precision, Intent (In) :: corners_2nd_array (:, :)
00091 Double Precision, Intent (In) :: corners_3rd_array (:, :, :)
00092 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00093 Integer, Intent(Out) :: ierror
00094 end subroutine prism_set_corners_3d_double_112
00095
00096 subroutine prism_set_corners_3d_double_113(grid_id, nbr_corners, corners_actual_shape, &
00097 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00098
00099 Integer, Intent (In) :: grid_id
00100 Integer, Intent (In) :: nbr_corners
00101 Double Precision, Intent (In) :: corners_1st_array (:, :)
00102 Double Precision, Intent (In) :: corners_2nd_array (:, :)
00103 Double Precision, Intent (In) :: corners_3rd_array (:, :, :, :)
00104 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00105 Integer, Intent(Out) :: ierror
00106 end subroutine prism_set_corners_3d_double_113
00107
00108 subroutine prism_set_corners_3d_double_111(grid_id, nbr_corners, corners_actual_shape, &
00109 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00110
00111 Integer, Intent (In) :: grid_id
00112 Integer, Intent (In) :: nbr_corners
00113 Double Precision, Intent (In) :: corners_1st_array (:, :)
00114 Double Precision, Intent (In) :: corners_2nd_array (:, :)
00115 Double Precision, Intent (In) :: corners_3rd_array (:, :)
00116 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00117 Integer, Intent(Out) :: ierror
00118 end subroutine prism_set_corners_3d_double_111
00119
00120 #ifndef PRISM_EXTENDED_WIDTH
00121
00122 subroutine prism_set_corners_3d_real_333(grid_id, nbr_corners, corners_actual_shape, &
00123 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00124
00125 Integer, Intent (In) :: grid_id
00126 Integer, Intent (In) :: nbr_corners
00127 Real, Intent (In) :: corners_1st_array (:, :, :, :)
00128 Real, Intent (In) :: corners_2nd_array (:, :, :, :)
00129 Real, Intent (In) :: corners_3rd_array (:, :, :, :)
00130 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00131 Integer, Intent(Out) :: ierror
00132 end subroutine prism_set_corners_3d_real_333
00133
00134 subroutine prism_set_corners_3d_real_223(grid_id, nbr_corners, corners_actual_shape, &
00135 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00136
00137 Integer, Intent (In) :: grid_id
00138 Integer, Intent (In) :: nbr_corners
00139 Real, Intent (In) :: corners_1st_array (:, :, :)
00140 Real, Intent (In) :: corners_2nd_array (:, :, :)
00141 Real, Intent (In) :: corners_3rd_array (:, :, :, :)
00142 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00143 Integer, Intent(Out) :: ierror
00144 end subroutine prism_set_corners_3d_real_223
00145
00146 subroutine prism_set_corners_3d_real_221(grid_id, nbr_corners, corners_actual_shape, &
00147 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00148
00149 Integer, Intent (In) :: grid_id
00150 Integer, Intent (In) :: nbr_corners
00151 Real, Intent (In) :: corners_1st_array (:, :, :)
00152 Real, Intent (In) :: corners_2nd_array (:, :, :)
00153 Real, Intent (In) :: corners_3rd_array (:, :)
00154 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00155 Integer, Intent(Out) :: ierror
00156 end subroutine prism_set_corners_3d_real_221
00157
00158 subroutine prism_set_corners_3d_real_111(grid_id, nbr_corners, corners_actual_shape, &
00159 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00160
00161 Integer, Intent (In) :: grid_id
00162 Integer, Intent (In) :: nbr_corners
00163 Real, Intent (In) :: corners_1st_array (:, :)
00164 Real, Intent (In) :: corners_2nd_array (:, :)
00165 Real, Intent (In) :: corners_3rd_array (:, :)
00166 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00167 Integer, Intent(Out) :: ierror
00168 end subroutine prism_set_corners_3d_real_111
00169
00170 subroutine prism_set_corners_3d_real_112(grid_id, nbr_corners, corners_actual_shape, &
00171 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00172
00173 Integer, Intent (In) :: grid_id
00174 Integer, Intent (In) :: nbr_corners
00175 Real, Intent (In) :: corners_1st_array (:, :)
00176 Real, Intent (In) :: corners_2nd_array (:, :)
00177 Real, Intent (In) :: corners_3rd_array (:, :, :)
00178 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00179 Integer, Intent(Out) :: ierror
00180 end subroutine prism_set_corners_3d_real_112
00181
00182 subroutine prism_set_corners_3d_real_113(grid_id, nbr_corners, corners_actual_shape, &
00183 corners_1st_array, corners_2nd_array, corners_3rd_array, ierror)
00184
00185 Integer, Intent (In) :: grid_id
00186 Integer, Intent (In) :: nbr_corners
00187 Real, Intent (In) :: corners_1st_array (:, :)
00188 Real, Intent (In) :: corners_2nd_array (:, :)
00189 Real, Intent (In) :: corners_3rd_array (:, :, :, :)
00190 Integer, Intent (In) :: corners_actual_shape (1:2, *)
00191 Integer, Intent(Out) :: ierror
00192 end subroutine prism_set_corners_3d_real_113
00193 #endif
00194
00195 End Interface prism_set_corners
00196
00197 Interface prism_set_points
00198
00199 subroutine prism_set_points_3d_double_333 (method_id, point_name, grid_id, points_actual_shape, &
00200 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00201 Character (len=*), Intent(In) :: point_name
00202 Integer, Intent(In) :: grid_id
00203 Integer, Intent(InOut) :: method_id
00204 Double Precision, Intent(In), dimension (:,:,:) :: points_1st_array, points_2nd_array, points_3rd_array
00205 Integer, Intent(In) :: points_actual_shape (2, *)
00206 Logical, Intent(In) :: new_points
00207 Integer, Intent(Out) :: ierror
00208 end subroutine prism_set_points_3d_double_333
00209
00210 subroutine prism_set_points_3d_double_223 (method_id, point_name, grid_id, points_actual_shape, &
00211 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00212 Character (len=*), Intent(In) :: point_name
00213 Integer, Intent(In) :: grid_id
00214 Integer, Intent(InOut) :: method_id
00215 Double Precision, Intent(In), dimension (:,:) :: points_1st_array, points_2nd_array
00216 Double Precision, Intent(In), dimension (:,:,:) :: points_3rd_array
00217 Integer, Intent(In) :: points_actual_shape (2, *)
00218 Logical, Intent(In) :: new_points
00219 Integer, Intent(Out) :: ierror
00220 end subroutine prism_set_points_3d_double_223
00221
00222 subroutine prism_set_points_3d_double_221 (method_id, point_name, grid_id, points_actual_shape, &
00223 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00224 Character (len=*), Intent(In) :: point_name
00225 Integer, Intent(In) :: grid_id
00226 Integer, Intent(InOut) :: method_id
00227 Double Precision, Intent(In), dimension (:,:) :: points_1st_array, points_2nd_array
00228 Double Precision, Intent(In), dimension (:) :: points_3rd_array
00229 Integer, Intent(In) :: points_actual_shape (2, *)
00230 Logical, Intent(In) :: new_points
00231 Integer, Intent(Out) :: ierror
00232 end subroutine prism_set_points_3d_double_221
00233
00234 subroutine prism_set_points_3d_double_113 (method_id, point_name, grid_id, points_actual_shape, &
00235 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00236 Character (len=*), Intent(In) :: point_name
00237 Integer, Intent(In) :: grid_id
00238 Integer, Intent(InOut) :: method_id
00239 Double Precision, Intent(In), dimension (:) :: points_1st_array, points_2nd_array
00240 Double Precision, Intent(In), dimension (:,:,:) :: points_3rd_array
00241 Integer, Intent(In) :: points_actual_shape (2, *)
00242 Logical, Intent(In) :: new_points
00243 Integer, Intent(Out) :: ierror
00244 end subroutine prism_set_points_3d_double_113
00245
00246 subroutine prism_set_points_3d_double_112 (method_id, point_name, grid_id, points_actual_shape, &
00247 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00248 Character (len=*), Intent(In) :: point_name
00249 Integer, Intent(In) :: grid_id
00250 Integer, Intent(InOut) :: method_id
00251 Double Precision, Intent(In), dimension (:) :: points_1st_array, points_2nd_array
00252 Double Precision, Intent(In), dimension (:,:) :: points_3rd_array
00253 Integer, Intent(In) :: points_actual_shape (2, *)
00254 Logical, Intent(In) :: new_points
00255 Integer, Intent(Out) :: ierror
00256 end subroutine prism_set_points_3d_double_112
00257
00258 subroutine prism_set_points_3d_double_111 (method_id, point_name, grid_id, points_actual_shape, &
00259 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00260 Character (len=*), Intent(In) :: point_name
00261 Integer, Intent(In) :: grid_id
00262 Integer, Intent(InOut) :: method_id
00263 Double Precision, Intent(In), dimension (:) :: points_1st_array, points_2nd_array
00264 Double Precision, Intent(In), dimension (:) :: points_3rd_array
00265 Integer, Intent(In) :: points_actual_shape (2, *)
00266 Logical, Intent(In) :: new_points
00267 Integer, Intent(Out) :: ierror
00268 end subroutine prism_set_points_3d_double_111
00269
00270
00271 #ifndef PRISM_EXTENDED_WIDTH
00272
00273 subroutine prism_set_points_3d_real_333 (method_id, point_name, grid_id, points_actual_shape, &
00274 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00275 Character (len=*), Intent(In) :: point_name
00276 Integer, Intent(In) :: grid_id
00277 Integer, Intent(InOut) :: method_id
00278 Real, Intent(In), dimension (:,:,:) :: points_1st_array, points_2nd_array, points_3rd_array
00279 Integer, Intent(In) :: points_actual_shape (2, *)
00280 Logical, Intent(In) :: new_points
00281 Integer, Intent(Out) :: ierror
00282 end subroutine prism_set_points_3d_real_333
00283
00284 subroutine prism_set_points_3d_real_223 (method_id, point_name, grid_id, points_actual_shape, &
00285 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00286 Character (len=*), Intent(In) :: point_name
00287 Integer, Intent(In) :: grid_id
00288 Integer, Intent(InOut) :: method_id
00289 Real, Intent(In), dimension (:,:) :: points_1st_array, points_2nd_array
00290 Real, Intent(In), dimension (:,:,:) :: points_3rd_array
00291 Integer, Intent(In) :: points_actual_shape (2, *)
00292 Logical, Intent(In) :: new_points
00293 Integer, Intent(Out) :: ierror
00294 end subroutine prism_set_points_3d_real_223
00295
00296 subroutine prism_set_points_3d_real_221 (method_id, point_name, grid_id, points_actual_shape, &
00297 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00298 Character (len=*), Intent(In) :: point_name
00299 Integer, Intent(In) :: grid_id
00300 Integer, Intent(InOut) :: method_id
00301 Real, Intent(In), dimension (:,:) :: points_1st_array, points_2nd_array
00302 Real, Intent(In), dimension (:) :: points_3rd_array
00303 Integer, Intent(In) :: points_actual_shape (2, *)
00304 Logical, Intent(In) :: new_points
00305 Integer, Intent(Out) :: ierror
00306 end subroutine prism_set_points_3d_real_221
00307
00308 subroutine prism_set_points_3d_real_122 (method_id, point_name, grid_id, points_actual_shape, &
00309 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00310 Character (len=*), Intent(In) :: point_name
00311 Integer, Intent(In) :: grid_id
00312 Integer, Intent(InOut) :: method_id
00313 Real, Intent(In), dimension (:) :: points_1st_array
00314 Real, Intent(In), dimension (:,:) :: points_2nd_array, points_3rd_array
00315 Integer, Intent(In) :: points_actual_shape (2, *)
00316 Logical, Intent(In) :: new_points
00317 Integer, Intent(Out) :: ierror
00318 end subroutine prism_set_points_3d_real_122
00319
00320 subroutine prism_set_points_3d_real_113 (method_id, point_name, grid_id, points_actual_shape, &
00321 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00322 Character (len=*), Intent(In) :: point_name
00323 Integer, Intent(In) :: grid_id
00324 Integer, Intent(InOut) :: method_id
00325 Real, Intent(In), dimension (:) :: points_1st_array, points_2nd_array
00326 Real, Intent(In), dimension (:,:,:) :: points_3rd_array
00327 Integer, Intent(In) :: points_actual_shape (2, *)
00328 Logical, Intent(In) :: new_points
00329 Integer, Intent(Out) :: ierror
00330 end subroutine prism_set_points_3d_real_113
00331
00332 subroutine prism_set_points_3d_real_112 (method_id, point_name, grid_id, points_actual_shape, &
00333 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00334 Character (len=*), Intent(In) :: point_name
00335 Integer, Intent(In) :: grid_id
00336 Integer, Intent(InOut) :: method_id
00337 Real, Intent(In), dimension (:) :: points_1st_array, points_2nd_array
00338 Real, Intent(In), dimension (:,:) :: points_3rd_array
00339 Integer, Intent(In) :: points_actual_shape (2, *)
00340 Logical, Intent(In) :: new_points
00341 Integer, Intent(Out) :: ierror
00342 end subroutine prism_set_points_3d_real_112
00343
00344 subroutine prism_set_points_3d_real_111 (method_id, point_name, grid_id, points_actual_shape, &
00345 points_1st_array, points_2nd_array, points_3rd_array, new_points, ierror)
00346 Character (len=*), Intent(In) :: point_name
00347 Integer, Intent(In) :: grid_id
00348 Integer, Intent(InOut) :: method_id
00349 Real, Intent(In), dimension (:) :: points_1st_array, points_2nd_array
00350 Real, Intent(In), dimension (:) :: points_3rd_array
00351 Integer, Intent(In) :: points_actual_shape (2, *)
00352 Logical, Intent(In) :: new_points
00353 Integer, Intent(Out) :: ierror
00354 end subroutine prism_set_points_3d_real_111
00355
00356 #endif /* PRISM_EXTENDED_WIDTH */
00357
00358 End Interface prism_set_points
00359
00360
00361
00362
00363
00364 Interface PRISM_Calc_newdate
00365
00366 subroutine prism_calc_newdate_int ( date, date_incr, ierror )
00367 use PRISM_Constants, only : PRISM_Time_struct
00368 Integer, Intent(In) :: date_incr
00369 Type (PRISM_Time_struct), Intent(InOut) :: date
00370 Integer, Intent(Out) :: ierror
00371 end subroutine prism_calc_newdate_int
00372
00373 #ifndef PRISM_EXTENDED_WIDTH
00374 subroutine prism_calc_newdate_real ( date, date_incr, ierror )
00375 use PRISM_Constants, only : PRISM_Time_struct
00376 Real, Intent(In) :: date_incr
00377 Type (PRISM_Time_struct), Intent(InOut) :: date
00378 Integer, Intent(Out) :: ierror
00379 end subroutine prism_calc_newdate_real
00380 #endif
00381
00382 subroutine prism_calc_newdate_double ( date, date_incr, ierror )
00383 use PRISM_Constants, only : PRISM_Time_struct
00384 Double Precision, Intent(In) :: date_incr
00385 Type (PRISM_Time_struct), Intent(InOut) :: date
00386 Integer, Intent(Out) :: ierror
00387 end subroutine prism_calc_newdate_double
00388
00389 End Interface
00390
00391
00392
00393
00394
00395 Interface
00396
00397 subroutine prism_init ( appl_name, ierror )
00398 Character (len=*), Intent(In) :: appl_name
00399 Integer, Intent (Out) :: ierror
00400 end subroutine prism_init
00401
00402 subroutine prism_initialized ( flag, ierror )
00403 Logical, Intent (Out) :: flag
00404 Integer, Intent (Out) :: ierror
00405 end subroutine prism_initialized
00406
00407 subroutine prism_init_comp ( comp_id, comp_name, ierror )
00408 Character (len=*), Intent(In) :: comp_name
00409 Integer, Intent (Out) :: comp_id, ierror
00410 end subroutine prism_init_comp
00411
00412 subroutine prism_enddef ( ierror )
00413 Integer, Intent (Out) :: ierror
00414 end subroutine prism_enddef
00415
00416 subroutine prism_terminate ( ierror )
00417 Integer, Intent (Out) :: ierror
00418 end subroutine prism_terminate
00419
00420 subroutine prism_terminated ( flag, ierror )
00421 Logical, Intent (Out) :: flag
00422 Integer, Intent (Out) :: ierror
00423 end subroutine prism_terminated
00424
00425 subroutine prism_abort ( comp_id, file, mesg )
00426 Integer, Intent (InOut) :: comp_id
00427 Character(len=*), Intent(In) :: file
00428 Character(len=*), Intent(In) :: mesg
00429 end subroutine prism_abort
00430
00431 subroutine prism_error ( ierror, error_message )
00432 Character(len=*), Intent (Out) :: error_message
00433 Integer, Intent (In) :: ierror
00434 end subroutine prism_error
00435
00436 subroutine prism_message ( comp_id, string )
00437 Integer, Intent (In) :: comp_id
00438 Character (len=*), Intent(In) :: string
00439 end subroutine prism_message
00440
00441 subroutine prism_version ()
00442 end subroutine prism_version
00443
00444
00445
00446
00447
00448 subroutine prism_def_grid (grid_id, grid_name, comp_id, &
00449 grid_valid_shape, grid_type, ierror )
00450
00451 character(len=*), intent(in) :: grid_name
00452 integer, intent (in) :: comp_id
00453 integer, intent (in) :: grid_valid_shape (1:2,*)
00454 integer, intent (in) :: grid_type
00455 integer, intent (out) :: grid_id
00456 integer, intent (out) :: ierror
00457 end subroutine prism_def_grid
00458
00459 subroutine prism_def_partition (grid_id, nbr_blocks, &
00460 partition_array, extent_array, ierror )
00461 integer, intent (in) :: grid_id
00462 integer, intent (in) :: nbr_blocks
00463 integer, intent (in) :: partition_array(1:nbr_blocks,*)
00464 integer, intent (in) :: extent_array(1:nbr_blocks,*)
00465 integer, intent (out) :: ierror
00466 end subroutine prism_def_partition
00467
00468 subroutine prism_set_mask (mask_id, grid_id, mask_actual_shape, &
00469 mask_array, new_mask, ierror)
00470 integer, intent(inout) :: mask_id
00471 integer, intent(in) :: grid_id
00472 integer, intent(in) :: mask_actual_shape(2, *)
00473 logical, intent(in) :: mask_array (*)
00474 logical, intent(in) :: new_mask
00475 integer, intent(out) :: ierror
00476 end subroutine prism_set_mask
00477
00478 subroutine prism_def_var (var_id, var_name, grid_id, point_id, mask_id, &
00479 var_nodims, var_actual_shape, var_type, ierror)
00480 character (len=*), intent (in) :: var_name
00481 integer, intent (in) :: mask_id
00482 integer, intent (in) :: point_id
00483 integer, intent (in) :: grid_id
00484 integer, intent (in) :: var_nodims(2)
00485 integer, intent (in) :: var_actual_shape(1:2,1:var_nodims(1))
00486 integer, intent (in) :: var_type
00487 integer, intent (out) :: var_id
00488 integer, intent (out) :: ierror
00489 end subroutine prism_def_var
00490
00491 subroutine prism_reducedgrid_map (grid_id, nbr_latitudes, &
00492 nbr_points_per_lat, ierror)
00493 integer, intent (in) :: grid_id
00494 integer, intent (in) :: nbr_latitudes
00495 integer, intent (in) :: nbr_points_per_lat(nbr_latitudes)
00496 integer, intent (out) :: ierror
00497 end subroutine prism_reducedgrid_map
00498
00499 subroutine prism_set_points_gridless (point_id, point_name, grid_id, &
00500 new_points, ierror)
00501 character (len=*), intent(in) :: point_name
00502 integer, intent(in) :: grid_id
00503 integer, intent(inout) :: point_id
00504 logical, intent(in) :: new_points
00505 integer, intent(out) :: ierror
00506 end subroutine prism_set_points_gridless
00507
00508
00509
00510
00511
00512 subroutine prism_get_localcomm ( comp_id, local_comm, ierror )
00513 Integer, Intent (In) :: comp_id
00514 Integer, Intent (Out) :: local_comm, ierror
00515 end subroutine prism_get_localcomm
00516
00517 subroutine prism_get_real_kind_type ( kindr, type, ierror)
00518 Integer, Intent (In) :: kindr
00519 Integer, Intent (Out) :: type, ierror
00520 end subroutine prism_get_real_kind_type
00521
00522 subroutine prism_get_calendar_type ( calendar_name, calendar_type_id, ierror )
00523 Character(len=132), Intent(Out) :: calendar_name
00524 Integer, Intent (Out) :: calendar_type_id
00525 Integer, Intent (Out) :: ierror
00526 end subroutine prism_get_calendar_type
00527
00528 subroutine prism_get_nb_ranklists ( comp_name, nb_ranklists, ierror )
00529 Character(len=*), Intent(In) :: comp_name
00530 Integer, Intent (Out) :: nb_ranklists
00531 Integer, Intent (Out) :: ierror
00532 end subroutine prism_get_nb_ranklists
00533
00534 subroutine prism_get_ranklists ( comp_name, nb_ranklists, ranklists, ierror )
00535 Character(len=*), Intent(In) :: comp_name
00536 Integer, Intent(In) :: nb_ranklists
00537 Integer, Dimension(nb_ranklists,3), Intent (Out) :: ranklists
00538 Integer, Intent (Out) :: ierror
00539 end subroutine prism_get_ranklists
00540
00541 subroutine prism_put_inquire ( field_id, date, date_bounds, info, ierror )
00542 use PRISM_Constants, only : PRISM_Time_struct
00543 Integer, Intent (In) :: field_id
00544 Type(PRISM_Time_Struct), Intent (In) :: date
00545 Type(PRISM_Time_Struct), Intent (In) :: date_bounds(2)
00546 Integer, Intent (Out) :: info
00547 Integer, Intent (Out) :: ierror
00548 end subroutine prism_put_inquire
00549
00550 subroutine prism_get_inquire ( field_id, info, ierror )
00551 Integer, Intent (In) :: field_id
00552 Integer, Intent (Out) :: info
00553 Integer, Intent (Out) :: ierror
00554 end subroutine prism_get_inquire
00555
00556 subroutine prism_info ( info , message )
00557 use PRISM_Constants, only : PRISM_MAX_info_string
00558 Integer, Intent (In) :: info
00559 Character(len=PRISM_MAX_info_string), Intent(Out) :: message
00560 end subroutine prism_info
00561
00562 End Interface
00563
00564 end module PRISM