/[MITgcm]/MITgcm/pkg/therm_seaice/ice_freeze.F
ViewVC logotype

Annotation of /MITgcm/pkg/therm_seaice/ice_freeze.F

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


Revision 1.1 - (hide annotations) (download)
Thu Nov 21 19:11:42 2002 UTC (21 years, 6 months ago) by cheisey
Branch: MAIN
CVS Tags: checkpoint47b_post, checkpoint48i_post, checkpoint47a_post, checkpoint48d_post, checkpoint50b_post, checkpoint47i_post, checkpoint48g_post, checkpoint50c_pre, checkpoint50, branch-exfmods-tag, checkpoint47e_post, checkpoint50f_post, checkpoint50a_post, checkpoint48e_post, checkpoint47c_post, checkpoint50f_pre, checkpoint48b_post, checkpoint47j_post, checkpoint47d_pre, checkpoint50d_pre, checkpoint47h_post, checkpoint51, checkpoint48c_pre, checkpoint48c_post, checkpoint50d_post, checkpoint47f_post, checkpoint51b_pre, checkpoint50e_post, checkpoint47g_post, checkpoint50h_post, checkpoint50c_post, checkpoint51a_post, checkpoint47d_post, checkpoint50e_pre, checkpoint50b_pre, checkpoint48d_pre, checkpoint50i_post, checkpoint51b_post, checkpoint48a_post, checkpoint48f_post, checkpoint50g_post, checkpoint51c_post, checkpoint48, checkpoint49, checkpoint48h_post
Branch point for: branch-exfmods-curt
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 cheisey 1.1 #include "CPP_OPTIONS.h"
2    
3     C !ROUTINE: ICE_FREEZE
4     C !INTERFACE:
5     SUBROUTINE ICE_FREEZE( bi, bj, iMin, iMax, jMin, jMax,
6     I myThid )
7     C !DESCRIPTION: \bv
8     C *==========================================================*
9     C | S/R FREEZE
10     C | o Check water temperature and limit range of temperature
11     C | appropriately.
12     C *==========================================================*
13     C \ev
14    
15     C !USES:
16     IMPLICIT NONE
17     C == Global variables ==
18     #include "SIZE.h"
19     #include "DYNVARS.h"
20     #include "EEPARAMS.h"
21     #include "PARAMS.h"
22     #include "GRID.h"
23     #include "FFIELDS.h"
24     #include "ICE.h"
25     #include "BULKF_ICE_CONSTANTS.h"
26     #include "BULKF.h"
27    
28     C !INPUT/OUTPUT PARAMETERS:
29     C == Routine Arguments ==
30     INTEGER bi,bj,iMin,iMax,jMin,jMax
31     INTEGER myThid
32    
33     C !LOCAL VARIABLES:
34     C == Local variables ==
35     C Tfreezing :: Freezing threshold temperature.
36     INTEGER i,j
37     _RL Tf
38     _RL frzmlt, ffresh,fsalt, compact
39     _RL cphm
40    
41     C Check for water that should have frozen
42     DO j=jMin,jMax
43     DO i=iMin,iMax
44     if (hFacC(i,j,1,bi,bj).gt.0.d0) then
45     Tf=-mu_Tf*salt(i,j,1,bi,bj)
46     IF (iceMask(i,j,bi,bj).eq.0.and.
47     & gT(i,j,1,bi,bj) .LT. Tf) THEN
48     fsalt=0.D0
49     ffresh=0.D0
50     compact=0.d0
51     cphm = cpwater*rhosw*drF(1)*hFacC(i,j,1,bi,bj)
52     frzmlt = (Tf-gT(i,j,1,bi,bj))*cphm/deltaTtracer
53     call ice_start(i,j,bi, bj, myThid,
54     & frzmlt,ffresh,fsalt,Tf, compact)
55     gT(i,j,1,bi,bj)=Tf
56     cQQ problem here
57     c if after calc_gs
58     c gS(i,j,1,bi,bj)=gS(i,j,1,bi,bj)+
59     c & (ffresh-fsalt)/RHONIL
60     c & *recip_dRf(1)*35.*deltaTtracer
61     c if before calc_gs
62     c Freshwater flux:
63     ffresh=-(ffresh-fsalt)/RHONIL
64     surfaceTendencyS(i,j,bi,bj) =
65     & surfaceTendencyS(i,j,bi,bj) +
66     & (ffresh)*recip_dRf(1)*35.
67     ENDIF
68     ENDIF
69     ENDDO
70     ENDDO
71    
72     RETURN
73     END
74    

  ViewVC Help
Powered by ViewVC 1.1.22