/[MITgcm]/MITgcm/pkg/shelfice/shelfice_check.F
ViewVC logotype

Annotation of /MITgcm/pkg/shelfice/shelfice_check.F

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


Revision 1.2 - (hide annotations) (download)
Fri Feb 10 10:00:42 2006 UTC (18 years, 4 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint58l_post, checkpoint58e_post, checkpoint58n_post, checkpoint58h_post, checkpoint58j_post, checkpoint58f_post, checkpoint58d_post, checkpoint58c_post, checkpoint58a_post, checkpoint58i_post, checkpoint58g_post, checkpoint58o_post, checkpoint58k_post, checkpoint58b_post, checkpoint58m_post
Changes since 1.1: +27 -1 lines
  - separate shelfice load anomaly from pload (breaks with time
    dependent forcing), => introduce constant field shelficeLoadAnomaly.
    Its default is 0., but it may be computed more cleverly from (unknown)
    t- and s-profiles (tRef, sRef) and actual EOS. For now this has to be
    done offline. A good approximation of the pressure load anomaly is
    necessary to avoid large initial adjustment processes underneath
    deep-reaching shelfice.
  - small fix in shelfice_thermodynamics

1 mlosch 1.2 C $Header: /u/gcmpack/MITgcm/pkg/shelfice/shelfice_check.F,v 1.1 2006/02/07 11:45:21 mlosch Exp $
2 mlosch 1.1 C $Name: $
3     #include "SHELFICE_OPTIONS.h"
4    
5     SUBROUTINE SHELFICE_CHECK( myThid )
6     C /==========================================================\
7     C | SUBROUTINE SHELFICE_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 SHELFICE_CHECK
20     INTEGER myThid
21    
22     #ifdef ALLOW_SHELFICE
23    
24     C === Local variables ===
25     C msgBuf - Informational/error meesage buffer
26     CHARACTER*(MAX_LEN_MBUF) msgBuf
27    
28     WRITE(msgBuf,'(A)') 'SHELFICE_CHECK: #define ALLOW_SHELFICE'
29     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
30     & SQUEEZE_RIGHT , 1)
31    
32     C So far, SHELFICE works only with oceanic z-coordinates
33     IF ( buoyancyRelation .NE. 'OCEANIC' ) THEN
34     WRITE(msgBuf,'(A)')
35     & 'SHELFICE works only with buoyancyRelation = ''OCEANIC'''
36     CALL PRINT_ERROR( msgBuf , 1)
37     STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
38     ENDIF
39    
40 mlosch 1.2 C SHELFICE doesmay not work with many other packages
41     #ifdef ALLOW_NONHYDROSTATIC
42     IF ( nonHydrostatic ) THEN
43     WRITE(msgBuf,'(A)')
44     & 'Currently SHELFICE and nonHydrostatic cannot be turned'
45     CALL PRINT_ERROR( msgBuf , 1)
46     WRITE(msgBuf,'(A)') 'on at the same time'
47     CALL PRINT_ERROR( msgBuf , 1)
48     STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
49     ENDIF
50     #endif /* ALLOW_NONHYDROSTATIC */
51    
52     #ifdef ALLOW_KPP
53 mlosch 1.1 CMLC SHELFICE may not work with many other packages
54     CML IF ( useKPP ) THEN
55     CML WRITE(msgBuf,'(A)')
56     CML & 'SHELFICE and KPP cannot be turned on at the same time'
57     CML CALL PRINT_ERROR( msgBuf , 1)
58     CML STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
59     CML ENDIF
60 mlosch 1.2 #endif ALLOW_KPP
61    
62     #ifndef ALLOW_ISOMIP_TD
63     IF ( useISOMIPTD ) THEN
64     WRITE(msgBuf,'(A,A,A)')
65     & 'Run-time control flag useISOMIPTD was used'
66     CALL PRINT_ERROR( msgBuf , 1)
67     WRITE(msgBuf,'(A,A,A)')
68     & 'when CPP flag ALLOW_ISOMIP_TD was unset'
69     CALL PRINT_ERROR( msgBuf , 1)
70     STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
71     ENDIF
72     #endif /* ALLOW_ISOMIP_TD */
73 mlosch 1.1
74     #endif /* ALLOW_SHELFICE */
75    
76     return
77     end

  ViewVC Help
Powered by ViewVC 1.1.22