File indexing completed on 2018-03-02 18:41:39 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
89992793c5 Jean*0001 #include "LAND_OPTIONS.h"
0002
0003
0004
0005
0006 SUBROUTINE LAND_ALBEDO(
0007 I land_frc, grnd_alb,
0008 O alb_land,
0009 I bi,bj, myTime, myIter, myThid )
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 IMPLICIT NONE
0020
0021
0022
0023 #include "LAND_SIZE.h"
0024
0025 #include "EEPARAMS.h"
0026 #include "PARAMS.h"
0027 #include "LAND_PARAMS.h"
0028 #include "LAND_VARS.h"
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 _RS land_frc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0040 _RS grnd_alb(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0041 _RL alb_land(sNx,sNy)
0042 INTEGER bi, bj, myIter, myThid
0043 _RL myTime
0044
0045
0046 #ifdef ALLOW_LAND
0047
0048
0049
0050
0051
0052 INTEGER i,j
0053 _RL albSnow, ageSnow, hSnow, Tsf
0054
0055
0056
0057
0058 DO j=1,sNy
0059 DO i=1,sNx
0060 alb_land(i,j) = grnd_alb(i,j,bi,bj)
0061 IF ( land_frc(i,j,bi,bj).GT.0. ) THEN
0062 Tsf = land_skinT(i,j,bi,bj)
0063
0064 ageSnow = land_snowAge(i,j,bi,bj)/86400. _d 0
0065 hSnow = land_hSnow(i,j,bi,bj)
0066
0067
0068
1f792166dd Davi*0069
89992793c5 Jean*0070
1f792166dd Davi*0071 IF ( tempSnowAlbL.LT.0. _d 0 ) THEN
0072 albSnow = albColdSnow
0073 & + (albWarmSnow - albColdSnow)
0074 & *MAX( 0. _d 0, MIN(1. _d 0 - Tsf/tempSnowAlbL, 1. _d 0) )
0075 ELSE
0076 albSnow = albColdSnow
0077 ENDIF
89992793c5 Jean*0078
0079 albSnow = albOldSnow
0080 & +(albSnow-albOldSnow)*exp(-0.2 _d 0*ageSnow)
0081
0082
0083 alb_land(i,j) = albSnow
0084 & +(alb_land(i,j)-albSnow)*exp(-hSnow/hAlbSnow)
0085
0086 ENDIF
0087 ENDDO
0088 ENDDO
0089
0090
0091
0092 #endif /* ALLOW_LAND */
0093
0094 RETURN
0095 END