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

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

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


Revision 1.3 - (show annotations) (download)
Fri Dec 17 03:44:52 2004 UTC (19 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57o_post, checkpoint58e_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, checkpoint58d_post, checkpoint58c_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint57f_post, checkpoint58a_post, checkpoint57q_post, checkpoint57z_post, checkpoint57c_post, checkpoint57j_post, checkpoint58b_post, checkpoint57h_pre, checkpoint57l_post, checkpoint57h_post
Changes since 1.2: +2 -1 lines
include header file EEPARAMS.h

1 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_albedo.F,v 1.2 2004/04/07 23:40:34 jmc Exp $
2 C $Name: $
3
4 #include "THSICE_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: THSICE_READPARMS
8 C !INTERFACE:
9 SUBROUTINE THSICE_ALBEDO(
10 I hi, hs, Tsf, age,
11 O albedo,
12 I myThid )
13
14 C !DESCRIPTION: \bv
15 C *==========================================================*
16 C | S/R THSICE_ALBEDO
17 C *==========================================================*
18 C | Compute surface albedo
19 C *==========================================================*
20 C \ev
21
22 C !USES:
23 IMPLICIT NONE
24
25 C == Global data ==
26 #include "EEPARAMS.h"
27 #include "THSICE_PARAMS.h"
28
29 C !INPUT/OUTPUT PARAMETERS:
30 C == Routine Arguments ==
31 _RL hi ! ice height
32 _RL hs ! snow height
33 _RL Tsf ! surface temperature
34 _RL age ! snow age
35 _RL albedo ! surface albedo
36 INTEGER myThid
37 CEOP
38
39 #ifdef ALLOW_THSICE
40 C == Local variables ==
41 C frsnow :: fractional snow cover
42 C albsno :: albedo of snow
43 C albice :: albedo of ice
44 C albNewSnow :: albedo of new (fresh) snow
45 c _RL frsnow
46 _RL albsno, albice
47 _RL albNewSnow
48
49 C-- Albedo of Bare Sea-Ice
50 albice = albIceMax + (albIceMin-albIceMax)*exp(-hi/hAlbIce)
51
52 C-- LANL albedo calculation
53 c frsnow = 0.
54 c if (hs .gt. 0.) frsnow = 1.
55 c if (Tsf .lt. 0.) then
56 c albedo = frsnow*albColdSnow + (1.-frsnow)*albice
57 c else
58 c albedo = frsnow*albWarmSnow + (1.-frsnow)*albice
59 c endif
60 C-end LANL albedo calculation
61
62 C-- GISS model albedo calculation
63 c albice = 0.7 _d 0
64
65 C- New snow: (linear) transition between -10.oC and 0.oC
66 C from cold/dry snow albedo to warm/wet snow albedo
67 albNewSnow = albColdSnow
68 & + (albWarmSnow - albColdSnow)
69 & *MAX( 0. _d 0, 1. _d 0 + MIN(Tsf/10. _d 0, 0. _d 0) )
70 C- albedo of snow is function of snow-age (make age units into days):
71 albsno = albOldSnow
72 & +(albNewSnow-albOldSnow)*exp(-0.2 _d 0*age/86400. _d 0)
73 C- layer of snow over the ice:
74 albedo = albsno + (albice-albsno)*exp(-hs/hAlbSnow)
75
76 if (albedo.gt.1. _d 0 .or. albedo.lt. .2 _d 0) then
77 print*,'QQ - albedo problem', albedo, age, hs, albsno
78 stop
79 endif
80
81 #endif /* ALLOW_THSICE */
82
83 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
84
85 RETURN
86 END

  ViewVC Help
Powered by ViewVC 1.1.22