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

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

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


Revision 1.3 - (hide 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 jmc 1.3 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_albedo.F,v 1.2 2004/04/07 23:40:34 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "THSICE_OPTIONS.h"
5    
6 jmc 1.2 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 jmc 1.1 C *==========================================================*
16     C | S/R THSICE_ALBEDO
17     C *==========================================================*
18     C | Compute surface albedo
19     C *==========================================================*
20 jmc 1.2 C \ev
21    
22     C !USES:
23 jmc 1.1 IMPLICIT NONE
24    
25     C == Global data ==
26 jmc 1.3 #include "EEPARAMS.h"
27 jmc 1.1 #include "THSICE_PARAMS.h"
28    
29 jmc 1.2 C !INPUT/OUTPUT PARAMETERS:
30 jmc 1.1 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 jmc 1.2 INTEGER myThid
37     CEOP
38 jmc 1.1
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 jmc 1.2 c _RL frsnow
46 jmc 1.1 _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