1 |
cnh |
1.1 |
C $Id: DIAGS.h,v 1.5 1997/06/21 02:00:03 cnh Exp $ |
2 |
|
|
C Ultimately the diagnostics library should allow a set of diagnostic "objects" |
3 |
|
|
C to be defined. Diagnostic objects will have a type such as a basin |
4 |
|
|
C map or a section or a path. The model will call a DIAG_OBJECT_ADD |
5 |
|
|
C routine to create any number of diagnostic objects each having a unique |
6 |
|
|
C user defined name such as "NA_BASIN" or "SEC_I10" or "PATH_A1" and |
7 |
|
|
C of a specific type. Diagnostic operations will then be allowed using |
8 |
|
|
C these diagnostic objects such as along path integrals or basin averages |
9 |
|
|
C etc... Diagnostic objects, the quantities to monitor for each object etc.. |
10 |
|
|
C will be defined in the |
11 |
|
|
C #DIAGNOSTICS |
12 |
|
|
C #END DIAGNOSTICS |
13 |
|
|
C section of the input data file. |
14 |
|
|
C For now however something much simpler will be used! |
15 |
|
|
|
16 |
|
|
C /--------------------------------------------------------------\ |
17 |
|
|
C | Constants for diagnostic utilities | |
18 |
|
|
C \--------------------------------------------------------------/ |
19 |
|
|
C DIAGS_MAX_NUMBER_OF_BASINS - Maximum number of different |
20 |
|
|
C basins that can be defined. |
21 |
|
|
C bMapSuffix - Suffix appended to name of a basin to get filename |
22 |
|
|
C for the basin XY map. |
23 |
|
|
INTEGER DIAGS_MAX_NUMBER_OF_BASINS |
24 |
|
|
PARAMETER ( DIAGS_MAX_NUMBER_OF_BASINS = 10 ) |
25 |
|
|
CHARACTER*(*) bMapSuffix |
26 |
|
|
PARAMETER (bMapSuffix = '_map.txt' ) |
27 |
|
|
REAL MixedLayerDensityJump |
28 |
|
|
PARAMETER ( MixedLayerDensityJump = 0.05 ) |
29 |
|
|
|
30 |
|
|
C /--------------------------------------------------------------\ |
31 |
|
|
C | Parameters for diagnostic utilities | |
32 |
|
|
C \--------------------------------------------------------------/ |
33 |
|
|
C Floating point parameters |
34 |
|
|
C basinMask - XY map(s) defining extent of each basin. |
35 |
|
|
COMMON /DIAGS_F/ |
36 |
|
|
& basinMask, |
37 |
|
|
& bAveT, bAveS, bAveRho, bAveTime, |
38 |
|
|
& meridPsi, mld, |
39 |
|
|
& sumMeridPsi, sumMeridPsiTime0, |
40 |
|
|
& maxMld, sumMld, sumMldTime0, minMld |
41 |
|
|
REAL basinMask(Nx,Ny,DIAGS_MAX_NUMBER_OF_BASINS) |
42 |
|
|
REAL bAveT (Nz,DIAGS_MAX_NUMBER_OF_BASINS) |
43 |
|
|
REAL bAveS (Nz,DIAGS_MAX_NUMBER_OF_BASINS) |
44 |
|
|
REAL bAveRho(Nz,DIAGS_MAX_NUMBER_OF_BASINS) |
45 |
|
|
REAL bAveTime(DIAGS_MAX_NUMBER_OF_BASINS) |
46 |
|
|
REAL meridPsi(Ny,Nz,DIAGS_MAX_NUMBER_OF_BASINS) |
47 |
|
|
REAL sumMeridPsi(Ny,Nz,DIAGS_MAX_NUMBER_OF_BASINS) |
48 |
|
|
REAL sumMeridPsiTime0 |
49 |
|
|
REAL mld(Nx,Ny) |
50 |
|
|
REAL maxMld(Nx,Ny) |
51 |
|
|
REAL sumMld(Nx,Ny) |
52 |
|
|
REAL sumMldTime0 |
53 |
|
|
REAL minMld(Nx,Ny) |
54 |
|
|
|
55 |
|
|
C Integer parameters |
56 |
|
|
C numberOfBasins - Number of basins actually defined. |
57 |
|
|
C mldIndex - Level number of last cell within the mixed |
58 |
|
|
C layer. |
59 |
|
|
COMMON /DIAGS_I/ |
60 |
|
|
& numberOfBasins, mldIndex |
61 |
|
|
INTEGER numberOfBasins |
62 |
|
|
INTEGER mldIndex(Nx,Ny) |
63 |
|
|
C Character parameters |
64 |
|
|
C basinList - Name associated with each basin. |
65 |
|
|
COMMON /DIAGS_C/ |
66 |
|
|
& basinList |
67 |
|
|
CHARACTER*10 basinList(DIAGS_MAX_NUMBER_OF_BASINS) |