61 USE modi_get_dim_full_n
62 USE modi_ol_define_dim
65 USE modi_def_var_netcdf
66 USE modi_ol_write_coord
68 USE yomhook
,ONLY : lhook, dr_hook
69 USE parkind1
,ONLY : jprb
78 TYPE(flake_t),
INTENT(INOUT) :: f
83 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
84 INTEGER,
INTENT(IN) :: kluout
89 CHARACTER(LEN=100),
DIMENSION(:),
POINTER :: yname_dim
91 CHARACTER(LEN=40),
DIMENSION(1) :: ydate
92 CHARACTER(LEN=13),
DIMENSION(1) :: yunit1, yunit2
93 CHARACTER(LEN=100) :: ycomment
94 CHARACTER(LEN=50) :: yfile
95 CHARACTER(LEN=100),
DIMENSION(1) :: yatt_title, yatt
96 CHARACTER(LEN=12) :: yrecfm
97 CHARACTER(LEN=2) :: ylvlv
99 INTEGER,
DIMENSION(:),
POINTER :: idims, iddim
102 INTEGER :: ifile_id, jsv, jret
105 REAL,
DIMENSION(:),
POINTER :: zx, zy
107 REAL(KIND=JPRB) :: zhook_handle
113 IF (lhook) CALL dr_hook(
'INIT_OUTFN_FLAKE_N',0,zhook_handle)
118 hprogram, kluout, ini, idim1, yunit1, yunit2, &
119 zx, zy, idims, iddim, yname_dim)
125 IF (
ALLOCATED(xvar_to_fileout))
DEALLOCATE(xvar_to_fileout)
126 IF (
ALLOCATED(xid))
DEALLOCATE(xid)
130 yatt_title(1)=
'units'
132 yfile=
'FLAKE_DIAGNOSTICS.OUT.nc'
133 CALL
create_file(yfile,idims,yname_dim,ifile_id,iddim)
134 jret=nf_redef(ifile_id)
140 ifile_id,
'CD_WAT' ,
'Drag_Coefficient_For_Momentum ' ,iddim,yatt_title,yatt)
143 ifile_id,
'CH_WAT' ,
'Drag_Coefficient_For_Heat ' ,iddim,yatt_title,yatt)
146 ifile_id,
'CE_WAT' ,
'Drag_Coefficient_For_Evaporation' ,iddim,yatt_title,yatt)
149 ifile_id,
'Z0_WAT' ,
'Roughness_Length_For_Momentum' ,iddim,yatt_title,yatt)
152 ifile_id,
'Z0H_WAT' ,
'Roughness_Length_For_Heat' ,iddim,yatt_title,yatt)
155 IF (dgf%LSURF_VARS)
THEN
158 ifile_id,
'QS_WAT' ,
'Surface_Humidity ' ,iddim,yatt_title,yatt)
164 ifile_id,
'T2M_WAT' ,
'2m_Temperature ' ,iddim,yatt_title,yatt)
166 ifile_id,
'T2MMIN_WAT' ,
'Minimum_2m_Temperature' ,iddim,yatt_title,yatt)
168 ifile_id,
'T2MMAX_WAT' ,
'Maximum_2m_Temperature' ,iddim,yatt_title,yatt)
171 ifile_id,
'Q2M_WAT' ,
'2m_Specific_Humidity ' ,iddim,yatt_title,yatt)
174 ifile_id,
'HU2M_WAT',
'2m_Relative_Humidity ' ,iddim,yatt_title,yatt)
176 ifile_id,
'HU2MMIN_WAT',
'Minimum_2m_Relative_Humidity ' ,iddim,yatt_title,yatt)
178 ifile_id,
'HU2MMAX_WAT',
'Maximum_2m_Relative_Humidity ' ,iddim,yatt_title,yatt)
181 ifile_id,
'ZON10M_WAT',
'10m_Zonal_wind ' ,iddim,yatt_title,yatt)
183 ifile_id,
'MER10M_WAT',
'10m_Meridian_Wind ' ,iddim,yatt_title,yatt)
185 ifile_id,
'W10M_WAT',
'10m_Wind_Strength ' ,iddim,yatt_title,yatt)
187 ifile_id,
'W10MMAX_WAT',
'Maximum_10m_Wind_Strength ' ,iddim,yatt_title,yatt)
193 ifile_id,
'RI_WAT' ,
'Averaged_Richardson_Number' ,iddim,yatt_title,yatt)
196 IF(dgf%LSURF_BUDGET)
THEN
199 ifile_id,
'RN_WAT' ,
'Averaged_Net_Radiation' ,iddim,yatt_title,yatt)
201 ifile_id,
'H_WAT' ,
'Averaged_Sensible_Heat_Flux' ,iddim,yatt_title,yatt)
203 ifile_id,
'LE_WAT' ,
'Averaged_Latent_Heat_Flux ' ,iddim,yatt_title,yatt)
205 ifile_id,
'LEI_WAT' ,
'Averaged_Sublimation_Latent_Heat_Flux ' ,iddim,yatt_title,yatt)
207 ifile_id,
'GFLUX_WAT' ,
'Averaged_Ground_Heat_Flux ' ,iddim,yatt_title,yatt)
208 IF(dgf%LRAD_BUDGET)
THEN
210 ifile_id,
'SWD_WAT' ,
'Averaged_Downward_SW ' ,iddim,yatt_title,yatt)
212 ifile_id,
'SWU_WAT' ,
'Averaged_Upward_SW ' ,iddim,yatt_title,yatt)
214 ifile_id,
'LWD_WAT' ,
'Averaged_Downward_LW ' ,iddim,yatt_title,yatt)
216 ifile_id,
'LWU_WAT' ,
'Averaged_Upward_LW ' ,iddim,yatt_title,yatt)
220 ifile_id,
'FMU_WAT' ,
'Averaged_Zonal_Wind_Stress ' ,iddim,yatt_title,yatt)
222 ifile_id,
'FMV_WAT' ,
'Averaged_Merid_Wind_Stress ' ,iddim,yatt_title,yatt)
225 ifile_id,
'EVAP_WAT' ,
'Averaged_Total_Evaporation' ,iddim,yatt_title,yatt)
227 ifile_id,
'SUBL_WAT' ,
'Averaged_Sublimation_of_ice/snow' ,iddim,yatt_title,yatt)
230 IF (dgf%LSURF_BUDGET.OR.dgf%LSURF_BUDGETC)
THEN
233 ifile_id,
'TALB_WAT' ,
'Flake_total_albedo ' ,iddim,yatt_title,yatt)
236 ifile_id,
'WSN_WAT' ,
'Flake_snow_water_equivalent' ,iddim,yatt_title,yatt)
239 IF (chw%SVW%NBEQ>0 .AND. chw%CCH_DRY_DEP==
"WES89 ")
THEN
243 DO jsv = 1,
SIZE(chw%CCH_NAMES,1)
245 yrecfm =
'DV_WAT_'//trim(chw%CCH_NAMES(jsv))
246 WRITE(ycomment,
'(A7,I3.3)')
'DV_WAT_',jsv
248 ifile_id,yrecfm,ycomment,iddim,yatt_title,yatt)
255 yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
257 IF (dgf%LSURF_BUDGETC)
THEN
259 yfile=
'FLAKE_DIAG_CUMUL.OUT.nc'
260 CALL
create_file(yfile,idims,yname_dim,ifile_id,iddim)
264 ifile_id,
'RNC_WAT' ,
'Cumulated_Averaged_Net_Radiation' ,iddim,yatt_title,yatt)
266 ifile_id,
'HC_WAT' ,
'Cumulated_Averaged_Sensible_Heat_Flux' ,iddim,yatt_title,yatt)
268 ifile_id,
'LEC_WAT' ,
'Cumulated_Averaged_Total_Latent_Heat_Flux',iddim,yatt_title,yatt)
270 ifile_id,
'LEIC_WAT' ,
'Cumulated_Averaged_Sublimation_Latent_Heat_Flux',iddim,yatt_title,yatt)
272 ifile_id,
'GFLUXC_WAT',
'Cumulated_Averaged_Ground_Heat_Flux' ,iddim,yatt_title,yatt)
273 IF(dgf%LRAD_BUDGET)
THEN
275 ifile_id,
'SWDC_WAT' ,
'Cumulated_Averaged_Downward_SW ' ,iddim,yatt_title,yatt)
277 ifile_id,
'SWUC_WAT' ,
'Cumulated_Averaged_Upward_SW ' ,iddim,yatt_title,yatt)
279 ifile_id,
'LWDC_WAT' ,
'Cumulated_Averaged_Downward_LW ' ,iddim,yatt_title,yatt)
281 ifile_id,
'LWUC_WAT' ,
'Cumulated_Averaged_Upward_LW ' ,iddim,yatt_title,yatt)
285 ifile_id,
'FMUC_WAT' ,
'Cumulated_Averaged_Zonal_Wind_Stress ' ,iddim,yatt_title,yatt)
287 ifile_id,
'FMVC_WAT' ,
'Cumulated_Averaged_Merid_Wind_Stress ' ,iddim,yatt_title,yatt)
290 ifile_id,
'EVAPC_WAT' ,
'Cumulated_Averaged_Total_Evaporation' ,iddim,yatt_title,yatt)
292 ifile_id,
'SUBLC_WAT' ,
'Cumulated_Averaged_Sublimation_of_ice/snow',iddim,yatt_title,yatt)
295 yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
299 yfile=
'FLAKE_PROGNOSTIC.OUT.nc'
300 CALL
create_file(yfile,idims,yname_dim,ifile_id,iddim)
301 jret=nf_redef(ifile_id)
306 ifile_id,
'TS_WATER' ,
'Averaged_Water_S_Temperature' ,iddim,yatt_title,yatt)
308 ifile_id,
'T_MNW' ,
'Averaged_Water_Temperature ' ,iddim,yatt_title,yatt)
310 ifile_id,
'T_WML' ,
'Mixed_layer_wat_temperature ' ,iddim,yatt_title,yatt)
312 ifile_id,
'T_BOT' ,
'Bottom_Water_Temperature ' ,iddim,yatt_title,yatt)
315 ifile_id,
'H_ML' ,
'Mixed_Layer_Depth ' ,iddim,yatt_title,yatt)
318 ifile_id,
'CT' ,
'Termocline_Shape_Factor ' ,iddim,yatt_title,yatt)
321 ifile_id,
'T_SNOW' ,
'Temperature at the air-snow interface' ,iddim,yatt_title,yatt)
323 ifile_id,
'T_ICE' ,
'Ice_surface_Temperature ' ,iddim,yatt_title,yatt)
325 ifile_id,
'T_B1' ,
'Temperature of the upper layer of sediments ' ,iddim,yatt_title,yatt)
328 ifile_id,
'H_SNOW' ,
'Snow thickness' ,iddim,yatt_title,yatt)
330 ifile_id,
'H_ICE' ,
'Ice thickness' ,iddim,yatt_title,yatt)
332 ifile_id,
'H_B1' ,
'Thickness of the upper layer of sediments' ,iddim,yatt_title,yatt)
335 ifile_id,
'H_SNOW' ,
'Snow thickness' ,iddim,yatt_title,yatt)
337 ifile_id,
'H_ICE' ,
'Ice thickness' ,iddim,yatt_title,yatt)
339 ifile_id,
'H_B1' ,
'Thickness of the upper layer of sediments' ,iddim,yatt_title,yatt)
342 ifile_id,
'Z0WATER' ,
'Roughness length ' ,iddim,yatt_title,yatt)
345 ifile_id,
'USTAR_WATER',
'friction velocity ' ,iddim,yatt_title,yatt)
350 WRITE(ylvlv,
'(I2.2)') jlayer
352 ifile_id,
'WAT_SBL_Z'//ylvlv,
'Canopy height', iddim,yatt_title,(/
'm'/))
354 ifile_id,
'WAT_SBL_U'//ylvlv,
'Canopy wind', iddim,yatt_title,(/
'm/s'/))
356 ifile_id,
'WAT_SBL_T'//ylvlv,
'Canopy temp', iddim,yatt_title,(/
'K'/))
358 ifile_id,
'WAT_SBL_Q'//ylvlv,
'Canopy humidity', iddim,yatt_title,(/
'kg/m3'/))
360 ifile_id,
'WAT_SBL_E'//ylvlv,
'Canopy TKE', iddim,yatt_title,(/
'm2/s2'/))
365 yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
367 IF (lhook) CALL dr_hook(
'INIT_OUTFN_FLAKE_N',1,zhook_handle)
subroutine create_file(HFILE, KDIMS, HNAME_DIM, KFILE_ID, KDIM_ID)
subroutine get_dim_full_n(U, KDIM_FULL)
subroutine ol_write_coord(DGU, HFILE, KFILE_ID, KDDIM, HATT_TITLE, HNAME_DIM, HUNIT1, HUNIT2, KDIM1, HDATE, PX, PY)
subroutine get_date_ol(TPTIME, PTSTEP, HDATE)
subroutine init_outfn_flake_n(CHW, DGF, DGU, F, FSB, UG, U, HPROGRAM, KLUOUT)
subroutine ol_define_dim(UG, U, HPROGRAM, KLUOUT, KNI, KDIM1, HUNIT1, HUNIT2, PX, PY, KDIMS, KDDIM, HNAME_DIM, KNPATCH)
subroutine def_var_netcdf(DGU, KFILE_ID, HNAME, HLONG_NAME, KDIM_ID, HATT_TITLE, HATT_TEXT, KVAR_ID, KTYPE, KLEN)