/[MITgcm]/MITgcm/model/src/packages_init_variables.F
ViewVC logotype

Annotation of /MITgcm/model/src/packages_init_variables.F

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


Revision 1.17 - (hide annotations) (download)
Thu Nov 21 19:11:42 2002 UTC (21 years, 7 months ago) by cheisey
Branch: MAIN
CVS Tags: checkpoint47e_post, checkpoint47c_post, checkpoint47d_pre, checkpoint47a_post, checkpoint47d_post, branch-exfmods-tag, checkpoint47b_post
Branch point for: branch-exfmods-curt
Changes since 1.16: +4 -4 lines
Two packages:  bulk_force (Bulk forcing)
and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2
Earlier integration from Stephaine Dutkiewicz
and Patrick Heimbach.

Two ifdef statements for compile time,
ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE

Two switches in data.pkg to turn on at run-time:

cat data.pkg
# Packages
 &PACKAGES
 useBulkForce=.TRUE.,
 useThermSeaIce=.TRUE.,
 &

WARNING:  useSEAICE and useThermSEAICE are mutually exclusive.

The bulk package requires an additional parameter file
with two namelists, data.ice and data.blk.

c ADAPTED FROM:
c LANL CICE.v2.0.2
c-----------------------------------------------------------------------
c.. thermodynamics (vertical physics) based on M. Winton 3-layer model
c.. See Bitz, C. M. and W. H. Lipscomb, 1999:  "An energy-conserving
c..       thermodynamic sea ice model for climate study."  J. Geophys.
c..       Res., 104, 15669 - 15677.
c..     Winton, M., 1999:  "A reformulated three-layer sea ice model."
c..       Submitted to J. Atmos. Ocean. Technol.

c.. authors Elizabeth C. Hunke and William Lipscomb
c..         Fluid Dynamics Group, Los Alamos National Laboratory
c-----------------------------------------------------------------------

1 adcroft 1.2
2     #include "CPP_OPTIONS.h"
3    
4 cnh 1.8 CBOP
5     C !ROUTINE: PACKAGES_INIT_VARIABLES
6     C !INTERFACE:
7 adcroft 1.2 SUBROUTINE PACKAGES_INIT_VARIABLES( myThid )
8 cnh 1.8
9     C !DESCRIPTION: \bv
10     C *==========================================================*
11     C | SUBROUTINE PACKAGES_INIT_VARIABLES
12     C | o Does initialisation of package-related variable data
13     C *==========================================================*
14     C \ev
15    
16     C !CALLING SEQUENCE:
17     C PACKAGES_INIT_VARIABLES
18     C |
19     C |-- GMREDI_INIT
20     C |
21     C |-- KPP_INIT
22     C |-- KPP_OPEN_DIAGS
23     C |
24 heimbach 1.14 C |-- SEAICE_INIT
25     C |
26 cnh 1.8 C |-- OBCS_INIT_VARIABLES
27     C |
28     C |-- CTRL_MAP_INI
29     C |
30     C |-- COST_INIT
31     C |
32     C |-- ECCO_INIT
33     C |
34     C |-- INI_FORCING
35    
36     C !USES:
37 adcroft 1.2 IMPLICIT NONE
38     C === Global variables ===
39     #include "SIZE.h"
40     #include "EEPARAMS.h"
41     #include "PARAMS.h"
42    
43 cnh 1.8 C !INPUT/OUTPUT PARAMETERS:
44 adcroft 1.2 C === Routine arguments ===
45     C myThid - Number of this instances
46     INTEGER myThid
47 cnh 1.8 CEOP
48 adcroft 1.2
49     #ifdef ALLOW_GMREDI
50     C-- Initialize GM/Redi parameterization
51     IF (useGMRedi) CALL GMREDI_INIT( myThid )
52     #endif
53    
54     #ifdef ALLOW_KPP
55     C-- Initialize KPP vertical mixing scheme.
56     IF (useKPP) THEN
57     CALL KPP_INIT( myThid )
58     CALL KPP_OPEN_DIAGS( myThid )
59     ENDIF
60 heimbach 1.14 #endif
61    
62     #ifdef ALLOW_SEAICE
63     C-- Initialize SEAICE model.
64     IF (useSEAICE) CALL SEAICE_INIT( myThid )
65 adcroft 1.2 #endif
66    
67     #ifdef ALLOW_OBCS
68     C-- Open boundaries data
69     IF (useOBCS) THEN
70     CALL OBCS_INIT_VARIABLES( myThid )
71     ENDIF
72 adcroft 1.11 #endif
73    
74     #ifdef ALLOW_PTRACERS
75     IF ( usePTRACERS ) CALL PTRACERS_INIT( mythid )
76 adcroft 1.2 #endif
77    
78 heimbach 1.10 #if (defined (ALLOW_ADJOINT_RUN) || defined (ALLOW_TANGENTLINEAR_RUN))
79 heimbach 1.5 c-- Map the control variables onto the model state.
80     call ctrl_map_ini( mythid )
81     _BARRIER
82     #endif
83    
84 adcroft 1.2 #ifdef INCLUDE_ECCO_PACKAGE
85     IF (useECCO) THEN
86     CALL ECCO_INIT( myThid )
87     ENDIF
88 heimbach 1.12 #else
89     # ifdef ALLOW_COST
90     c-- Initialise the cost function.
91     call cost_init( mythid )
92     _BARRIER
93     # endif
94 adcroft 1.2 #endif
95    
96 cheisey 1.16 cswdblk -- begin add ---
97 cheisey 1.17 #ifdef ALLOW_BULK_FORCE
98     IF (useBulkForce) call BULKF_INIT( mythid)
99 cheisey 1.16 #endif
100     cswdblk ---end add ---
101    
102     cswdice ---begin add ---
103 cheisey 1.17 #ifdef ALLOW_THERM_SEAICE
104     IF (useThermSeaIce) call ICE_INIT( mythid)
105 cheisey 1.16 #endif
106     cswdice ---end add ---
107    
108    
109 adcroft 1.2 RETURN
110     END

  ViewVC Help
Powered by ViewVC 1.1.22