forked from CEMPD/filesetapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
modfileset.f
executable file
·68 lines (58 loc) · 2.3 KB
/
modfileset.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
MODULE MODFILESET
!***********************************************************************
! Module body starts at line 38
!
! DESCRIPTION:
! This module contains the public and private variables and arrays
! needed to use the FileSetAPI.
!
! PRECONDITIONS REQUIRED:
!
! SUBROUTINES AND FUNCTIONS CALLED:
!
! REVISION HISTORY:
! Created 6/02 by C. Seppanen
!
!***************************************************************************
!
! Project Title: FileSetAPI
! File: @(#)$Id$
!
! COPYRIGHT (C) 2004, Environmental Modeling for Policy Development
! All Rights Reserved
!
! Carolina Environmental Program
! University of North Carolina at Chapel Hill
! 137 E. Franklin St., CB# 6116
! Chapel Hill, NC 27599-6116
!
! smoke@unc.edu
!
! Pathname: $Source$
! Last updated: $Date$
!
!*************************************************************************
IMPLICIT NONE
SAVE
!......... Include files
INCLUDE 'PARMS3.EXT' ! I/O API parameters
INCLUDE 'FDESC3.EXT' ! I/O API file description data structures
!......... File set information
INTEGER :: NVARSET ! total number of variables in the file set
INTEGER :: NFILESET ! total number of files in the file set
INTEGER, ALLOCATABLE :: VARS_PER_FILE( : ) ! number of variables per file
!......... Arrays for storing variable information (dim: NVARSET)
INTEGER, ALLOCATABLE :: VTYPESET( : ) ! variable types
CHARACTER(16), ALLOCATABLE :: VNAMESET( : ) ! variable names
CHARACTER(16), ALLOCATABLE :: VUNITSET( : ) ! variable units
CHARACTER(80), ALLOCATABLE :: VDESCSET( : ) ! variable descriptions
!......... Internal wrapper data
TYPE :: CHAR_PTR_ARRAY
LOGICAL :: RDONLY ! read-only status
CHARACTER(16), POINTER :: LNAMES( : ) ! logical file names
CHARACTER(16), POINTER :: VARS( :,: ) ! variable names
END TYPE
INTEGER :: NOPENSETS = 0 ! total number of open file sets
CHARACTER(16) :: RNAMES( MXFILE3 ) ! logical file names for open file sets
TYPE( CHAR_PTR_ARRAY ) :: FILE_INFO( MXFILE3 ) ! file information for open file sets
END MODULE MODFILESET