/[MITgcm]/MITgcm/pkg/layers/layers_check.F
ViewVC logotype

Annotation of /MITgcm/pkg/layers/layers_check.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.7 - (hide annotations) (download)
Wed Sep 19 18:48:18 2012 UTC (11 years, 8 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint64, checkpoint65, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65l, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e
Changes since 1.6: +21 -6 lines
- added layers_maxNum dimension, to allow for multiple layers
  computations at once (if layers_maxNum >1 in LAYERS_SIZE.h).
- added/replaced new run time parameters :
  layers_bounds (repl. layers_G), layers_bolus (repl. useBOLUS),
  layers_num (repl. LAYER_nb; set by run time layers_name),
  layers_name ('TH', 'SLT' or 'RHO'), layers_krho (repl. layers_kref)
- The old way of specifying LAYER_nb, layers_G, etc. is kept
  for backward compatibility, and superseeds the new way. For now.
- layers_G.data output is replaced with layers1SLT.data
  where '1' is the layers set index (.LE.layers_maxNum)
  and 'SLT' is layers_name (i.e. the type of layers).
- Typical diagnostics names : 'LaUH1SLT','LaHw1SLT'.
- bug fix : previous commit was missing a pair of bi,bj loops.
- added ALLOW_LAYERS_OUTPUT cpp option : if undef then comment
  out the old fashion way of output (that still works for the
  first set of layers). Prefered way now is via pkg/diagnostics.

1 gforget 1.7 C $Header: /u/gcmpack/MITgcm/pkg/layers/layers_check.F,v 1.6 2011/10/19 01:28:45 dfer Exp $
2 rpa 1.1 C $Name: $
3    
4     #include "LAYERS_OPTIONS.h"
5    
6     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7    
8     SUBROUTINE LAYERS_CHECK( myThid )
9    
10     C Check dependances with other packages
11    
12     IMPLICIT NONE
13     #include "SIZE.h"
14     #include "EEPARAMS.h"
15     #include "PARAMS.h"
16     #include "EOS.h"
17     #include "LAYERS_SIZE.h"
18     #include "LAYERS.h"
19    
20     C myThid :: my Thread Id number
21     INTEGER myThid
22    
23     C LOCAL VARIABLES:
24 jmc 1.3 C msgBuf :: Informational/error message buffer
25 rpa 1.1 CHARACTER*(MAX_LEN_MBUF) msgBuf
26 gforget 1.7 INTEGER iLa
27 rpa 1.1
28     #ifdef ALLOW_LAYERS
29    
30     _BEGIN_MASTER(myThid)
31    
32     WRITE(msgBuf,'(A)') 'LAYERS_CHECK: #define LAYERS'
33     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
34     & SQUEEZE_RIGHT , 1)
35    
36     C-- Print out some key parameters :
37     CALL WRITE_0D_I( NZZ, INDEX_NONE, 'NZZ =',
38     & ' /* number of levels in the fine vertical grid */')
39    
40 rpa 1.2 CALL WRITE_1D_RL( dZZf, NZZ, INDEX_K, 'dZZf =',
41     & ' /* fine vertical grid spacing for isopycnal interp */')
42    
43 gforget 1.7 DO iLa=1,layers_maxNum
44     IF ( layers_num(iLa).NE.0 ) THEN
45 rpa 1.1
46 gforget 1.7 CALL WRITE_0D_I( layers_num(iLa), INDEX_NONE, 'layers_num =',
47     & '/* (1) theta; (2) salt; (3) prho; as averaging field */' )
48    
49     CALL WRITE_0D_C( layers_name(iLa),-1,INDEX_NONE,'layers_name =',
50     & '/* (TH) theta; (SLT) salt; (RHO) prho; as averaging field */' )
51    
52     CALL WRITE_0D_L ( layers_bolus(iLa), INDEX_NONE,
53     & 'layers_bolus =', ' /* include potential GM bolus velocity */')
54    
55     IF ( layers_num(iLa).EQ.3)
56     & CALL WRITE_0D_I( layers_krho(iLa), INDEX_NONE, 'layers_krho =',
57 dfer 1.6 & ' /* model level to reference potential density to */' )
58    
59 gforget 1.7 CALL WRITE_1D_RL(layers_bounds(1,iLa),
60     & Nlayers+1, INDEX_K,'layers_bounds =',
61     & ' /* boundaries of tracer-averaging bins */')
62    
63     ENDIF !IF ( layers_num(iLa).NE.0 ) THEN
64     ENDDO !DO iLa=1,layers_maxNum
65 dfer 1.6
66 rpa 1.1 C-- Check parameters:
67    
68    
69     C For now the package will only work if density ~ temperature
70 dfer 1.5 c IF ( (eosType .EQ. 'LINEAR')
71     c & .AND. (sBeta .EQ. 0.0 _d 0) ) THEN
72 jmc 1.4 C we are good
73 dfer 1.5 c ELSE
74     c WRITE(msgBuf,'(2A)') 'eosType must be eosType=''LINEAR''',
75     c & ' and sBeta must = 0.0'
76     c CALL PRINT_ERROR( msgBuf , 1)
77     c STOP 'ABNORMAL END: S/R LAYERS_CHECK'
78     c ENDIF
79 rpa 1.1
80     _END_MASTER(myThid)
81    
82 jmc 1.3 #endif /* ALLOW_LAYERS */
83 rpa 1.1
84     RETURN
85     END

  ViewVC Help
Powered by ViewVC 1.1.22