/[MITgcm]/MITgcm/pkg/thsice/thsice_reshape_layers.F
ViewVC logotype

Annotation of /MITgcm/pkg/thsice/thsice_reshape_layers.F

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


Revision 1.2 - (hide annotations) (download)
Fri Dec 17 03:44:52 2004 UTC (19 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57o_post, checkpoint57m_post, checkpoint57s_post, checkpoint57k_post, checkpoint57d_post, checkpoint57g_post, checkpoint57b_post, checkpoint57c_pre, checkpoint57i_post, checkpoint57y_post, checkpoint57e_post, checkpoint57g_pre, checkpoint57y_pre, checkpoint57f_pre, checkpoint57v_post, checkpoint57r_post, checkpoint58, eckpoint57e_pre, checkpoint57h_done, checkpoint57x_post, checkpoint57n_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint57f_post, checkpoint57q_post, checkpoint57z_post, checkpoint57c_post, checkpoint57j_post, checkpoint57h_pre, checkpoint57l_post, checkpoint57h_post
Changes since 1.1: +2 -1 lines
include header file EEPARAMS.h

1 jmc 1.2 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_reshape_layers.F,v 1.1 2004/04/07 23:40:34 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "THSICE_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: THSICE_RESHAPE_LAYERS
8     C !INTERFACE:
9     SUBROUTINE THSICE_RESHAPE_LAYERS(
10     U qicen,
11     I hlyr, hnew, myThid )
12    
13     C !DESCRIPTION: \bv
14     C *==========================================================*
15     C | S/R THSICE_RESHAPE_LAYERS
16     C | Repartition into equal-thickness layers, conserving energy.
17     C *==========================================================*
18     C | This is the 2-layer version (formerly "NEW_LAYERS_WINTON")
19     C | from M. Winton 1999, JAOT, sea-ice model.
20     C *==========================================================*
21     C \ev
22    
23     C !USES:
24     IMPLICIT NONE
25    
26     C == Global variables ===
27 jmc 1.2 #include "EEPARAMS.h"
28 jmc 1.1 #include "THSICE_PARAMS.h"
29    
30     C !INPUT/OUTPUT PARAMETERS:
31     C == Routine Arguments ==
32     C qicen :: ice enthalpy (J m-3)
33     C hnew :: new ice layer thickness (m)
34     C hlyr :: individual ice layer thickness (m)
35     C myThid :: Number of this instance
36     _RL qicen(*)
37     _RL hnew(*)
38     _RL hlyr
39     INTEGER myThid
40     CEOP
41    
42     #ifdef ALLOW_THSICE
43     C == Local Variables ==
44     C f1 :: Fraction of upper layer ice in new layer
45     C qh1, qh2 :: qice*h for layers 1 and 2
46     C qhtot :: qh1 + qh2
47     C q2tmp :: Temporary value of qice for layer 2
48     _RL f1
49     _RL qh1, qh2
50     _RL qhtot
51     _RL q2tmp
52    
53     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
54    
55     if (hnew(1).gt.hnew(2)) then
56     C- Layer 1 gives ice to layer 2
57     f1 = (hnew(1)-hlyr)/hlyr
58     q2tmp = f1*qicen(1) + (1. _d 0-f1)*qicen(2)
59     if (q2tmp.gt.Lfresh) then
60     qicen(2) = q2tmp
61     else
62     C- Keep q2 fixed to avoid q2<Lfresh and T2>0
63     qh2 = hlyr*qicen(2)
64     qhtot = hnew(1)*qicen(1) + hnew(2)*qicen(2)
65     qh1 = qhtot - qh2
66     qicen(1) = qh1/hlyr
67     endif
68     else
69     C- Layer 2 gives ice to layer 1
70     f1 = hnew(1)/hlyr
71     qicen(1) = f1*qicen(1) + (1. _d 0-f1)*qicen(2)
72     endif
73    
74     #endif /* ALLOW_THSICE */
75    
76     RETURN
77     END

  ViewVC Help
Powered by ViewVC 1.1.22