/[MITgcm]/MITgcm/pkg/bulk_force/bulkf_init.F
ViewVC logotype

Contents of /MITgcm/pkg/bulk_force/bulkf_init.F

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


Revision 1.1 - (show annotations) (download)
Thu Nov 21 19:11:42 2002 UTC (21 years, 5 months ago) by cheisey
Branch: MAIN
CVS Tags: checkpoint47a_post
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
2 #include "CPP_OPTIONS.h"
3
4 CStartOfInterface
5 SUBROUTINE BULKF_INIT( myThid )
6 C /==========================================================\
7 C | SUBROUTINE BULKF_INIT |
8 C | o Set bulk formula parameters |
9 C |==========================================================|
10 IMPLICIT NONE
11
12 C === Global variables ===
13 #include "SIZE.h"
14 #include "EEPARAMS.h"
15 #include "PARAMS.h"
16 #include "GRID.h"
17 #include "DYNVARS.h"
18 #include "FFIELDS.h"
19 cswdblk -- add ---
20 #ifdef ALLOW_BULK_FORCE
21 #include "BULKF.h"
22 #include "BULKF_DIAG.h"
23 #ifdef CONSERV_BULKF
24 #include "BULKF_CONSERV.h"
25 #endif
26 #endif
27 cswdblk -- end add --
28
29 C == Routine arguments ==
30 C myThid - Number of this instance of BULKF_INIT
31 INTEGER myThid
32 CEndOfInterface
33
34 C == Local variables ==
35 C bi,bj - Loop counters
36 C I,J
37 INTEGER bi, bj
38 INTEGER I, J
39 INTEGER prec
40 CHARACTER*(MAX_LEN_FNAM) fn
41
42 _BARRIER
43
44 cswdblk -- add ----
45 #ifdef ALLOW_BULK_FORCE
46 c set up bulk formula arrays to zero
47 DO bj = myByLo(myThid), myByHi(myThid)
48 DO bi = myBxLo(myThid), myBxHi(myThid)
49 DO J=1,sNy
50 DO I=1,sNx
51 evapora(i,j,bi,bj)=0.d0
52 BULK_Qnet_AVE(i,j,bi,bj)=0.e0
53 BULK_EmPmR_AVE(i,j,bi,bj)=0.e0
54 BULK_fu_AVE(i,j,bi,bj)=0.e0
55 BULK_fv_AVE(i,j,bi,bj)=0.e0
56 BULK_latent_AVE(i,j,bi,bj)=0.e0
57 BULK_sensible_AVE(i,j,bi,bj)=0.e0
58 BULK_evap_AVE(i,j,bi,bj)=0.e0
59 BULK_flw_AVE(i,j,bi,bj)=0.e0
60 BULK_solar_AVE(i,j,bi,bj)=0.e0
61 BULK_ssq_AVE(i,j,bi,bj)=0.e0
62 BULKF_timeave(bi,bj)=0.e0
63 #ifdef CONSERV_BULKF
64 CONS_Qnet(i,j,bi,bj)=0.e0
65 CONS_EmPmR(i,j,bi,bj)=0.e0
66 #endif
67 if (.NOT.readsurface) then
68 c if not reading in surface fields, make sure we do not relax
69 SSS(i,j,bi,bj)=0. _d 0
70 SST(i,j,bi,bj)=0. _d 0
71 tauThetaClimRelax=0. _d 0
72 tauSaltClimRelax=0. _d 0
73 endif
74 ENDDO
75 ENDDO
76 ENDDO
77 ENDDO
78
79 #ifdef CONSERV_BULKF
80 constim=0
81 #endif
82
83 c
84 #endif
85 cswdblk -------
86
87 RETURN
88 END

  ViewVC Help
Powered by ViewVC 1.1.22