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 subroutine prism_get_localcomm ( comp_id, local_comm, ierror )
00445 Integer, Intent (In) :: comp_id
00446 Integer, Intent (Out) :: local_comm, ierror
00447 end subroutine prism_get_localcomm
00448
00449 subroutine prism_get_selected_real_type ( prec, range, type, ierror)
00450 Integer, Intent (In) :: prec, range
00451 Integer, Intent (Out) :: type, ierror
00452 end subroutine prism_get_selected_real_type
00453
00454 subroutine prism_get_real_kind_type ( kindr, type, ierror)
00455 Integer, Intent (In) :: kindr
00456 Integer, Intent (Out) :: type, ierror
00457 end subroutine prism_get_real_kind_type
00458
00459 subroutine prism_get_calendar_type ( calendar_name, calendar_type_id, ierror )
00460 Character(len=132), Intent(Out) :: calendar_name
00461 Integer, Intent (Out) :: calendar_type_id
00462 Integer, Intent (Out) :: ierror
00463 end subroutine prism_get_calendar_type
00464
00465 subroutine prism_get_nb_ranklists ( comp_name, nb_ranklists, ierror )
00466 Character(len=*), Intent(In) :: comp_name
00467 Integer, Intent (Out) :: nb_ranklists
00468 Integer, Intent (Out) :: ierror
00469 end subroutine prism_get_nb_ranklists
00470
00471 subroutine prism_get_ranklists ( comp_name, nb_ranklists, ranklists, ierror )
00472 Character(len=*), Intent(In) :: comp_name
00473 Integer, Intent(In) :: nb_ranklists
00474 Integer, Dimension(nb_ranklists,3), Intent (Out) :: ranklists
00475 Integer, Intent (Out) :: ierror
00476 end subroutine prism_get_ranklists
00477
00478
00479
00480
00481
00482 subroutine prism_def_grid (grid_id, grid_name, comp_id, &
00483 grid_valid_shape, grid_type, ierror )
00484
00485 character(len=*), intent(in) :: grid_name
00486 integer, intent (in) :: comp_id
00487 integer, intent (in) :: grid_valid_shape (1:2,*)
00488 integer, intent (in) :: grid_type
00489 integer, intent (out) :: grid_id
00490 integer, intent (out) :: ierror
00491 end subroutine prism_def_grid
00492
00493 subroutine prism_def_partition (grid_id, nbr_blocks, &
00494 partition_array, extent_array, ierror )
00495 integer, intent (in) :: grid_id
00496 integer, intent (in) :: nbr_blocks
00497 integer, intent (in) :: partition_array(1:nbr_blocks,*)
00498 integer, intent (in) :: extent_array(1:nbr_blocks,*)
00499 integer, intent (out) :: ierror
00500 end subroutine prism_def_partition
00501
00502 subroutine prism_set_mask (mask_id, grid_id, mask_actual_shape, &
00503 mask_array, new_mask, ierror)
00504 integer, intent(inout) :: mask_id
00505 integer, intent(in) :: grid_id
00506 integer, intent(in) :: mask_actual_shape(2, *)
00507 logical, intent(in) :: mask_array (*)
00508 logical, intent(in) :: new_mask
00509 integer, intent(out) :: ierror
00510 end subroutine prism_set_mask
00511
00512 subroutine prism_def_var (var_id, var_name, grid_id, point_id, mask_id, &
00513 var_nodims, var_actual_shape, var_type, ierror)
00514 character (len=*), intent (in) :: var_name
00515 integer, intent (in) :: mask_id
00516 integer, intent (in) :: point_id
00517 integer, intent (in) :: grid_id
00518 integer, intent (in) :: var_nodims(2)
00519 integer, intent (in) :: var_actual_shape(1:2,1:var_nodims(1))
00520 integer, intent (in) :: var_type
00521 integer, intent (out) :: var_id
00522 integer, intent (out) :: ierror
00523 end subroutine prism_def_var
00524
00525 subroutine prism_reducedgrid_map (grid_id, nbr_latitudes, &
00526 nbr_points_per_lat, ierror)
00527 integer, intent (in) :: grid_id
00528 integer, intent (in) :: nbr_latitudes
00529 integer, intent (in) :: nbr_points_per_lat(nbr_latitudes)
00530 integer, intent (out) :: ierror
00531 end subroutine prism_reducedgrid_map
00532
00533 subroutine prism_set_points_gridless (point_id, point_name, grid_id, &
00534 new_points, ierror)
00535 character (len=*), intent(in) :: point_name
00536 integer, intent(in) :: grid_id
00537 integer, intent(inout) :: point_id
00538 logical, intent(in) :: new_points
00539 integer, intent(out) :: ierror
00540 end subroutine prism_set_points_gridless
00541
00542
00543
00544
00545
00546 subroutine prism_get_io_units ( no_of_remaining_units, units, ierror )
00547 Integer, Intent (Out) :: units(:)
00548 Integer, Intent (Out) :: no_of_remaining_units
00549 Integer, Intent (Out) :: ierror
00550 end subroutine PRISM_Get_IO_Units
00551
00552 subroutine prism_put_inquire ( field_id, date, date_bounds, info, ierror )
00553 use PRISM_Constants, only : PRISM_Time_struct
00554 Integer, Intent (In) :: field_id
00555 Type(PRISM_Time_Struct), Intent (In) :: date
00556 Type(PRISM_Time_Struct), Intent (In) :: date_bounds(2)
00557 Integer, Intent (Out) :: info
00558 Integer, Intent (Out) :: ierror
00559 end subroutine prism_put_inquire
00560
00561 End Interface
00562
00563 end module PRISM