52 USE modi_writesurf_gr_snow
64 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
65 LOGICAL,
INTENT(IN) :: OSNOWDIMNC
71 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
72 CHARACTER(LEN=3),
INTENT(IN) :: HPATCH
77 INTEGER,
DIMENSION(SIZE(PEK%XTG,1)) :: IMASK_P
79 CHARACTER(LEN=12) :: YRECFM
80 CHARACTER(LEN=100):: YCOMMENT
81 CHARACTER(LEN=14) :: YFORM
82 CHARACTER(LEN=4 ) :: YLVL
86 REAL,
DIMENSION(:),
ALLOCATABLE :: ZWORK
89 REAL(KIND=JPRB) :: ZHOOK_HANDLE
96 IF (
lhook)
CALL dr_hook(
'WRITESURF_TEB_GARDEN_N',0,zhook_handle)
97 ALLOCATE(zwork(
SIZE(pek%XTG,1)))
100 DO jl=1,io%NGROUND_LAYER
101 WRITE(ylvl,
'(I2)') jl
102 yrecfm=hpatch//
'GD_TG'//adjustl(ylvl(:len_trim(ylvl)))
103 yrecfm=adjustl(yrecfm)
104 yform=
'(A11,I1.1,A4)' 105 IF (jl >= 10) yform=
'(A11,I2.2,A4)' 106 WRITE(ycomment,fmt=yform)
'X_Y_GD_TG',jl,
' (K)' 108 CALL write_surf(hselect,hprogram,yrecfm,zwork,iresp,hcomment=ycomment)
114 DO jl=1,io%NGROUND_LAYER
115 WRITE(ylvl,
'(I2)') jl
116 yrecfm=hpatch//
'GD_WG'//adjustl(ylvl(:len_trim(ylvl)))
117 yrecfm=adjustl(yrecfm)
118 yform=
'(A11,I1.1,A8)' 119 IF (jl >= 10) yform=
'(A11,I2.2,A8)' 120 WRITE(ycomment,fmt=yform)
'X_Y_GD_WG',jl,
' (m3/m3)' 122 CALL write_surf(hselect,hprogram,yrecfm,zwork,iresp,hcomment=ycomment)
128 DO jl=1,io%NGROUND_LAYER
129 WRITE(ylvl,
'(I2)') jl
130 yrecfm=hpatch//
'GD_WGI'//adjustl(ylvl(:len_trim(ylvl)))
131 yrecfm=adjustl(yrecfm)
132 yform=
'(A11,I1.1,A8)' 133 IF (jl >= 10) yform=
'(A11,I2.2,A8)' 134 WRITE(ycomment,yform)
'X_Y_GD_WGI',jl,
' (m3/m3)' 136 CALL write_surf(hselect,hprogram,yrecfm,zwork,iresp,hcomment=ycomment)
143 yrecfm=hpatch//
'GD_WR' 144 yrecfm=adjustl(yrecfm)
145 ycomment=
'X_Y_GD_WR (kg/m2)' 146 CALL write_surf(hselect,hprogram,yrecfm,pek%XWR(:),iresp,hcomment=ycomment
150 IF (io%CPHOTO/=
'NON' .AND. io%CPHOTO/=
'AST')
THEN 151 yrecfm=hpatch//
'GD_LAI' 152 yrecfm=adjustl(yrecfm)
153 ycomment=
'X_Y_GD_LAI (m2/m2)' 154 CALL write_surf(hselect,hprogram,yrecfm,pek%XLAI(:),iresp,hcomment=ycomment
157 IF (io%CPHOTO==
'NIT')
THEN 159 DO jnbiomass=1,io%NNBIOMASS
160 WRITE(ylvl,
'(I1)') jnbiomass
161 yrecfm=hpatch//
'GD_BIOMA'//adjustl(ylvl(:len_trim(ylvl)))
162 yrecfm=adjustl(yrecfm)
163 yform=
'(A11,I1.1,A8)' 164 WRITE(ycomment,fmt=yform)
'X_Y_BIOMASS',jnbiomass,
' (kg/m2)' 165 CALL write_surf(hselect,hprogram,yrecfm,pek%XBIOMASS(:,jnbiomass),iresp
169 DO jnbiomass=2,io%NNBIOMASS
170 WRITE(ylvl,
'(I1)') jnbiomass
171 yrecfm=hpatch//
'GD_RESPI'//adjustl(ylvl(:len_trim(ylvl)))
172 yrecfm=adjustl(yrecfm)
173 yform=
'(A16,I1.1,A10)' 174 WRITE(ycomment,fmt=yform)
'X_Y_RESP_BIOMASS',jnbiomass,
' (kg/m2/s)' 175 CALL write_surf(hselect,hprogram,yrecfm,pek%XRESP_BIOMASS(:,jnbiomass
182 yrecfm=hpatch//
'GD_RES' 183 yrecfm=adjustl(yrecfm)
184 ycomment=
'X_Y_GD_RESA (s/m)' 185 CALL write_surf(hselect,hprogram,yrecfm,pek%XRESA(:),iresp,hcomment=ycomment
190 DO ji = 1,
SIZE(imask_p)
194 SIZE(pek%XTG,1), imask_p, 0, pek%TSNOW, s%XWSN_WR
198 IF (
lhook)
CALL dr_hook(
'WRITESURF_TEB_GARDEN_N',1,zhook_handle)
subroutine writesurf_teb_garden_n(HSELECT, OSNOWDIMNC, IO, S, PEK
integer, parameter nundef
subroutine writesurf_gr_snow(OSNOWDIMNC, HSELECT, HPROGRAM, HSURF