61 USE modi_ini_var_from_patch
62 USE modi_conserv_global_mass
64 USE yomhook
,ONLY : lhook, dr_hook
65 USE parkind1
,ONLY : jprb
74 TYPE(isba_grid_t
),
INTENT(INOUT) :: ig
75 TYPE(isba_t
),
INTENT(INOUT) :: i
79 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
85 REAL,
DIMENSION(SIZE(I%XDG,1),SIZE(I%XDG,2),SIZE(I%XDG,3)) :: zzdg
86 REAL,
DIMENSION(SIZE(I%XDG,1),SIZE(I%XDG,2),SIZE(I%XDG,3)) :: zzdg_old
87 REAL,
DIMENSION(SIZE(I%XDG,1),SIZE(I%XDG,2),SIZE(I%XDG,3)) :: zwg_old
88 REAL,
DIMENSION(SIZE(I%XDG,1),SIZE(I%XDG,2),SIZE(I%XDG,3)) :: zwgi_old
89 REAL,
DIMENSION(SIZE(I%XDG,1),1,SIZE(I%XDG,3)) :: ztest
92 INTEGER :: jlayer, jnbiomass, jnlitter, jnlittlevs, jnsoilcarb
93 REAL(KIND=JPRB) :: zhook_handle
97 IF (lhook) CALL dr_hook(
'INIT_ISBA_LANDUSE',0,zhook_handle)
102 IF(all(i%XDG(:,i%NGROUND_LAYER,:)==i%XDG_OLD(:,i%NGROUND_LAYER,:)))
THEN
103 IF (lhook) CALL dr_hook(
'INIT_ISBA_LANDUSE',1,zhook_handle)
112 hprogram,iluout,
'WR ', i%XWR (:,:),0)
115 hprogram,iluout,
'ICE_STO ', i%XICE_STO(:,:),0)
117 DO jlayer=1,
SIZE(i%XTG,2)
119 hprogram,iluout,
'TEMP GRO', i%XTG(:,jlayer,:),0)
124 hprogram,iluout,
'ALBSNOW ', i%TSNOW%ALB(:,:),0)
126 IF (i%TSNOW%SCHEME==
'1-L' .OR. i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
128 hprogram,iluout,
'EMISSNOW', i%TSNOW%EMIS(:,:),0)
130 hprogram,iluout,
'TSSNOW ', i%TSNOW%TS (:,:),0)
133 DO jlayer=1,i%TSNOW%NLAYER
136 hprogram,iluout,
'WSNOW ', i%TSNOW%WSNOW(:,jlayer,:),0)
138 IF (i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
140 hprogram,iluout,
'TEMPSNOW', i%TSNOW%TEMP(:,jlayer,:),0)
142 hprogram,iluout,
'HEATSNOW', i%TSNOW%HEAT(:,jlayer,:),0)
144 hprogram,iluout,
'AGESNOW ', i%TSNOW%AGE (:,jlayer,:),0)
147 IF (i%TSNOW%SCHEME==
'1-L')
THEN
149 hprogram,iluout,
'TSNOW ', i%TSNOW%T(:,jlayer,:),0)
152 IF(i%TSNOW%SCHEME==
'CRO')
THEN
154 hprogram,iluout,
'GRANSNOW', i%TSNOW%GRAN1(:,jlayer,:),0)
156 hprogram,iluout,
'GRANSNOW', i%TSNOW%GRAN2(:,jlayer,:),0)
158 hprogram,iluout,
'HISTSNOW', i%TSNOW%HIST (:,jlayer,:),0)
167 zwg_old(:,:,:) =i%XWG (:,:,:)
168 zwgi_old(:,:,:)=i%XWGI(:,:,:)
170 DO jlayer=1,i%NGROUND_LAYER
172 hprogram,iluout,
'WG ', i%XWG (:,jlayer,:),0)
174 hprogram,iluout,
'WGI ', i%XWGI(:,jlayer,:),0)
177 zzdg(:,1,:)=i%XDG (:,1,:)
178 zzdg_old(:,1,:)=i%XDG_OLD(:,1,:)
179 IF(i%CISBA==
'DIF')
THEN
180 DO jlayer=2,i%NGROUND_LAYER
181 zzdg(:,jlayer,:)=i%XDG (:,jlayer,:)-i%XDG (:,jlayer-1,:)
182 zzdg_old(:,jlayer,:)=i%XDG_OLD(:,jlayer,:)-i%XDG_OLD(:,jlayer-1,:)
185 zzdg(:,2,:)=i%XDG (:,2,:)
186 zzdg_old(:,2,:)=i%XDG_OLD(:,2,:)
187 IF(i%CISBA==
'3-L' )
THEN
188 zzdg(:,3,:)=i%XDG (:,3,:)-i%XDG (:,2,:)
189 zzdg_old(:,3,:)=i%XDG_OLD(:,3,:)-i%XDG_OLD(:,2,:)
193 WHERE(zzdg(:,:,:) >1.e+10)zzdg(:,:,:)=0.
194 WHERE(zzdg_old(:,:,:)>1.e+10)zzdg_old(:,:,:)=0.
197 iluout,zzdg,zzdg_old,i%XWG, zwg_old )
199 iluout,zzdg,zzdg_old,i%XWGI,zwgi_old)
206 hprogram,iluout,
'RESA ', i%XRESA(:,:),3)
208 DO jlayer=1,i%TSNOW%NLAYER
210 hprogram,iluout,
'RHOSNOW ', i%TSNOW%RHO (:,jlayer,:),3)
213 IF (i%CPHOTO/=
'NON')
THEN
216 hprogram,iluout,
'AN ', i%XAN (:,:),3)
218 hprogram,iluout,
'ANDAY ', i%XANDAY(:,:),3)
220 hprogram,iluout,
'ANFM ', i%XANFM (:,:),3)
222 hprogram,iluout,
'LE ', i%XLE (:,:),3)
224 DO jnbiomass=1,i%NNBIOMASS
226 hprogram,iluout,
'RESPBIOM', i%XRESP_BIOMASS(:,jnbiomass,:),3)
228 hprogram,iluout,
'BIOMASS ', i%XBIOMASS (:,jnbiomass,:),3)
231 IF (i%CRESPSL==
'CNT')
THEN
233 DO jnlittlevs=1,i%NNLITTLEVS
235 hprogram,iluout,
'LIGNINST',i%XLIGNIN_STRUC(:,jnlittlevs,:),3)
236 DO jnlitter=1,i%NNLITTER
238 hprogram,iluout,
'LITTER ',i%XLITTER(:,jnlitter,jnlittlevs,:),3)
242 DO jnsoilcarb=1,i%NNSOILCARB
244 hprogram,iluout,
'SOILCARB',i%XSOILCARB(:,jnsoilcarb,:),3)
253 IF (lhook) CALL dr_hook(
'INIT_ISBA_LANDUSE',1,zhook_handle)
subroutine init_isba_landuse(DTCO, IG, I, UG, U, HPROGRAM)
subroutine conserv_global_mass(DTCO, IG, I, U, ILUOUT, PZDG, PZDG_OLD, PFIELD, PFIELD_OLD)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine ini_var_from_patch(DTCO, I, UG, U, HPROGRAM, KLUOUT, HNAME, PFIELD, KPTS, PDEF)