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

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

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


Revision 1.2 - (show 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 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_reshape_layers.F,v 1.1 2004/04/07 23:40:34 jmc Exp $
2 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 #include "EEPARAMS.h"
28 #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