/[MITgcm]/MITgcm/pkg/seaice/seaice_check.F
ViewVC logotype

Contents of /MITgcm/pkg/seaice/seaice_check.F

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


Revision 1.3 - (show annotations) (download)
Sat Dec 28 10:11:11 2002 UTC (21 years, 6 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint48e_post, checkpoint48b_post, checkpoint48c_pre, checkpoint48d_pre, checkpoint47i_post, checkpoint48d_post, checkpoint47g_post, checkpoint48a_post, checkpoint47j_post, checkpoint48c_post, checkpoint47f_post, checkpoint48, checkpoint47h_post
Branch point for: c24_e25_ice, ecco-branch
Changes since 1.2: +52 -0 lines
checkpoint47f_post
Merging from release1_p10:
o modifications for using pkg/exf with pkg/seaice
  - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING
    and SEAICE_EXTERNAL_FLUXES
  - pkg/exf CPP options EXF_READ_EVAP and
    EXF_NO_BULK_COMPUTATIONS
  - usage examples are Experiments 8 and 9 in
    verification/lab_sea/README
  - verification/lab_sea default experiment now uses
    pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf

1 C $Header:
2
3 #include "SEAICE_OPTIONS.h"
4
5 SUBROUTINE SEAICE_CHECK( myThid )
6 C /==========================================================\
7 C | SUBROUTINE SEAICE_CHECK |
8 C | o Validate basic package setup and inter-package |
9 C | dependencies. |
10 C \==========================================================/
11 IMPLICIT NONE
12
13 C === Global variables ===
14 #include "SIZE.h"
15 #include "EEPARAMS.h"
16 #include "PARAMS.h"
17
18 C === Routine arguments ===
19 C myThid - Number of this instance of SEAICE_CHECK
20 INTEGER myThid
21
22 #ifdef ALLOW_SEAICE
23
24 C === Local variables ===
25 C msgBuf - Informational/error meesage buffer
26 CHARACTER*(MAX_LEN_MBUF) msgBuf
27
28 C-- ALLOW_SEAICE
29 WRITE(msgBuf,'(A)') 'SEAICE_CHECK: #define ALLOW_SEAICE'
30 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
31 & SQUEEZE_RIGHT , myThid )
32
33 C-- SEAICE_ALLOW_DYNAMICS and SEAICEuseDYNAMICS
34 #ifndef SEAICE_ALLOW_DYNAMICS
35 IF (SEAICEuseDYNAMICS) THEN
36 WRITE(msgBuf,'(A)')
37 & 'SEAICE_ALLOW_DYNAMICS needed for SEAICEuseDYNAMICS'
38 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
39 & SQUEEZE_RIGHT , myThid )
40 STOP 'ABNORMAL END: S/R SEAICE_CHECK'
41 ENDIF
42 #endif SEAICE_ALLOW_DYNAMICS
43
44 C-- SEAICE_EXTERNAL_FORCING
45 C At present this option is hardwired for pkg/exf.
46 #ifdef SEAICE_EXTERNAL_FORCING
47 #ifndef INCLUDE_EXTERNAL_FORCING_PACKAGE
48 WRITE(msgBuf,'(A)')
49 & 'need to define INCLUDE_EXTERNAL_FORCING_PACKAGE'
50 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
51 & SQUEEZE_RIGHT , myThid )
52 STOP 'ABNORMAL END: S/R SEAICE_CHECK'
53 #endif INCLUDE_EXTERNAL_FORCING_PACKAGE
54 #ifndef ALLOW_BULKFORMULAE
55 WRITE(msgBuf,'(A)')
56 & 'need to define ALLOW_BULKFORMULAE'
57 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
58 & SQUEEZE_RIGHT , myThid )
59 STOP 'ABNORMAL END: S/R SEAICE_CHECK'
60 #endif ALLOW_BULKFORMULAE
61 #ifndef ALLOW_ATM_TEMP
62 WRITE(msgBuf,'(A)')
63 & 'need to define ALLOW_ATM_TEMP'
64 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
65 & SQUEEZE_RIGHT , myThid )
66 STOP 'ABNORMAL END: S/R SEAICE_CHECK'
67 #endif ALLOW_ATM_TEMP
68 #ifndef ALLOW_ATM_WIND
69 WRITE(msgBuf,'(A)')
70 & 'need to define ALLOW_ATM_WIND'
71 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
72 & SQUEEZE_RIGHT , myThid )
73 STOP 'ABNORMAL END: S/R SEAICE_CHECK'
74 #endif ALLOW_ATM_WIND
75 #ifndef ALLOW_RUNOFF
76 WRITE(msgBuf,'(A)')
77 & 'need to define ALLOW_RUNOFF'
78 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
79 & SQUEEZE_RIGHT , myThid )
80 STOP 'ABNORMAL END: S/R SEAICE_CHECK'
81 #endif ALLOW_RUNOFF
82 #endif SEAICE_EXTERNAL_FORCING
83
84 #endif ALLOW_SEAICE
85
86 return
87 end

  ViewVC Help
Powered by ViewVC 1.1.22